MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / preload

Function preload

apps/web/ui/Image/utilities/preload.ts:3–15  ·  view source on GitHub ↗
(src: string)

Source from the content-addressed store, hash-verified

1export const cache: { [key: string]: Promise<HTMLImageElement> } = {};
2
3export default async function preload(src: string): Promise<HTMLImageElement> {
4 if (cache.hasOwnProperty(src)) {
5 return cache[src];
6 }
7 const promise = new Promise((resolve, reject) => {
8 const image = new Image();
9 image.onload = () => resolve(image);
10 image.onerror = () => reject(new Error(`Could not load image at ${src}`));
11 image.src = src;
12 }) as Promise<HTMLImageElement>;
13 cache[src] = promise;
14 return promise;
15}

Callers 3

AvatarFunction · 0.85
ComponentFunction · 0.85
CommunityIconFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected