@dhmk/atom
Version:
Lightweight mobx-like observable values, computed values and side-effects
23 lines (22 loc) • 538 B
TypeScript
import { Dependency, Id } from "./types";
type Effect = {
actualize(): void;
};
interface CurrentAtom {
runId: Id;
deps: Dependency[];
prevDeps: Dependency[];
prevDepsIndex: number;
isObserved: boolean;
depsForUnobserved: Set<Dependency>;
}
export declare const runtime: {
currentAtom: CurrentAtom | undefined;
counter: number;
requireAction: boolean;
effects: Set<Effect>;
addEffect(x: Effect): void;
runEffects(): void;
act<T>(fn: () => T): T;
};
export {};