You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1016 B
28 lines
1016 B
import { OptimisticWrapOptions } from "./index.js"; |
|
import { Dep } from "./dep.js"; |
|
import { Unsubscribable } from "./helpers.js"; |
|
type Value<T> = [] | [T] | [void, any]; |
|
export type AnyEntry = Entry<any, any>; |
|
export declare class Entry<TArgs extends any[], TValue> { |
|
readonly fn: (...args: TArgs) => TValue; |
|
static count: number; |
|
normalizeResult: OptimisticWrapOptions<TArgs, any, any, TValue>["normalizeResult"]; |
|
subscribe: OptimisticWrapOptions<TArgs>["subscribe"]; |
|
unsubscribe: Unsubscribable["unsubscribe"]; |
|
readonly parents: Set<AnyEntry>; |
|
readonly childValues: Map<AnyEntry, Value<any>>; |
|
dirtyChildren: Set<AnyEntry> | null; |
|
dirty: boolean; |
|
recomputing: boolean; |
|
readonly value: Value<TValue>; |
|
constructor(fn: (...args: TArgs) => TValue); |
|
peek(): TValue | undefined; |
|
recompute(args: TArgs): TValue; |
|
setDirty(): void; |
|
dispose(): void; |
|
forget(): void; |
|
private deps; |
|
dependOn(dep: Dep<any>): void; |
|
forgetDeps(): void; |
|
} |
|
export {};
|
|
|