@turbox3d/reactivity
Version:
Large-scale reactive state management library
18 lines (17 loc) • 715 B
TypeScript
export interface ComputedOption {
/** suspend compute value if it is not observed */
lazy: boolean;
}
export interface ComputedRef<T> {
enumerable?: boolean;
configurable?: boolean;
get?: () => T;
set?: (value: any) => void;
dispose?: () => void;
}
/**
* decorator @computed, computed(() => {}), handle computed value.
*/
export declare function computed(target: object, property: string, descriptor?: PropertyDescriptor): any;
export declare function computed(options?: Partial<ComputedOption>): (target: object, property: string, descriptor?: PropertyDescriptor) => any;
export declare function computed<T>(computeRunner: () => T, options?: Partial<ComputedOption>): ComputedRef<T>;