UNPKG

@mini-rx/signal-store

Version:
25 lines (24 loc) 1.73 kB
import { Signal } from '@angular/core'; import { Action, FeatureStoreConfig, StateOrCallback } from '@mini-rx/common'; import { ComponentStoreLike } from './models'; 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; constructor(featureKey: string, initialState: StateType, config?: FeatureStoreConfig); 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> | Signal<ValueType>>) => void; rxEffect: <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> | Signal<ObservableType>) => void>(effectFn: (origin$: OriginType) => import("rxjs").Observable<unknown>) => ReturnType; select: { (): Signal<StateType>; <R>(mapFn: import("./signal-selector").SignalSelector<StateType, R>): Signal<R>; <R_1>(mapFn: (state: StateType) => R_1): Signal<R_1>; <KeyType extends keyof StateType>(key: KeyType): Signal<StateType[KeyType]>; }; private destroy; } export declare function createFeatureStore<T extends object>(featureKey: string, initialState: T, config?: FeatureStoreConfig): FeatureStore<T>;