@amadeus-it-group/tansu
Version:
tansu is a lightweight, push-based framework-agnostic state management library. It borrows the ideas and APIs originally designed and implemented by Svelte stores and extends them with computed and batch.
19 lines (18 loc) • 680 B
TypeScript
import type { BaseLink, Consumer, RawStore } from './store';
import { RawStoreComputedOrDerived } from './storeComputedOrDerived';
import { type ActiveConsumer } from './untrack';
export declare class RawStoreComputed<T> extends RawStoreComputedOrDerived<T> implements Consumer, ActiveConsumer {
private readonly computeFn;
private producerIndex;
private producerLinks;
private epoch;
constructor(computeFn: () => T);
increaseEpoch(): void;
updateValue(): void;
get(): T;
addProducer<U, L extends BaseLink<U>>(producer: RawStore<U, L>): U;
startUse(): void;
endUse(): void;
areProducersUpToDate(): boolean;
recompute(): void;
}