incrementalDeliveryPolyfill.d.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import { type ExecutionArgs, type ExecutionResult, type GraphQLError } from 'graphql';
  2. interface ObjMap<T> {
  3. [key: string]: T;
  4. }
  5. export interface GraphQLExperimentalInitialIncrementalExecutionResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> extends ExecutionResult<TData, TExtensions> {
  6. hasNext: boolean;
  7. incremental?: ReadonlyArray<GraphQLExperimentalIncrementalResult<TData, TExtensions>>;
  8. extensions?: TExtensions;
  9. }
  10. export interface GraphQLExperimentalSubsequentIncrementalExecutionResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> {
  11. hasNext: boolean;
  12. incremental?: ReadonlyArray<GraphQLExperimentalIncrementalResult<TData, TExtensions>>;
  13. extensions?: TExtensions;
  14. }
  15. type GraphQLExperimentalIncrementalResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> = GraphQLExperimentalIncrementalDeferResult<TData, TExtensions> | GraphQLExperimentalIncrementalStreamResult<TData, TExtensions>;
  16. interface GraphQLExperimentalIncrementalDeferResult<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> extends ExecutionResult<TData, TExtensions> {
  17. path?: ReadonlyArray<string | number>;
  18. label?: string;
  19. }
  20. interface GraphQLExperimentalIncrementalStreamResult<TData = Array<unknown>, TExtensions = ObjMap<unknown>> {
  21. errors?: ReadonlyArray<GraphQLError>;
  22. items?: TData | null;
  23. path?: ReadonlyArray<string | number>;
  24. label?: string;
  25. extensions?: TExtensions;
  26. }
  27. export interface GraphQLExperimentalIncrementalExecutionResults<TData = ObjMap<unknown>, TExtensions = ObjMap<unknown>> {
  28. initialResult: GraphQLExperimentalInitialIncrementalExecutionResult<TData, TExtensions>;
  29. subsequentResults: AsyncGenerator<GraphQLExperimentalSubsequentIncrementalExecutionResult<TData, TExtensions>, void, void>;
  30. }
  31. export declare function executeIncrementally(args: ExecutionArgs): Promise<ExecutionResult | GraphQLExperimentalIncrementalExecutionResults>;
  32. export {};
  33. //# sourceMappingURL=incrementalDeliveryPolyfill.d.ts.map