@apollo-orbit/angular
Version:
A fully-featured GraphQL client for Angular with modular state management.
18 lines (17 loc) • 1.35 kB
TypeScript
import { ActionType } from '@apollo-orbit/core';
import { OperatorFunction } from 'rxjs';
export type ActionStatus = 'dispatched' | 'success' | 'error';
export interface ActionExecution<TAction = any, TError = Error> {
status: ActionStatus;
action: TAction;
error?: TError;
}
export interface ActionComplete<TAction = any, TError = Error> {
action: TAction;
error?: TError;
status: Extract<ActionStatus, 'success' | 'error'>;
}
export declare function ofActionDispatched<TActionTypes extends Array<ActionType<any>>>(...actions: TActionTypes): OperatorFunction<ActionExecution<InstanceType<TActionTypes[number]>>, InstanceType<TActionTypes[number]>>;
export declare function ofActionSuccess<TActionTypes extends Array<ActionType<any>>>(...actions: TActionTypes): OperatorFunction<ActionExecution<InstanceType<TActionTypes[number]>>, InstanceType<TActionTypes[number]>>;
export declare function ofActionError<TActionTypes extends Array<ActionType<any>>>(...actions: TActionTypes): OperatorFunction<ActionExecution<InstanceType<TActionTypes[number]>>, InstanceType<TActionTypes[number]>>;
export declare function ofActionComplete<TActionTypes extends Array<ActionType<any>>>(...actions: TActionTypes): OperatorFunction<ActionExecution<InstanceType<TActionTypes[number]>>, ActionComplete<InstanceType<TActionTypes[number]>>>;