pragma Singleton import QtQuick 2.13 import "./twemoji/twemoji.js" as Twemoji import "../shared/status/emojiList.js" as EmojiJSON QtObject { property string base: Qt.resolvedUrl("twemoji/") function parse(text, size) { Twemoji.twemoji.base = base Twemoji.twemoji.ext = ".png" Twemoji.twemoji.size = size return Twemoji.twemoji.parse(text) } function fromCodePoint(value) { return Twemoji.twemoji.convert.fromCodePoint(value) } function deparse(value){ return value.replace(/\"(.+?)\"/g, "$1"); } function deparseFromParse(value) { return value.replace(/\"(.+?)\"/g, "$1"); } function hasEmoji(value) { let match = value.match(/\"(.+?)\"/g) return match && match.length > 0 } function getEmojis(value) { return value.match(/\"(.+?)\"/g, "$1"); } function getEmojiUnicode(shortname) { var _emoji; EmojiJSON.emoji_json.forEach(function(emoji) { if (emoji.shortname === shortname) _emoji = emoji; }) if (_emoji !== undefined) return _emoji.unicode; return undefined; } function getEmojiCodepoint(iconCodePoint) { // Split the codepoint to get all the parts and then encode them from hex to utf8 const splitCodePoint = iconCodePoint.split('-') let codePointParts = [] splitCodePoint.forEach(function (codePoint) { codePointParts.push(`0x${codePoint}`) }) return String.fromCodePoint(...codePointParts); } }