Fallback to emoji-datasource for unlocalized emoji

Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
This commit is contained in:
automated-signal 2025-10-06 16:43:15 -05:00 committed by GitHub
commit 48b78e7e35
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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;
}