also use emojiType as cache key for dynamic asset cache

This commit is contained in:
m5r 2023-02-16 09:23:45 +01:00
parent 16139c3bcc
commit 83ee9f7e4b
No known key found for this signature in database
GPG Key ID: 5BC847276DD5DDEA
2 changed files with 3 additions and 6 deletions

View File

@ -37,12 +37,9 @@ const apis = {
"https://cdn.jsdelivr.net/gh/shuding/fluentui-emoji-unicode/assets/" + code.toLowerCase() + "_flat.svg", "https://cdn.jsdelivr.net/gh/shuding/fluentui-emoji-unicode/assets/" + code.toLowerCase() + "_flat.svg",
}; };
export type EmojiType = keyof typeof apis; export type EmojiType = keyof typeof apis;
export function loadEmoji(code: string, type?: EmojiType) { export function loadEmoji(code: string, type: EmojiType) {
// https://github.com/svgmoji/svgmoji // https://github.com/svgmoji/svgmoji
if (!type || !apis[type]) { const api = apis[type] ?? apis.twemoji;
type = "twemoji";
}
const api = apis[type];
if (typeof api === "function") { if (typeof api === "function") {
return fetch(api(code)); return fetch(api(code));
} }

View File

@ -78,7 +78,7 @@ const loadDynamicAsset = (emojiType: EmojiType = "twemoji") => {
} }
}; };
return async (...args: Parameters<typeof fn>) => { return async (...args: Parameters<typeof fn>) => {
const cacheKey = JSON.stringify(args); const cacheKey = JSON.stringify({ ...args, emojiType });
const cachedFont = assetCache.get(cacheKey); const cachedFont = assetCache.get(cacheKey);
if (cachedFont) { if (cachedFont) {
return cachedFont; return cachedFont;