UNPKG

emoji-shortcode-converter

Version:
39 lines (35 loc) 1.17 kB
const emojis = require('./emojis') const fs = require('fs') const regex = /\:(.*?)\:/ module.exports = { convert(fileName){ if (!fs.existsSync(fileName)){ console.error("File does not exist!") return } var output = fs.readFileSync(fileName, 'utf8') if (!output || output.length === 0){ console.error("The input file is empty!") return } var done = false while (!done){ matches = [...output.matchAll(regex)] if (matches.length == 0){ done = true break } shortcode = matches[0][0] replacement_emoji = emojis[matches[0][1]] if (replacement_emoji){ output = output.replace(shortcode, replacement_emoji.char) } else { output = output.replace(shortcode, "###NO EMOJI###") console.warn(`Missing emoji for shortcode ${shortcode}`) } } output += output[output.length - 1] === '\n' ? '' : '\n' process.stdout.write(output) console.log("Success!") } }