Skip to content
module@warp-drive/experiments/image-fetch @experimental

Class ImageFetch ​

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:34

Main-thread client for an ImageWorker. Sends image load requests to a Worker or SharedWorker running an ImageWorker.

In FastBoot/SSR, or when constructed with a null worker, ImageFetch skips worker communication entirely: ImageFetch.load resolves immediately with the given url.

A plain Worker is only accepted when running in a TESTING build; production usage requires a SharedWorker.

Constructors ​

Constructor ​

ts
new ImageFetch(worker: 
  | Worker
  | SharedWorker
  | null): ImageFetch;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:46

Parameters ​

worker ​

| Worker | SharedWorker | null

the Worker or SharedWorker running an ImageWorker, or null to disable worker communication (e.g. in FastBoot/SSR).

Returns ​

ImageFetch

Methods ​

_send() ​

ts
_send(event: RequestEventData): void;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:95

Parameters ​

event ​

RequestEventData

Returns ​

void


cleanupRequest() ​

ts
cleanupRequest(url: string): Deferred<string> | undefined;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:88

Parameters ​

url ​

string

Returns ​

Deferred<string> | undefined


load() ​

ts
load(url: string): Promise<string>;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:118

Requests that the given image url be loaded by the connected ImageWorker, resolving with an object url for the fetched image's blob once the worker responds (or immediately with the original url, in SSR/FastBoot or when this instance was constructed with a null worker).

The resolved object url is cached in-memory by source url on this instance, so subsequent calls for the same url resolve immediately without another round-trip to the worker.

Calling load again for a url that is already in-flight (not yet cached) on this instance replaces the pending request rather than joining it — only the most recently issued call for a given url will resolve.

Parameters ​

url ​

string

Returns ​

Promise<string>

Properties ​

cache ​

ts
cache: Map<string, string>;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:39


channel ​

ts
channel: MessageChannel;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:38


pending ​

ts
pending: Map<string, Deferred<string>>;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:37


threadId ​

ts
threadId: string;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:36


worker ​

ts
worker: 
  | Worker
  | SharedWorker;

Defined in: warp-drive-packages/experiments/src/image-worker/fetch.ts:35

Released under the MIT License.