@turbox3d/reactivity
Version:
Large-scale reactive state management library
26 lines (25 loc) • 875 B
TypeScript
interface Options {
name: string;
/** is computed reactive function */
computed: boolean;
/** is lazy computed, only computed reactive have this option */
lazy: boolean;
/** deps */
deps: Function[];
/** trigger callback synchronously */
immediately: boolean;
}
export declare class Reaction {
name: string;
runner: Function;
computed: boolean;
lazy: boolean;
deps: Function[];
immediately: boolean;
unsubscribeHandler?: () => void;
constructor(name: string, runner: Function, computed: boolean, lazy: boolean, deps: Function[], immediately: boolean);
dispose(): void;
}
export declare function createReaction(func: Function, options?: Partial<Options>): Reaction;
export declare function reactive(func: Function, options?: Partial<Pick<Options, 'name' | 'deps' | 'immediately'>>): Reaction;
export {};