mini-rx-store
Version:
MiniRx: The Lightweight RxJS Redux Store
25 lines (24 loc) • 1.62 kB
TypeScript
import { ComponentStoreLike } from './models';
import { Action, FeatureStoreConfig, StateOrCallback } from '@mini-rx/common';
export declare class FeatureStore<StateType extends object> implements ComponentStoreLike<StateType> {
private readonly featureId;
private readonly _featureKey;
get featureKey(): string;
private _state;
get state(): StateType;
private updateState;
private subSink;
private assertState;
constructor(featureKey: string, initialState: StateType | undefined, config?: FeatureStoreConfig);
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: {
(): import("rxjs").Observable<StateType>;
<R>(mapFn: (state: StateType) => R): import("rxjs").Observable<R>;
};
destroy(): void;
}
export declare function createFeatureStore<T extends object>(featureKey: string, initialState: T | undefined, config?: FeatureStoreConfig): FeatureStore<T>;