astro-ghostcms/.pnpm-store/v3/files/a4/aafb5d621c5b6a3bd142d4722a8...

46 lines
1.3 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import { vs16Emoji } from '../data.mjs';
import { emojiSequenceWithComponentsToString, mapEmojiTestDataComponents } from './components.mjs';
import { splitEmojiNameVariations } from './name.mjs';
import '../format.mjs';
import '../convert.mjs';
function findComponentsInEmojiTestItem(item, componentsData) {
const name = splitEmojiNameVariations(
item.name,
item.sequence,
componentsData
);
const sequence = [...item.sequence];
name.variations?.forEach((item2) => {
if (typeof item2 !== "string") {
sequence[item2.index] = item2.type;
}
});
const sequenceKey = emojiSequenceWithComponentsToString(
sequence.filter((code) => code !== vs16Emoji)
);
return {
...item,
name,
sequenceKey,
sequence
};
}
function combineSimilarEmojiTestData(data, componentsData) {
const results = /* @__PURE__ */ Object.create(null);
componentsData = componentsData || mapEmojiTestDataComponents(data);
for (const key in data) {
const sourceItem = data[key];
if (sourceItem.status !== "component") {
const item = findComponentsInEmojiTestItem(
sourceItem,
componentsData
);
results[item.sequenceKey] = item;
}
}
return results;
}
export { combineSimilarEmojiTestData, findComponentsInEmojiTestItem };