UNPKG

canvas-with-twemoji

Version:

Load emojis on canvas

25 lines (17 loc) 615 B
const { parse } = require('twemoji-parser'); module.exports = function splitEntitiesFromText (text) { const twemojiEntities = parse(text, { assetType: 'svg' }); let unparsedText = text; let lastTwemojiIndice = 0; const textEntities = []; twemojiEntities.forEach((twemoji) => { textEntities.push( unparsedText.slice(0, twemoji.indices[0] - lastTwemojiIndice) ); textEntities.push(twemoji); unparsedText = unparsedText.slice(twemoji.indices[1] - lastTwemojiIndice); lastTwemojiIndice = twemoji.indices[1]; }); textEntities.push(unparsedText); return textEntities; }