Something went wrong. Try again.
Offload functions to worker threads with shared memory primitives for Node.js.
Something went wrong. Try again.
12345678910111213141516171819202122232425262728import type { Task } from './runner.ts';
type TaskOf<M> = M extends { (...args: any[]): infer R } ? R extends Task<infer T, infer A> ? Task<T, A> : never : never;
/** * Narrows a task to the descriptor type produced by a specific moroutine. * * ```ts * if (isTask(isPrime, task)) { * // task: Task<boolean, [n: number]> * } * ``` * * @param moroutine - A function returned by {@link mo}. * @param task - A task to test. * @returns `true` if `task` was created by `moroutine`. */export function isTask<M extends { readonly id: string; (...args: any[]): Task<any, any> }>( moroutine: M, task: Task,): task is TaskOf<M> { return task.id === moroutine.id;}