Brailles Converter

by MegaScience

HTML

<textarea id="input"></textarea>
<textarea id="output"></textarea>

CSS

html {
  display: flex;
  height: 100%;
}

body {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
}

textarea {
  flex-grow: 1;
}

JavaScript

const asciicodes = [' ','!','"','#','$','%','&','','(',')','*','+',',','-','.','/', '0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?','@', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q', 'r','s','t','u','v','w','x','y','z','[','\\',']','^','_']
const brailles = ['⠀','⠮','⠐','⠼','⠫','⠩','⠯','⠄','⠷','⠾','⠡','⠬','⠠','⠤','⠨','⠌','⠴','⠂','⠆','⠒','⠲','⠢', '⠖','⠶','⠦','⠔','⠱','⠰','⠣','⠿','⠜','⠹','⠈','⠁','⠃','⠉','⠙','⠑','⠋','⠛','⠓','⠊','⠚','⠅', '⠇','⠍','⠝','⠕','⠏','⠟','⠗','⠎','⠞','⠥','⠧','⠺','⠭','⠽','⠵','⠪','⠳','⠻','⠘','⠸']

const input = document.getElementById('input')
const output = document.getElementById('output')

input.addEventListener('input', main)

function braillesMap(c) {
	const index = asciicodes.indexOf(c.toLowerCase())
	if(index > -1) return brailles[index]
	else return c
}

function main() {
	output.value = input.value.split('').map(braillesMap).join('')
}