feat: optimized png cache

This commit is contained in:
TrèsAbhi committed 2024-03-17 21:23:57 -05:00
1 parent 146d36234e
commit bd3f5dea05
1 file changed
+5 -5
+5 -5
View File
@@ -1,14 +1,14 @@
import sharp from 'sharp'; import sharp from 'sharp';
const cache: Record<string, string> = {}; const cache: Record<string, Buffer> = {};
export async function iconPng(url: string) { export async function iconPng(url: string) {
if (cache[url]) return cache[url]; if (!cache[url]) {
const imageResponse = await fetch(url); const imageResponse = await fetch(url);
const imageBufferWEBP = await imageResponse.arrayBuffer(); const imageBufferWEBP = await imageResponse.arrayBuffer();
const imageBufferPNG = await sharp(imageBufferWEBP).png().toBuffer(); const imageBufferPNG = await sharp(imageBufferWEBP).png().toBuffer();
cache[url] = `data:image/png;base64,${imageBufferPNG.toString('base64')}`; cache[url] = imageBufferPNG;
}
return cache[url]; return `data:image/png;base64,${cache[url].toString('base64')}`;
} }