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
|
@@ -25,7 +25,7 @@ var _typeFromAST = require("../../utilities/typeFromAST");
|
|
|
25
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* Copyright (c)
|
|
28
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
29
29
|
*
|
|
30
30
|
* This source code is licensed under the MIT license found in the
|
|
31
31
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -69,8 +69,8 @@ function OverlappingFieldsCanBeMerged(context) {
|
|
|
69
69
|
SelectionSet: function SelectionSet(selectionSet) {
|
|
70
70
|
var conflicts = findConflictsWithinSelectionSet(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, context.getParentType(), selectionSet);
|
|
71
71
|
|
|
72
|
-
for (var _i = 0; _i <
|
|
73
|
-
var _ref3 =
|
|
72
|
+
for (var _i = 0, _conflicts = conflicts; _i < _conflicts.length; _i++) {
|
|
73
|
+
var _ref3 = _conflicts[_i];
|
|
74
74
|
var _ref2$ = _ref3[0];
|
|
75
75
|
var responseName = _ref2$[0];
|
|
76
76
|
var reason = _ref2$[1];
|
|
@@ -302,6 +302,7 @@ function collectConflictsWithin(context, conflicts, cachedFieldsAndFragmentNames
|
|
|
302
302
|
// A field map is a keyed collection, where each key represents a response
|
|
303
303
|
// name and the value at that key is a list of all fields which provide that
|
|
304
304
|
// response name. For every response name, if there are multiple fields, they
|
|
305
|
+
// must be compared to find a potential conflict.
|
|
305
306
|
var _iteratorNormalCompletion = true;
|
|
306
307
|
var _didIteratorError = false;
|
|
307
308
|
var _iteratorError = undefined;
|
|
@@ -355,10 +356,8 @@ function collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentName
|
|
|
355
356
|
// response name. For any response name which appears in both provided field
|
|
356
357
|
// maps, each field from the first field map must be compared to every field
|
|
357
358
|
// in the second field map to find potential conflicts.
|
|
358
|
-
var
|
|
359
|
-
|
|
360
|
-
for (var _i3 = 0; _i3 < _arr.length; _i3++) {
|
|
361
|
-
var responseName = _arr[_i3];
|
|
359
|
+
for (var _i3 = 0, _Object$keys = Object.keys(fieldMap1); _i3 < _Object$keys.length; _i3++) {
|
|
360
|
+
var responseName = _Object$keys[_i3];
|
|
362
361
|
var fields2 = fieldMap2[responseName];
|
|
363
362
|
|
|
364
363
|
if (fields2) {
|
|
@@ -518,33 +517,37 @@ function _collectFieldsAndFragmentNames(context, parentType, selectionSet, nodeA
|
|
|
518
517
|
|
|
519
518
|
switch (selection.kind) {
|
|
520
519
|
case _kinds.Kind.FIELD:
|
|
521
|
-
|
|
522
|
-
|
|
520
|
+
{
|
|
521
|
+
var fieldName = selection.name.value;
|
|
522
|
+
var fieldDef = void 0;
|
|
523
523
|
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
524
|
+
if ((0, _definition.isObjectType)(parentType) || (0, _definition.isInterfaceType)(parentType)) {
|
|
525
|
+
fieldDef = parentType.getFields()[fieldName];
|
|
526
|
+
}
|
|
527
527
|
|
|
528
|
-
|
|
528
|
+
var responseName = selection.alias ? selection.alias.value : fieldName;
|
|
529
529
|
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
530
|
+
if (!nodeAndDefs[responseName]) {
|
|
531
|
+
nodeAndDefs[responseName] = [];
|
|
532
|
+
}
|
|
533
533
|
|
|
534
|
-
|
|
535
|
-
|
|
534
|
+
nodeAndDefs[responseName].push([parentType, selection, fieldDef]);
|
|
535
|
+
break;
|
|
536
|
+
}
|
|
536
537
|
|
|
537
538
|
case _kinds.Kind.FRAGMENT_SPREAD:
|
|
538
539
|
fragmentNames[selection.name.value] = true;
|
|
539
540
|
break;
|
|
540
541
|
|
|
541
542
|
case _kinds.Kind.INLINE_FRAGMENT:
|
|
542
|
-
|
|
543
|
-
|
|
543
|
+
{
|
|
544
|
+
var typeCondition = selection.typeCondition;
|
|
545
|
+
var inlineFragmentType = typeCondition ? (0, _typeFromAST.typeFromAST)(context.getSchema(), typeCondition) : parentType;
|
|
544
546
|
|
|
545
|
-
|
|
547
|
+
_collectFieldsAndFragmentNames(context, inlineFragmentType, selection.selectionSet, nodeAndDefs, fragmentNames);
|
|
546
548
|
|
|
547
|
-
|
|
549
|
+
break;
|
|
550
|
+
}
|
|
548
551
|
}
|
|
549
552
|
}
|
|
550
553
|
} // Given a series of Conflicts which occurred between two sub-fields, generate
|
|
@@ -616,4 +619,4 @@ function _pairSetAdd(data, a, b, areMutuallyExclusive) {
|
|
|
616
619
|
}
|
|
617
620
|
|
|
618
621
|
map[b] = areMutuallyExclusive;
|
|
619
|
-
}
|
|
622
|
+
}
|
|
@@ -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.
|
|
@@ -9,20 +9,24 @@
|
|
|
9
9
|
|
|
10
10
|
import find from '../../polyfills/find';
|
|
11
11
|
import objectEntries from '../../polyfills/objectEntries';
|
|
12
|
-
import type
|
|
12
|
+
import { type ValidationContext } from '../ValidationContext';
|
|
13
13
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
14
14
|
import inspect from '../../jsutils/inspect';
|
|
15
|
-
import type
|
|
16
|
-
import
|
|
17
|
-
SelectionSetNode,
|
|
18
|
-
FieldNode,
|
|
19
|
-
ArgumentNode,
|
|
20
|
-
FragmentDefinitionNode,
|
|
15
|
+
import { type ObjMap } from '../../jsutils/ObjMap';
|
|
16
|
+
import {
|
|
17
|
+
type SelectionSetNode,
|
|
18
|
+
type FieldNode,
|
|
19
|
+
type ArgumentNode,
|
|
20
|
+
type FragmentDefinitionNode,
|
|
21
21
|
} from '../../language/ast';
|
|
22
22
|
import { Kind } from '../../language/kinds';
|
|
23
23
|
import { print } from '../../language/printer';
|
|
24
|
-
import type
|
|
24
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
25
25
|
import {
|
|
26
|
+
type GraphQLNamedType,
|
|
27
|
+
type GraphQLOutputType,
|
|
28
|
+
type GraphQLCompositeType,
|
|
29
|
+
type GraphQLField,
|
|
26
30
|
getNamedType,
|
|
27
31
|
isNonNullType,
|
|
28
32
|
isLeafType,
|
|
@@ -30,12 +34,6 @@ import {
|
|
|
30
34
|
isListType,
|
|
31
35
|
isInterfaceType,
|
|
32
36
|
} from '../../type/definition';
|
|
33
|
-
import type {
|
|
34
|
-
GraphQLNamedType,
|
|
35
|
-
GraphQLOutputType,
|
|
36
|
-
GraphQLCompositeType,
|
|
37
|
-
GraphQLField,
|
|
38
|
-
} from '../../type/definition';
|
|
39
37
|
import { typeFromAST } from '../../utilities/typeFromAST';
|
|
40
38
|
|
|
41
39
|
export function fieldsConflictMessage(
|
|
@@ -749,7 +747,7 @@ function _collectFieldsAndFragmentNames(
|
|
|
749
747
|
for (let i = 0; i < selectionSet.selections.length; i++) {
|
|
750
748
|
const selection = selectionSet.selections[i];
|
|
751
749
|
switch (selection.kind) {
|
|
752
|
-
case Kind.FIELD:
|
|
750
|
+
case Kind.FIELD: {
|
|
753
751
|
const fieldName = selection.name.value;
|
|
754
752
|
let fieldDef;
|
|
755
753
|
if (isObjectType(parentType) || isInterfaceType(parentType)) {
|
|
@@ -763,10 +761,11 @@ function _collectFieldsAndFragmentNames(
|
|
|
763
761
|
}
|
|
764
762
|
nodeAndDefs[responseName].push([parentType, selection, fieldDef]);
|
|
765
763
|
break;
|
|
764
|
+
}
|
|
766
765
|
case Kind.FRAGMENT_SPREAD:
|
|
767
766
|
fragmentNames[selection.name.value] = true;
|
|
768
767
|
break;
|
|
769
|
-
case Kind.INLINE_FRAGMENT:
|
|
768
|
+
case Kind.INLINE_FRAGMENT: {
|
|
770
769
|
const typeCondition = selection.typeCondition;
|
|
771
770
|
const inlineFragmentType = typeCondition
|
|
772
771
|
? typeFromAST(context.getSchema(), typeCondition)
|
|
@@ -779,6 +778,7 @@ function _collectFieldsAndFragmentNames(
|
|
|
779
778
|
fragmentNames,
|
|
780
779
|
);
|
|
781
780
|
break;
|
|
781
|
+
}
|
|
782
782
|
}
|
|
783
783
|
}
|
|
784
784
|
}
|
|
@@ -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.
|
|
@@ -51,8 +51,8 @@ export function OverlappingFieldsCanBeMerged(context) {
|
|
|
51
51
|
SelectionSet: function SelectionSet(selectionSet) {
|
|
52
52
|
var conflicts = findConflictsWithinSelectionSet(context, cachedFieldsAndFragmentNames, comparedFragmentPairs, context.getParentType(), selectionSet);
|
|
53
53
|
|
|
54
|
-
for (var _i = 0; _i <
|
|
55
|
-
var _ref3 =
|
|
54
|
+
for (var _i = 0, _conflicts = conflicts; _i < _conflicts.length; _i++) {
|
|
55
|
+
var _ref3 = _conflicts[_i];
|
|
56
56
|
var _ref2$ = _ref3[0];
|
|
57
57
|
var responseName = _ref2$[0];
|
|
58
58
|
var reason = _ref2$[1];
|
|
@@ -284,6 +284,7 @@ function collectConflictsWithin(context, conflicts, cachedFieldsAndFragmentNames
|
|
|
284
284
|
// A field map is a keyed collection, where each key represents a response
|
|
285
285
|
// name and the value at that key is a list of all fields which provide that
|
|
286
286
|
// response name. For every response name, if there are multiple fields, they
|
|
287
|
+
// must be compared to find a potential conflict.
|
|
287
288
|
var _iteratorNormalCompletion = true;
|
|
288
289
|
var _didIteratorError = false;
|
|
289
290
|
var _iteratorError = undefined;
|
|
@@ -337,10 +338,8 @@ function collectConflictsBetween(context, conflicts, cachedFieldsAndFragmentName
|
|
|
337
338
|
// response name. For any response name which appears in both provided field
|
|
338
339
|
// maps, each field from the first field map must be compared to every field
|
|
339
340
|
// in the second field map to find potential conflicts.
|
|
340
|
-
var
|
|
341
|
-
|
|
342
|
-
for (var _i3 = 0; _i3 < _arr.length; _i3++) {
|
|
343
|
-
var responseName = _arr[_i3];
|
|
341
|
+
for (var _i3 = 0, _Object$keys = Object.keys(fieldMap1); _i3 < _Object$keys.length; _i3++) {
|
|
342
|
+
var responseName = _Object$keys[_i3];
|
|
344
343
|
var fields2 = fieldMap2[responseName];
|
|
345
344
|
|
|
346
345
|
if (fields2) {
|
|
@@ -500,33 +499,37 @@ function _collectFieldsAndFragmentNames(context, parentType, selectionSet, nodeA
|
|
|
500
499
|
|
|
501
500
|
switch (selection.kind) {
|
|
502
501
|
case Kind.FIELD:
|
|
503
|
-
|
|
504
|
-
|
|
502
|
+
{
|
|
503
|
+
var fieldName = selection.name.value;
|
|
504
|
+
var fieldDef = void 0;
|
|
505
505
|
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
506
|
+
if (isObjectType(parentType) || isInterfaceType(parentType)) {
|
|
507
|
+
fieldDef = parentType.getFields()[fieldName];
|
|
508
|
+
}
|
|
509
509
|
|
|
510
|
-
|
|
510
|
+
var responseName = selection.alias ? selection.alias.value : fieldName;
|
|
511
511
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
512
|
+
if (!nodeAndDefs[responseName]) {
|
|
513
|
+
nodeAndDefs[responseName] = [];
|
|
514
|
+
}
|
|
515
515
|
|
|
516
|
-
|
|
517
|
-
|
|
516
|
+
nodeAndDefs[responseName].push([parentType, selection, fieldDef]);
|
|
517
|
+
break;
|
|
518
|
+
}
|
|
518
519
|
|
|
519
520
|
case Kind.FRAGMENT_SPREAD:
|
|
520
521
|
fragmentNames[selection.name.value] = true;
|
|
521
522
|
break;
|
|
522
523
|
|
|
523
524
|
case Kind.INLINE_FRAGMENT:
|
|
524
|
-
|
|
525
|
-
|
|
525
|
+
{
|
|
526
|
+
var typeCondition = selection.typeCondition;
|
|
527
|
+
var inlineFragmentType = typeCondition ? typeFromAST(context.getSchema(), typeCondition) : parentType;
|
|
526
528
|
|
|
527
|
-
|
|
529
|
+
_collectFieldsAndFragmentNames(context, inlineFragmentType, selection.selectionSet, nodeAndDefs, fragmentNames);
|
|
528
530
|
|
|
529
|
-
|
|
531
|
+
break;
|
|
532
|
+
}
|
|
530
533
|
}
|
|
531
534
|
}
|
|
532
535
|
} // Given a series of Conflicts which occurred between two sub-fields, generate
|
|
@@ -598,4 +601,4 @@ function _pairSetAdd(data, a, b, areMutuallyExclusive) {
|
|
|
598
601
|
}
|
|
599
602
|
|
|
600
603
|
map[b] = areMutuallyExclusive;
|
|
601
|
-
}
|
|
604
|
+
}
|
|
@@ -20,7 +20,7 @@ var _definition = require("../../type/definition");
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Copyright (c)
|
|
23
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
24
24
|
*
|
|
25
25
|
* This source code is licensed under the MIT license found in the
|
|
26
26
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -50,7 +50,7 @@ function PossibleFragmentSpreads(context) {
|
|
|
50
50
|
var parentType = context.getParentType();
|
|
51
51
|
|
|
52
52
|
if ((0, _definition.isCompositeType)(fragType) && (0, _definition.isCompositeType)(parentType) && !(0, _typeComparators.doTypesOverlap)(context.getSchema(), fragType, parentType)) {
|
|
53
|
-
context.reportError(new _GraphQLError.GraphQLError(typeIncompatibleAnonSpreadMessage((0, _inspect.default)(parentType), (0, _inspect.default)(fragType)),
|
|
53
|
+
context.reportError(new _GraphQLError.GraphQLError(typeIncompatibleAnonSpreadMessage((0, _inspect.default)(parentType), (0, _inspect.default)(fragType)), node));
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
FragmentSpread: function FragmentSpread(node) {
|
|
@@ -59,7 +59,7 @@ function PossibleFragmentSpreads(context) {
|
|
|
59
59
|
var parentType = context.getParentType();
|
|
60
60
|
|
|
61
61
|
if (fragType && parentType && !(0, _typeComparators.doTypesOverlap)(context.getSchema(), fragType, parentType)) {
|
|
62
|
-
context.reportError(new _GraphQLError.GraphQLError(typeIncompatibleSpreadMessage(fragName, (0, _inspect.default)(parentType), (0, _inspect.default)(fragType)),
|
|
62
|
+
context.reportError(new _GraphQLError.GraphQLError(typeIncompatibleSpreadMessage(fragName, (0, _inspect.default)(parentType), (0, _inspect.default)(fragType)), node));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
};
|
|
@@ -75,4 +75,4 @@ function getFragmentType(context, name) {
|
|
|
75
75
|
return type;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
}
|
|
78
|
+
}
|
|
@@ -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,9 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import inspect from '../../jsutils/inspect';
|
|
11
|
-
import type
|
|
11
|
+
import { type ValidationContext } from '../ValidationContext';
|
|
12
12
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
13
|
-
import type
|
|
13
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
14
14
|
import { doTypesOverlap } from '../../utilities/typeComparators';
|
|
15
15
|
import { typeFromAST } from '../../utilities/typeFromAST';
|
|
16
16
|
import { isCompositeType } from '../../type/definition';
|
|
@@ -61,7 +61,7 @@ export function PossibleFragmentSpreads(
|
|
|
61
61
|
inspect(parentType),
|
|
62
62
|
inspect(fragType),
|
|
63
63
|
),
|
|
64
|
-
|
|
64
|
+
node,
|
|
65
65
|
),
|
|
66
66
|
);
|
|
67
67
|
}
|
|
@@ -82,7 +82,7 @@ export function PossibleFragmentSpreads(
|
|
|
82
82
|
inspect(parentType),
|
|
83
83
|
inspect(fragType),
|
|
84
84
|
),
|
|
85
|
-
|
|
85
|
+
node,
|
|
86
86
|
),
|
|
87
87
|
);
|
|
88
88
|
}
|
|
@@ -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.
|
|
@@ -32,7 +32,7 @@ export function PossibleFragmentSpreads(context) {
|
|
|
32
32
|
var parentType = context.getParentType();
|
|
33
33
|
|
|
34
34
|
if (isCompositeType(fragType) && isCompositeType(parentType) && !doTypesOverlap(context.getSchema(), fragType, parentType)) {
|
|
35
|
-
context.reportError(new GraphQLError(typeIncompatibleAnonSpreadMessage(inspect(parentType), inspect(fragType)),
|
|
35
|
+
context.reportError(new GraphQLError(typeIncompatibleAnonSpreadMessage(inspect(parentType), inspect(fragType)), node));
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
FragmentSpread: function FragmentSpread(node) {
|
|
@@ -41,7 +41,7 @@ export function PossibleFragmentSpreads(context) {
|
|
|
41
41
|
var parentType = context.getParentType();
|
|
42
42
|
|
|
43
43
|
if (fragType && parentType && !doTypesOverlap(context.getSchema(), fragType, parentType)) {
|
|
44
|
-
context.reportError(new GraphQLError(typeIncompatibleSpreadMessage(fragName, inspect(parentType), inspect(fragType)),
|
|
44
|
+
context.reportError(new GraphQLError(typeIncompatibleSpreadMessage(fragName, inspect(parentType), inspect(fragType)), node));
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
};
|
|
@@ -57,4 +57,4 @@ function getFragmentType(context, name) {
|
|
|
57
57
|
return type;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
}
|
|
60
|
+
}
|
|
@@ -26,7 +26,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
26
26
|
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; }
|
|
27
27
|
|
|
28
28
|
function extendingUnknownTypeMessage(typeName, suggestedTypes) {
|
|
29
|
-
var message = "Cannot extend type \"".concat(typeName, "\" because it
|
|
29
|
+
var message = "Cannot extend type \"".concat(typeName, "\" because it is not defined.");
|
|
30
30
|
|
|
31
31
|
if (suggestedTypes.length) {
|
|
32
32
|
message += " Did you mean ".concat((0, _quotedOrList.default)(suggestedTypes), "?");
|
|
@@ -41,7 +41,7 @@ function extendingDifferentTypeKindMessage(typeName, kind) {
|
|
|
41
41
|
/**
|
|
42
42
|
* Possible type extension
|
|
43
43
|
*
|
|
44
|
-
* A type extension is only valid if the type defined and
|
|
44
|
+
* A type extension is only valid if the type is defined and has the same kind.
|
|
45
45
|
*/
|
|
46
46
|
|
|
47
47
|
|
|
@@ -155,4 +155,4 @@ function extensionKindToTypeName(kind) {
|
|
|
155
155
|
default:
|
|
156
156
|
return 'unknown type';
|
|
157
157
|
}
|
|
158
|
-
}
|
|
158
|
+
}
|
|
@@ -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.
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
|
|
10
10
|
import quotedOrList from '../../jsutils/quotedOrList';
|
|
11
11
|
import suggestionList from '../../jsutils/suggestionList';
|
|
12
|
-
import type
|
|
12
|
+
import { type SDLValidationContext } from '../ValidationContext';
|
|
13
13
|
import { GraphQLError } from '../../error/GraphQLError';
|
|
14
14
|
import { Kind } from '../../language/kinds';
|
|
15
15
|
import { isTypeDefinitionNode } from '../../language/predicates';
|
|
16
|
-
import type
|
|
16
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
17
17
|
import {
|
|
18
18
|
isScalarType,
|
|
19
19
|
isObjectType,
|
|
@@ -27,7 +27,7 @@ export function extendingUnknownTypeMessage(
|
|
|
27
27
|
typeName: string,
|
|
28
28
|
suggestedTypes: Array<string>,
|
|
29
29
|
): string {
|
|
30
|
-
let message = `Cannot extend type "${typeName}" because it
|
|
30
|
+
let message = `Cannot extend type "${typeName}" because it is not defined.`;
|
|
31
31
|
if (suggestedTypes.length) {
|
|
32
32
|
message += ` Did you mean ${quotedOrList(suggestedTypes)}?`;
|
|
33
33
|
}
|
|
@@ -44,7 +44,7 @@ export function extendingDifferentTypeKindMessage(
|
|
|
44
44
|
/**
|
|
45
45
|
* Possible type extension
|
|
46
46
|
*
|
|
47
|
-
* A type extension is only valid if the type defined and
|
|
47
|
+
* A type extension is only valid if the type is defined and has the same kind.
|
|
48
48
|
*/
|
|
49
49
|
export function PossibleTypeExtensions(
|
|
50
50
|
context: SDLValidationContext,
|
|
@@ -3,7 +3,7 @@ var _defKindToExtKind;
|
|
|
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.
|
|
@@ -17,7 +17,7 @@ import { Kind } from '../../language/kinds';
|
|
|
17
17
|
import { isTypeDefinitionNode } from '../../language/predicates';
|
|
18
18
|
import { isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType } from '../../type/definition';
|
|
19
19
|
export function extendingUnknownTypeMessage(typeName, suggestedTypes) {
|
|
20
|
-
var message = "Cannot extend type \"".concat(typeName, "\" because it
|
|
20
|
+
var message = "Cannot extend type \"".concat(typeName, "\" because it is not defined.");
|
|
21
21
|
|
|
22
22
|
if (suggestedTypes.length) {
|
|
23
23
|
message += " Did you mean ".concat(quotedOrList(suggestedTypes), "?");
|
|
@@ -31,7 +31,7 @@ export function extendingDifferentTypeKindMessage(typeName, kind) {
|
|
|
31
31
|
/**
|
|
32
32
|
* Possible type extension
|
|
33
33
|
*
|
|
34
|
-
* A type extension is only valid if the type defined and
|
|
34
|
+
* A type extension is only valid if the type is defined and has the same kind.
|
|
35
35
|
*/
|
|
36
36
|
|
|
37
37
|
export function PossibleTypeExtensions(context) {
|
|
@@ -143,4 +143,4 @@ function extensionKindToTypeName(kind) {
|
|
|
143
143
|
default:
|
|
144
144
|
return 'unknown type';
|
|
145
145
|
}
|
|
146
|
-
}
|
|
146
|
+
}
|
|
@@ -29,11 +29,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
29
29
|
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; }
|
|
30
30
|
|
|
31
31
|
function missingFieldArgMessage(fieldName, argName, type) {
|
|
32
|
-
return "Field \"".concat(fieldName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required but not provided.");
|
|
32
|
+
return "Field \"".concat(fieldName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required, but it was not provided.");
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
function missingDirectiveArgMessage(directiveName, argName, type) {
|
|
36
|
-
return "Directive \"@".concat(directiveName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required but not provided.");
|
|
36
|
+
return "Directive \"@".concat(directiveName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required, but it was not provided.");
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Provided required arguments
|
|
@@ -68,7 +68,7 @@ function ProvidedRequiredArguments(context) {
|
|
|
68
68
|
var argNode = argNodeMap[argDef.name];
|
|
69
69
|
|
|
70
70
|
if (!argNode && (0, _definition.isRequiredArgument)(argDef)) {
|
|
71
|
-
context.reportError(new _GraphQLError.GraphQLError(missingFieldArgMessage(fieldDef.name, argDef.name, (0, _inspect.default)(argDef.type)),
|
|
71
|
+
context.reportError(new _GraphQLError.GraphQLError(missingFieldArgMessage(fieldDef.name, argDef.name, (0, _inspect.default)(argDef.type)), fieldNode));
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
} catch (err) {
|
|
@@ -164,10 +164,8 @@ function ProvidedRequiredArgumentsOnDirectives(context) {
|
|
|
164
164
|
return arg.name.value;
|
|
165
165
|
});
|
|
166
166
|
|
|
167
|
-
var
|
|
168
|
-
|
|
169
|
-
for (var _i = 0; _i < _arr.length; _i++) {
|
|
170
|
-
var argName = _arr[_i];
|
|
167
|
+
for (var _i = 0, _Object$keys = Object.keys(requiredArgs); _i < _Object$keys.length; _i++) {
|
|
168
|
+
var argName = _Object$keys[_i];
|
|
171
169
|
|
|
172
170
|
if (!argNodeMap[argName]) {
|
|
173
171
|
var argType = requiredArgs[argName].type;
|
|
@@ -182,4 +180,4 @@ function ProvidedRequiredArgumentsOnDirectives(context) {
|
|
|
182
180
|
|
|
183
181
|
function isRequiredArgumentNode(arg) {
|
|
184
182
|
return arg.type.kind === _kinds.Kind.NON_NULL_TYPE && arg.defaultValue == null;
|
|
185
|
-
}
|
|
183
|
+
}
|
|
@@ -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,16 +7,16 @@
|
|
|
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 inspect from '../../jsutils/inspect';
|
|
17
17
|
import keyMap from '../../jsutils/keyMap';
|
|
18
18
|
import { isType, isRequiredArgument } from '../../type/definition';
|
|
19
|
-
import type
|
|
19
|
+
import { type ASTVisitor } from '../../language/visitor';
|
|
20
20
|
import { print } from '../../language/printer';
|
|
21
21
|
import { specifiedDirectives } from '../../type/directives';
|
|
22
22
|
|
|
@@ -27,7 +27,7 @@ export function missingFieldArgMessage(
|
|
|
27
27
|
): string {
|
|
28
28
|
return (
|
|
29
29
|
`Field "${fieldName}" argument "${argName}" of type ` +
|
|
30
|
-
`"${type}" is required but not provided.`
|
|
30
|
+
`"${type}" is required, but it was not provided.`
|
|
31
31
|
);
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -38,7 +38,7 @@ export function missingDirectiveArgMessage(
|
|
|
38
38
|
): string {
|
|
39
39
|
return (
|
|
40
40
|
`Directive "@${directiveName}" argument "${argName}" of type ` +
|
|
41
|
-
`"${type}" is required but not provided.`
|
|
41
|
+
`"${type}" is required, but it was not provided.`
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -73,7 +73,7 @@ export function ProvidedRequiredArguments(
|
|
|
73
73
|
argDef.name,
|
|
74
74
|
inspect(argDef.type),
|
|
75
75
|
),
|
|
76
|
-
|
|
76
|
+
fieldNode,
|
|
77
77
|
),
|
|
78
78
|
);
|
|
79
79
|
}
|
|
@@ -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.
|
|
@@ -18,10 +18,10 @@ import { isType, isRequiredArgument } from '../../type/definition';
|
|
|
18
18
|
import { print } from '../../language/printer';
|
|
19
19
|
import { specifiedDirectives } from '../../type/directives';
|
|
20
20
|
export function missingFieldArgMessage(fieldName, argName, type) {
|
|
21
|
-
return "Field \"".concat(fieldName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required but not provided.");
|
|
21
|
+
return "Field \"".concat(fieldName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required, but it was not provided.");
|
|
22
22
|
}
|
|
23
23
|
export function missingDirectiveArgMessage(directiveName, argName, type) {
|
|
24
|
-
return "Directive \"@".concat(directiveName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required but not provided.");
|
|
24
|
+
return "Directive \"@".concat(directiveName, "\" argument \"").concat(argName, "\" of type ") + "\"".concat(type, "\" is required, but it was not provided.");
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Provided required arguments
|
|
@@ -55,7 +55,7 @@ export function ProvidedRequiredArguments(context) {
|
|
|
55
55
|
var argNode = argNodeMap[argDef.name];
|
|
56
56
|
|
|
57
57
|
if (!argNode && isRequiredArgument(argDef)) {
|
|
58
|
-
context.reportError(new GraphQLError(missingFieldArgMessage(fieldDef.name, argDef.name, inspect(argDef.type)),
|
|
58
|
+
context.reportError(new GraphQLError(missingFieldArgMessage(fieldDef.name, argDef.name, inspect(argDef.type)), fieldNode));
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
} catch (err) {
|
|
@@ -150,10 +150,8 @@ export function ProvidedRequiredArgumentsOnDirectives(context) {
|
|
|
150
150
|
return arg.name.value;
|
|
151
151
|
});
|
|
152
152
|
|
|
153
|
-
var
|
|
154
|
-
|
|
155
|
-
for (var _i = 0; _i < _arr.length; _i++) {
|
|
156
|
-
var argName = _arr[_i];
|
|
153
|
+
for (var _i = 0, _Object$keys = Object.keys(requiredArgs); _i < _Object$keys.length; _i++) {
|
|
154
|
+
var argName = _Object$keys[_i];
|
|
157
155
|
|
|
158
156
|
if (!argNodeMap[argName]) {
|
|
159
157
|
var argType = requiredArgs[argName].type;
|
|
@@ -168,4 +166,4 @@ export function ProvidedRequiredArgumentsOnDirectives(context) {
|
|
|
168
166
|
|
|
169
167
|
function isRequiredArgumentNode(arg) {
|
|
170
168
|
return arg.type.kind === Kind.NON_NULL_TYPE && arg.defaultValue == null;
|
|
171
|
-
}
|
|
169
|
+
}
|
|
@@ -16,7 +16,7 @@ var _definition = require("../../type/definition");
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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.
|
|
@@ -47,12 +47,12 @@ function ScalarLeafs(context) {
|
|
|
47
47
|
if (type) {
|
|
48
48
|
if ((0, _definition.isLeafType)((0, _definition.getNamedType)(type))) {
|
|
49
49
|
if (selectionSet) {
|
|
50
|
-
context.reportError(new _GraphQLError.GraphQLError(noSubselectionAllowedMessage(node.name.value, (0, _inspect.default)(type)),
|
|
50
|
+
context.reportError(new _GraphQLError.GraphQLError(noSubselectionAllowedMessage(node.name.value, (0, _inspect.default)(type)), selectionSet));
|
|
51
51
|
}
|
|
52
52
|
} else if (!selectionSet) {
|
|
53
|
-
context.reportError(new _GraphQLError.GraphQLError(requiredSubselectionMessage(node.name.value, (0, _inspect.default)(type)),
|
|
53
|
+
context.reportError(new _GraphQLError.GraphQLError(requiredSubselectionMessage(node.name.value, (0, _inspect.default)(type)), node));
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
|
-
}
|
|
58
|
+
}
|