graphql 14.1.1 → 14.3.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 +1 -1
- package/error/GraphQLError.js +12 -10
- package/error/GraphQLError.js.flow +11 -6
- package/error/GraphQLError.mjs +20 -3
- package/error/formatError.js +2 -2
- package/error/formatError.js.flow +3 -3
- package/error/formatError.mjs +2 -2
- package/error/index.js +1 -1
- package/error/index.js.flow +5 -2
- package/error/index.mjs +2 -2
- package/error/locatedError.js +2 -2
- package/error/locatedError.js.flow +2 -2
- package/error/locatedError.mjs +2 -2
- package/error/printError.js +2 -2
- package/error/printError.js.flow +4 -5
- package/error/printError.mjs +2 -2
- package/error/syntaxError.js +2 -2
- package/error/syntaxError.js.flow +2 -2
- package/error/syntaxError.mjs +2 -2
- package/execution/execute.js +52 -37
- package/execution/execute.js.flow +66 -51
- package/execution/execute.mjs +50 -38
- package/execution/index.js +7 -1
- package/execution/index.js.flow +9 -4
- package/execution/index.mjs +3 -3
- package/execution/values.js +11 -11
- package/execution/values.js.flow +23 -19
- package/execution/values.mjs +11 -11
- package/graphql.js +13 -9
- package/graphql.js.flow +28 -10
- package/graphql.mjs +10 -9
- package/index.js +83 -53
- package/index.js.flow +60 -47
- package/index.mjs +26 -23
- package/jsutils/ObjMap.js +1 -1
- package/jsutils/ObjMap.js.flow +1 -1
- package/jsutils/ObjMap.mjs +1 -0
- package/jsutils/PromiseOrValue.js +1 -0
- package/jsutils/{MaybePromise.js.flow → PromiseOrValue.js.flow} +2 -2
- package/jsutils/PromiseOrValue.mjs +1 -0
- package/jsutils/dedent.js +2 -2
- package/jsutils/dedent.js.flow +1 -1
- package/jsutils/dedent.mjs +2 -2
- package/jsutils/defineToJSON.js +2 -2
- package/jsutils/defineToJSON.js.flow +1 -1
- package/jsutils/defineToJSON.mjs +2 -2
- package/jsutils/defineToStringTag.js +2 -2
- package/jsutils/defineToStringTag.js.flow +1 -1
- package/jsutils/defineToStringTag.mjs +2 -2
- package/jsutils/inspect.js +94 -19
- package/jsutils/inspect.js.flow +98 -20
- package/jsutils/inspect.mjs +94 -20
- package/jsutils/instanceOf.js +2 -2
- package/jsutils/instanceOf.js.flow +1 -1
- package/jsutils/instanceOf.mjs +2 -2
- package/jsutils/invariant.js +5 -3
- package/jsutils/invariant.js.flow +3 -2
- package/jsutils/invariant.mjs +5 -3
- package/jsutils/isInvalid.js +2 -2
- package/jsutils/isInvalid.js.flow +1 -1
- package/jsutils/isInvalid.mjs +2 -2
- package/jsutils/isNullish.js +2 -2
- package/jsutils/isNullish.js.flow +1 -1
- package/jsutils/isNullish.mjs +2 -2
- package/jsutils/isPromise.js +2 -2
- package/jsutils/isPromise.js.flow +1 -1
- package/jsutils/isPromise.mjs +2 -2
- package/jsutils/keyMap.js +4 -3
- package/jsutils/keyMap.js.flow +6 -6
- package/jsutils/keyMap.mjs +4 -3
- package/jsutils/keyValMap.js +4 -3
- package/jsutils/keyValMap.js.flow +6 -6
- package/jsutils/keyValMap.mjs +4 -3
- package/jsutils/mapValue.js +2 -2
- package/jsutils/mapValue.js.flow +2 -2
- package/jsutils/mapValue.mjs +2 -2
- package/jsutils/memoize3.js +3 -3
- package/jsutils/memoize3.js.flow +2 -2
- package/jsutils/memoize3.mjs +3 -3
- package/jsutils/nodejsCustomInspectSymbol.js +2 -2
- package/jsutils/nodejsCustomInspectSymbol.js.flow +1 -1
- package/jsutils/nodejsCustomInspectSymbol.mjs +2 -2
- package/jsutils/orList.js +2 -2
- package/jsutils/orList.js.flow +1 -1
- package/jsutils/orList.mjs +2 -2
- package/jsutils/promiseForObject.js +2 -2
- package/jsutils/promiseForObject.js.flow +2 -2
- package/jsutils/promiseForObject.mjs +2 -2
- package/jsutils/promiseReduce.js +2 -2
- package/jsutils/promiseReduce.js.flow +5 -5
- package/jsutils/promiseReduce.mjs +2 -2
- package/jsutils/quotedOrList.js +2 -2
- package/jsutils/quotedOrList.js.flow +1 -1
- package/jsutils/quotedOrList.mjs +2 -2
- package/jsutils/suggestionList.js +2 -2
- package/jsutils/suggestionList.js.flow +1 -1
- package/jsutils/suggestionList.mjs +2 -2
- package/language/ast.js +1 -1
- package/language/ast.js.flow +3 -3
- package/language/ast.mjs +1 -0
- package/language/blockString.js +114 -0
- package/language/blockString.js.flow +102 -0
- package/language/blockString.mjs +104 -0
- package/language/directiveLocation.js +2 -2
- package/language/directiveLocation.js.flow +1 -1
- package/language/directiveLocation.mjs +2 -2
- package/language/index.js +9 -9
- package/language/index.js.flow +10 -5
- package/language/index.mjs +3 -3
- package/language/kinds.js +2 -2
- package/language/kinds.js.flow +1 -1
- package/language/kinds.mjs +2 -2
- package/language/lexer.js +52 -44
- package/language/lexer.js.flow +65 -54
- package/language/lexer.mjs +49 -43
- package/language/location.js +2 -2
- package/language/location.js.flow +2 -2
- package/language/location.mjs +2 -2
- package/language/parser.js +75 -67
- package/language/parser.js.flow +138 -127
- package/language/parser.mjs +76 -68
- package/language/predicates.js +2 -2
- package/language/predicates.js.flow +2 -2
- package/language/predicates.mjs +2 -2
- package/language/printer.js +6 -14
- package/language/printer.js.flow +8 -17
- package/language/printer.mjs +5 -14
- package/language/source.js +2 -2
- package/language/source.js.flow +1 -1
- package/language/source.mjs +2 -2
- package/language/visitor.js +4 -6
- package/language/visitor.js.flow +3 -3
- package/language/visitor.mjs +4 -6
- package/package.json +1 -1
- package/polyfills/find.js +2 -2
- package/polyfills/find.js.flow +1 -1
- package/polyfills/find.mjs +2 -2
- package/polyfills/flatMap.js +38 -0
- package/polyfills/flatMap.js.flow +34 -0
- package/polyfills/flatMap.mjs +30 -0
- package/polyfills/isFinite.js +2 -2
- package/polyfills/isFinite.js.flow +1 -1
- package/polyfills/isFinite.mjs +2 -2
- package/polyfills/isInteger.js +2 -2
- package/polyfills/isInteger.js.flow +1 -1
- package/polyfills/isInteger.mjs +2 -2
- package/polyfills/objectEntries.js +2 -2
- package/polyfills/objectEntries.js.flow +2 -2
- package/polyfills/objectEntries.mjs +2 -2
- package/polyfills/objectValues.js +2 -2
- package/polyfills/objectValues.js.flow +2 -2
- package/polyfills/objectValues.mjs +2 -2
- package/subscription/asyncIteratorReject.js +1 -1
- package/subscription/asyncIteratorReject.js.flow +1 -1
- package/subscription/asyncIteratorReject.mjs +2 -2
- package/subscription/index.js +1 -1
- package/subscription/index.js.flow +1 -1
- package/subscription/index.mjs +2 -2
- package/subscription/mapAsyncIterator.js +1 -1
- package/subscription/mapAsyncIterator.js.flow +5 -5
- package/subscription/mapAsyncIterator.mjs +2 -2
- package/subscription/subscribe.js +2 -2
- package/subscription/subscribe.js.flow +6 -6
- package/subscription/subscribe.mjs +2 -2
- package/type/definition.js +138 -22
- package/type/definition.js.flow +184 -36
- package/type/definition.mjs +136 -23
- package/type/directives.js +14 -3
- package/type/directives.js.flow +24 -11
- package/type/directives.mjs +16 -5
- package/type/index.js +7 -7
- package/type/index.js.flow +8 -4
- package/type/index.mjs +10 -6
- package/type/introspection.js +14 -9
- package/type/introspection.js.flow +12 -18
- package/type/introspection.mjs +14 -9
- package/type/scalars.js +5 -4
- package/type/scalars.js.flow +4 -10
- package/type/scalars.mjs +7 -6
- package/type/schema.js +55 -3
- package/type/schema.js.flow +73 -17
- package/type/schema.mjs +56 -4
- package/type/validate.js +19 -47
- package/type/validate.js.flow +17 -29
- package/type/validate.mjs +18 -47
- package/utilities/TypeInfo.js +93 -73
- package/utilities/TypeInfo.js.flow +30 -23
- package/utilities/TypeInfo.mjs +93 -73
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +2 -2
- package/utilities/assertValidName.mjs +2 -2
- package/utilities/astFromValue.js +5 -4
- package/utilities/astFromValue.js.flow +8 -7
- package/utilities/astFromValue.mjs +7 -6
- package/utilities/buildASTSchema.js +63 -62
- package/utilities/buildASTSchema.js.flow +92 -108
- package/utilities/buildASTSchema.mjs +61 -62
- package/utilities/buildClientSchema.js +38 -45
- package/utilities/buildClientSchema.js.flow +66 -79
- package/utilities/buildClientSchema.mjs +37 -44
- package/utilities/coerceValue.js +6 -7
- package/utilities/coerceValue.js.flow +5 -4
- package/utilities/coerceValue.mjs +7 -8
- package/utilities/concatAST.js +9 -13
- package/utilities/concatAST.js.flow +4 -10
- package/utilities/concatAST.mjs +6 -13
- package/utilities/extendSchema.js +219 -511
- package/utilities/extendSchema.js.flow +195 -304
- package/utilities/extendSchema.mjs +218 -512
- package/utilities/findBreakingChanges.js +54 -95
- package/utilities/findBreakingChanges.js.flow +49 -47
- package/utilities/findBreakingChanges.mjs +80 -95
- package/utilities/findDeprecatedUsages.js +4 -4
- package/utilities/findDeprecatedUsages.js.flow +5 -5
- package/utilities/findDeprecatedUsages.mjs +4 -4
- package/utilities/getOperationAST.js +2 -2
- package/utilities/getOperationAST.js.flow +5 -2
- package/utilities/getOperationAST.mjs +2 -2
- package/utilities/getOperationRootType.js +24 -24
- package/utilities/getOperationRootType.js.flow +40 -35
- package/utilities/getOperationRootType.mjs +24 -24
- package/utilities/index.js +9 -1
- package/utilities/index.js.flow +13 -6
- package/utilities/index.mjs +13 -8
- package/utilities/introspectionFromSchema.js +6 -4
- package/utilities/introspectionFromSchema.js.flow +8 -7
- package/utilities/introspectionFromSchema.mjs +6 -5
- package/utilities/introspectionQuery.js +2 -2
- package/utilities/introspectionQuery.js.flow +2 -2
- package/utilities/introspectionQuery.mjs +2 -2
- package/utilities/isValidJSValue.js +4 -2
- package/utilities/isValidJSValue.js.flow +3 -2
- package/utilities/isValidJSValue.mjs +4 -2
- package/utilities/isValidLiteralValue.js +2 -2
- package/utilities/isValidLiteralValue.js.flow +4 -4
- package/utilities/isValidLiteralValue.mjs +2 -2
- package/utilities/lexicographicSortSchema.js +84 -123
- package/utilities/lexicographicSortSchema.js.flow +68 -96
- package/utilities/lexicographicSortSchema.mjs +84 -123
- package/utilities/schemaPrinter.js +47 -73
- package/utilities/schemaPrinter.js.flow +69 -120
- package/utilities/schemaPrinter.mjs +45 -72
- package/utilities/separateOperations.js +8 -12
- package/utilities/separateOperations.js.flow +6 -3
- package/utilities/separateOperations.mjs +8 -12
- package/utilities/stripIgnoredCharacters.js +140 -0
- package/utilities/stripIgnoredCharacters.js.flow +129 -0
- package/utilities/stripIgnoredCharacters.mjs +127 -0
- package/utilities/typeComparators.js +2 -2
- package/utilities/typeComparators.js.flow +4 -3
- package/utilities/typeComparators.mjs +2 -2
- package/utilities/typeFromAST.js +9 -4
- package/utilities/typeFromAST.js.flow +15 -9
- package/utilities/typeFromAST.mjs +6 -4
- package/utilities/valueFromAST.js +7 -4
- package/utilities/valueFromAST.js.flow +7 -5
- package/utilities/valueFromAST.mjs +6 -4
- package/utilities/valueFromASTUntyped.js +11 -6
- package/utilities/valueFromASTUntyped.js.flow +9 -5
- package/utilities/valueFromASTUntyped.mjs +10 -6
- package/validation/ValidationContext.js +1 -1
- package/validation/ValidationContext.js.flow +19 -20
- package/validation/ValidationContext.mjs +2 -2
- package/validation/index.js +1 -1
- package/validation/index.js.flow +2 -1
- package/validation/index.mjs +3 -2
- package/validation/rules/ExecutableDefinitions.js +3 -3
- package/validation/rules/ExecutableDefinitions.js.flow +4 -4
- package/validation/rules/ExecutableDefinitions.mjs +3 -3
- package/validation/rules/FieldsOnCorrectType.js +3 -3
- package/validation/rules/FieldsOnCorrectType.js.flow +7 -7
- package/validation/rules/FieldsOnCorrectType.mjs +3 -3
- package/validation/rules/FragmentsOnCompositeTypes.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypes.js.flow +5 -5
- package/validation/rules/FragmentsOnCompositeTypes.mjs +4 -4
- package/validation/rules/KnownArgumentNames.js +1 -1
- package/validation/rules/KnownArgumentNames.js.flow +5 -5
- package/validation/rules/KnownArgumentNames.mjs +2 -2
- package/validation/rules/KnownDirectives.js +8 -6
- package/validation/rules/KnownDirectives.js.flow +11 -9
- package/validation/rules/KnownDirectives.mjs +8 -6
- package/validation/rules/KnownFragmentNames.js +3 -3
- package/validation/rules/KnownFragmentNames.js.flow +4 -4
- package/validation/rules/KnownFragmentNames.mjs +3 -3
- package/validation/rules/KnownTypeNames.js +2 -2
- package/validation/rules/KnownTypeNames.js.flow +6 -6
- package/validation/rules/KnownTypeNames.mjs +2 -2
- package/validation/rules/LoneAnonymousOperation.js +3 -3
- package/validation/rules/LoneAnonymousOperation.js.flow +4 -4
- package/validation/rules/LoneAnonymousOperation.mjs +3 -3
- package/validation/rules/LoneSchemaDefinition.js +2 -2
- package/validation/rules/LoneSchemaDefinition.js.flow +3 -3
- package/validation/rules/LoneSchemaDefinition.mjs +2 -2
- package/validation/rules/NoFragmentCycles.js +2 -2
- package/validation/rules/NoFragmentCycles.js.flow +4 -4
- package/validation/rules/NoFragmentCycles.mjs +2 -2
- package/validation/rules/NoUndefinedVariables.js +2 -2
- package/validation/rules/NoUndefinedVariables.js.flow +3 -3
- package/validation/rules/NoUndefinedVariables.mjs +2 -2
- package/validation/rules/NoUnusedFragments.js +7 -7
- package/validation/rules/NoUnusedFragments.js.flow +4 -4
- package/validation/rules/NoUnusedFragments.mjs +7 -7
- package/validation/rules/NoUnusedVariables.js +5 -5
- package/validation/rules/NoUnusedVariables.js.flow +6 -5
- package/validation/rules/NoUnusedVariables.mjs +5 -5
- package/validation/rules/OverlappingFieldsCanBeMerged.js +26 -23
- package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +17 -17
- package/validation/rules/OverlappingFieldsCanBeMerged.mjs +26 -23
- package/validation/rules/PossibleFragmentSpreads.js +4 -4
- package/validation/rules/PossibleFragmentSpreads.js.flow +5 -5
- package/validation/rules/PossibleFragmentSpreads.mjs +4 -4
- package/validation/rules/PossibleTypeExtensions.js +3 -3
- package/validation/rules/PossibleTypeExtensions.js.flow +5 -5
- package/validation/rules/PossibleTypeExtensions.mjs +4 -4
- package/validation/rules/ProvidedRequiredArguments.js +6 -8
- package/validation/rules/ProvidedRequiredArguments.js.flow +8 -8
- package/validation/rules/ProvidedRequiredArguments.mjs +7 -9
- package/validation/rules/ScalarLeafs.js +4 -4
- package/validation/rules/ScalarLeafs.js.flow +6 -6
- package/validation/rules/ScalarLeafs.mjs +4 -4
- package/validation/rules/SingleFieldSubscriptions.js +2 -2
- package/validation/rules/SingleFieldSubscriptions.js.flow +4 -4
- package/validation/rules/SingleFieldSubscriptions.mjs +2 -2
- package/validation/rules/UniqueArgumentNames.js +2 -2
- package/validation/rules/UniqueArgumentNames.js.flow +3 -3
- package/validation/rules/UniqueArgumentNames.mjs +2 -2
- package/validation/rules/UniqueDirectiveNames.js +2 -2
- package/validation/rules/UniqueDirectiveNames.js.flow +3 -3
- package/validation/rules/UniqueDirectiveNames.mjs +2 -2
- package/validation/rules/UniqueDirectivesPerLocation.js +3 -2
- package/validation/rules/UniqueDirectivesPerLocation.js.flow +4 -4
- package/validation/rules/UniqueDirectivesPerLocation.mjs +3 -2
- package/validation/rules/UniqueEnumValueNames.js +4 -8
- package/validation/rules/UniqueEnumValueNames.js.flow +6 -8
- package/validation/rules/UniqueEnumValueNames.mjs +4 -8
- package/validation/rules/UniqueFieldDefinitionNames.js +4 -8
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +6 -8
- package/validation/rules/UniqueFieldDefinitionNames.mjs +4 -8
- package/validation/rules/UniqueFragmentNames.js +2 -2
- package/validation/rules/UniqueFragmentNames.js.flow +3 -3
- package/validation/rules/UniqueFragmentNames.mjs +2 -2
- package/validation/rules/UniqueInputFieldNames.js +2 -4
- package/validation/rules/UniqueInputFieldNames.js.flow +3 -4
- package/validation/rules/UniqueInputFieldNames.mjs +2 -4
- package/validation/rules/UniqueOperationNames.js +2 -2
- package/validation/rules/UniqueOperationNames.js.flow +3 -3
- package/validation/rules/UniqueOperationNames.mjs +2 -2
- package/validation/rules/UniqueOperationTypes.js +2 -2
- package/validation/rules/UniqueOperationTypes.js.flow +3 -3
- package/validation/rules/UniqueOperationTypes.mjs +2 -2
- package/validation/rules/UniqueTypeNames.js +2 -2
- package/validation/rules/UniqueTypeNames.js.flow +4 -4
- package/validation/rules/UniqueTypeNames.mjs +2 -2
- package/validation/rules/UniqueVariableNames.js +2 -2
- package/validation/rules/UniqueVariableNames.js.flow +4 -4
- package/validation/rules/UniqueVariableNames.mjs +2 -2
- package/validation/rules/ValuesOfCorrectType.js +2 -2
- package/validation/rules/ValuesOfCorrectType.js.flow +5 -5
- package/validation/rules/ValuesOfCorrectType.mjs +2 -2
- package/validation/rules/VariablesAreInputTypes.js +3 -3
- package/validation/rules/VariablesAreInputTypes.js.flow +5 -5
- package/validation/rules/VariablesAreInputTypes.mjs +3 -3
- package/validation/rules/VariablesInAllowedPosition.js +3 -3
- package/validation/rules/VariablesInAllowedPosition.js.flow +7 -8
- package/validation/rules/VariablesInAllowedPosition.mjs +3 -3
- package/validation/specifiedRules.js +2 -2
- package/validation/specifiedRules.js.flow +13 -6
- package/validation/specifiedRules.mjs +7 -7
- package/validation/validate.js +2 -2
- package/validation/validate.js.flow +10 -6
- package/validation/validate.mjs +2 -2
- package/jsutils/MaybePromise.js +0 -1
- package/jsutils/MaybePromise.mjs +0 -0
- package/language/blockStringValue.js +0 -73
- package/language/blockStringValue.js.flow +0 -64
- package/language/blockStringValue.mjs +0 -66
package/utilities/TypeInfo.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -22,7 +22,9 @@ export var TypeInfo =
|
|
|
22
22
|
function () {
|
|
23
23
|
function TypeInfo(schema, // NOTE: this experimental optional second parameter is only needed in order
|
|
24
24
|
// to support non-spec-compliant codebases. You should never need to use it.
|
|
25
|
+
// It may disappear in the future.
|
|
25
26
|
getFieldDefFn, // Initial type may be provided in rare cases to facilitate traversals
|
|
27
|
+
// beginning somewhere other than documents.
|
|
26
28
|
initialType) {
|
|
27
29
|
this._schema = schema;
|
|
28
30
|
this._typeStack = [];
|
|
@@ -108,128 +110,146 @@ function () {
|
|
|
108
110
|
|
|
109
111
|
switch (node.kind) {
|
|
110
112
|
case Kind.SELECTION_SET:
|
|
111
|
-
|
|
113
|
+
{
|
|
114
|
+
var namedType = getNamedType(this.getType());
|
|
112
115
|
|
|
113
|
-
|
|
116
|
+
this._parentTypeStack.push(isCompositeType(namedType) ? namedType : undefined);
|
|
114
117
|
|
|
115
|
-
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
116
120
|
|
|
117
121
|
case Kind.FIELD:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
{
|
|
123
|
+
var parentType = this.getParentType();
|
|
124
|
+
var fieldDef;
|
|
125
|
+
var fieldType;
|
|
121
126
|
|
|
122
|
-
|
|
123
|
-
|
|
127
|
+
if (parentType) {
|
|
128
|
+
fieldDef = this._getFieldDef(schema, parentType, node);
|
|
124
129
|
|
|
125
|
-
|
|
126
|
-
|
|
130
|
+
if (fieldDef) {
|
|
131
|
+
fieldType = fieldDef.type;
|
|
132
|
+
}
|
|
127
133
|
}
|
|
128
|
-
}
|
|
129
134
|
|
|
130
|
-
|
|
135
|
+
this._fieldDefStack.push(fieldDef);
|
|
131
136
|
|
|
132
|
-
|
|
137
|
+
this._typeStack.push(isOutputType(fieldType) ? fieldType : undefined);
|
|
133
138
|
|
|
134
|
-
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
135
141
|
|
|
136
142
|
case Kind.DIRECTIVE:
|
|
137
143
|
this._directive = schema.getDirective(node.name.value);
|
|
138
144
|
break;
|
|
139
145
|
|
|
140
146
|
case Kind.OPERATION_DEFINITION:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
{
|
|
148
|
+
var type;
|
|
149
|
+
|
|
150
|
+
if (node.operation === 'query') {
|
|
151
|
+
type = schema.getQueryType();
|
|
152
|
+
} else if (node.operation === 'mutation') {
|
|
153
|
+
type = schema.getMutationType();
|
|
154
|
+
} else if (node.operation === 'subscription') {
|
|
155
|
+
type = schema.getSubscriptionType();
|
|
156
|
+
}
|
|
150
157
|
|
|
151
|
-
|
|
158
|
+
this._typeStack.push(isObjectType(type) ? type : undefined);
|
|
152
159
|
|
|
153
|
-
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
154
162
|
|
|
155
163
|
case Kind.INLINE_FRAGMENT:
|
|
156
164
|
case Kind.FRAGMENT_DEFINITION:
|
|
157
|
-
|
|
158
|
-
|
|
165
|
+
{
|
|
166
|
+
var typeConditionAST = node.typeCondition;
|
|
167
|
+
var outputType = typeConditionAST ? typeFromAST(schema, typeConditionAST) : getNamedType(this.getType());
|
|
159
168
|
|
|
160
|
-
|
|
169
|
+
this._typeStack.push(isOutputType(outputType) ? outputType : undefined);
|
|
161
170
|
|
|
162
|
-
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
163
173
|
|
|
164
174
|
case Kind.VARIABLE_DEFINITION:
|
|
165
|
-
|
|
175
|
+
{
|
|
176
|
+
var inputType = typeFromAST(schema, node.type);
|
|
166
177
|
|
|
167
|
-
|
|
178
|
+
this._inputTypeStack.push(isInputType(inputType) ? inputType : undefined);
|
|
168
179
|
|
|
169
|
-
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
170
182
|
|
|
171
183
|
case Kind.ARGUMENT:
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
184
|
+
{
|
|
185
|
+
var argDef;
|
|
186
|
+
var argType;
|
|
187
|
+
var fieldOrDirective = this.getDirective() || this.getFieldDef();
|
|
188
|
+
|
|
189
|
+
if (fieldOrDirective) {
|
|
190
|
+
argDef = find(fieldOrDirective.args, function (arg) {
|
|
191
|
+
return arg.name === node.name.value;
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
if (argDef) {
|
|
195
|
+
argType = argDef.type;
|
|
196
|
+
}
|
|
183
197
|
}
|
|
184
|
-
}
|
|
185
198
|
|
|
186
|
-
|
|
199
|
+
this._argument = argDef;
|
|
187
200
|
|
|
188
|
-
|
|
201
|
+
this._defaultValueStack.push(argDef ? argDef.defaultValue : undefined);
|
|
189
202
|
|
|
190
|
-
|
|
203
|
+
this._inputTypeStack.push(isInputType(argType) ? argType : undefined);
|
|
191
204
|
|
|
192
|
-
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
193
207
|
|
|
194
208
|
case Kind.LIST:
|
|
195
|
-
|
|
196
|
-
|
|
209
|
+
{
|
|
210
|
+
var listType = getNullableType(this.getInputType());
|
|
211
|
+
var itemType = isListType(listType) ? listType.ofType : listType; // List positions never have a default value.
|
|
197
212
|
|
|
198
|
-
|
|
213
|
+
this._defaultValueStack.push(undefined);
|
|
199
214
|
|
|
200
|
-
|
|
215
|
+
this._inputTypeStack.push(isInputType(itemType) ? itemType : undefined);
|
|
201
216
|
|
|
202
|
-
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
203
219
|
|
|
204
220
|
case Kind.OBJECT_FIELD:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
221
|
+
{
|
|
222
|
+
var objectType = getNamedType(this.getInputType());
|
|
223
|
+
var inputFieldType;
|
|
224
|
+
var inputField;
|
|
208
225
|
|
|
209
|
-
|
|
210
|
-
|
|
226
|
+
if (isInputObjectType(objectType)) {
|
|
227
|
+
inputField = objectType.getFields()[node.name.value];
|
|
211
228
|
|
|
212
|
-
|
|
213
|
-
|
|
229
|
+
if (inputField) {
|
|
230
|
+
inputFieldType = inputField.type;
|
|
231
|
+
}
|
|
214
232
|
}
|
|
215
|
-
}
|
|
216
233
|
|
|
217
|
-
|
|
234
|
+
this._defaultValueStack.push(inputField ? inputField.defaultValue : undefined);
|
|
218
235
|
|
|
219
|
-
|
|
236
|
+
this._inputTypeStack.push(isInputType(inputFieldType) ? inputFieldType : undefined);
|
|
220
237
|
|
|
221
|
-
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
222
240
|
|
|
223
241
|
case Kind.ENUM:
|
|
224
|
-
|
|
225
|
-
|
|
242
|
+
{
|
|
243
|
+
var enumType = getNamedType(this.getInputType());
|
|
244
|
+
var enumValue;
|
|
226
245
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
246
|
+
if (isEnumType(enumType)) {
|
|
247
|
+
enumValue = enumType.getValue(node.value);
|
|
248
|
+
}
|
|
230
249
|
|
|
231
|
-
|
|
232
|
-
|
|
250
|
+
this._enumValue = enumValue;
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
233
253
|
}
|
|
234
254
|
};
|
|
235
255
|
|
|
@@ -312,4 +332,4 @@ function getFieldDef(schema, parentType, fieldNode) {
|
|
|
312
332
|
if (isObjectType(parentType) || isInterfaceType(parentType)) {
|
|
313
333
|
return parentType.getFields()[name];
|
|
314
334
|
}
|
|
315
|
-
}
|
|
335
|
+
}
|
|
@@ -13,7 +13,7 @@ var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* Copyright (c)
|
|
16
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
17
17
|
*
|
|
18
18
|
* This source code is licensed under the MIT license found in the
|
|
19
19
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -49,4 +49,4 @@ function isValidNameError(name, node) {
|
|
|
49
49
|
if (!NAME_RX.test(name)) {
|
|
50
50
|
return new _GraphQLError.GraphQLError("Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \"".concat(name, "\" does not."), node);
|
|
51
51
|
}
|
|
52
|
-
}
|
|
52
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { GraphQLError } from '../error/GraphQLError';
|
|
11
|
-
import type
|
|
11
|
+
import { type ASTNode } from '../language/ast';
|
|
12
12
|
import invariant from '../jsutils/invariant';
|
|
13
13
|
|
|
14
14
|
const NAME_RX = /^[_a-zA-Z][_a-zA-Z0-9]*$/;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -36,4 +36,4 @@ export function isValidNameError(name, node) {
|
|
|
36
36
|
if (!NAME_RX.test(name)) {
|
|
37
37
|
return new GraphQLError("Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \"".concat(name, "\" does not."), node);
|
|
38
38
|
}
|
|
39
|
-
}
|
|
39
|
+
}
|
|
@@ -138,7 +138,7 @@ function astFromValue(value, type) {
|
|
|
138
138
|
};
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
if ((0, _definition.
|
|
141
|
+
if ((0, _definition.isLeafType)(type)) {
|
|
142
142
|
// Since value is an internally represented value, it must be serialized
|
|
143
143
|
// to an externally represented value before converting into an AST.
|
|
144
144
|
var serialized = type.serialize(value);
|
|
@@ -191,11 +191,12 @@ function astFromValue(value, type) {
|
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
throw new TypeError("Cannot convert value to AST: ".concat((0, _inspect.default)(serialized)));
|
|
194
|
-
}
|
|
194
|
+
} // Not reachable. All possible input types have been considered.
|
|
195
|
+
|
|
195
196
|
/* istanbul ignore next */
|
|
196
197
|
|
|
197
198
|
|
|
198
|
-
throw new Error("
|
|
199
|
+
throw new Error("Unexpected input type: \"".concat((0, _inspect.default)(type), "\"."));
|
|
199
200
|
}
|
|
200
201
|
/**
|
|
201
202
|
* IntValue:
|
|
@@ -204,4 +205,4 @@ function astFromValue(value, type) {
|
|
|
204
205
|
*/
|
|
205
206
|
|
|
206
207
|
|
|
207
|
-
var integerStringRegExp = /^-?(0|[1-9][0-9]*)$/;
|
|
208
|
+
var integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -13,11 +13,11 @@ import objectValues from '../polyfills/objectValues';
|
|
|
13
13
|
import inspect from '../jsutils/inspect';
|
|
14
14
|
import isNullish from '../jsutils/isNullish';
|
|
15
15
|
import isInvalid from '../jsutils/isInvalid';
|
|
16
|
-
import type
|
|
16
|
+
import { type ValueNode } from '../language/ast';
|
|
17
17
|
import { Kind } from '../language/kinds';
|
|
18
|
-
import type { GraphQLInputType } from '../type/definition';
|
|
19
18
|
import {
|
|
20
|
-
|
|
19
|
+
type GraphQLInputType,
|
|
20
|
+
isLeafType,
|
|
21
21
|
isEnumType,
|
|
22
22
|
isInputObjectType,
|
|
23
23
|
isListType,
|
|
@@ -99,7 +99,7 @@ export function astFromValue(value: mixed, type: GraphQLInputType): ?ValueNode {
|
|
|
99
99
|
return { kind: Kind.OBJECT, fields: fieldNodes };
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
if (
|
|
102
|
+
if (isLeafType(type)) {
|
|
103
103
|
// Since value is an internally represented value, it must be serialized
|
|
104
104
|
// to an externally represented value before converting into an AST.
|
|
105
105
|
const serialized = type.serialize(value);
|
|
@@ -140,8 +140,9 @@ export function astFromValue(value: mixed, type: GraphQLInputType): ?ValueNode {
|
|
|
140
140
|
throw new TypeError(`Cannot convert value to AST: ${inspect(serialized)}`);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
// Not reachable. All possible input types have been considered.
|
|
143
144
|
/* istanbul ignore next */
|
|
144
|
-
throw new Error(`
|
|
145
|
+
throw new Error(`Unexpected input type: "${inspect((type: empty))}".`);
|
|
145
146
|
}
|
|
146
147
|
|
|
147
148
|
/**
|
|
@@ -149,4 +150,4 @@ export function astFromValue(value: mixed, type: GraphQLInputType): ?ValueNode {
|
|
|
149
150
|
* - NegativeSign? 0
|
|
150
151
|
* - NegativeSign? NonZeroDigit ( Digit+ )?
|
|
151
152
|
*/
|
|
152
|
-
const integerStringRegExp = /^-?(0|[1-9][0-9]*)$/;
|
|
153
|
+
const integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function _typeof(obj) { 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
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Copyright (c)
|
|
4
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
5
5
|
*
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -14,7 +14,7 @@ import inspect from '../jsutils/inspect';
|
|
|
14
14
|
import isNullish from '../jsutils/isNullish';
|
|
15
15
|
import isInvalid from '../jsutils/isInvalid';
|
|
16
16
|
import { Kind } from '../language/kinds';
|
|
17
|
-
import {
|
|
17
|
+
import { isLeafType, isEnumType, isInputObjectType, isListType, isNonNullType } from '../type/definition';
|
|
18
18
|
import { GraphQLID } from '../type/scalars';
|
|
19
19
|
/**
|
|
20
20
|
* Produces a GraphQL Value AST given a JavaScript value.
|
|
@@ -130,7 +130,7 @@ export function astFromValue(value, type) {
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
if (
|
|
133
|
+
if (isLeafType(type)) {
|
|
134
134
|
// Since value is an internally represented value, it must be serialized
|
|
135
135
|
// to an externally represented value before converting into an AST.
|
|
136
136
|
var serialized = type.serialize(value);
|
|
@@ -183,11 +183,12 @@ export function astFromValue(value, type) {
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
throw new TypeError("Cannot convert value to AST: ".concat(inspect(serialized)));
|
|
186
|
-
}
|
|
186
|
+
} // Not reachable. All possible input types have been considered.
|
|
187
|
+
|
|
187
188
|
/* istanbul ignore next */
|
|
188
189
|
|
|
189
190
|
|
|
190
|
-
throw new Error("
|
|
191
|
+
throw new Error("Unexpected input type: \"".concat(inspect(type), "\"."));
|
|
191
192
|
}
|
|
192
193
|
/**
|
|
193
194
|
* IntValue:
|
|
@@ -195,4 +196,4 @@ export function astFromValue(value, type) {
|
|
|
195
196
|
* - NegativeSign? NonZeroDigit ( Digit+ )?
|
|
196
197
|
*/
|
|
197
198
|
|
|
198
|
-
var integerStringRegExp = /^-?(0|[1-9][0-9]*)$/;
|
|
199
|
+
var integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;
|