UNPKG

ayanami

Version:
33 lines (32 loc) 1.35 kB
import { Subject, Subscription } from 'rxjs'; import { EffectAction, OriginalEffectActions, OriginalReducerActions, OriginalImmerReducerActions, OriginalDefineActions, TriggerActions, EffectActionFactories } from './types'; import { Ayanami } from './ayanami'; interface Config<State> { nameForLog: string; defaultState: State; effects: OriginalEffectActions<State>; reducers: OriginalReducerActions<State>; immerReducers: OriginalImmerReducerActions<State>; defineActions: OriginalDefineActions; effectActionFactories: EffectActionFactories; } export declare function combineWithIkari<S>(ayanami: Ayanami<S>): Ikari<S>; export declare function destroyIkariFrom<S>(ayanami: Ayanami<S>): void; export declare class Ikari<State> { readonly ayanami: Ayanami<State>; private readonly config; static createAndBindAt<S>(target: Ayanami<S>, config: Config<S>): Ikari<S>; static getFrom<S>(target: { defaultState: S; }): Ikari<S> | undefined; state: import("./utils").State<State>; effectActionFactories: EffectActionFactories; triggerActions: TriggerActions; subscription: Subscription; terminate$: Subject<EffectAction | null>; constructor(ayanami: Ayanami<State>, config: Readonly<Config<State>>); destroy(): void; private log; private handleAction; } export {};