UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

22 lines • 1.31 kB
export interface ImageUrls { preferred?: string; fallback: string; } export declare function loadImagesInBatchesById(logosUrls: Map<number, ImageUrls>, batchSize?: number, delay?: number): Promise<Map<number, HTMLImageElement>>; /** * Loads a map of ids to image bytes. One URL loads at most once per call, no matter how many ids * share it. * * This dedup is not an optimization. It is a correctness requirement. The renderer dedupes image * sources by object identity, so two booths that share a logo must get the very same `Blob` * object. If they do not, the logo downloads twice, packs twice, and draws from two atlas * regions. The cache lives only for the length of this call, because the defs keep their own * Blobs afterward. A cache that outlived the call would give every logo on the plan a second * place to stay in memory. * @param logosUrls - The URLs to load, keyed by booth id. * @param batchSize - How many URLs to load at once. * @param delay - Milliseconds to wait between batches. * @returns The bytes, keyed by booth id. An id is absent when its logo failed to load. */ export declare function loadBlobsInBatchesById(logosUrls: Map<number, ImageUrls>, batchSize?: number, delay?: number): Promise<Map<number, Blob>>; //# sourceMappingURL=loadImagesInBatches.d.ts.map