pinafore/routes/_utils/removeEmoji.js
Nolan Lawson af1d4b63d3
better support for de-emojified user display names (#451)
improvements to #450 to fix #449, especially for aria labels
2018-08-19 19:31:54 -07:00

18 lines
495 B
JavaScript

import { replaceAll } from './strings'
import emojiRegex from 'emoji-regex'
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()
}