diff --git a/src/execution/types.ts b/src/execution/types.ts index 87d47e3efc..df968f60b9 100644 --- a/src/execution/types.ts +++ b/src/execution/types.ts @@ -36,12 +36,13 @@ export interface FormattedExecutionResult< export interface ExperimentalIncrementalExecutionResults< TInitial = ObjMap, - TSubsequent = unknown, + TData = ObjMap, + TIncrementalItem = unknown, TExtensions = ObjMap, > { initialResult: InitialIncrementalExecutionResult; subsequentResults: AsyncGenerator< - SubsequentIncrementalExecutionResult, + SubsequentIncrementalExecutionResult, void, void >; @@ -68,23 +69,29 @@ export interface FormattedInitialIncrementalExecutionResult< } export interface SubsequentIncrementalExecutionResult< - TData = unknown, + TData = ObjMap, + TIncrementalItem = unknown, TExtensions = ObjMap, > { pending?: ReadonlyArray; - incremental?: ReadonlyArray>; + incremental?: ReadonlyArray< + IncrementalResult + >; completed?: ReadonlyArray; hasNext: boolean; extensions?: TExtensions; } export interface FormattedSubsequentIncrementalExecutionResult< - TData = unknown, + TData = ObjMap, + TIncrementalItem = unknown, TExtensions = ObjMap, > { hasNext: boolean; pending?: ReadonlyArray; - incremental?: ReadonlyArray>; + incremental?: ReadonlyArray< + FormattedIncrementalResult + >; completed?: ReadonlyArray; extensions?: TExtensions; } @@ -114,41 +121,46 @@ export interface FormattedIncrementalDeferResult< extensions?: TExtensions; } -interface StreamItemsRecordResult> { +interface StreamItemsRecordResult { errors?: ReadonlyArray; - items: TData; + items: ReadonlyArray; } export interface IncrementalStreamResult< - TData = ReadonlyArray, + TIncrementalItem = unknown, TExtensions = ObjMap, -> extends StreamItemsRecordResult { +> extends StreamItemsRecordResult { id: string; subPath?: ReadonlyArray; extensions?: TExtensions; } export interface FormattedIncrementalStreamResult< - TData = Array, + TIncrementalItem = unknown, TExtensions = ObjMap, > { errors?: ReadonlyArray; - items: TData; + items: ReadonlyArray; id: string; subPath?: ReadonlyArray; extensions?: TExtensions; } -export type IncrementalResult> = +export type IncrementalResult< + TData = ObjMap, + TIncrementalItem = unknown, + TExtensions = ObjMap, +> = | IncrementalDeferResult - | IncrementalStreamResult; + | IncrementalStreamResult; export type FormattedIncrementalResult< - TData = unknown, + TData = ObjMap, + TIncrementalItem = unknown, TExtensions = ObjMap, > = | FormattedIncrementalDeferResult - | FormattedIncrementalStreamResult; + | FormattedIncrementalStreamResult; export interface PendingResult { id: string;