ciorent
Version:
A lightweight, low-overhead concurrency library
37 lines (36 loc) • 923 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: (signals: Signal[]) => Signal;
/**
* Create a child signal that aborts when the parent signal aborts.
*/
export declare const fork: (signal: 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;
/**
* Create a signal that aborts after ms.
* @param ms
*/
export declare const timeout: (ms: number) => Signal;
/**
* Create and attach a signal to a `DisposableStack` or `AsyncDisposableStack`.
*/
export declare const bind: (stack: DisposableStack | AsyncDisposableStack) => Signal;