Skip to content

Commit 0060551

Browse files
committed
Added new 'FormattedExecutionResult' type
Back port of #2688
1 parent 0eb088b commit 0060551

File tree

6 files changed

+26
-3
lines changed

6 files changed

+26
-3
lines changed

src/execution/execute.js

+7
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import promiseForObject from '../jsutils/promiseForObject';
1616
import { type PromiseOrValue } from '../jsutils/PromiseOrValue';
1717
import { type Path, addPath, pathToArray } from '../jsutils/Path';
1818

19+
import { type GraphQLFormattedError } from '../error/formatError';
1920
import { GraphQLError } from '../error/GraphQLError';
2021
import { locatedError } from '../error/locatedError';
2122

@@ -117,6 +118,12 @@ export type ExecutionResult = {
117118
...
118119
};
119120

121+
export type FormattedExecutionResult = {|
122+
errors?: $ReadOnlyArray<GraphQLFormattedError>,
123+
data?: ObjMap<mixed> | null,
124+
extensions?: ObjMap<mixed>,
125+
|};
126+
120127
export type ExecutionArgs = {|
121128
schema: GraphQLSchema,
122129
document: DocumentNode,

src/execution/index.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
export { pathToArray as responsePathAsArray } from '../jsutils/Path';
44

55
export { execute, defaultFieldResolver, defaultTypeResolver } from './execute';
6-
export type { ExecutionArgs, ExecutionResult } from './execute';
6+
export type {
7+
ExecutionArgs,
8+
ExecutionResult,
9+
FormattedExecutionResult,
10+
} from './execute';
711

812
export { getDirectiveValues } from './values';

src/index.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,11 @@ export {
288288
getDirectiveValues,
289289
} from './execution';
290290

291-
export type { ExecutionArgs, ExecutionResult } from './execution';
291+
export type {
292+
ExecutionArgs,
293+
ExecutionResult,
294+
FormattedExecutionResult,
295+
} from './execution';
292296

293297
export { subscribe, createSourceEventStream } from './subscription';
294298
export type { SubscriptionArgs } from './subscription';

tstypes/execution/execute.d.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { PromiseOrValue } from '../jsutils/PromiseOrValue';
33
import { Path, addPath, pathToArray } from '../jsutils/Path';
44

55
import { GraphQLError } from '../error/GraphQLError';
6-
import { locatedError } from '../error/locatedError';
6+
import { GraphQLFormattedError } from '../error/formatError';
77

88
import {
99
DirectiveNode,
@@ -56,6 +56,12 @@ export interface ExecutionResult<TData = ExecutionResultDataDefault> {
5656
data?: TData | null;
5757
}
5858

59+
export interface FormattedExecutionResult<TData = ExecutionResultDataDefault> {
60+
errors?: ReadonlyArray<GraphQLFormattedError>;
61+
// TS_SPECIFIC: TData. Motivation: https://github.com/graphql/graphql-js/pull/2490#issuecomment-639154229
62+
data?: TData | null;
63+
}
64+
5965
export type ExecutionArgs = {
6066
schema: GraphQLSchema;
6167
document: DocumentNode;

tstypes/execution/index.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export {
66
defaultTypeResolver,
77
ExecutionArgs,
88
ExecutionResult,
9+
FormattedExecutionResult,
910
} from './execute';
1011

1112
export { getDirectiveValues } from './values';

tstypes/index.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ export {
287287
getDirectiveValues,
288288
ExecutionArgs,
289289
ExecutionResult,
290+
FormattedExecutionResult,
290291
} from './execution';
291292

292293
export {

0 commit comments

Comments
 (0)