const gridToArrs = grid => { const [arrH, arrW] = [4, 2] const [h, w] = [ grid.length / arrH, grid[0].length / arrW ] return Array(h).fill() .map((_, y) => Array(w).fill() .map((_, x) => Array(arrH).fill() .map((_, i) => grid[arrH * y + i] .slice(arrW * x, arrW * x + arrW)))) } const arrToPattern = arr => arr .map(row => row.join``) .join`` const patternToBraille = pattern => braille[pattern] module.exports = { gridToArrs, arrToPattern, patternToBraille } /* eslint-disable */ const braille = { '00000000': '⠀', '10000000': '⠁', '00100000': '⠂', '10100000': '⠃', '00001000': '⠄', '10001000': '⠅', '00101000': '⠆', '10101000': '⠇', '01000000': '⠈', '11000000': '⠉', '01100000': '⠊', '11100000': '⠋', '01001000': '⠌', '11001000': '⠍', '01101000': '⠎', '11101000': '⠏', '00010000': '⠐', '10010000': '⠑', '00110000': '⠒', '10110000': '⠓', '00011000': '⠔', '10011000': '⠕', '00111000': '⠖', '10111000': '⠗', '01010000': '⠘', '11010000': '⠙', '01110000': '⠚', '11110000': '⠛', '01011000': '⠜', '11011000': '⠝', '01111000': '⠞', '11111000': '⠟', '00000100': '⠠', '10000100': '⠡', '00100100': '⠢', '10100100': '⠣', '00001100': '⠤', '10001100': '⠥', '00101100': '⠦', '10101100': '⠧', '01000100': '⠨', '11000100': '⠩', '01100100': '⠪', '11100100': '⠫', '01001100': '⠬', '11001100': '⠭', '01101100': '⠮', '11101100': '⠯', '00010100': '⠰', '10010100': '⠱', '00110100': '⠲', '10110100': '⠳', '00011100': '⠴', '10011100': '⠵', '00111100': '⠶', '10111100': '⠷', '01010100': '⠸', '11010100': '⠹', '01110100': '⠺', '11110100': '⠻', '01011100': '⠼', '11011100': '⠽', '01111100': '⠾', '11111100': '⠿', '00000010': '⡀', '10000010': '⡁', '00100010': '⡂', '10100010': '⡃', '00001010': '⡄', '10001010': '⡅', '00101010': '⡆', '10101010': '⡇', '01000010': '⡈', '11000010': '⡉', '01100010': '⡊', '11100010': '⡋', '01001010': '⡌', '11001010': '⡍', '01101010': '⡎', '11101010': '⡏', '00010010': '⡐', '10010010': '⡑', '00110010': '⡒', '10110010': '⡓', '00011010': '⡔', '10011010': '⡕', '00111010': '⡖', '10111010': '⡗', '01010010': '⡘', '11010010': '⡙', '01110010': '⡚', '11110010': '⡛', '01011010': '⡜', '11011010': '⡝', '01111010': '⡞', '11111010': '⡟', '00000110': '⡠', '10000110': '⡡', '00100110': '⡢', '10100110': '⡣', '00001110': '⡤', '10001110': '⡥', '00101110': '⡦', '10101110': '⡧', '01000110': '⡨', '11000110': '⡩', '01100110': '⡪', '11100110': '⡫', '01001110': '⡬', '11001110': '⡭', '01101110': '⡮', '11101110': '⡯', '00010110': '⡰', '10010110': '⡱', '00110110': '⡲', '10110110': '⡳', '00011110': '⡴', '10011110': '⡵', '00111110': '⡶', '10111110': '⡷', '01010110': '⡸', '11010110': '⡹', '01110110': '⡺', '11110110': '⡻', '01011110': '⡼', '11011110': '⡽', '01111110': '⡾', '11111110': '⡿', '00000001': '⢀', '10000001': '⢁', '00100001': '⢂', '10100001': '⢃', '00001001': '⢄', '10001001': '⢅', '00101001': '⢆', '10101001': '⢇', '01000001': '⢈', '11000001': '⢉', '01100001': '⢊', '11100001': '⢋', '01001001': '⢌', '11001001': '⢍', '01101001': '⢎', '11101001': '⢏', '00010001': '⢐', '10010001': '⢑', '00110001': '⢒', '10110001': '⢓', '00011001': '⢔', '10011001': '⢕', '00111001': '⢖', '10111001': '⢗', '01010001': '⢘', '11010001': '⢙', '01110001': '⢚', '11110001': '⢛', '01011001': '⢜', '11011001': '⢝', '01111001': '⢞', '11111001': '⢟', '00000101': '⢠', '10000101': '⢡', '00100101': '⢢', '10100101': '⢣', '00001101': '⢤', '10001101': '⢥', '00101101': '⢦', '10101101': '⢧', '01000101': '⢨', '11000101': '⢩', '01100101': '⢪', '11100101': '⢫', '01001101': '⢬', '11001101': '⢭', '01101101': '⢮', '11101101': '⢯', '00010101': '⢰', '10010101': '⢱', '00110101': '⢲', '10110101': '⢳', '00011101': '⢴', '10011101': '⢵', '00111101': '⢶', '10111101': '⢷', '01010101': '⢸', '11010101': '⢹', '01110101': '⢺', '11110101': '⢻', '01011101': '⢼', '11011101': '⢽', '01111101': '⢾', '11111101': '⢿', '00000011': '⣀', '10000011': '⣁', '00100011': '⣂', '10100011': '⣃', '00001011': '⣄', '10001011': '⣅', '00101011': '⣆', '10101011': '⣇', '01000011': '⣈', '11000011': '⣉', '01100011': '⣊', '11100011': '⣋', '01001011': '⣌', '11001011': '⣍', '01101011': '⣎', '11101011': '⣏', '00010011': '⣐', '10010011': '⣑', '00110011': '⣒', '10110011': '⣓', '00011011': '⣔', '10011011': '⣕', '00111011': '⣖', '10111011': '⣗', '01010011': '⣘', '11010011': '⣙', '01110011': '⣚', '11110011': '⣛', '01011011': '⣜', '11011011': '⣝', '01111011': '⣞', '11111011': '⣟', '00000111': '⣠', '10000111': '⣡', '00100111': '⣢', '10100111': '⣣', '00001111': '⣤', '10001111': '⣥', '00101111': '⣦', '10101111': '⣧', '01000111': '⣨', '11000111': '⣩', '01100111': '⣪', '11100111': '⣫', '01001111': '⣬', '11001111': '⣭', '01101111': '⣮', '11101111': '⣯', '00010111': '⣰', '10010111': '⣱', '00110111': '⣲', '10110111': '⣳', '00011111': '⣴', '10011111': '⣵', '00111111': '⣶', '10111111': '⣷', '01010111': '⣸', '11010111': '⣹', '01110111': '⣺', '11110111': '⣻', '01011111': '⣼', '11011111': '⣽', '01111111': '⣾', '11111111': '⣿' } /* eslint-enable */