From 04542b1cf209910a1d28cd209f0e54384e0116ad Mon Sep 17 00:00:00 2001 From: Ivan Goncharov Date: Tue, 21 May 2019 11:38:05 +0300 Subject: [PATCH] Use "isPromise" instead of testing for 'then' property --- src/graphql.js | 3 ++- src/utilities/introspectionFromSchema.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/graphql.js b/src/graphql.js index e8cdfdc9ed..1067bd3ce3 100644 --- a/src/graphql.js +++ b/src/graphql.js @@ -7,6 +7,7 @@ * @flow strict */ +import isPromise from './jsutils/isPromise'; import { validateSchema } from './type/validate'; import { parse } from './language/parser'; import { validate } from './validation/validate'; @@ -175,7 +176,7 @@ export function graphqlSync( ); // Assert that the execution was synchronous. - if (result.then) { + if (isPromise(result)) { throw new Error('GraphQL execution failed to complete synchronously.'); } diff --git a/src/utilities/introspectionFromSchema.js b/src/utilities/introspectionFromSchema.js index 96de81d6e0..8f2006ea09 100644 --- a/src/utilities/introspectionFromSchema.js +++ b/src/utilities/introspectionFromSchema.js @@ -8,6 +8,7 @@ */ import invariant from '../jsutils/invariant'; +import isPromise from '../jsutils/isPromise'; import { type GraphQLSchema } from '../type/schema'; import { execute } from '../execution/execute'; import { parse } from '../language/parser'; @@ -32,6 +33,6 @@ export function introspectionFromSchema( ): IntrospectionQuery { const queryAST = parse(getIntrospectionQuery(options)); const result = execute(schema, queryAST); - invariant(!result.then && !result.errors && result.data); + invariant(!isPromise(result) && !result.errors && result.data); return (result.data: any); }