in packages/roosterjs-react-emoji/lib/utils/searchEmojis.ts [6:23]
export function searchEmojis(search: string, strings: Strings): Emoji[] {
const shortcutMatch = matchShortcut(search);
search = search.toLowerCase();
const fullMatch: Emoji[] = shortcutMatch ? [shortcutMatch] : [];
const partialMatch: Emoji[] = [];
const partialSearch = " " + (search[0] == ":" ? search.substr(1) : search);
forEachEmoji(emoji => {
const keywords = strings[emoji.keywords] || "";
const searchableKeywords = emoji.keywords ? " " + keywords.toLowerCase() + " " : "";
const index = searchableKeywords.indexOf(partialSearch);
if (index >= 0) {
(searchableKeywords[index + partialSearch.length] == " " ? fullMatch : partialMatch).push(emoji);
}
return true;
});
return fullMatch.concat(partialMatch);
}