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.

36 lines (35 loc) 1.72 kB
import type { AsyncDeriveFn, OnUseArgument, StoresInput, StoresInputValues, SyncDeriveFn, Unsubscriber } from '../types'; import type { Consumer } from './store'; import { RawStoreComputedOrDerived } from './storeComputedOrDerived'; import type { RawStoreWritable } from './storeWritable'; declare abstract class RawStoreDerived<T, S extends StoresInput> extends RawStoreComputedOrDerived<T> implements Consumer { private readonly arrayMode; private readonly producers; private producerLinks; private cleanUpFn; flags: number; constructor(producers: S, initialValue: T); callCleanUpFn(): void; startUse(): void; endUse(): void; areProducersUpToDate(): boolean; recompute(): void; protected abstract derive(values: S): void; } export declare class RawStoreDerivedStore<T, S extends StoresInput> extends RawStoreDerived<T, S> { protected readonly derive: (values: StoresInputValues<S>) => void; constructor(stores: S, initialValue: T, derive: (values: StoresInputValues<S>) => void); } export declare class RawStoreSyncDerived<T, S extends StoresInput> extends RawStoreDerived<T, S> { private readonly deriveFn; constructor(stores: S, _initialValue: T, deriveFn: SyncDeriveFn<T, S>); protected derive(values: StoresInputValues<S>): void; } export declare const createOnUseArg: <T>(store: RawStoreWritable<T>) => OnUseArgument<T>; export declare class RawStoreAsyncDerived<T, S extends StoresInput> extends RawStoreDerived<T, S> { private readonly deriveFn; private readonly setFn; constructor(stores: S, initialValue: T, deriveFn: AsyncDeriveFn<T, S>); protected derive(values: StoresInputValues<S>): Unsubscriber | void; } export {};