UNPKG

@benev/slate

Version:
26 lines (25 loc) 1.08 kB
import { SignalListener } from "./parts/listener.js"; import { accessed } from "./parts/accessed_symbol.js"; export declare class Signal<V> { #private; static unwrap: <A>(anything: any) => A extends Signal<infer V_1> ? V_1 : A; [accessed]: boolean; constructor(v: V); /** @deprecated use `on` method instead */ subscribe(listener: SignalListener<V>): () => void; on(listener: SignalListener<V>): () => void; once(listener: SignalListener<V>): () => void; clear(): void; publish(): Promise<void>; get wait(): Promise<V>; get value(): V; set value(v: V); /** set the signal value and publish, only if a deep change is detected (uses deep.equal to scan whole object trees) */ setDeep(v: V): void; /** set the signal value and publish, even if there's no change detected */ setAndPublish(v: V): void; /** set the signal value, but do not publish (perhaps to prevent views rerendering) */ setWithoutPublish(v: V): void; /** @deprecated use `setWithoutPublish` instead */ setValueNoPublish(v: V): void; }