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
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.valueFromASTUntyped = valueFromASTUntyped;
|
|
7
7
|
|
|
8
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
9
|
+
|
|
8
10
|
var _keyValMap = _interopRequireDefault(require("../jsutils/keyValMap"));
|
|
9
11
|
|
|
10
12
|
var _isInvalid = _interopRequireDefault(require("../jsutils/isInvalid"));
|
|
@@ -14,7 +16,7 @@ var _kinds = require("../language/kinds");
|
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
|
|
16
18
|
/**
|
|
17
|
-
* Copyright (c)
|
|
19
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
18
20
|
*
|
|
19
21
|
* This source code is licensed under the MIT license found in the
|
|
20
22
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -67,11 +69,14 @@ function valueFromASTUntyped(valueNode, variables) {
|
|
|
67
69
|
});
|
|
68
70
|
|
|
69
71
|
case _kinds.Kind.VARIABLE:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
{
|
|
73
|
+
var variableName = valueNode.name.value;
|
|
74
|
+
return variables && !(0, _isInvalid.default)(variables[variableName]) ? variables[variableName] : undefined;
|
|
75
|
+
}
|
|
76
|
+
} // Not reachable. All possible value nodes have been considered.
|
|
77
|
+
|
|
73
78
|
/* istanbul ignore next */
|
|
74
79
|
|
|
75
80
|
|
|
76
|
-
throw new Error(
|
|
77
|
-
}
|
|
81
|
+
throw new Error("Unexpected value node: \"".concat((0, _inspect.default)(valueNode), "\"."));
|
|
82
|
+
}
|
|
@@ -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,11 +7,12 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import inspect from '../jsutils/inspect';
|
|
10
11
|
import keyValMap from '../jsutils/keyValMap';
|
|
11
12
|
import isInvalid from '../jsutils/isInvalid';
|
|
12
|
-
import type
|
|
13
|
+
import { type ObjMap } from '../jsutils/ObjMap';
|
|
13
14
|
import { Kind } from '../language/kinds';
|
|
14
|
-
import type
|
|
15
|
+
import { type ValueNode } from '../language/ast';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Produces a JavaScript value given a GraphQL Value AST.
|
|
@@ -52,12 +53,15 @@ export function valueFromASTUntyped(
|
|
|
52
53
|
field => field.name.value,
|
|
53
54
|
field => valueFromASTUntyped(field.value, variables),
|
|
54
55
|
);
|
|
55
|
-
case Kind.VARIABLE:
|
|
56
|
+
case Kind.VARIABLE: {
|
|
56
57
|
const variableName = valueNode.name.value;
|
|
57
58
|
return variables && !isInvalid(variables[variableName])
|
|
58
59
|
? variables[variableName]
|
|
59
60
|
: undefined;
|
|
61
|
+
}
|
|
60
62
|
}
|
|
63
|
+
|
|
64
|
+
// Not reachable. All possible value nodes have been considered.
|
|
61
65
|
/* istanbul ignore next */
|
|
62
|
-
throw new Error(
|
|
66
|
+
throw new Error(`Unexpected value node: "${inspect((valueNode: empty))}".`);
|
|
63
67
|
}
|
|
@@ -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 keyValMap from '../jsutils/keyValMap';
|
|
10
11
|
import isInvalid from '../jsutils/isInvalid';
|
|
11
12
|
import { Kind } from '../language/kinds';
|
|
@@ -55,11 +56,14 @@ export function valueFromASTUntyped(valueNode, variables) {
|
|
|
55
56
|
});
|
|
56
57
|
|
|
57
58
|
case Kind.VARIABLE:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
{
|
|
60
|
+
var variableName = valueNode.name.value;
|
|
61
|
+
return variables && !isInvalid(variables[variableName]) ? variables[variableName] : undefined;
|
|
62
|
+
}
|
|
63
|
+
} // Not reachable. All possible value nodes have been considered.
|
|
64
|
+
|
|
61
65
|
/* istanbul ignore next */
|
|
62
66
|
|
|
63
67
|
|
|
64
|
-
throw new Error(
|
|
65
|
-
}
|
|
68
|
+
throw new Error("Unexpected value node: \"".concat(inspect(valueNode), "\"."));
|
|
69
|
+
}
|
|
@@ -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,28 +7,27 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type
|
|
11
|
-
import type
|
|
12
|
-
import { visit, visitWithTypeInfo } from '../language/visitor';
|
|
10
|
+
import { type ObjMap } from '../jsutils/ObjMap';
|
|
11
|
+
import { type GraphQLError } from '../error';
|
|
12
|
+
import { type ASTVisitor, visit, visitWithTypeInfo } from '../language/visitor';
|
|
13
13
|
import { Kind } from '../language/kinds';
|
|
14
|
-
import
|
|
15
|
-
DocumentNode,
|
|
16
|
-
OperationDefinitionNode,
|
|
17
|
-
VariableNode,
|
|
18
|
-
SelectionSetNode,
|
|
19
|
-
FragmentSpreadNode,
|
|
20
|
-
FragmentDefinitionNode,
|
|
14
|
+
import {
|
|
15
|
+
type DocumentNode,
|
|
16
|
+
type OperationDefinitionNode,
|
|
17
|
+
type VariableNode,
|
|
18
|
+
type SelectionSetNode,
|
|
19
|
+
type FragmentSpreadNode,
|
|
20
|
+
type FragmentDefinitionNode,
|
|
21
21
|
} from '../language/ast';
|
|
22
|
-
import type
|
|
23
|
-
import
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
GraphQLArgument,
|
|
22
|
+
import { type GraphQLSchema } from '../type/schema';
|
|
23
|
+
import {
|
|
24
|
+
type GraphQLInputType,
|
|
25
|
+
type GraphQLOutputType,
|
|
26
|
+
type GraphQLCompositeType,
|
|
27
|
+
type GraphQLField,
|
|
28
|
+
type GraphQLArgument,
|
|
30
29
|
} from '../type/definition';
|
|
31
|
-
import type
|
|
30
|
+
import { type GraphQLDirective } from '../type/directives';
|
|
32
31
|
import { TypeInfo } from '../utilities/TypeInfo';
|
|
33
32
|
|
|
34
33
|
type NodeWithSelectionSet = OperationDefinitionNode | FragmentDefinitionNode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
|
|
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.
|
|
@@ -235,4 +235,4 @@ function (_ASTValidationContext2) {
|
|
|
235
235
|
};
|
|
236
236
|
|
|
237
237
|
return ValidationContext;
|
|
238
|
-
}(ASTValidationContext);
|
|
238
|
+
}(ASTValidationContext);
|
package/validation/index.js
CHANGED
|
@@ -226,4 +226,4 @@ var _ValuesOfCorrectType = require("./rules/ValuesOfCorrectType");
|
|
|
226
226
|
|
|
227
227
|
var _VariablesAreInputTypes = require("./rules/VariablesAreInputTypes");
|
|
228
228
|
|
|
229
|
-
var _VariablesInAllowedPosition = require("./rules/VariablesInAllowedPosition");
|
|
229
|
+
var _VariablesInAllowedPosition = require("./rules/VariablesInAllowedPosition");
|
package/validation/index.js.flow
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.
|
|
@@ -12,6 +12,7 @@ export { validate } from './validate';
|
|
|
12
12
|
export { ValidationContext } from './ValidationContext';
|
|
13
13
|
export type { ValidationRule } from './ValidationContext';
|
|
14
14
|
|
|
15
|
+
// All validation rules in the GraphQL Specification.
|
|
15
16
|
export { specifiedRules } from './specifiedRules';
|
|
16
17
|
|
|
17
18
|
// Spec Section: "Field Selections on Objects, Interfaces, and Unions Types"
|
package/validation/index.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.
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { validate } from './validate';
|
|
10
10
|
export { ValidationContext } from './ValidationContext';
|
|
11
|
+
// All validation rules in the GraphQL Specification.
|
|
11
12
|
export { specifiedRules } from './specifiedRules'; // Spec Section: "Field Selections on Objects, Interfaces, and Unions Types"
|
|
12
13
|
|
|
13
14
|
export { FieldsOnCorrectType as FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectType'; // Spec Section: "Fragments on Composite Types"
|
|
@@ -58,4 +59,4 @@ export { ValuesOfCorrectType as ValuesOfCorrectTypeRule } from './rules/ValuesOf
|
|
|
58
59
|
|
|
59
60
|
export { VariablesAreInputTypes as VariablesAreInputTypesRule } from './rules/VariablesAreInputTypes'; // Spec Section: "All Variable Usages Are Allowed"
|
|
60
61
|
|
|
61
|
-
export { VariablesInAllowedPosition as VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPosition';
|
|
62
|
+
export { VariablesInAllowedPosition as VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPosition';
|
|
@@ -13,7 +13,7 @@ var _kinds = require("../../language/kinds");
|
|
|
13
13
|
var _predicates = require("../../language/predicates");
|
|
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.
|
|
@@ -43,7 +43,7 @@ function ExecutableDefinitions(context) {
|
|
|
43
43
|
var definition = _step.value;
|
|
44
44
|
|
|
45
45
|
if (!(0, _predicates.isExecutableDefinitionNode)(definition)) {
|
|
46
|
-
context.reportError(new _GraphQLError.GraphQLError(nonExecutableDefinitionMessage(definition.kind === _kinds.Kind.SCHEMA_DEFINITION || definition.kind === _kinds.Kind.SCHEMA_EXTENSION ? 'schema' : definition.name.value),
|
|
46
|
+
context.reportError(new _GraphQLError.GraphQLError(nonExecutableDefinitionMessage(definition.kind === _kinds.Kind.SCHEMA_DEFINITION || definition.kind === _kinds.Kind.SCHEMA_EXTENSION ? 'schema' : definition.name.value), definition));
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
} catch (err) {
|
|
@@ -64,4 +64,4 @@ function ExecutableDefinitions(context) {
|
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
|
-
}
|
|
67
|
+
}
|
|
@@ -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,11 +7,11 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type
|
|
10
|
+
import { type ASTValidationContext } from '../ValidationContext';
|
|
11
11
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
12
12
|
import { Kind } from '../../language/kinds';
|
|
13
13
|
import { isExecutableDefinitionNode } from '../../language/predicates';
|
|
14
|
-
import type
|
|
14
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
15
15
|
|
|
16
16
|
export function nonExecutableDefinitionMessage(defName: string): string {
|
|
17
17
|
return `The ${defName} definition is not executable.`;
|
|
@@ -38,7 +38,7 @@ export function ExecutableDefinitions(
|
|
|
38
38
|
? 'schema'
|
|
39
39
|
: definition.name.value,
|
|
40
40
|
),
|
|
41
|
-
|
|
41
|
+
definition,
|
|
42
42
|
),
|
|
43
43
|
);
|
|
44
44
|
}
|
|
@@ -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.
|
|
@@ -31,7 +31,7 @@ export function ExecutableDefinitions(context) {
|
|
|
31
31
|
var definition = _step.value;
|
|
32
32
|
|
|
33
33
|
if (!isExecutableDefinitionNode(definition)) {
|
|
34
|
-
context.reportError(new GraphQLError(nonExecutableDefinitionMessage(definition.kind === Kind.SCHEMA_DEFINITION || definition.kind === Kind.SCHEMA_EXTENSION ? 'schema' : definition.name.value),
|
|
34
|
+
context.reportError(new GraphQLError(nonExecutableDefinitionMessage(definition.kind === Kind.SCHEMA_DEFINITION || definition.kind === Kind.SCHEMA_EXTENSION ? 'schema' : definition.name.value), definition));
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
} catch (err) {
|
|
@@ -52,4 +52,4 @@ export function ExecutableDefinitions(context) {
|
|
|
52
52
|
return false;
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
}
|
|
55
|
+
}
|
|
@@ -17,7 +17,7 @@ var _definition = require("../../type/definition");
|
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* Copyright (c)
|
|
20
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
21
21
|
*
|
|
22
22
|
* This source code is licensed under the MIT license found in the
|
|
23
23
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -61,7 +61,7 @@ function FieldsOnCorrectType(context) {
|
|
|
61
61
|
|
|
62
62
|
var suggestedFieldNames = suggestedTypeNames.length !== 0 ? [] : getSuggestedFieldNames(schema, type, fieldName); // Report an error, including helpful suggestions.
|
|
63
63
|
|
|
64
|
-
context.reportError(new _GraphQLError.GraphQLError(undefinedFieldMessage(fieldName, type.name, suggestedTypeNames, suggestedFieldNames),
|
|
64
|
+
context.reportError(new _GraphQLError.GraphQLError(undefinedFieldMessage(fieldName, type.name, suggestedTypeNames, suggestedFieldNames), node));
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -162,4 +162,4 @@ function getSuggestedFieldNames(schema, type, fieldName) {
|
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
return [];
|
|
165
|
-
}
|
|
165
|
+
}
|
|
@@ -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,15 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type
|
|
10
|
+
import { type ValidationContext } from '../ValidationContext';
|
|
11
11
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
12
12
|
import suggestionList from '../../jsutils/suggestionList';
|
|
13
13
|
import quotedOrList from '../../jsutils/quotedOrList';
|
|
14
|
-
import type
|
|
15
|
-
import type
|
|
16
|
-
import type
|
|
17
|
-
import type { GraphQLOutputType } from '../../type/definition';
|
|
14
|
+
import { type FieldNode } from '../../language/ast';
|
|
15
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
16
|
+
import { type GraphQLSchema } from '../../type/schema';
|
|
18
17
|
import {
|
|
18
|
+
type GraphQLOutputType,
|
|
19
19
|
isObjectType,
|
|
20
20
|
isInterfaceType,
|
|
21
21
|
isAbstractType,
|
|
@@ -74,7 +74,7 @@ export function FieldsOnCorrectType(context: ValidationContext): ASTVisitor {
|
|
|
74
74
|
suggestedTypeNames,
|
|
75
75
|
suggestedFieldNames,
|
|
76
76
|
),
|
|
77
|
-
|
|
77
|
+
node,
|
|
78
78
|
),
|
|
79
79
|
);
|
|
80
80
|
}
|
|
@@ -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.
|
|
@@ -46,7 +46,7 @@ export function FieldsOnCorrectType(context) {
|
|
|
46
46
|
|
|
47
47
|
var suggestedFieldNames = suggestedTypeNames.length !== 0 ? [] : getSuggestedFieldNames(schema, type, fieldName); // Report an error, including helpful suggestions.
|
|
48
48
|
|
|
49
|
-
context.reportError(new GraphQLError(undefinedFieldMessage(fieldName, type.name, suggestedTypeNames, suggestedFieldNames),
|
|
49
|
+
context.reportError(new GraphQLError(undefinedFieldMessage(fieldName, type.name, suggestedTypeNames, suggestedFieldNames), node));
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -146,4 +146,4 @@ function getSuggestedFieldNames(schema, type, fieldName) {
|
|
|
146
146
|
|
|
147
147
|
|
|
148
148
|
return [];
|
|
149
|
-
}
|
|
149
|
+
}
|
|
@@ -16,7 +16,7 @@ var _definition = require("../../type/definition");
|
|
|
16
16
|
var _typeFromAST = require("../../utilities/typeFromAST");
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
* Copyright (c)
|
|
19
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
20
20
|
*
|
|
21
21
|
* This source code is licensed under the MIT license found in the
|
|
22
22
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -48,7 +48,7 @@ function FragmentsOnCompositeTypes(context) {
|
|
|
48
48
|
var type = (0, _typeFromAST.typeFromAST)(context.getSchema(), typeCondition);
|
|
49
49
|
|
|
50
50
|
if (type && !(0, _definition.isCompositeType)(type)) {
|
|
51
|
-
context.reportError(new _GraphQLError.GraphQLError(inlineFragmentOnNonCompositeErrorMessage((0, _printer.print)(typeCondition)),
|
|
51
|
+
context.reportError(new _GraphQLError.GraphQLError(inlineFragmentOnNonCompositeErrorMessage((0, _printer.print)(typeCondition)), typeCondition));
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
},
|
|
@@ -56,8 +56,8 @@ function FragmentsOnCompositeTypes(context) {
|
|
|
56
56
|
var type = (0, _typeFromAST.typeFromAST)(context.getSchema(), node.typeCondition);
|
|
57
57
|
|
|
58
58
|
if (type && !(0, _definition.isCompositeType)(type)) {
|
|
59
|
-
context.reportError(new _GraphQLError.GraphQLError(fragmentOnNonCompositeErrorMessage(node.name.value, (0, _printer.print)(node.typeCondition)),
|
|
59
|
+
context.reportError(new _GraphQLError.GraphQLError(fragmentOnNonCompositeErrorMessage(node.name.value, (0, _printer.print)(node.typeCondition)), node.typeCondition));
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
|
-
}
|
|
63
|
+
}
|
|
@@ -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,10 +7,10 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type
|
|
10
|
+
import { type ValidationContext } from '../ValidationContext';
|
|
11
11
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
12
12
|
import { print } from '../../language/printer';
|
|
13
|
-
import type
|
|
13
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
14
14
|
import { isCompositeType } from '../../type/definition';
|
|
15
15
|
import { typeFromAST } from '../../utilities/typeFromAST';
|
|
16
16
|
|
|
@@ -47,7 +47,7 @@ export function FragmentsOnCompositeTypes(
|
|
|
47
47
|
context.reportError(
|
|
48
48
|
new GraphQLError(
|
|
49
49
|
inlineFragmentOnNonCompositeErrorMessage(print(typeCondition)),
|
|
50
|
-
|
|
50
|
+
typeCondition,
|
|
51
51
|
),
|
|
52
52
|
);
|
|
53
53
|
}
|
|
@@ -62,7 +62,7 @@ export function FragmentsOnCompositeTypes(
|
|
|
62
62
|
node.name.value,
|
|
63
63
|
print(node.typeCondition),
|
|
64
64
|
),
|
|
65
|
-
|
|
65
|
+
node.typeCondition,
|
|
66
66
|
),
|
|
67
67
|
);
|
|
68
68
|
}
|
|
@@ -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.
|
|
@@ -33,7 +33,7 @@ export function FragmentsOnCompositeTypes(context) {
|
|
|
33
33
|
var type = typeFromAST(context.getSchema(), typeCondition);
|
|
34
34
|
|
|
35
35
|
if (type && !isCompositeType(type)) {
|
|
36
|
-
context.reportError(new GraphQLError(inlineFragmentOnNonCompositeErrorMessage(print(typeCondition)),
|
|
36
|
+
context.reportError(new GraphQLError(inlineFragmentOnNonCompositeErrorMessage(print(typeCondition)), typeCondition));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
},
|
|
@@ -41,8 +41,8 @@ export function FragmentsOnCompositeTypes(context) {
|
|
|
41
41
|
var type = typeFromAST(context.getSchema(), node.typeCondition);
|
|
42
42
|
|
|
43
43
|
if (type && !isCompositeType(type)) {
|
|
44
|
-
context.reportError(new GraphQLError(fragmentOnNonCompositeErrorMessage(node.name.value, print(node.typeCondition)),
|
|
44
|
+
context.reportError(new GraphQLError(fragmentOnNonCompositeErrorMessage(node.name.value, print(node.typeCondition)), node.typeCondition));
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
}
|
|
48
|
+
}
|
|
@@ -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,12 +7,12 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import
|
|
11
|
-
ValidationContext,
|
|
12
|
-
SDLValidationContext,
|
|
10
|
+
import {
|
|
11
|
+
type ValidationContext,
|
|
12
|
+
type SDLValidationContext,
|
|
13
13
|
} from '../ValidationContext';
|
|
14
14
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
15
|
-
import type
|
|
15
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
16
16
|
import suggestionList from '../../jsutils/suggestionList';
|
|
17
17
|
import quotedOrList from '../../jsutils/quotedOrList';
|
|
18
18
|
import { Kind } from '../../language/kinds';
|
|
@@ -3,7 +3,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
3
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Copyright (c)
|
|
6
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -157,4 +157,4 @@ export function KnownArgumentNamesOnDirectives(context) {
|
|
|
157
157
|
return false;
|
|
158
158
|
}
|
|
159
159
|
};
|
|
160
|
-
}
|
|
160
|
+
}
|
|
@@ -16,7 +16,7 @@ var _directiveLocation = require("../../language/directiveLocation");
|
|
|
16
16
|
var _directives = require("../../type/directives");
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
* Copyright (c)
|
|
19
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
20
20
|
*
|
|
21
21
|
* This source code is licensed under the MIT license found in the
|
|
22
22
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -102,14 +102,14 @@ function KnownDirectives(context) {
|
|
|
102
102
|
var locations = locationsMap[name];
|
|
103
103
|
|
|
104
104
|
if (!locations) {
|
|
105
|
-
context.reportError(new _GraphQLError.GraphQLError(unknownDirectiveMessage(name),
|
|
105
|
+
context.reportError(new _GraphQLError.GraphQLError(unknownDirectiveMessage(name), node));
|
|
106
106
|
return;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
var candidateLocation = getDirectiveLocationForASTPath(ancestors);
|
|
110
110
|
|
|
111
111
|
if (candidateLocation && locations.indexOf(candidateLocation) === -1) {
|
|
112
|
-
context.reportError(new _GraphQLError.GraphQLError(misplacedDirectiveMessage(name, candidateLocation),
|
|
112
|
+
context.reportError(new _GraphQLError.GraphQLError(misplacedDirectiveMessage(name, candidateLocation), node));
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
};
|
|
@@ -184,8 +184,10 @@ function getDirectiveLocationForASTPath(ancestors) {
|
|
|
184
184
|
return _directiveLocation.DirectiveLocation.INPUT_OBJECT;
|
|
185
185
|
|
|
186
186
|
case _kinds.Kind.INPUT_VALUE_DEFINITION:
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
{
|
|
188
|
+
var parentNode = ancestors[ancestors.length - 3];
|
|
189
|
+
return parentNode.kind === _kinds.Kind.INPUT_OBJECT_TYPE_DEFINITION ? _directiveLocation.DirectiveLocation.INPUT_FIELD_DEFINITION : _directiveLocation.DirectiveLocation.ARGUMENT_DEFINITION;
|
|
190
|
+
}
|
|
189
191
|
}
|
|
190
192
|
}
|
|
191
|
-
}
|
|
193
|
+
}
|
|
@@ -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,14 +7,14 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import
|
|
11
|
-
ValidationContext,
|
|
12
|
-
SDLValidationContext,
|
|
10
|
+
import {
|
|
11
|
+
type ValidationContext,
|
|
12
|
+
type SDLValidationContext,
|
|
13
13
|
} from '../ValidationContext';
|
|
14
14
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
15
15
|
import { Kind } from '../../language/kinds';
|
|
16
16
|
import { DirectiveLocation } from '../../language/directiveLocation';
|
|
17
|
-
import type
|
|
17
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
18
18
|
import { specifiedDirectives } from '../../type/directives';
|
|
19
19
|
|
|
20
20
|
export function unknownDirectiveMessage(directiveName: string): string {
|
|
@@ -61,16 +61,17 @@ export function KnownDirectives(
|
|
|
61
61
|
|
|
62
62
|
if (!locations) {
|
|
63
63
|
context.reportError(
|
|
64
|
-
new GraphQLError(unknownDirectiveMessage(name),
|
|
64
|
+
new GraphQLError(unknownDirectiveMessage(name), node),
|
|
65
65
|
);
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
const candidateLocation = getDirectiveLocationForASTPath(ancestors);
|
|
69
69
|
if (candidateLocation && locations.indexOf(candidateLocation) === -1) {
|
|
70
70
|
context.reportError(
|
|
71
|
-
new GraphQLError(
|
|
71
|
+
new GraphQLError(
|
|
72
|
+
misplacedDirectiveMessage(name, candidateLocation),
|
|
72
73
|
node,
|
|
73
|
-
|
|
74
|
+
),
|
|
74
75
|
);
|
|
75
76
|
}
|
|
76
77
|
},
|
|
@@ -126,11 +127,12 @@ function getDirectiveLocationForASTPath(ancestors) {
|
|
|
126
127
|
case Kind.INPUT_OBJECT_TYPE_DEFINITION:
|
|
127
128
|
case Kind.INPUT_OBJECT_TYPE_EXTENSION:
|
|
128
129
|
return DirectiveLocation.INPUT_OBJECT;
|
|
129
|
-
case Kind.INPUT_VALUE_DEFINITION:
|
|
130
|
+
case Kind.INPUT_VALUE_DEFINITION: {
|
|
130
131
|
const parentNode = ancestors[ancestors.length - 3];
|
|
131
132
|
return parentNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION
|
|
132
133
|
? DirectiveLocation.INPUT_FIELD_DEFINITION
|
|
133
134
|
: DirectiveLocation.ARGUMENT_DEFINITION;
|
|
135
|
+
}
|
|
134
136
|
}
|
|
135
137
|
}
|
|
136
138
|
}
|