Files
smartspawn/ts/index.ts
T

34 lines
926 B
TypeScript

export * from './smartspawn.classes.threadsimple.js';
export * from './smartspawn.wrap.js';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
export interface IThreadsModule {
BlobWorker: new (...args: unknown[]) => unknown;
DefaultSerializer: unknown;
Pool: unknown;
Thread: {
terminate: (threadArg: unknown) => Promise<void> | void;
events?: (threadArg: unknown) => unknown;
};
Transfer: (payloadArg: unknown, transferablesArg?: Transferable[]) => unknown;
Worker: new (workerPathArg: string | URL, optionsArg?: unknown) => unknown;
registerSerializer: (serializerArg: unknown) => void;
spawn: <T = unknown>(workerArg: unknown, optionsArg?: unknown) => Promise<T>;
}
const threads = require('threads') as IThreadsModule;
export const {
BlobWorker,
DefaultSerializer,
Pool,
Thread,
Transfer,
Worker,
registerSerializer,
spawn,
} = threads;