astro-ghostcms/.pnpm-store/v3/files/5d/60c70c237dba58efe0b2a177e80...

35 lines
1.2 KiB
Plaintext

'use strict';
const emoji_cleanup = require('../cleanup.cjs');
const emoji_convert = require('../convert.cjs');
const emoji_test_variations = require('../test/variations.cjs');
const emoji_regex_tree = require('./tree.cjs');
require('../data.cjs');
require('../format.cjs');
require('./base.cjs');
require('./numbers.cjs');
require('./similar.cjs');
function createOptimisedRegexForEmojiSequences(sequences) {
sequences = sequences.map((item) => emoji_convert.convertEmojiSequenceToUTF32(item));
const tree = emoji_regex_tree.createEmojisTree(sequences);
const regex = emoji_regex_tree.parseEmojiTree(tree);
return regex.regex;
}
function createOptimisedRegex(emojis) {
let sequences = emojis.map(
(item) => typeof item === "string" ? emoji_cleanup.getSequenceFromEmojiStringOrKeyword(item) : item
);
sequences = emoji_test_variations.getQualifiedEmojiVariations(
sequences.map((sequence) => {
return {
sequence
};
})
).map((item) => item.sequence);
return createOptimisedRegexForEmojiSequences(sequences);
}
exports.createOptimisedRegex = createOptimisedRegex;
exports.createOptimisedRegexForEmojiSequences = createOptimisedRegexForEmojiSequences;