21 lines
598 B
TypeScript
21 lines
598 B
TypeScript
|
import { DirtyLevels, IComputed } from './system.js';
|
||
|
export interface ISignal<T = any> {
|
||
|
get(): T;
|
||
|
}
|
||
|
export declare function computed<T>(getter: (cachedValue?: T) => T): ISignal<T>;
|
||
|
export declare class Computed<T = any> implements IComputed {
|
||
|
getter: (cachedValue?: T) => T;
|
||
|
cachedValue: T | undefined;
|
||
|
subs: undefined;
|
||
|
subsTail: undefined;
|
||
|
linkedTrackId: number;
|
||
|
deps: undefined;
|
||
|
depsTail: undefined;
|
||
|
trackId: number;
|
||
|
dirtyLevel: DirtyLevels;
|
||
|
canPropagate: boolean;
|
||
|
constructor(getter: (cachedValue?: T) => T);
|
||
|
get(): T;
|
||
|
update(): void;
|
||
|
}
|