UNPKG

@loona/angular

Version:

App State Management done with GraphQL (angular integration)

30 lines (29 loc) 1.07 kB
import { Metadata, EffectMethod, Action, EffectContext, StateClass } from '@loona/core'; import { OnDestroy, Injector } from '@angular/core'; import { ApolloCache } from 'apollo-cache'; import { Apollo } from 'apollo-angular'; import { Loona } from './client'; import { ScannedActions } from './actions'; export declare class Effects { effects: Record<string, Array<EffectMethod>>; getContext: () => EffectContext; constructor(loona: Loona, apollo: Apollo, cache: ApolloCache<any>); addEffects(instance: any, meta?: Metadata.Effects): void; runEffects(action: Action): void; } export declare class EffectsRunner implements OnDestroy { private effects; private scannedActions; private actionsSubscription; constructor(effects: Effects, scannedActions: ScannedActions); start(): void; ngOnDestroy(): void; } export declare function mapStates(): { names: string[]; add: (state: any) => void; }; export declare function extractState(state: StateClass<Metadata>, injector: Injector): { instance: any; meta: Metadata; };