From bd3f5dea0575bceb3b9787f229ba31cb423ab85c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Sun, 17 Mar 2024 21:23:57 -0500 Subject: [PATCH] feat: optimized png cache --- src/core/blitzkrieg/iconPng.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/core/blitzkrieg/iconPng.ts b/src/core/blitzkrieg/iconPng.ts index 7a42c16e9..d3e61bb14 100644 --- a/src/core/blitzkrieg/iconPng.ts +++ b/src/core/blitzkrieg/iconPng.ts @@ -1,14 +1,14 @@ import sharp from 'sharp'; -const cache: Record = {}; +const cache: Record = {}; export async function iconPng(url: string) { - if (cache[url]) return cache[url]; + if (!cache[url]) { + const imageResponse = await fetch(url); + const imageBufferWEBP = await imageResponse.arrayBuffer(); + const imageBufferPNG = await sharp(imageBufferWEBP).png().toBuffer(); + cache[url] = imageBufferPNG; + } - const imageResponse = await fetch(url); - const imageBufferWEBP = await imageResponse.arrayBuffer(); - const imageBufferPNG = await sharp(imageBufferWEBP).png().toBuffer(); - cache[url] = `data:image/png;base64,${imageBufferPNG.toString('base64')}`; - - return cache[url]; + return `data:image/png;base64,${cache[url].toString('base64')}`; }