graphql 15.3.0 → 15.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +10 -0
- package/error/GraphQLError.js +8 -8
- package/error/GraphQLError.js.flow +2 -3
- package/error/GraphQLError.mjs +2 -2
- package/error/formatError.js +1 -1
- package/error/formatError.js.flow +0 -1
- package/error/index.js +4 -4
- package/error/index.js.flow +0 -1
- package/error/locatedError.d.ts +2 -2
- package/error/locatedError.js +10 -5
- package/error/locatedError.js.flow +10 -4
- package/error/locatedError.mjs +6 -4
- package/error/syntaxError.js +1 -1
- package/error/syntaxError.js.flow +0 -1
- package/execution/execute.d.ts +0 -15
- package/execution/execute.js +104 -104
- package/execution/execute.js.flow +119 -133
- package/execution/execute.mjs +86 -82
- package/execution/index.js +3 -3
- package/execution/index.js.flow +0 -1
- package/execution/values.js +11 -11
- package/execution/values.js.flow +0 -1
- package/graphql.js +5 -5
- package/graphql.js.flow +0 -1
- package/index.d.ts +1 -0
- package/index.js +9 -9
- package/index.js.flow +0 -1
- package/jsutils/ObjMap.js.flow +0 -1
- package/jsutils/Path.js.flow +0 -1
- package/jsutils/PromiseOrValue.js.flow +0 -1
- package/jsutils/defineInspect.js +2 -2
- package/jsutils/defineInspect.js.flow +0 -1
- package/jsutils/devAssert.js.flow +0 -1
- package/jsutils/didYouMean.js.flow +0 -1
- package/jsutils/identityFunc.js.flow +0 -1
- package/jsutils/inspect.js +1 -2
- package/jsutils/inspect.js.flow +10 -8
- package/jsutils/inspect.mjs +1 -1
- package/jsutils/instanceOf.js +15 -9
- package/jsutils/instanceOf.js.flow +13 -7
- package/jsutils/instanceOf.mjs +13 -5
- package/jsutils/invariant.js.flow +0 -1
- package/jsutils/isAsyncIterable.js +13 -0
- package/jsutils/isAsyncIterable.js.flow +14 -0
- package/jsutils/isAsyncIterable.mjs +10 -0
- package/jsutils/isObjectLike.js.flow +0 -1
- package/jsutils/isPromise.js.flow +0 -1
- package/jsutils/keyMap.js.flow +0 -1
- package/jsutils/keyValMap.js.flow +0 -1
- package/jsutils/mapValue.js +1 -1
- package/jsutils/mapValue.js.flow +0 -1
- package/jsutils/memoize3.js +2 -5
- package/jsutils/memoize3.js.flow +2 -5
- package/jsutils/memoize3.mjs +2 -5
- package/jsutils/naturalCompare.js +69 -0
- package/jsutils/naturalCompare.js.flow +59 -0
- package/jsutils/naturalCompare.mjs +61 -0
- package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
- package/jsutils/printPathArray.js.flow +0 -1
- package/jsutils/promiseForObject.js.flow +0 -1
- package/jsutils/promiseReduce.js +1 -1
- package/jsutils/promiseReduce.js.flow +0 -1
- package/jsutils/safeArrayFrom.js +73 -0
- package/jsutils/safeArrayFrom.js.flow +59 -0
- package/jsutils/safeArrayFrom.mjs +66 -0
- package/jsutils/suggestionList.js +5 -1
- package/jsutils/suggestionList.js.flow +3 -2
- package/jsutils/suggestionList.mjs +3 -1
- package/jsutils/toObjMap.js +1 -1
- package/jsutils/toObjMap.js.flow +0 -1
- package/language/ast.js +1 -1
- package/language/ast.js.flow +0 -1
- package/language/blockString.d.ts +1 -1
- package/language/blockString.js +53 -32
- package/language/blockString.js.flow +51 -36
- package/language/blockString.mjs +54 -33
- package/language/directiveLocation.js.flow +0 -1
- package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
- package/language/experimentalOnlineParser/grammar.js +987 -0
- package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
- package/language/experimentalOnlineParser/grammar.mjs +980 -0
- package/language/experimentalOnlineParser/index.d.ts +6 -0
- package/language/experimentalOnlineParser/index.js +31 -0
- package/language/experimentalOnlineParser/index.js.flow +7 -0
- package/language/experimentalOnlineParser/index.mjs +1 -0
- package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
- package/language/experimentalOnlineParser/onlineParser.js +604 -0
- package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
- package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
- package/language/index.js +12 -12
- package/language/index.js.flow +0 -1
- package/language/kinds.js.flow +0 -1
- package/language/lexer.js +242 -183
- package/language/lexer.js.flow +188 -184
- package/language/lexer.mjs +238 -179
- package/language/location.js.flow +0 -1
- package/language/parser.js +73 -68
- package/language/parser.js.flow +62 -57
- package/language/parser.mjs +64 -60
- package/language/predicates.js +1 -1
- package/language/predicates.js.flow +0 -1
- package/language/printLocation.js +1 -1
- package/language/printLocation.js.flow +0 -1
- package/language/printer.js +20 -13
- package/language/printer.js.flow +26 -25
- package/language/printer.mjs +18 -11
- package/language/source.d.ts +7 -0
- package/language/source.js +20 -3
- package/language/source.js.flow +21 -3
- package/language/source.mjs +14 -1
- package/language/tokenKind.js.flow +0 -1
- package/language/visitor.js +2 -2
- package/language/visitor.js.flow +0 -1
- package/package.json +2 -3
- package/polyfills/arrayFrom.js +2 -2
- package/polyfills/arrayFrom.js.flow +1 -2
- package/polyfills/arrayFrom.mjs +1 -1
- package/polyfills/find.js +1 -1
- package/polyfills/find.js.flow +1 -2
- package/polyfills/find.mjs +1 -1
- package/polyfills/isFinite.js +1 -1
- package/polyfills/isFinite.js.flow +1 -2
- package/polyfills/isFinite.mjs +1 -1
- package/polyfills/isInteger.js +1 -1
- package/polyfills/isInteger.js.flow +1 -2
- package/polyfills/isInteger.mjs +1 -1
- package/polyfills/objectEntries.js +1 -1
- package/polyfills/objectEntries.js.flow +1 -2
- package/polyfills/objectEntries.mjs +1 -1
- package/polyfills/objectValues.js +1 -1
- package/polyfills/objectValues.js.flow +1 -2
- package/polyfills/objectValues.mjs +1 -1
- package/polyfills/symbols.js +3 -5
- package/polyfills/symbols.js.flow +9 -6
- package/polyfills/symbols.mjs +3 -5
- package/subscription/index.js +1 -1
- package/subscription/index.js.flow +0 -1
- package/subscription/mapAsyncIterator.js +2 -2
- package/subscription/mapAsyncIterator.js.flow +8 -9
- package/subscription/mapAsyncIterator.mjs +1 -1
- package/subscription/subscribe.js +61 -73
- package/subscription/subscribe.js.flow +71 -85
- package/subscription/subscribe.mjs +53 -65
- package/type/definition.d.ts +16 -6
- package/type/definition.js +37 -32
- package/type/definition.js.flow +93 -63
- package/type/definition.mjs +19 -14
- package/type/directives.js +17 -16
- package/type/directives.js.flow +20 -13
- package/type/directives.mjs +6 -5
- package/type/index.js +6 -6
- package/type/index.js.flow +0 -1
- package/type/introspection.js +86 -65
- package/type/introspection.js.flow +75 -43
- package/type/introspection.mjs +79 -58
- package/type/scalars.js +9 -9
- package/type/scalars.js.flow +1 -2
- package/type/scalars.mjs +1 -1
- package/type/schema.js +13 -13
- package/type/schema.js.flow +2 -3
- package/type/schema.mjs +1 -1
- package/type/validate.js +52 -19
- package/type/validate.js.flow +54 -8
- package/type/validate.mjs +43 -9
- package/utilities/TypeInfo.js +7 -7
- package/utilities/TypeInfo.js.flow +1 -2
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +0 -1
- package/utilities/astFromValue.js +14 -16
- package/utilities/astFromValue.js.flow +6 -7
- package/utilities/astFromValue.mjs +6 -7
- package/utilities/buildASTSchema.js +17 -27
- package/utilities/buildASTSchema.js.flow +5 -21
- package/utilities/buildASTSchema.mjs +11 -21
- package/utilities/buildClientSchema.js +16 -15
- package/utilities/buildClientSchema.js.flow +28 -12
- package/utilities/buildClientSchema.mjs +5 -4
- package/utilities/coerceInputValue.js +17 -18
- package/utilities/coerceInputValue.js.flow +12 -10
- package/utilities/coerceInputValue.mjs +7 -7
- package/utilities/concatAST.js +9 -8
- package/utilities/concatAST.js.flow +8 -8
- package/utilities/concatAST.mjs +9 -6
- package/utilities/extendSchema.js +26 -19
- package/utilities/extendSchema.js.flow +19 -7
- package/utilities/extendSchema.mjs +8 -1
- package/utilities/findBreakingChanges.js +15 -11
- package/utilities/findBreakingChanges.js.flow +6 -3
- package/utilities/findBreakingChanges.mjs +5 -2
- package/utilities/findDeprecatedUsages.js +2 -2
- package/utilities/findDeprecatedUsages.js.flow +0 -1
- package/utilities/getIntrospectionQuery.d.ts +6 -0
- package/utilities/getIntrospectionQuery.js +8 -2
- package/utilities/getIntrospectionQuery.js.flow +17 -5
- package/utilities/getIntrospectionQuery.mjs +8 -2
- package/utilities/getOperationAST.js +1 -1
- package/utilities/getOperationAST.js.flow +0 -1
- package/utilities/getOperationRootType.js +1 -1
- package/utilities/getOperationRootType.js.flow +0 -1
- package/utilities/index.d.ts +3 -0
- package/utilities/index.js +22 -22
- package/utilities/index.js.flow +0 -1
- package/utilities/introspectionFromSchema.js +7 -5
- package/utilities/introspectionFromSchema.js.flow +2 -1
- package/utilities/introspectionFromSchema.mjs +3 -1
- package/utilities/lexicographicSortSchema.js +13 -9
- package/utilities/lexicographicSortSchema.js.flow +21 -13
- package/utilities/lexicographicSortSchema.mjs +5 -2
- package/utilities/printSchema.js +15 -16
- package/utilities/printSchema.js.flow +23 -16
- package/utilities/printSchema.mjs +5 -6
- package/utilities/separateOperations.js +46 -42
- package/utilities/separateOperations.js.flow +46 -37
- package/utilities/separateOperations.mjs +44 -40
- package/utilities/stripIgnoredCharacters.js +6 -16
- package/utilities/stripIgnoredCharacters.js.flow +4 -13
- package/utilities/stripIgnoredCharacters.mjs +3 -10
- package/utilities/typeComparators.js +1 -1
- package/utilities/typeComparators.js.flow +0 -1
- package/utilities/typeFromAST.js +6 -6
- package/utilities/typeFromAST.js.flow +2 -3
- package/utilities/typeFromAST.mjs +2 -2
- package/utilities/typedQueryDocumentNode.d.ts +20 -0
- package/utilities/valueFromAST.js +6 -6
- package/utilities/valueFromAST.js.flow +4 -2
- package/utilities/valueFromASTUntyped.js +4 -4
- package/utilities/valueFromASTUntyped.js.flow +0 -1
- package/validation/ValidationContext.js +3 -3
- package/validation/ValidationContext.js.flow +3 -4
- package/validation/index.js +38 -38
- package/validation/index.js.flow +0 -1
- package/validation/rules/ExecutableDefinitions.js +1 -1
- package/validation/rules/ExecutableDefinitions.js.flow +0 -1
- package/validation/rules/ExecutableDefinitionsRule.js +3 -3
- package/validation/rules/ExecutableDefinitionsRule.js.flow +0 -1
- package/validation/rules/FieldsOnCorrectTypeRule.js +8 -6
- package/validation/rules/FieldsOnCorrectTypeRule.js.flow +2 -2
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +2 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +0 -1
- package/validation/rules/KnownArgumentNamesRule.js +5 -5
- package/validation/rules/KnownArgumentNamesRule.js.flow +1 -1
- package/validation/rules/KnownDirectivesRule.js +6 -6
- package/validation/rules/KnownDirectivesRule.js.flow +4 -3
- package/validation/rules/KnownFragmentNamesRule.js +1 -1
- package/validation/rules/KnownFragmentNamesRule.js.flow +0 -1
- package/validation/rules/KnownTypeNamesRule.js +6 -6
- package/validation/rules/KnownTypeNamesRule.js.flow +1 -2
- package/validation/rules/LoneAnonymousOperationRule.js +2 -2
- package/validation/rules/LoneAnonymousOperationRule.js.flow +0 -1
- package/validation/rules/LoneSchemaDefinition.js +1 -1
- package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
- package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.js.flow +0 -1
- package/validation/rules/NoFragmentCyclesRule.js +1 -1
- package/validation/rules/NoFragmentCyclesRule.js.flow +1 -2
- package/validation/rules/NoUndefinedVariablesRule.js +1 -1
- package/validation/rules/NoUndefinedVariablesRule.js.flow +0 -1
- package/validation/rules/NoUnusedFragmentsRule.js +1 -1
- package/validation/rules/NoUnusedFragmentsRule.js.flow +0 -1
- package/validation/rules/NoUnusedVariablesRule.js +1 -1
- package/validation/rules/NoUnusedVariablesRule.js.flow +0 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +14 -14
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
- package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
- package/validation/rules/PossibleFragmentSpreadsRule.js.flow +5 -2
- package/validation/rules/PossibleTypeExtensions.js +1 -1
- package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
- package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
- package/validation/rules/PossibleTypeExtensionsRule.js.flow +6 -4
- package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
- package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +4 -3
- package/validation/rules/ScalarLeafsRule.js +3 -3
- package/validation/rules/ScalarLeafsRule.js.flow +0 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js.flow +0 -1
- package/validation/rules/UniqueArgumentNamesRule.js +1 -1
- package/validation/rules/UniqueArgumentNamesRule.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNames.js +1 -1
- package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.js +2 -2
- package/validation/rules/UniqueDirectiveNamesRule.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
- package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +0 -1
- package/validation/rules/UniqueEnumValueNames.js +1 -1
- package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
- package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.js.flow +7 -2
- package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +13 -4
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js.flow +0 -1
- package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.js.flow +0 -1
- package/validation/rules/UniqueOperationNamesRule.js +1 -1
- package/validation/rules/UniqueOperationNamesRule.js.flow +0 -1
- package/validation/rules/UniqueOperationTypes.js +1 -1
- package/validation/rules/UniqueOperationTypes.js.flow +0 -1
- package/validation/rules/UniqueOperationTypesRule.js +1 -1
- package/validation/rules/UniqueOperationTypesRule.js.flow +7 -2
- package/validation/rules/UniqueTypeNames.js +1 -1
- package/validation/rules/UniqueTypeNames.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.js +2 -2
- package/validation/rules/UniqueTypeNamesRule.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.mjs +1 -1
- package/validation/rules/UniqueVariableNamesRule.js +1 -1
- package/validation/rules/UniqueVariableNamesRule.js.flow +0 -1
- package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
- package/validation/rules/ValuesOfCorrectTypeRule.js.flow +0 -1
- package/validation/rules/VariablesAreInputTypesRule.js +4 -4
- package/validation/rules/VariablesAreInputTypesRule.js.flow +0 -1
- package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
- package/validation/rules/VariablesInAllowedPositionRule.js.flow +0 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.js +47 -9
- package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +56 -13
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +43 -8
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -3
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +0 -1
- package/validation/specifiedRules.js +33 -33
- package/validation/specifiedRules.js.flow +0 -1
- package/validation/validate.js +7 -7
- package/validation/validate.js.flow +4 -5
- package/version.js +3 -3
- package/version.js.flow +3 -4
- package/version.mjs +3 -3
- package/jsutils/isCollection.js +0 -47
- package/jsutils/isCollection.js.flow +0 -39
- package/jsutils/isCollection.mjs +0 -40
- package/polyfills/flatMap.js +0 -30
- package/polyfills/flatMap.js.flow +0 -28
- package/polyfills/flatMap.mjs +0 -23
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
|
-
import { SYMBOL_ASYNC_ITERATOR } from '../polyfills/symbols';
|
|
4
|
-
|
|
5
2
|
import inspect from '../jsutils/inspect';
|
|
3
|
+
import isAsyncIterable from '../jsutils/isAsyncIterable';
|
|
6
4
|
import { addPath, pathToArray } from '../jsutils/Path';
|
|
7
5
|
|
|
8
6
|
import { GraphQLError } from '../error/GraphQLError';
|
|
@@ -10,7 +8,8 @@ import { locatedError } from '../error/locatedError';
|
|
|
10
8
|
|
|
11
9
|
import type { DocumentNode } from '../language/ast';
|
|
12
10
|
|
|
13
|
-
import type { ExecutionResult } from '../execution/execute';
|
|
11
|
+
import type { ExecutionResult, ExecutionContext } from '../execution/execute';
|
|
12
|
+
import { getArgumentValues } from '../execution/values';
|
|
14
13
|
import {
|
|
15
14
|
assertValidExecutionArguments,
|
|
16
15
|
buildExecutionContext,
|
|
@@ -18,7 +17,6 @@ import {
|
|
|
18
17
|
collectFields,
|
|
19
18
|
execute,
|
|
20
19
|
getFieldDef,
|
|
21
|
-
resolveFieldValueOrError,
|
|
22
20
|
} from '../execution/execute';
|
|
23
21
|
|
|
24
22
|
import type { GraphQLSchema } from '../type/schema';
|
|
@@ -63,7 +61,7 @@ export type SubscriptionArgs = {|
|
|
|
63
61
|
declare function subscribe(
|
|
64
62
|
SubscriptionArgs,
|
|
65
63
|
..._: []
|
|
66
|
-
): Promise<
|
|
64
|
+
): Promise<AsyncGenerator<ExecutionResult, void, void> | ExecutionResult>;
|
|
67
65
|
/* eslint-disable no-redeclare */
|
|
68
66
|
declare function subscribe(
|
|
69
67
|
schema: GraphQLSchema,
|
|
@@ -106,7 +104,7 @@ export function subscribe(
|
|
|
106
104
|
* an ExecutionResult, containing only errors and no data. Otherwise treat the
|
|
107
105
|
* error as a system-class error and re-throw it.
|
|
108
106
|
*/
|
|
109
|
-
function reportGraphQLError(error) {
|
|
107
|
+
function reportGraphQLError(error: mixed): ExecutionResult {
|
|
110
108
|
if (error instanceof GraphQLError) {
|
|
111
109
|
return { errors: [error] };
|
|
112
110
|
}
|
|
@@ -115,7 +113,7 @@ function reportGraphQLError(error) {
|
|
|
115
113
|
|
|
116
114
|
function subscribeImpl(
|
|
117
115
|
args: SubscriptionArgs,
|
|
118
|
-
): Promise<
|
|
116
|
+
): Promise<AsyncGenerator<ExecutionResult, void, void> | ExecutionResult> {
|
|
119
117
|
const {
|
|
120
118
|
schema,
|
|
121
119
|
document,
|
|
@@ -160,7 +158,7 @@ function subscribeImpl(
|
|
|
160
158
|
// Note: Flow can't refine isAsyncIterable, so explicit casts are used.
|
|
161
159
|
isAsyncIterable(resultOrStream)
|
|
162
160
|
? mapAsyncIterator(
|
|
163
|
-
|
|
161
|
+
resultOrStream,
|
|
164
162
|
mapSourceToResponse,
|
|
165
163
|
reportGraphQLError,
|
|
166
164
|
)
|
|
@@ -209,7 +207,7 @@ export function createSourceEventStream(
|
|
|
209
207
|
// developer mistake which should throw an early error.
|
|
210
208
|
assertValidExecutionArguments(schema, document, variableValues);
|
|
211
209
|
|
|
212
|
-
|
|
210
|
+
return new Promise((resolve) => {
|
|
213
211
|
// If a valid context cannot be created due to incorrect arguments,
|
|
214
212
|
// this will throw an error.
|
|
215
213
|
const exeContext = buildExecutionContext(
|
|
@@ -222,91 +220,79 @@ export function createSourceEventStream(
|
|
|
222
220
|
fieldResolver,
|
|
223
221
|
);
|
|
224
222
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
const type = getOperationRootType(schema, exeContext.operation);
|
|
231
|
-
const fields = collectFields(
|
|
232
|
-
exeContext,
|
|
233
|
-
type,
|
|
234
|
-
exeContext.operation.selectionSet,
|
|
235
|
-
Object.create(null),
|
|
236
|
-
Object.create(null),
|
|
223
|
+
resolve(
|
|
224
|
+
// Return early errors if execution context failed.
|
|
225
|
+
Array.isArray(exeContext)
|
|
226
|
+
? { errors: exeContext }
|
|
227
|
+
: executeSubscription(exeContext),
|
|
237
228
|
);
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
const fieldNodes = fields[responseName];
|
|
241
|
-
const fieldNode = fieldNodes[0];
|
|
242
|
-
const fieldName = fieldNode.name.value;
|
|
243
|
-
const fieldDef = getFieldDef(schema, type, fieldName);
|
|
229
|
+
}).catch(reportGraphQLError);
|
|
230
|
+
}
|
|
244
231
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
232
|
+
function executeSubscription(
|
|
233
|
+
exeContext: ExecutionContext,
|
|
234
|
+
): Promise<AsyncIterable<mixed>> {
|
|
235
|
+
const { schema, operation, variableValues, rootValue } = exeContext;
|
|
236
|
+
const type = getOperationRootType(schema, operation);
|
|
237
|
+
const fields = collectFields(
|
|
238
|
+
exeContext,
|
|
239
|
+
type,
|
|
240
|
+
operation.selectionSet,
|
|
241
|
+
Object.create(null),
|
|
242
|
+
Object.create(null),
|
|
243
|
+
);
|
|
244
|
+
const responseNames = Object.keys(fields);
|
|
245
|
+
const responseName = responseNames[0];
|
|
246
|
+
const fieldNodes = fields[responseName];
|
|
247
|
+
const fieldNode = fieldNodes[0];
|
|
248
|
+
const fieldName = fieldNode.name.value;
|
|
249
|
+
const fieldDef = getFieldDef(schema, type, fieldName);
|
|
251
250
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
if (!fieldDef) {
|
|
252
|
+
throw new GraphQLError(
|
|
253
|
+
`The subscription field "${fieldName}" is not defined.`,
|
|
254
|
+
fieldNodes,
|
|
255
|
+
);
|
|
256
|
+
}
|
|
255
257
|
|
|
256
|
-
|
|
258
|
+
const path = addPath(undefined, responseName, type.name);
|
|
259
|
+
const info = buildResolveInfo(exeContext, fieldDef, fieldNodes, type, path);
|
|
257
260
|
|
|
258
|
-
|
|
261
|
+
// Coerce to Promise for easier error handling and consistent return type.
|
|
262
|
+
return new Promise((resolveResult) => {
|
|
263
|
+
// Implements the "ResolveFieldEventStream" algorithm from GraphQL specification.
|
|
264
|
+
// It differs from "ResolveFieldValue" due to providing a different `resolveFn`.
|
|
259
265
|
|
|
260
|
-
//
|
|
261
|
-
//
|
|
262
|
-
|
|
263
|
-
const result = resolveFieldValueOrError(
|
|
264
|
-
exeContext,
|
|
265
|
-
fieldDef,
|
|
266
|
-
fieldNodes,
|
|
267
|
-
resolveFn,
|
|
268
|
-
rootValue,
|
|
269
|
-
info,
|
|
270
|
-
);
|
|
266
|
+
// Build a JS object of arguments from the field.arguments AST, using the
|
|
267
|
+
// variables scope to fulfill any variable references.
|
|
268
|
+
const args = getArgumentValues(fieldDef, fieldNodes[0], variableValues);
|
|
271
269
|
|
|
272
|
-
//
|
|
273
|
-
|
|
274
|
-
|
|
270
|
+
// The resolve function's optional third argument is a context value that
|
|
271
|
+
// is provided to every resolve function within an execution. It is commonly
|
|
272
|
+
// used to represent an authenticated user, or request-specific caches.
|
|
273
|
+
const contextValue = exeContext.contextValue;
|
|
274
|
+
|
|
275
|
+
// Call the `subscribe()` resolver or the default resolver to produce an
|
|
276
|
+
// AsyncIterable yielding raw payloads.
|
|
277
|
+
const resolveFn = fieldDef.subscribe ?? exeContext.fieldResolver;
|
|
278
|
+
resolveResult(resolveFn(rootValue, args, contextValue, info));
|
|
279
|
+
}).then(
|
|
280
|
+
(eventStream) => {
|
|
275
281
|
if (eventStream instanceof Error) {
|
|
276
|
-
|
|
277
|
-
errors: [locatedError(eventStream, fieldNodes, pathToArray(path))],
|
|
278
|
-
};
|
|
282
|
+
throw locatedError(eventStream, fieldNodes, pathToArray(path));
|
|
279
283
|
}
|
|
280
284
|
|
|
281
285
|
// Assert field returned an event stream, otherwise yield an error.
|
|
282
|
-
if (isAsyncIterable(eventStream)) {
|
|
283
|
-
|
|
284
|
-
|
|
286
|
+
if (!isAsyncIterable(eventStream)) {
|
|
287
|
+
throw new Error(
|
|
288
|
+
'Subscription field must return Async Iterable. ' +
|
|
289
|
+
`Received: ${inspect(eventStream)}.`,
|
|
290
|
+
);
|
|
285
291
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
} catch (error) {
|
|
293
|
-
// As with reportGraphQLError above, if the error is a GraphQLError, report
|
|
294
|
-
// it as an ExecutionResult; otherwise treat it as a system-class error and
|
|
295
|
-
// re-throw it.
|
|
296
|
-
return error instanceof GraphQLError
|
|
297
|
-
? Promise.resolve({ errors: [error] })
|
|
298
|
-
: Promise.reject(error);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
/**
|
|
303
|
-
* Returns true if the provided object implements the AsyncIterator protocol via
|
|
304
|
-
* either implementing a `Symbol.asyncIterator` or `"@@asyncIterator"` method.
|
|
305
|
-
*/
|
|
306
|
-
function isAsyncIterable(maybeAsyncIterable: mixed): boolean {
|
|
307
|
-
if (maybeAsyncIterable == null || typeof maybeAsyncIterable !== 'object') {
|
|
308
|
-
return false;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
return typeof maybeAsyncIterable[SYMBOL_ASYNC_ITERATOR] === 'function';
|
|
292
|
+
return eventStream;
|
|
293
|
+
},
|
|
294
|
+
(error) => {
|
|
295
|
+
throw locatedError(error, fieldNodes, pathToArray(path));
|
|
296
|
+
},
|
|
297
|
+
);
|
|
312
298
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
|
-
|
|
3
|
-
import { SYMBOL_ASYNC_ITERATOR } from "../polyfills/symbols.mjs";
|
|
4
1
|
import inspect from "../jsutils/inspect.mjs";
|
|
2
|
+
import isAsyncIterable from "../jsutils/isAsyncIterable.mjs";
|
|
5
3
|
import { addPath, pathToArray } from "../jsutils/Path.mjs";
|
|
6
4
|
import { GraphQLError } from "../error/GraphQLError.mjs";
|
|
7
5
|
import { locatedError } from "../error/locatedError.mjs";
|
|
8
|
-
import {
|
|
6
|
+
import { getArgumentValues } from "../execution/values.mjs";
|
|
7
|
+
import { assertValidExecutionArguments, buildExecutionContext, buildResolveInfo, collectFields, execute, getFieldDef } from "../execution/execute.mjs";
|
|
9
8
|
import { getOperationRootType } from "../utilities/getOperationRootType.mjs";
|
|
10
9
|
import mapAsyncIterator from "./mapAsyncIterator.mjs";
|
|
11
10
|
export function subscribe(argsOrSchema, document, rootValue, contextValue, variableValues, operationName, fieldResolver, subscribeFieldResolver) {
|
|
@@ -108,77 +107,66 @@ export function createSourceEventStream(schema, document, rootValue, contextValu
|
|
|
108
107
|
// If arguments are missing or incorrectly typed, this is an internal
|
|
109
108
|
// developer mistake which should throw an early error.
|
|
110
109
|
assertValidExecutionArguments(schema, document, variableValues);
|
|
111
|
-
|
|
112
|
-
try {
|
|
113
|
-
var _fieldDef$subscribe;
|
|
114
|
-
|
|
110
|
+
return new Promise(function (resolve) {
|
|
115
111
|
// If a valid context cannot be created due to incorrect arguments,
|
|
116
112
|
// this will throw an error.
|
|
117
|
-
var exeContext = buildExecutionContext(schema, document, rootValue, contextValue, variableValues, operationName, fieldResolver);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
113
|
+
var exeContext = buildExecutionContext(schema, document, rootValue, contextValue, variableValues, operationName, fieldResolver);
|
|
114
|
+
resolve( // Return early errors if execution context failed.
|
|
115
|
+
Array.isArray(exeContext) ? {
|
|
116
|
+
errors: exeContext
|
|
117
|
+
} : executeSubscription(exeContext));
|
|
118
|
+
}).catch(reportGraphQLError);
|
|
119
|
+
}
|
|
124
120
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
121
|
+
function executeSubscription(exeContext) {
|
|
122
|
+
var schema = exeContext.schema,
|
|
123
|
+
operation = exeContext.operation,
|
|
124
|
+
variableValues = exeContext.variableValues,
|
|
125
|
+
rootValue = exeContext.rootValue;
|
|
126
|
+
var type = getOperationRootType(schema, operation);
|
|
127
|
+
var fields = collectFields(exeContext, type, operation.selectionSet, Object.create(null), Object.create(null));
|
|
128
|
+
var responseNames = Object.keys(fields);
|
|
129
|
+
var responseName = responseNames[0];
|
|
130
|
+
var fieldNodes = fields[responseName];
|
|
131
|
+
var fieldNode = fieldNodes[0];
|
|
132
|
+
var fieldName = fieldNode.name.value;
|
|
133
|
+
var fieldDef = getFieldDef(schema, type, fieldName);
|
|
134
|
+
|
|
135
|
+
if (!fieldDef) {
|
|
136
|
+
throw new GraphQLError("The subscription field \"".concat(fieldName, "\" is not defined."), fieldNodes);
|
|
137
|
+
}
|
|
138
138
|
|
|
139
|
+
var path = addPath(undefined, responseName, type.name);
|
|
140
|
+
var info = buildResolveInfo(exeContext, fieldDef, fieldNodes, type, path); // Coerce to Promise for easier error handling and consistent return type.
|
|
139
141
|
|
|
140
|
-
|
|
141
|
-
var
|
|
142
|
-
var info = buildResolveInfo(exeContext, fieldDef, fieldNodes, type, path); // resolveFieldValueOrError implements the "ResolveFieldEventStream"
|
|
143
|
-
// algorithm from GraphQL specification. It differs from
|
|
144
|
-
// "ResolveFieldValue" due to providing a different `resolveFn`.
|
|
142
|
+
return new Promise(function (resolveResult) {
|
|
143
|
+
var _fieldDef$subscribe;
|
|
145
144
|
|
|
146
|
-
|
|
145
|
+
// Implements the "ResolveFieldEventStream" algorithm from GraphQL specification.
|
|
146
|
+
// It differs from "ResolveFieldValue" due to providing a different `resolveFn`.
|
|
147
|
+
// Build a JS object of arguments from the field.arguments AST, using the
|
|
148
|
+
// variables scope to fulfill any variable references.
|
|
149
|
+
var args = getArgumentValues(fieldDef, fieldNodes[0], variableValues); // The resolve function's optional third argument is a context value that
|
|
150
|
+
// is provided to every resolve function within an execution. It is commonly
|
|
151
|
+
// used to represent an authenticated user, or request-specific caches.
|
|
147
152
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
if (eventStream instanceof Error) {
|
|
151
|
-
return {
|
|
152
|
-
errors: [locatedError(eventStream, fieldNodes, pathToArray(path))]
|
|
153
|
-
};
|
|
154
|
-
} // Assert field returned an event stream, otherwise yield an error.
|
|
153
|
+
var contextValue = exeContext.contextValue; // Call the `subscribe()` resolver or the default resolver to produce an
|
|
154
|
+
// AsyncIterable yielding raw payloads.
|
|
155
155
|
|
|
156
|
+
var resolveFn = (_fieldDef$subscribe = fieldDef.subscribe) !== null && _fieldDef$subscribe !== void 0 ? _fieldDef$subscribe : exeContext.fieldResolver;
|
|
157
|
+
resolveResult(resolveFn(rootValue, args, contextValue, info));
|
|
158
|
+
}).then(function (eventStream) {
|
|
159
|
+
if (eventStream instanceof Error) {
|
|
160
|
+
throw locatedError(eventStream, fieldNodes, pathToArray(path));
|
|
161
|
+
} // Assert field returned an event stream, otherwise yield an error.
|
|
156
162
|
|
|
157
|
-
if (isAsyncIterable(eventStream)) {
|
|
158
|
-
// Note: isAsyncIterable above ensures this will be correct.
|
|
159
|
-
return eventStream;
|
|
160
|
-
}
|
|
161
163
|
|
|
164
|
+
if (!isAsyncIterable(eventStream)) {
|
|
162
165
|
throw new Error('Subscription field must return Async Iterable. ' + "Received: ".concat(inspect(eventStream), "."));
|
|
163
|
-
}
|
|
164
|
-
} catch (error) {
|
|
165
|
-
// As with reportGraphQLError above, if the error is a GraphQLError, report
|
|
166
|
-
// it as an ExecutionResult; otherwise treat it as a system-class error and
|
|
167
|
-
// re-throw it.
|
|
168
|
-
return error instanceof GraphQLError ? Promise.resolve({
|
|
169
|
-
errors: [error]
|
|
170
|
-
}) : Promise.reject(error);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Returns true if the provided object implements the AsyncIterator protocol via
|
|
175
|
-
* either implementing a `Symbol.asyncIterator` or `"@@asyncIterator"` method.
|
|
176
|
-
*/
|
|
177
|
-
|
|
178
|
-
function isAsyncIterable(maybeAsyncIterable) {
|
|
179
|
-
if (maybeAsyncIterable == null || _typeof(maybeAsyncIterable) !== 'object') {
|
|
180
|
-
return false;
|
|
181
|
-
}
|
|
166
|
+
}
|
|
182
167
|
|
|
183
|
-
|
|
168
|
+
return eventStream;
|
|
169
|
+
}, function (error) {
|
|
170
|
+
throw locatedError(error, fieldNodes, pathToArray(path));
|
|
171
|
+
});
|
|
184
172
|
}
|
package/type/definition.d.ts
CHANGED
|
@@ -183,6 +183,7 @@ interface _GraphQLList<T extends GraphQLType> {
|
|
|
183
183
|
new (type: T): GraphQLList<T>;
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
186
187
|
export const GraphQLList: _GraphQLList<GraphQLType>;
|
|
187
188
|
|
|
188
189
|
/**
|
|
@@ -217,6 +218,7 @@ interface _GraphQLNonNull<T extends GraphQLNullableType> {
|
|
|
217
218
|
new (type: T): GraphQLNonNull<T>;
|
|
218
219
|
}
|
|
219
220
|
|
|
221
|
+
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
220
222
|
export const GraphQLNonNull: _GraphQLNonNull<GraphQLNullableType>;
|
|
221
223
|
|
|
222
224
|
export type GraphQLWrappingType = GraphQLList<any> | GraphQLNonNull<any>;
|
|
@@ -368,7 +370,7 @@ export interface GraphQLScalarTypeConfig<TInternal, TExternal> {
|
|
|
368
370
|
* We've provided these template arguments because this is an open type and
|
|
369
371
|
* you may find them useful.
|
|
370
372
|
*/
|
|
371
|
-
export interface GraphQLObjectTypeExtensions<
|
|
373
|
+
export interface GraphQLObjectTypeExtensions<_TSource = any, _TContext = any> {
|
|
372
374
|
[attributeName: string]: any;
|
|
373
375
|
}
|
|
374
376
|
|
|
@@ -499,9 +501,9 @@ export interface GraphQLResolveInfo {
|
|
|
499
501
|
* you may find them useful.
|
|
500
502
|
*/
|
|
501
503
|
export interface GraphQLFieldExtensions<
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
504
|
+
_TSource,
|
|
505
|
+
_TContext,
|
|
506
|
+
_TArgs = { [argName: string]: any }
|
|
505
507
|
> {
|
|
506
508
|
[attributeName: string]: any;
|
|
507
509
|
}
|
|
@@ -544,6 +546,7 @@ export interface GraphQLArgumentConfig {
|
|
|
544
546
|
description?: Maybe<string>;
|
|
545
547
|
type: GraphQLInputType;
|
|
546
548
|
defaultValue?: any;
|
|
549
|
+
deprecationReason?: Maybe<string>;
|
|
547
550
|
extensions?: Maybe<Readonly<GraphQLArgumentExtensions>>;
|
|
548
551
|
astNode?: Maybe<InputValueDefinitionNode>;
|
|
549
552
|
}
|
|
@@ -563,10 +566,12 @@ export interface GraphQLField<
|
|
|
563
566
|
args: Array<GraphQLArgument>;
|
|
564
567
|
resolve?: GraphQLFieldResolver<TSource, TContext, TArgs>;
|
|
565
568
|
subscribe?: GraphQLFieldResolver<TSource, TContext, TArgs>;
|
|
566
|
-
isDeprecated: boolean;
|
|
567
569
|
deprecationReason: Maybe<string>;
|
|
568
570
|
extensions: Maybe<Readonly<GraphQLFieldExtensions<TSource, TContext, TArgs>>>;
|
|
569
571
|
astNode?: Maybe<FieldDefinitionNode>;
|
|
572
|
+
|
|
573
|
+
// @deprecated and will be removed in v16
|
|
574
|
+
isDeprecated: boolean;
|
|
570
575
|
}
|
|
571
576
|
|
|
572
577
|
export interface GraphQLArgument {
|
|
@@ -574,6 +579,7 @@ export interface GraphQLArgument {
|
|
|
574
579
|
description: Maybe<string>;
|
|
575
580
|
type: GraphQLInputType;
|
|
576
581
|
defaultValue: any;
|
|
582
|
+
deprecationReason: Maybe<string>;
|
|
577
583
|
extensions: Maybe<Readonly<GraphQLArgumentExtensions>>;
|
|
578
584
|
astNode: Maybe<InputValueDefinitionNode>;
|
|
579
585
|
}
|
|
@@ -827,10 +833,12 @@ export interface GraphQLEnumValue {
|
|
|
827
833
|
name: string;
|
|
828
834
|
description: Maybe<string>;
|
|
829
835
|
value: any;
|
|
830
|
-
isDeprecated: boolean;
|
|
831
836
|
deprecationReason: Maybe<string>;
|
|
832
837
|
extensions: Maybe<Readonly<GraphQLEnumValueExtensions>>;
|
|
833
838
|
astNode?: Maybe<EnumValueDefinitionNode>;
|
|
839
|
+
|
|
840
|
+
// @deprecated and will be removed in v16
|
|
841
|
+
isDeprecated: boolean;
|
|
834
842
|
}
|
|
835
843
|
|
|
836
844
|
/**
|
|
@@ -913,6 +921,7 @@ export interface GraphQLInputFieldConfig {
|
|
|
913
921
|
description?: Maybe<string>;
|
|
914
922
|
type: GraphQLInputType;
|
|
915
923
|
defaultValue?: any;
|
|
924
|
+
deprecationReason?: Maybe<string>;
|
|
916
925
|
extensions?: Maybe<Readonly<GraphQLInputFieldExtensions>>;
|
|
917
926
|
astNode?: Maybe<InputValueDefinitionNode>;
|
|
918
927
|
}
|
|
@@ -926,6 +935,7 @@ export interface GraphQLInputField {
|
|
|
926
935
|
description?: Maybe<string>;
|
|
927
936
|
type: GraphQLInputType;
|
|
928
937
|
defaultValue?: any;
|
|
938
|
+
deprecationReason: Maybe<string>;
|
|
929
939
|
extensions: Maybe<Readonly<GraphQLInputFieldExtensions>>;
|
|
930
940
|
astNode?: Maybe<InputValueDefinitionNode>;
|
|
931
941
|
}
|
package/type/definition.js
CHANGED
|
@@ -46,41 +46,41 @@ exports.isRequiredArgument = isRequiredArgument;
|
|
|
46
46
|
exports.isRequiredInputField = isRequiredInputField;
|
|
47
47
|
exports.GraphQLInputObjectType = exports.GraphQLEnumType = exports.GraphQLUnionType = exports.GraphQLInterfaceType = exports.GraphQLObjectType = exports.GraphQLScalarType = void 0;
|
|
48
48
|
|
|
49
|
-
var _objectEntries = _interopRequireDefault(require("../polyfills/objectEntries"));
|
|
49
|
+
var _objectEntries = _interopRequireDefault(require("../polyfills/objectEntries.js"));
|
|
50
50
|
|
|
51
|
-
var _symbols = require("../polyfills/symbols");
|
|
51
|
+
var _symbols = require("../polyfills/symbols.js");
|
|
52
52
|
|
|
53
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
53
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
54
54
|
|
|
55
|
-
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
|
|
55
|
+
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap.js"));
|
|
56
56
|
|
|
57
|
-
var _mapValue = _interopRequireDefault(require("../jsutils/mapValue"));
|
|
57
|
+
var _mapValue = _interopRequireDefault(require("../jsutils/mapValue.js"));
|
|
58
58
|
|
|
59
|
-
var _toObjMap = _interopRequireDefault(require("../jsutils/toObjMap"));
|
|
59
|
+
var _toObjMap = _interopRequireDefault(require("../jsutils/toObjMap.js"));
|
|
60
60
|
|
|
61
|
-
var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
|
|
61
|
+
var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
|
|
62
62
|
|
|
63
|
-
var _keyValMap = _interopRequireDefault(require("../jsutils/keyValMap"));
|
|
63
|
+
var _keyValMap = _interopRequireDefault(require("../jsutils/keyValMap.js"));
|
|
64
64
|
|
|
65
|
-
var _instanceOf = _interopRequireDefault(require("../jsutils/instanceOf"));
|
|
65
|
+
var _instanceOf = _interopRequireDefault(require("../jsutils/instanceOf.js"));
|
|
66
66
|
|
|
67
|
-
var _didYouMean = _interopRequireDefault(require("../jsutils/didYouMean"));
|
|
67
|
+
var _didYouMean = _interopRequireDefault(require("../jsutils/didYouMean.js"));
|
|
68
68
|
|
|
69
|
-
var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
|
|
69
|
+
var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
|
|
70
70
|
|
|
71
|
-
var _identityFunc = _interopRequireDefault(require("../jsutils/identityFunc"));
|
|
71
|
+
var _identityFunc = _interopRequireDefault(require("../jsutils/identityFunc.js"));
|
|
72
72
|
|
|
73
|
-
var _defineInspect = _interopRequireDefault(require("../jsutils/defineInspect"));
|
|
73
|
+
var _defineInspect = _interopRequireDefault(require("../jsutils/defineInspect.js"));
|
|
74
74
|
|
|
75
|
-
var _suggestionList = _interopRequireDefault(require("../jsutils/suggestionList"));
|
|
75
|
+
var _suggestionList = _interopRequireDefault(require("../jsutils/suggestionList.js"));
|
|
76
76
|
|
|
77
|
-
var _GraphQLError = require("../error/GraphQLError");
|
|
77
|
+
var _GraphQLError = require("../error/GraphQLError.js");
|
|
78
78
|
|
|
79
|
-
var _kinds = require("../language/kinds");
|
|
79
|
+
var _kinds = require("../language/kinds.js");
|
|
80
80
|
|
|
81
|
-
var _printer = require("../language/printer");
|
|
81
|
+
var _printer = require("../language/printer.js");
|
|
82
82
|
|
|
83
|
-
var _valueFromASTUntyped = require("../utilities/valueFromASTUntyped");
|
|
83
|
+
var _valueFromASTUntyped = require("../utilities/valueFromASTUntyped.js");
|
|
84
84
|
|
|
85
85
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
86
86
|
|
|
@@ -299,8 +299,8 @@ function assertAbstractType(type) {
|
|
|
299
299
|
* const PersonType = new GraphQLObjectType({
|
|
300
300
|
* name: 'Person',
|
|
301
301
|
* fields: () => ({
|
|
302
|
-
* parents: { type: GraphQLList(PersonType) },
|
|
303
|
-
* children: { type: GraphQLList(PersonType) },
|
|
302
|
+
* parents: { type: new GraphQLList(PersonType) },
|
|
303
|
+
* children: { type: new GraphQLList(PersonType) },
|
|
304
304
|
* })
|
|
305
305
|
* })
|
|
306
306
|
*
|
|
@@ -318,6 +318,7 @@ declare class GraphQLList<+T: GraphQLType> {
|
|
|
318
318
|
|
|
319
319
|
|
|
320
320
|
function GraphQLList(ofType) {
|
|
321
|
+
// istanbul ignore else (to be removed in v16.0.0)
|
|
321
322
|
if (this instanceof GraphQLList) {
|
|
322
323
|
this.ofType = assertType(ofType);
|
|
323
324
|
} else {
|
|
@@ -355,7 +356,7 @@ Object.defineProperty(GraphQLList.prototype, _symbols.SYMBOL_TO_STRING_TAG, {
|
|
|
355
356
|
* const RowType = new GraphQLObjectType({
|
|
356
357
|
* name: 'Row',
|
|
357
358
|
* fields: () => ({
|
|
358
|
-
* id: { type: GraphQLNonNull(GraphQLString) },
|
|
359
|
+
* id: { type: new GraphQLNonNull(GraphQLString) },
|
|
359
360
|
* })
|
|
360
361
|
* })
|
|
361
362
|
*
|
|
@@ -373,6 +374,7 @@ declare class GraphQLNonNull<+T: GraphQLNullableType> {
|
|
|
373
374
|
*/
|
|
374
375
|
|
|
375
376
|
function GraphQLNonNull(ofType) {
|
|
377
|
+
// istanbul ignore else (to be removed in v16.0.0)
|
|
376
378
|
if (this instanceof GraphQLNonNull) {
|
|
377
379
|
this.ofType = assertNullableType(ofType);
|
|
378
380
|
} else {
|
|
@@ -474,7 +476,7 @@ function getNamedType(type) {
|
|
|
474
476
|
|
|
475
477
|
|
|
476
478
|
function resolveThunk(thunk) {
|
|
477
|
-
// $FlowFixMe
|
|
479
|
+
// $FlowFixMe[incompatible-use]
|
|
478
480
|
return typeof thunk === 'function' ? thunk() : thunk;
|
|
479
481
|
}
|
|
480
482
|
|
|
@@ -517,8 +519,8 @@ var GraphQLScalarType = /*#__PURE__*/function () {
|
|
|
517
519
|
this.specifiedByUrl = config.specifiedByUrl;
|
|
518
520
|
this.serialize = (_config$serialize = config.serialize) !== null && _config$serialize !== void 0 ? _config$serialize : _identityFunc.default;
|
|
519
521
|
this.parseValue = parseValue;
|
|
520
|
-
this.parseLiteral = (_config$parseLiteral = config.parseLiteral) !== null && _config$parseLiteral !== void 0 ? _config$parseLiteral : function (node) {
|
|
521
|
-
return parseValue((0, _valueFromASTUntyped.valueFromASTUntyped)(node));
|
|
522
|
+
this.parseLiteral = (_config$parseLiteral = config.parseLiteral) !== null && _config$parseLiteral !== void 0 ? _config$parseLiteral : function (node, variables) {
|
|
523
|
+
return parseValue((0, _valueFromASTUntyped.valueFromASTUntyped)(node, variables));
|
|
522
524
|
};
|
|
523
525
|
this.extensions = config.extensions && (0, _toObjMap.default)(config.extensions);
|
|
524
526
|
this.astNode = config.astNode;
|
|
@@ -556,7 +558,7 @@ var GraphQLScalarType = /*#__PURE__*/function () {
|
|
|
556
558
|
|
|
557
559
|
_proto.toJSON = function toJSON() {
|
|
558
560
|
return this.toString();
|
|
559
|
-
} // $FlowFixMe Flow doesn't support computed properties yet
|
|
561
|
+
} // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
560
562
|
;
|
|
561
563
|
|
|
562
564
|
_createClass(GraphQLScalarType, [{
|
|
@@ -661,7 +663,7 @@ var GraphQLObjectType = /*#__PURE__*/function () {
|
|
|
661
663
|
|
|
662
664
|
_proto2.toJSON = function toJSON() {
|
|
663
665
|
return this.toString();
|
|
664
|
-
} // $FlowFixMe Flow doesn't support computed properties yet
|
|
666
|
+
} // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
665
667
|
;
|
|
666
668
|
|
|
667
669
|
_createClass(GraphQLObjectType, [{
|
|
@@ -705,6 +707,7 @@ function defineFieldMap(config) {
|
|
|
705
707
|
description: argConfig.description,
|
|
706
708
|
type: argConfig.type,
|
|
707
709
|
defaultValue: argConfig.defaultValue,
|
|
710
|
+
deprecationReason: argConfig.deprecationReason,
|
|
708
711
|
extensions: argConfig.extensions && (0, _toObjMap.default)(argConfig.extensions),
|
|
709
712
|
astNode: argConfig.astNode
|
|
710
713
|
};
|
|
@@ -755,6 +758,7 @@ function argsToArgsConfig(args) {
|
|
|
755
758
|
description: arg.description,
|
|
756
759
|
type: arg.type,
|
|
757
760
|
defaultValue: arg.defaultValue,
|
|
761
|
+
deprecationReason: arg.deprecationReason,
|
|
758
762
|
extensions: arg.extensions,
|
|
759
763
|
astNode: arg.astNode
|
|
760
764
|
};
|
|
@@ -836,7 +840,7 @@ var GraphQLInterfaceType = /*#__PURE__*/function () {
|
|
|
836
840
|
|
|
837
841
|
_proto3.toJSON = function toJSON() {
|
|
838
842
|
return this.toString();
|
|
839
|
-
} // $FlowFixMe Flow doesn't support computed properties yet
|
|
843
|
+
} // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
840
844
|
;
|
|
841
845
|
|
|
842
846
|
_createClass(GraphQLInterfaceType, [{
|
|
@@ -919,7 +923,7 @@ var GraphQLUnionType = /*#__PURE__*/function () {
|
|
|
919
923
|
|
|
920
924
|
_proto4.toJSON = function toJSON() {
|
|
921
925
|
return this.toString();
|
|
922
|
-
} // $FlowFixMe Flow doesn't support computed properties yet
|
|
926
|
+
} // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
923
927
|
;
|
|
924
928
|
|
|
925
929
|
_createClass(GraphQLUnionType, [{
|
|
@@ -1069,7 +1073,7 @@ var GraphQLEnumType
|
|
|
1069
1073
|
|
|
1070
1074
|
_proto5.toJSON = function toJSON() {
|
|
1071
1075
|
return this.toString();
|
|
1072
|
-
} // $FlowFixMe Flow doesn't support computed properties yet
|
|
1076
|
+
} // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
1073
1077
|
;
|
|
1074
1078
|
|
|
1075
1079
|
_createClass(GraphQLEnumType, [{
|
|
@@ -1126,8 +1130,8 @@ function defineEnumValues(typeName, valueMap) {
|
|
|
1126
1130
|
* const GeoPoint = new GraphQLInputObjectType({
|
|
1127
1131
|
* name: 'GeoPoint',
|
|
1128
1132
|
* fields: {
|
|
1129
|
-
* lat: { type: GraphQLNonNull(GraphQLFloat) },
|
|
1130
|
-
* lon: { type: GraphQLNonNull(GraphQLFloat) },
|
|
1133
|
+
* lat: { type: new GraphQLNonNull(GraphQLFloat) },
|
|
1134
|
+
* lon: { type: new GraphQLNonNull(GraphQLFloat) },
|
|
1131
1135
|
* alt: { type: GraphQLFloat, defaultValue: 0 },
|
|
1132
1136
|
* }
|
|
1133
1137
|
* });
|
|
@@ -1182,7 +1186,7 @@ var GraphQLInputObjectType = /*#__PURE__*/function () {
|
|
|
1182
1186
|
|
|
1183
1187
|
_proto6.toJSON = function toJSON() {
|
|
1184
1188
|
return this.toString();
|
|
1185
|
-
} // $FlowFixMe Flow doesn't support computed properties yet
|
|
1189
|
+
} // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
|
|
1186
1190
|
;
|
|
1187
1191
|
|
|
1188
1192
|
_createClass(GraphQLInputObjectType, [{
|
|
@@ -1209,6 +1213,7 @@ function defineInputFieldMap(config) {
|
|
|
1209
1213
|
description: fieldConfig.description,
|
|
1210
1214
|
type: fieldConfig.type,
|
|
1211
1215
|
defaultValue: fieldConfig.defaultValue,
|
|
1216
|
+
deprecationReason: fieldConfig.deprecationReason,
|
|
1212
1217
|
extensions: fieldConfig.extensions && (0, _toObjMap.default)(fieldConfig.extensions),
|
|
1213
1218
|
astNode: fieldConfig.astNode
|
|
1214
1219
|
};
|