UNPKG

@dhmk/atom

Version:

Lightweight mobx-like observable values, computed values and side-effects

25 lines (24 loc) 731 B
import { Id, AtomState, Dependency, AtomOptions, Atom } from "../types"; export declare class ComputedAtom<T> { private fn; observers: Map<Atom, Id>; deps: Dependency[]; prevDeps: Dependency[]; prevDepsIndex: number; runId: Id; versionId: Id; isObserved: boolean; depsForUnobserved: Set<Dependency>; protected value: unknown; protected isError: boolean; protected state: AtomState; private depsVersions; private options; constructor(fn: () => T, options?: AtomOptions<T>); invalidate(state: AtomState, isValueAtom: boolean): void; calculate(): void; actualize(): void; get(): unknown; toJSON(): unknown; dispose(): void; }