62 lines
2.0 KiB
Plaintext
62 lines
2.0 KiB
Plaintext
'use strict';
|
|
|
|
const emoji_cleanup = require('./cleanup.cjs');
|
|
const emoji_format = require('./format.cjs');
|
|
const emoji_regex_create = require('./regex/create.cjs');
|
|
const emoji_test_missing = require('./test/missing.cjs');
|
|
const emoji_test_parse = require('./test/parse.cjs');
|
|
const emoji_test_similar = require('./test/similar.cjs');
|
|
const emoji_test_tree = require('./test/tree.cjs');
|
|
const emoji_test_variations = require('./test/variations.cjs');
|
|
require('./convert.cjs');
|
|
require('./data.cjs');
|
|
require('./regex/tree.cjs');
|
|
require('./regex/base.cjs');
|
|
require('./regex/numbers.cjs');
|
|
require('./regex/similar.cjs');
|
|
require('./test/components.cjs');
|
|
require('./test/name.cjs');
|
|
|
|
function prepareEmojiForIconsList(icons, rawTestData) {
|
|
const testData = rawTestData ? emoji_test_parse.parseEmojiTestFile(rawTestData) : void 0;
|
|
let iconsList = [];
|
|
for (const char in icons) {
|
|
const sequence = emoji_cleanup.getEmojiSequenceFromString(char);
|
|
iconsList.push({
|
|
icon: icons[char],
|
|
sequence
|
|
});
|
|
}
|
|
iconsList = emoji_test_variations.getQualifiedEmojiVariations(iconsList);
|
|
if (testData) {
|
|
iconsList = iconsList.concat(
|
|
emoji_test_missing.findMissingEmojis(
|
|
iconsList,
|
|
emoji_test_tree.getEmojiTestDataTree(emoji_test_similar.combineSimilarEmojiTestData(testData))
|
|
)
|
|
);
|
|
}
|
|
const preparedIcons = iconsList.map((item) => {
|
|
const sequence = emoji_format.getEmojiSequenceKeyword(
|
|
emoji_cleanup.getUnqualifiedEmojiSequence(item.sequence)
|
|
);
|
|
return {
|
|
icon: item.icon,
|
|
sequence
|
|
};
|
|
});
|
|
const regex = emoji_regex_create.createOptimisedRegexForEmojiSequences(
|
|
iconsList.map((item) => item.sequence)
|
|
);
|
|
return {
|
|
regex,
|
|
icons: preparedIcons
|
|
};
|
|
}
|
|
function prepareEmojiForIconSet(iconSet, rawTestData) {
|
|
return prepareEmojiForIconsList(iconSet.chars || {}, rawTestData);
|
|
}
|
|
|
|
exports.prepareEmojiForIconSet = prepareEmojiForIconSet;
|
|
exports.prepareEmojiForIconsList = prepareEmojiForIconsList;
|