UNPKG

evnty

Version:

Async-first, reactive event handling library for complex event flows in browser and Node.js

38 lines (37 loc) 1.31 kB
import { Action, Fn, Emitter, MaybePromise, Promiseable } from './types.js'; /** * @internal */ export declare class Disposer { #private; constructor(target: Disposable, abortSignal?: AbortSignal); get disposed(): boolean; [Symbol.dispose](): boolean; handleEvent(): void; } /** * @internal */ export interface Async<T, R> extends Emitter<T, R>, Disposable { } /** * @internal */ export declare abstract class Async<T, R> implements Emitter<T, R>, Promiseable<T>, Promise<T>, AsyncIterator<T, void, void>, AsyncIterable<T> { #private; abstract [Symbol.toStringTag]: string; abstract emit(value: T): R; abstract receive(): Promise<T>; dispose?(): void; constructor(abortSignal?: AbortSignal); get disposed(): boolean; get sink(): Fn<[T], R>; handleEvent(event: T): void; catch<OK = never>(onrejected?: Fn<[unknown], MaybePromise<OK>> | null): Promise<T | OK>; finally(onfinally?: Action | null): Promise<T>; then<OK = T, ERR = never>(onfulfilled?: Fn<[T], MaybePromise<OK>> | null, onrejected?: Fn<[unknown], MaybePromise<ERR>> | null): Promise<OK | ERR>; next(): Promise<IteratorResult<T, void>>; return(): Promise<IteratorResult<T, void>>; [Symbol.asyncIterator](): AsyncIterator<T, void, void>; [Symbol.dispose](): void; }