UNPKG

jelenjs

Version:

Core runtime library for JelenJS - an experimental UI framework with fine-grained reactivity

20 lines (19 loc) 736 B
/** * Signal implementation for reactive state management */ export type Setter<T> = (value: T | ((prev: T) => T)) => T; export type Getter<T> = () => T; export type Signal<T> = [get: Getter<T>, set: Setter<T>]; export type ReadonlySignal<T> = Getter<T>; /** * Check if a function is a signal getter */ export declare function isSignalGetter(fn: any): boolean; /** * Create a reactive signal with optimized getter/setter * * @param initialValue The initial value of the signal * @param equals Optional equality function to determine when to trigger updates * @returns A tuple of [getter, setter] functions */ export declare function createSignal<T>(initialValue: T, equals?: (value1: any, value2: any) => boolean): Signal<T>;