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;
|
|
}
|