@loona/react
Version:
App State Management done with GraphQL (react integration)
14 lines (13 loc) • 710 B
TypeScript
import { ApolloClient, MutationOptions } from 'apollo-client';
import { Manager, StateClass, MutationObject, Metadata, EffectMethod, Action, ActionObject } from '@loona/core';
import { FetchResult } from 'apollo-link';
export declare class Loona {
private client;
manager: Manager;
effects: Record<string, Array<EffectMethod>>;
constructor(client: ApolloClient<any>, manager: Manager, states: StateClass[]);
dispatch(action: MutationObject | ActionObject): void;
addEffects(instance: any, meta?: Metadata.Effects): void;
runEffects(action: Action): void;
wrapMutation<T>(mutationPromise: Promise<FetchResult<T>>, config: MutationOptions<T, any>, shouldThrow?: boolean): void;
}