34 lines
926 B
TypeScript
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;
|