pinafore/routes/_utils/removeEmoji.js
Nolan Lawson aea952daf0
use better emoji removal algorithm (#452)
another follow-up to #450 to fix #449
2018-08-19 20:25:28 -07:00

18 lines
510 B
JavaScript

import { replaceAll } from './strings'
import emojiRegex from 'emoji-regex/es2015/text.js'
let theEmojiRegex
export function removeEmoji (text, emojis) {
// remove custom emoji
if (emojis) {
for (let emoji of emojis) {
let shortcodeWithColons = `:${emoji.shortcode}:`
text = replaceAll(text, shortcodeWithColons, '')
}
}
// remove regular emoji
theEmojiRegex = theEmojiRegex || emojiRegex() // only init when needed, then cache
return text.replace(theEmojiRegex, '').trim()
}