andywer/threads.js

View on GitHub
src/master/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
// tslint:disable no-duplicate-imports
import type { BlobWorker as BlobWorkerClass } from "../types/master"
import { Worker as WorkerType } from "../types/master"
import { getWorkerImplementation, isWorkerRuntime } from "./implementation"

export { FunctionThread, ModuleThread } from "../types/master"
export { Pool } from "./pool"
export { spawn } from "./spawn"
export { Thread } from "./thread"
export { isWorkerRuntime }

export type BlobWorker = typeof BlobWorkerClass
export type Worker = WorkerType

/** Separate class to spawn workers from source code blobs or strings. */
export const BlobWorker = getWorkerImplementation().blob

/** Worker implementation. Either web worker or a node.js Worker class. */
export const Worker = getWorkerImplementation().default