@apollo-orbit/angular
Version:
A fully-featured GraphQL client for Angular with modular state management.
27 lines (26 loc) • 1.77 kB
TypeScript
import { Variables } from '@apollo-orbit/angular/core';
import { Action, ActionType, EffectFn, MutationIdentifier, MutationUpdateFn, OptimisticResponseFn, RefetchQueriesFn, Resolver, STATE_DEFINITION_SYMBOL, State, TypeField } from '@apollo-orbit/core';
import { ApolloCache, PossibleTypesMap, TypePolicies } from '@apollo/client/core';
import { DocumentNode } from 'graphql';
import { ActionFn } from './types';
export declare function state(configure: (descriptor: StateDescriptor) => StateDescriptor | void, definition?: State): State;
export declare class StateDescriptor {
private readonly descriptor;
constructor(definition?: State);
private get [STATE_DEFINITION_SYMBOL]();
/**
* Client name in a multi-client setup
*/
clientId(clientId: string): this;
typeDefs(typeDefs: string | Array<string> | DocumentNode | Array<DocumentNode>): this;
typePolicies(typePolicies: TypePolicies): this;
possibleTypes(possibleTypes: PossibleTypesMap): this;
onInit(onInit: (cache: ApolloCache<any>) => void): this;
mutationUpdate<T = any, V = Variables>(mutation: MutationIdentifier<T, V>, update: MutationUpdateFn<T, V>): this;
refetchQueries<T = any, V = Variables>(mutation: MutationIdentifier<T, V>, refetchQueries: RefetchQueriesFn<T, V>): this;
optimisticResponse<T = any, V = Variables>(mutation: MutationIdentifier<T, V>, optimisticResponse: OptimisticResponseFn<T, V>): this;
effect<T = any, V = Variables>(mutation: MutationIdentifier<T, V>, effect: EffectFn<T, V>): this;
resolver(typeField: TypeField, resolver: Resolver): this;
action<T = any>(action: ActionType<T>, actionFn: ActionFn<T>): this;
action<TAction extends Action>(type: TAction['type'], actionFn: ActionFn<TAction>): this;
}