Fallback to emoji-datasource for unlocalized emoji

This commit is contained in:
Fedor Indutny
2025-10-06 14:17:33 -07:00
committed by GitHub
parent dd4844788b
commit 065017ce52
3 changed files with 34 additions and 6 deletions

View File

@@ -37,10 +37,13 @@ export type FunEmojiSearch = (
) => ReadonlyArray<FunEmojiSearchResult>;
export function createFunEmojiSearchIndex(
localeEmojiList: LocaleEmojiListType
localeEmojiList: LocaleEmojiListType,
defaultSearchIndex: ReadonlyArray<FunEmojiSearchIndexEntry> = []
): FunEmojiSearchIndex {
const results: Array<FunEmojiSearchIndexEntry> = [];
const localizedKeys = new Set<string>();
for (const localeEmoji of localeEmojiList) {
if (!isEmojiParentValue(localeEmoji.emoji)) {
// Skipping unknown emoji, most likely apple doesn't support it
@@ -54,6 +57,7 @@ export function createFunEmojiSearchIndex(
const parentKey = getEmojiParentKeyByValue(localeEmoji.emoji);
const emoji = getEmojiParentByKey(parentKey);
localizedKeys.add(parentKey);
results.push({
key: parentKey,
rank: localeEmoji.rank,
@@ -66,6 +70,12 @@ export function createFunEmojiSearchIndex(
});
}
for (const defaultEntry of defaultSearchIndex) {
if (!localizedKeys.has(defaultEntry.key)) {
results.push(defaultEntry);
}
}
return results;
}