@xylabs/threads
Version:
Web workers & worker threads as simple as a function call
20 lines (14 loc) • 850 B
text/typescript
/* eslint-disable import-x/no-internal-modules */
import type { BlobWorker as BlobWorkerClass, Worker as WorkerType } from '../types/master.ts'
import * as BrowserImplementation from './implementation.browser.ts'
export type { FunctionThread, ModuleThread } from '../types/master.ts'
export { Pool } from './pool-browser.ts'
export { spawn } from './spawn.ts'
export { Thread } from './thread.ts'
export type BlobWorker = typeof BlobWorkerClass
export type Worker = WorkerType
/** Separate class to spawn workers from source code blobs or strings. */
export const BlobWorker = BrowserImplementation.getWorkerImplementation().blob
/** Worker implementation. Either web worker or a node.js Worker class. */
export const Worker = BrowserImplementation.getWorkerImplementation().default
export { isWorkerRuntime } from './implementation.browser.ts'