UNPKG

mini-rx-store

Version:

MiniRx: The Lightweight RxJS Redux Store

25 lines (24 loc) 1.66 kB
import { ComponentStoreLike } from './models'; import { Action, ComponentStoreConfig, StateOrCallback } from '@mini-rx/common'; import { CreateSelectFnReturn } from './create-state'; export declare function configureComponentStores(config: ComponentStoreConfig): void; export declare class ComponentStore<StateType extends object> implements ComponentStoreLike<StateType> { private config?; private readonly extensions; private readonly hasUndoExtension; private actionsOnQueue; private _state; get state(): StateType; private updateState; private subSink; private assertState; constructor(initialState?: StateType, config?: ComponentStoreConfig | undefined); setInitialState(initialState: StateType): void; undo(action: Action): void; setState: (stateOrCallback: StateOrCallback<StateType>, name?: string | undefined) => Action; connect: <K extends keyof StateType, ValueType = StateType[K]>(dict: Record<K, import("rxjs").Observable<ValueType>>) => void; effect: <ProvidedType = void, OriginType extends unknown = import("rxjs").Observable<ProvidedType>, ObservableType = OriginType extends import("rxjs").Observable<infer A> ? A : never, ReturnType = ProvidedType | ObservableType extends void ? () => void : (observableOrValue: ObservableType | import("rxjs").Observable<ObservableType>) => void>(effectFn: (origin$: OriginType) => import("rxjs").Observable<unknown>) => ReturnType; select: CreateSelectFnReturn<StateType>; destroy(): void; } export declare function createComponentStore<T extends object>(initialState?: T | undefined, config?: ComponentStoreConfig): ComponentStore<T>;