UNPKG

@westacks/vortex

Version:

Server-based routing for SPAs

22 lines (21 loc) 764 B
export type Signal<T> = [SignalGetter<T>, SignalSetter<T>]; export type SignalGetter<T> = () => T; export type SignalSetter<T> = (value: T | ((value: T) => T), force?: boolean) => void; export type Effect = () => EffectDestructor | Promise<EffectDestructor>; type EffectDestructor = void | (() => void); /** * Create a new signal * * @param value Initial signal value * @param equals Compare function * @returns Signal */ export declare function signal<T>(value?: T | undefined, equals?: (a: T, b: T) => boolean): Signal<T>; /** * Create an effect. Effect callback will be executed each time the dependant signals changes * * @param fn Effect callback * @returns Destructor function */ export declare function effect(fn: Effect): () => void; export {};