UNPKG

@benev/slate

Version:
25 lines (24 loc) 693 B
import { Signal } from "../signal.js"; import { Collector } from "../../reactor/types.js"; export type LeanTrack = { lean: true; actor: () => void; }; export type NormalTrack<P> = { collector: () => P; responder: ((payload: P) => void) | void; }; export type Track<P> = LeanTrack | NormalTrack<P>; export declare class SignalTracker { #private; constructor({ all_signals, waiters, }: { all_signals: Set<Signal<any>>; waiters: Set<Promise<void>>; }); observe<P>(collector: Collector<P>): { payload: P; recording: Signal<any>[]; }; add_listeners<P>(track: Track<P>, recording: Signal<any>[]): void; shutdown(): void; }