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
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.stripIgnoredCharacters = stripIgnoredCharacters;
|
|
7
|
+
|
|
8
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
9
|
+
|
|
10
|
+
var _source = require("../language/source");
|
|
11
|
+
|
|
12
|
+
var _lexer = require("../language/lexer");
|
|
13
|
+
|
|
14
|
+
var _blockString = require("../language/blockString");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
20
|
+
*
|
|
21
|
+
* This source code is licensed under the MIT license found in the
|
|
22
|
+
* LICENSE file in the root directory of this source tree.
|
|
23
|
+
*
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Strips characters that are not significant to the validity or execution
|
|
29
|
+
* of a GraphQL document:
|
|
30
|
+
* - UnicodeBOM
|
|
31
|
+
* - WhiteSpace
|
|
32
|
+
* - LineTerminator
|
|
33
|
+
* - Comment
|
|
34
|
+
* - Comma
|
|
35
|
+
* - BlockString indentation
|
|
36
|
+
*
|
|
37
|
+
* Note: It is required to have a delimiter character between neighboring
|
|
38
|
+
* non-punctuator tokens and this function always uses single space as delimiter.
|
|
39
|
+
*
|
|
40
|
+
* It is guaranteed that both input and output documents if parsed would result
|
|
41
|
+
* in the exact same AST except for nodes location.
|
|
42
|
+
*
|
|
43
|
+
* Warning: It is guaranteed that this function will always produce stable results.
|
|
44
|
+
* However, it's not guaranteed that it will stay the same between different
|
|
45
|
+
* releases due to bugfixes or changes in the GraphQL specification.
|
|
46
|
+
*
|
|
47
|
+
* Query example:
|
|
48
|
+
*
|
|
49
|
+
* query SomeQuery($foo: String!, $bar: String) {
|
|
50
|
+
* someField(foo: $foo, bar: $bar) {
|
|
51
|
+
* a
|
|
52
|
+
* b {
|
|
53
|
+
* c
|
|
54
|
+
* d
|
|
55
|
+
* }
|
|
56
|
+
* }
|
|
57
|
+
* }
|
|
58
|
+
*
|
|
59
|
+
* Becomes:
|
|
60
|
+
*
|
|
61
|
+
* query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
|
|
62
|
+
*
|
|
63
|
+
* SDL example:
|
|
64
|
+
*
|
|
65
|
+
* """
|
|
66
|
+
* Type description
|
|
67
|
+
* """
|
|
68
|
+
* type Foo {
|
|
69
|
+
* """
|
|
70
|
+
* Field description
|
|
71
|
+
* """
|
|
72
|
+
* bar: String
|
|
73
|
+
* }
|
|
74
|
+
*
|
|
75
|
+
* Becomes:
|
|
76
|
+
*
|
|
77
|
+
* """Type description""" type Foo{"""Field description""" bar:String}
|
|
78
|
+
*/
|
|
79
|
+
function stripIgnoredCharacters(source) {
|
|
80
|
+
var sourceObj = typeof source === 'string' ? new _source.Source(source) : source;
|
|
81
|
+
|
|
82
|
+
if (!(sourceObj instanceof _source.Source)) {
|
|
83
|
+
throw new TypeError("Must provide string or Source. Received: ".concat((0, _inspect.default)(sourceObj)));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
var body = sourceObj.body;
|
|
87
|
+
var lexer = (0, _lexer.createLexer)(sourceObj);
|
|
88
|
+
var strippedBody = '';
|
|
89
|
+
var wasLastAddedTokenNonPunctuator = false;
|
|
90
|
+
|
|
91
|
+
while (lexer.advance().kind !== _lexer.TokenKind.EOF) {
|
|
92
|
+
var currentToken = lexer.token;
|
|
93
|
+
var tokenKind = currentToken.kind;
|
|
94
|
+
/**
|
|
95
|
+
* Every two non-punctuator tokens should have space between them.
|
|
96
|
+
* Also prevent case of non-punctuator token following by spread resulting
|
|
97
|
+
* in invalid token (e.g. `1...` is invalid Float token).
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
var isNonPunctuator = !(0, _lexer.isPunctuatorToken)(currentToken);
|
|
101
|
+
|
|
102
|
+
if (wasLastAddedTokenNonPunctuator) {
|
|
103
|
+
if (isNonPunctuator || currentToken.kind === _lexer.TokenKind.SPREAD) {
|
|
104
|
+
strippedBody += ' ';
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var tokenBody = body.slice(currentToken.start, currentToken.end);
|
|
109
|
+
|
|
110
|
+
if (tokenKind === _lexer.TokenKind.BLOCK_STRING) {
|
|
111
|
+
strippedBody += dedentBlockString(tokenBody);
|
|
112
|
+
} else {
|
|
113
|
+
strippedBody += tokenBody;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
wasLastAddedTokenNonPunctuator = isNonPunctuator;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return strippedBody;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function dedentBlockString(blockStr) {
|
|
123
|
+
// skip leading and trailing triple quotations
|
|
124
|
+
var rawStr = blockStr.slice(3, -3);
|
|
125
|
+
var body = (0, _blockString.dedentBlockStringValue)(rawStr);
|
|
126
|
+
var lines = body.split(/\r\n|[\n\r]/g);
|
|
127
|
+
|
|
128
|
+
if ((0, _blockString.getBlockStringIndentation)(lines) > 0) {
|
|
129
|
+
body = '\n' + body;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
var lastChar = body[body.length - 1];
|
|
133
|
+
var hasTrailingQuote = lastChar === '"' && body.slice(-4) !== '\\"""';
|
|
134
|
+
|
|
135
|
+
if (hasTrailingQuote || lastChar === '\\') {
|
|
136
|
+
body += '\n';
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return '"""' + body + '"""';
|
|
140
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import inspect from '../jsutils/inspect';
|
|
11
|
+
import { Source } from '../language/source';
|
|
12
|
+
import { createLexer, TokenKind, isPunctuatorToken } from '../language/lexer';
|
|
13
|
+
import {
|
|
14
|
+
dedentBlockStringValue,
|
|
15
|
+
getBlockStringIndentation,
|
|
16
|
+
} from '../language/blockString';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Strips characters that are not significant to the validity or execution
|
|
20
|
+
* of a GraphQL document:
|
|
21
|
+
* - UnicodeBOM
|
|
22
|
+
* - WhiteSpace
|
|
23
|
+
* - LineTerminator
|
|
24
|
+
* - Comment
|
|
25
|
+
* - Comma
|
|
26
|
+
* - BlockString indentation
|
|
27
|
+
*
|
|
28
|
+
* Note: It is required to have a delimiter character between neighboring
|
|
29
|
+
* non-punctuator tokens and this function always uses single space as delimiter.
|
|
30
|
+
*
|
|
31
|
+
* It is guaranteed that both input and output documents if parsed would result
|
|
32
|
+
* in the exact same AST except for nodes location.
|
|
33
|
+
*
|
|
34
|
+
* Warning: It is guaranteed that this function will always produce stable results.
|
|
35
|
+
* However, it's not guaranteed that it will stay the same between different
|
|
36
|
+
* releases due to bugfixes or changes in the GraphQL specification.
|
|
37
|
+
*
|
|
38
|
+
* Query example:
|
|
39
|
+
*
|
|
40
|
+
* query SomeQuery($foo: String!, $bar: String) {
|
|
41
|
+
* someField(foo: $foo, bar: $bar) {
|
|
42
|
+
* a
|
|
43
|
+
* b {
|
|
44
|
+
* c
|
|
45
|
+
* d
|
|
46
|
+
* }
|
|
47
|
+
* }
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* Becomes:
|
|
51
|
+
*
|
|
52
|
+
* query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
|
|
53
|
+
*
|
|
54
|
+
* SDL example:
|
|
55
|
+
*
|
|
56
|
+
* """
|
|
57
|
+
* Type description
|
|
58
|
+
* """
|
|
59
|
+
* type Foo {
|
|
60
|
+
* """
|
|
61
|
+
* Field description
|
|
62
|
+
* """
|
|
63
|
+
* bar: String
|
|
64
|
+
* }
|
|
65
|
+
*
|
|
66
|
+
* Becomes:
|
|
67
|
+
*
|
|
68
|
+
* """Type description""" type Foo{"""Field description""" bar:String}
|
|
69
|
+
*/
|
|
70
|
+
export function stripIgnoredCharacters(source: string | Source): string {
|
|
71
|
+
const sourceObj = typeof source === 'string' ? new Source(source) : source;
|
|
72
|
+
if (!(sourceObj instanceof Source)) {
|
|
73
|
+
throw new TypeError(
|
|
74
|
+
`Must provide string or Source. Received: ${inspect(sourceObj)}`,
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const body = sourceObj.body;
|
|
79
|
+
const lexer = createLexer(sourceObj);
|
|
80
|
+
let strippedBody = '';
|
|
81
|
+
|
|
82
|
+
let wasLastAddedTokenNonPunctuator = false;
|
|
83
|
+
while (lexer.advance().kind !== TokenKind.EOF) {
|
|
84
|
+
const currentToken = lexer.token;
|
|
85
|
+
const tokenKind = currentToken.kind;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Every two non-punctuator tokens should have space between them.
|
|
89
|
+
* Also prevent case of non-punctuator token following by spread resulting
|
|
90
|
+
* in invalid token (e.g. `1...` is invalid Float token).
|
|
91
|
+
*/
|
|
92
|
+
const isNonPunctuator = !isPunctuatorToken(currentToken);
|
|
93
|
+
if (wasLastAddedTokenNonPunctuator) {
|
|
94
|
+
if (isNonPunctuator || currentToken.kind === TokenKind.SPREAD) {
|
|
95
|
+
strippedBody += ' ';
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const tokenBody = body.slice(currentToken.start, currentToken.end);
|
|
100
|
+
if (tokenKind === TokenKind.BLOCK_STRING) {
|
|
101
|
+
strippedBody += dedentBlockString(tokenBody);
|
|
102
|
+
} else {
|
|
103
|
+
strippedBody += tokenBody;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
wasLastAddedTokenNonPunctuator = isNonPunctuator;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return strippedBody;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function dedentBlockString(blockStr) {
|
|
113
|
+
// skip leading and trailing triple quotations
|
|
114
|
+
const rawStr = blockStr.slice(3, -3);
|
|
115
|
+
let body = dedentBlockStringValue(rawStr);
|
|
116
|
+
|
|
117
|
+
const lines = body.split(/\r\n|[\n\r]/g);
|
|
118
|
+
if (getBlockStringIndentation(lines) > 0) {
|
|
119
|
+
body = '\n' + body;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const lastChar = body[body.length - 1];
|
|
123
|
+
const hasTrailingQuote = lastChar === '"' && body.slice(-4) !== '\\"""';
|
|
124
|
+
if (hasTrailingQuote || lastChar === '\\') {
|
|
125
|
+
body += '\n';
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return '"""' + body + '"""';
|
|
129
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
import inspect from '../jsutils/inspect';
|
|
10
|
+
import { Source } from '../language/source';
|
|
11
|
+
import { createLexer, TokenKind, isPunctuatorToken } from '../language/lexer';
|
|
12
|
+
import { dedentBlockStringValue, getBlockStringIndentation } from '../language/blockString';
|
|
13
|
+
/**
|
|
14
|
+
* Strips characters that are not significant to the validity or execution
|
|
15
|
+
* of a GraphQL document:
|
|
16
|
+
* - UnicodeBOM
|
|
17
|
+
* - WhiteSpace
|
|
18
|
+
* - LineTerminator
|
|
19
|
+
* - Comment
|
|
20
|
+
* - Comma
|
|
21
|
+
* - BlockString indentation
|
|
22
|
+
*
|
|
23
|
+
* Note: It is required to have a delimiter character between neighboring
|
|
24
|
+
* non-punctuator tokens and this function always uses single space as delimiter.
|
|
25
|
+
*
|
|
26
|
+
* It is guaranteed that both input and output documents if parsed would result
|
|
27
|
+
* in the exact same AST except for nodes location.
|
|
28
|
+
*
|
|
29
|
+
* Warning: It is guaranteed that this function will always produce stable results.
|
|
30
|
+
* However, it's not guaranteed that it will stay the same between different
|
|
31
|
+
* releases due to bugfixes or changes in the GraphQL specification.
|
|
32
|
+
*
|
|
33
|
+
* Query example:
|
|
34
|
+
*
|
|
35
|
+
* query SomeQuery($foo: String!, $bar: String) {
|
|
36
|
+
* someField(foo: $foo, bar: $bar) {
|
|
37
|
+
* a
|
|
38
|
+
* b {
|
|
39
|
+
* c
|
|
40
|
+
* d
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*
|
|
45
|
+
* Becomes:
|
|
46
|
+
*
|
|
47
|
+
* query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}
|
|
48
|
+
*
|
|
49
|
+
* SDL example:
|
|
50
|
+
*
|
|
51
|
+
* """
|
|
52
|
+
* Type description
|
|
53
|
+
* """
|
|
54
|
+
* type Foo {
|
|
55
|
+
* """
|
|
56
|
+
* Field description
|
|
57
|
+
* """
|
|
58
|
+
* bar: String
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* Becomes:
|
|
62
|
+
*
|
|
63
|
+
* """Type description""" type Foo{"""Field description""" bar:String}
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
export function stripIgnoredCharacters(source) {
|
|
67
|
+
var sourceObj = typeof source === 'string' ? new Source(source) : source;
|
|
68
|
+
|
|
69
|
+
if (!(sourceObj instanceof Source)) {
|
|
70
|
+
throw new TypeError("Must provide string or Source. Received: ".concat(inspect(sourceObj)));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
var body = sourceObj.body;
|
|
74
|
+
var lexer = createLexer(sourceObj);
|
|
75
|
+
var strippedBody = '';
|
|
76
|
+
var wasLastAddedTokenNonPunctuator = false;
|
|
77
|
+
|
|
78
|
+
while (lexer.advance().kind !== TokenKind.EOF) {
|
|
79
|
+
var currentToken = lexer.token;
|
|
80
|
+
var tokenKind = currentToken.kind;
|
|
81
|
+
/**
|
|
82
|
+
* Every two non-punctuator tokens should have space between them.
|
|
83
|
+
* Also prevent case of non-punctuator token following by spread resulting
|
|
84
|
+
* in invalid token (e.g. `1...` is invalid Float token).
|
|
85
|
+
*/
|
|
86
|
+
|
|
87
|
+
var isNonPunctuator = !isPunctuatorToken(currentToken);
|
|
88
|
+
|
|
89
|
+
if (wasLastAddedTokenNonPunctuator) {
|
|
90
|
+
if (isNonPunctuator || currentToken.kind === TokenKind.SPREAD) {
|
|
91
|
+
strippedBody += ' ';
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
var tokenBody = body.slice(currentToken.start, currentToken.end);
|
|
96
|
+
|
|
97
|
+
if (tokenKind === TokenKind.BLOCK_STRING) {
|
|
98
|
+
strippedBody += dedentBlockString(tokenBody);
|
|
99
|
+
} else {
|
|
100
|
+
strippedBody += tokenBody;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
wasLastAddedTokenNonPunctuator = isNonPunctuator;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return strippedBody;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function dedentBlockString(blockStr) {
|
|
110
|
+
// skip leading and trailing triple quotations
|
|
111
|
+
var rawStr = blockStr.slice(3, -3);
|
|
112
|
+
var body = dedentBlockStringValue(rawStr);
|
|
113
|
+
var lines = body.split(/\r\n|[\n\r]/g);
|
|
114
|
+
|
|
115
|
+
if (getBlockStringIndentation(lines) > 0) {
|
|
116
|
+
body = '\n' + body;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
var lastChar = body[body.length - 1];
|
|
120
|
+
var hasTrailingQuote = lastChar === '"' && body.slice(-4) !== '\\"""';
|
|
121
|
+
|
|
122
|
+
if (hasTrailingQuote || lastChar === '\\') {
|
|
123
|
+
body += '\n';
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return '"""' + body + '"""';
|
|
127
|
+
}
|
|
@@ -10,7 +10,7 @@ exports.doTypesOverlap = doTypesOverlap;
|
|
|
10
10
|
var _definition = require("../type/definition");
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* Copyright (c)
|
|
13
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -126,4 +126,4 @@ function doTypesOverlap(schema, typeA, typeB) {
|
|
|
126
126
|
|
|
127
127
|
|
|
128
128
|
return false;
|
|
129
|
-
}
|
|
129
|
+
}
|
|
@@ -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,13 +8,14 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
|
+
type GraphQLType,
|
|
12
|
+
type GraphQLCompositeType,
|
|
11
13
|
isObjectType,
|
|
12
14
|
isListType,
|
|
13
15
|
isNonNullType,
|
|
14
16
|
isAbstractType,
|
|
15
17
|
} from '../type/definition';
|
|
16
|
-
import
|
|
17
|
-
import type { GraphQLSchema } from '../type/schema';
|
|
18
|
+
import { type GraphQLSchema } from '../type/schema';
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Provided two types, return true if the types are equal (invariant).
|
|
@@ -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.
|
|
@@ -114,4 +114,4 @@ export function doTypesOverlap(schema, typeA, typeB) {
|
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
return false;
|
|
117
|
-
}
|
|
117
|
+
}
|
package/utilities/typeFromAST.js
CHANGED
|
@@ -5,12 +5,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.typeFromAST = typeFromAST;
|
|
7
7
|
|
|
8
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
9
|
+
|
|
8
10
|
var _kinds = require("../language/kinds");
|
|
9
11
|
|
|
10
12
|
var _definition = require("../type/definition");
|
|
11
13
|
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
12
16
|
/**
|
|
13
|
-
* Copyright (c)
|
|
17
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
18
|
*
|
|
15
19
|
* This source code is licensed under the MIT license found in the
|
|
16
20
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -33,9 +37,10 @@ function typeFromAST(schema, typeNode) {
|
|
|
33
37
|
|
|
34
38
|
if (typeNode.kind === _kinds.Kind.NAMED_TYPE) {
|
|
35
39
|
return schema.getType(typeNode.name.value);
|
|
36
|
-
}
|
|
40
|
+
} // Not reachable. All possible type nodes have been considered.
|
|
41
|
+
|
|
37
42
|
/* istanbul ignore next */
|
|
38
43
|
|
|
39
44
|
|
|
40
|
-
throw new Error("Unexpected type
|
|
41
|
-
}
|
|
45
|
+
throw new Error("Unexpected type node: \"".concat((0, _inspect.default)(typeNode), "\"."));
|
|
46
|
+
}
|
|
@@ -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.
|
|
@@ -7,15 +7,19 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import inspect from '../jsutils/inspect';
|
|
10
11
|
import { Kind } from '../language/kinds';
|
|
11
|
-
import
|
|
12
|
-
NamedTypeNode,
|
|
13
|
-
ListTypeNode,
|
|
14
|
-
NonNullTypeNode,
|
|
12
|
+
import {
|
|
13
|
+
type NamedTypeNode,
|
|
14
|
+
type ListTypeNode,
|
|
15
|
+
type NonNullTypeNode,
|
|
15
16
|
} from '../language/ast';
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
import {
|
|
18
|
+
type GraphQLNamedType,
|
|
19
|
+
GraphQLList,
|
|
20
|
+
GraphQLNonNull,
|
|
21
|
+
} from '../type/definition';
|
|
22
|
+
import { type GraphQLSchema } from '../type/schema';
|
|
19
23
|
|
|
20
24
|
/**
|
|
21
25
|
* Given a Schema and an AST node describing a type, return a GraphQLType
|
|
@@ -51,6 +55,8 @@ export function typeFromAST(schema, typeNode) {
|
|
|
51
55
|
if (typeNode.kind === Kind.NAMED_TYPE) {
|
|
52
56
|
return schema.getType(typeNode.name.value);
|
|
53
57
|
}
|
|
58
|
+
|
|
59
|
+
// Not reachable. All possible type nodes have been considered.
|
|
54
60
|
/* istanbul ignore next */
|
|
55
|
-
throw new Error(`Unexpected type
|
|
61
|
+
throw new Error(`Unexpected type node: "${inspect((typeNode: empty))}".`);
|
|
56
62
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
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.
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
|
+
import inspect from '../jsutils/inspect';
|
|
9
10
|
import { Kind } from '../language/kinds';
|
|
10
11
|
import { GraphQLList, GraphQLNonNull } from '../type/definition';
|
|
11
12
|
export function typeFromAST(schema, typeNode) {
|
|
@@ -24,9 +25,10 @@ export function typeFromAST(schema, typeNode) {
|
|
|
24
25
|
|
|
25
26
|
if (typeNode.kind === Kind.NAMED_TYPE) {
|
|
26
27
|
return schema.getType(typeNode.name.value);
|
|
27
|
-
}
|
|
28
|
+
} // Not reachable. All possible type nodes have been considered.
|
|
29
|
+
|
|
28
30
|
/* istanbul ignore next */
|
|
29
31
|
|
|
30
32
|
|
|
31
|
-
throw new Error("Unexpected type
|
|
32
|
-
}
|
|
33
|
+
throw new Error("Unexpected type node: \"".concat(inspect(typeNode), "\"."));
|
|
34
|
+
}
|
|
@@ -7,6 +7,8 @@ exports.valueFromAST = valueFromAST;
|
|
|
7
7
|
|
|
8
8
|
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
|
|
9
9
|
|
|
10
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
11
|
+
|
|
10
12
|
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
|
|
11
13
|
|
|
12
14
|
var _isInvalid = _interopRequireDefault(require("../jsutils/isInvalid"));
|
|
@@ -18,7 +20,7 @@ var _definition = require("../type/definition");
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
20
22
|
/**
|
|
21
|
-
* Copyright (c)
|
|
23
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
24
|
*
|
|
23
25
|
* This source code is licensed under the MIT license found in the
|
|
24
26
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -193,15 +195,16 @@ function valueFromAST(valueNode, type, variables) {
|
|
|
193
195
|
}
|
|
194
196
|
|
|
195
197
|
return result;
|
|
196
|
-
}
|
|
198
|
+
} // Not reachable. All possible input types have been considered.
|
|
199
|
+
|
|
197
200
|
/* istanbul ignore next */
|
|
198
201
|
|
|
199
202
|
|
|
200
|
-
throw new Error("
|
|
203
|
+
throw new Error("Unexpected input type: \"".concat((0, _inspect.default)(type), "\"."));
|
|
201
204
|
} // Returns true if the provided valueNode is a variable which is not defined
|
|
202
205
|
// in the set of variables.
|
|
203
206
|
|
|
204
207
|
|
|
205
208
|
function isMissingVariable(valueNode, variables) {
|
|
206
209
|
return valueNode.kind === _kinds.Kind.VARIABLE && (!variables || (0, _isInvalid.default)(variables[valueNode.name.value]));
|
|
207
|
-
}
|
|
210
|
+
}
|
|
@@ -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,19 +8,20 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import objectValues from '../polyfills/objectValues';
|
|
11
|
+
import inspect from '../jsutils/inspect';
|
|
11
12
|
import keyMap from '../jsutils/keyMap';
|
|
12
13
|
import isInvalid from '../jsutils/isInvalid';
|
|
13
|
-
import type
|
|
14
|
+
import { type ObjMap } from '../jsutils/ObjMap';
|
|
14
15
|
import { Kind } from '../language/kinds';
|
|
15
16
|
import {
|
|
17
|
+
type GraphQLInputType,
|
|
16
18
|
isScalarType,
|
|
17
19
|
isEnumType,
|
|
18
20
|
isInputObjectType,
|
|
19
21
|
isListType,
|
|
20
22
|
isNonNullType,
|
|
21
23
|
} from '../type/definition';
|
|
22
|
-
import type
|
|
23
|
-
import type { ValueNode } from '../language/ast';
|
|
24
|
+
import { type ValueNode } from '../language/ast';
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* Produces a JavaScript value given a GraphQL Value AST.
|
|
@@ -165,8 +166,9 @@ export function valueFromAST(
|
|
|
165
166
|
return result;
|
|
166
167
|
}
|
|
167
168
|
|
|
169
|
+
// Not reachable. All possible input types have been considered.
|
|
168
170
|
/* istanbul ignore next */
|
|
169
|
-
throw new Error(`
|
|
171
|
+
throw new Error(`Unexpected input type: "${inspect((type: empty))}".`);
|
|
170
172
|
}
|
|
171
173
|
|
|
172
174
|
// Returns true if the provided valueNode is a variable which is not defined
|
|
@@ -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.
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
import objectValues from '../polyfills/objectValues';
|
|
10
|
+
import inspect from '../jsutils/inspect';
|
|
10
11
|
import keyMap from '../jsutils/keyMap';
|
|
11
12
|
import isInvalid from '../jsutils/isInvalid';
|
|
12
13
|
import { Kind } from '../language/kinds';
|
|
@@ -179,14 +180,15 @@ export function valueFromAST(valueNode, type, variables) {
|
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
return result;
|
|
182
|
-
}
|
|
183
|
+
} // Not reachable. All possible input types have been considered.
|
|
184
|
+
|
|
183
185
|
/* istanbul ignore next */
|
|
184
186
|
|
|
185
187
|
|
|
186
|
-
throw new Error("
|
|
188
|
+
throw new Error("Unexpected input type: \"".concat(inspect(type), "\"."));
|
|
187
189
|
} // Returns true if the provided valueNode is a variable which is not defined
|
|
188
190
|
// in the set of variables.
|
|
189
191
|
|
|
190
192
|
function isMissingVariable(valueNode, variables) {
|
|
191
193
|
return valueNode.kind === Kind.VARIABLE && (!variables || isInvalid(variables[valueNode.name.value]));
|
|
192
|
-
}
|
|
194
|
+
}
|