export function searchEmojis()

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);
}