@loaders.gl/worker-utils
Version:
Utilities for running tasks on worker threads
49 lines • 1.54 kB
TypeScript
import { NodeWorkerType } from "../node/worker_threads.js";
export type WorkerThreadProps = {
name: string;
source?: string;
url?: string;
};
/**
* Represents one worker thread
*/
export default class WorkerThread {
readonly name: string;
readonly source: string | undefined;
readonly url: string | undefined;
terminated: boolean;
worker: Worker | NodeWorkerType;
onMessage: (message: any) => void;
onError: (error: Error) => void;
private _loadableURL;
/** Checks if workers are supported on this platform */
static isSupported(): boolean;
constructor(props: WorkerThreadProps);
/**
* Terminate this worker thread
* @note Can free up significant memory
*/
destroy(): void;
get isRunning(): boolean;
/**
* Send a message to this worker thread
* @param data any data structure, ideally consisting mostly of transferrable objects
* @param transferList If not supplied, calculated automatically by traversing data
*/
postMessage(data: any, transferList?: any[]): void;
/**
* Generate a standard Error from an ErrorEvent
* @param event
*/
_getErrorFromErrorEvent(event: ErrorEvent): Error;
/**
* Creates a worker thread on the browser
*/
_createBrowserWorker(): Worker;
/**
* Creates a worker thread in node.js
* @todo https://nodejs.org/api/async_hooks.html#async-resource-worker-pool
*/
_createNodeWorker(): NodeWorkerType;
}
//# sourceMappingURL=worker-thread.d.ts.map