1 | import { DocumentNode, ExecutionResult, GraphQLError } from "graphql";
|
2 | import { DefaultContext } from "../../core";
|
3 | export { DocumentNode };
|
4 | import { Observable } from "../../utilities";
|
5 | export type Path = ReadonlyArray<string | number>;
|
6 | interface ExecutionPatchResultBase {
|
7 | hasNext?: boolean;
|
8 | }
|
9 | export interface ExecutionPatchInitialResult<TData = Record<string, any>, TExtensions = Record<string, any>> extends ExecutionPatchResultBase {
|
10 | data: TData | null | undefined;
|
11 | incremental?: never;
|
12 | errors?: ReadonlyArray<GraphQLError>;
|
13 | extensions?: TExtensions;
|
14 | }
|
15 | export interface IncrementalPayload<TData, TExtensions> {
|
16 | data: TData | null;
|
17 | label?: string;
|
18 | path: Path;
|
19 | errors?: ReadonlyArray<GraphQLError>;
|
20 | extensions?: TExtensions;
|
21 | }
|
22 | export interface ExecutionPatchIncrementalResult<TData = Record<string, any>, TExtensions = Record<string, any>> extends ExecutionPatchResultBase {
|
23 | incremental?: IncrementalPayload<TData, TExtensions>[];
|
24 | data?: never;
|
25 | errors?: never;
|
26 | extensions?: never;
|
27 | }
|
28 | export type ExecutionPatchResult<TData = Record<string, any>, TExtensions = Record<string, any>> = ExecutionPatchInitialResult<TData, TExtensions> | ExecutionPatchIncrementalResult<TData, TExtensions>;
|
29 | export interface GraphQLRequest<TVariables = Record<string, any>> {
|
30 | query: DocumentNode;
|
31 | variables?: TVariables;
|
32 | operationName?: string;
|
33 | context?: DefaultContext;
|
34 | extensions?: Record<string, any>;
|
35 | }
|
36 | export interface Operation {
|
37 | query: DocumentNode;
|
38 | variables: Record<string, any>;
|
39 | operationName: string;
|
40 | extensions: Record<string, any>;
|
41 | setContext: (context: DefaultContext) => DefaultContext;
|
42 | getContext: () => DefaultContext;
|
43 | }
|
44 | export interface SingleExecutionResult<TData = Record<string, any>, TContext = DefaultContext, TExtensions = Record<string, any>> extends ExecutionResult<TData, TExtensions> {
|
45 | data?: TData | null;
|
46 | context?: TContext;
|
47 | }
|
48 | export type FetchResult<TData = Record<string, any>, TContext = Record<string, any>, TExtensions = Record<string, any>> = SingleExecutionResult<TData, TContext, TExtensions> | ExecutionPatchResult<TData, TExtensions>;
|
49 | export type NextLink = (operation: Operation) => Observable<FetchResult>;
|
50 | export type RequestHandler = (operation: Operation, forward: NextLink) => Observable<FetchResult> | null;
|
51 |
|
\ | No newline at end of file |