ciorent
Version:
A lightweight, low-overhead concurrency library
34 lines (33 loc) • 743 B
TypeScript
/**
* Describe a signal
*/
export type Signal = [interrupted: boolean, ...parents: Signal[]];
/**
* Create a signal
*/
export declare const init: () => Signal;
/**
* Create a signal that aborts when any of the input signals abort
* @param sigs
*/
export declare const any: (...sigs: Signal[]) => Signal;
/**
* Check whether the signal has been aborted
* @param t
*/
export declare const aborted: (t: Signal) => boolean;
/**
* Abort a signal
* @param t
*/
export declare const abort: (t: Signal) => void;
/**
* Abort a signal after a duration
* @param t
*/
export declare const abortAfter: (ms: number, t: Signal) => Promise<void>;
/**
* Create a signal that aborts after ms
* @param ms
*/
export declare const timeout: (ms: number) => Signal;