@loona/angular
Version:
App State Management done with GraphQL (angular integration)
30 lines (29 loc) • 1.07 kB
TypeScript
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;
};