UNPKG

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