emoji-shortcode-converter
Version:
Convert shortcode emojis in text files to characters
39 lines (35 loc) • 1.17 kB
JavaScript
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!")
}
}