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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
import find from '../polyfills/find';
|
|
10
|
+
import inspect from '../jsutils/inspect';
|
|
10
11
|
import { isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType, isNonNullType, isListType, isNamedType, isRequiredArgument, isRequiredInputField } from '../type/definition';
|
|
11
12
|
import keyMap from '../jsutils/keyMap';
|
|
12
13
|
export var BreakingChangeType = {
|
|
@@ -55,15 +56,13 @@ export function findDangerousChanges(oldSchema, newSchema) {
|
|
|
55
56
|
* changes in the newSchema related to removing an entire type.
|
|
56
57
|
*/
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
function findRemovedTypes(oldSchema, newSchema) {
|
|
59
60
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
60
61
|
var newTypeMap = newSchema.getTypeMap();
|
|
61
62
|
var breakingChanges = [];
|
|
62
63
|
|
|
63
|
-
var
|
|
64
|
-
|
|
65
|
-
for (var _i = 0; _i < _arr.length; _i++) {
|
|
66
|
-
var typeName = _arr[_i];
|
|
64
|
+
for (var _i = 0, _Object$keys = Object.keys(oldTypeMap); _i < _Object$keys.length; _i++) {
|
|
65
|
+
var typeName = _Object$keys[_i];
|
|
67
66
|
|
|
68
67
|
if (!newTypeMap[typeName]) {
|
|
69
68
|
breakingChanges.push({
|
|
@@ -80,15 +79,14 @@ export function findRemovedTypes(oldSchema, newSchema) {
|
|
|
80
79
|
* changes in the newSchema related to changing the type of a type.
|
|
81
80
|
*/
|
|
82
81
|
|
|
83
|
-
|
|
82
|
+
|
|
83
|
+
function findTypesThatChangedKind(oldSchema, newSchema) {
|
|
84
84
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
85
85
|
var newTypeMap = newSchema.getTypeMap();
|
|
86
86
|
var breakingChanges = [];
|
|
87
87
|
|
|
88
|
-
var
|
|
89
|
-
|
|
90
|
-
for (var _i2 = 0; _i2 < _arr2.length; _i2++) {
|
|
91
|
-
var typeName = _arr2[_i2];
|
|
88
|
+
for (var _i2 = 0, _Object$keys2 = Object.keys(oldTypeMap); _i2 < _Object$keys2.length; _i2++) {
|
|
89
|
+
var typeName = _Object$keys2[_i2];
|
|
92
90
|
|
|
93
91
|
if (!newTypeMap[typeName]) {
|
|
94
92
|
continue;
|
|
@@ -114,16 +112,15 @@ export function findTypesThatChangedKind(oldSchema, newSchema) {
|
|
|
114
112
|
* argument's default value).
|
|
115
113
|
*/
|
|
116
114
|
|
|
117
|
-
|
|
115
|
+
|
|
116
|
+
function findArgChanges(oldSchema, newSchema) {
|
|
118
117
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
119
118
|
var newTypeMap = newSchema.getTypeMap();
|
|
120
119
|
var breakingChanges = [];
|
|
121
120
|
var dangerousChanges = [];
|
|
122
121
|
|
|
123
|
-
var
|
|
124
|
-
|
|
125
|
-
for (var _i3 = 0; _i3 < _arr3.length; _i3++) {
|
|
126
|
-
var typeName = _arr3[_i3];
|
|
122
|
+
for (var _i3 = 0, _Object$keys3 = Object.keys(oldTypeMap); _i3 < _Object$keys3.length; _i3++) {
|
|
123
|
+
var typeName = _Object$keys3[_i3];
|
|
127
124
|
var oldType = oldTypeMap[typeName];
|
|
128
125
|
var newType = newTypeMap[typeName];
|
|
129
126
|
|
|
@@ -134,10 +131,8 @@ export function findArgChanges(oldSchema, newSchema) {
|
|
|
134
131
|
var oldTypeFields = oldType.getFields();
|
|
135
132
|
var newTypeFields = newType.getFields();
|
|
136
133
|
|
|
137
|
-
var
|
|
138
|
-
|
|
139
|
-
for (var _i4 = 0; _i4 < _arr4.length; _i4++) {
|
|
140
|
-
var fieldName = _arr4[_i4];
|
|
134
|
+
for (var _i4 = 0, _Object$keys4 = Object.keys(oldTypeFields); _i4 < _Object$keys4.length; _i4++) {
|
|
135
|
+
var fieldName = _Object$keys4[_i4];
|
|
141
136
|
|
|
142
137
|
if (!newTypeFields[fieldName]) {
|
|
143
138
|
continue;
|
|
@@ -274,20 +269,21 @@ function typeKindName(type) {
|
|
|
274
269
|
|
|
275
270
|
if (isInputObjectType(type)) {
|
|
276
271
|
return 'an Input type';
|
|
277
|
-
}
|
|
272
|
+
} // Not reachable. All possible named types have been considered.
|
|
273
|
+
|
|
274
|
+
/* istanbul ignore next */
|
|
278
275
|
|
|
279
|
-
|
|
276
|
+
|
|
277
|
+
throw new TypeError("Unexpected type: ".concat(inspect(type), "."));
|
|
280
278
|
}
|
|
281
279
|
|
|
282
|
-
|
|
280
|
+
function findFieldsThatChangedTypeOnObjectOrInterfaceTypes(oldSchema, newSchema) {
|
|
283
281
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
284
282
|
var newTypeMap = newSchema.getTypeMap();
|
|
285
283
|
var breakingChanges = [];
|
|
286
284
|
|
|
287
|
-
var
|
|
288
|
-
|
|
289
|
-
for (var _i5 = 0; _i5 < _arr5.length; _i5++) {
|
|
290
|
-
var typeName = _arr5[_i5];
|
|
285
|
+
for (var _i5 = 0, _Object$keys5 = Object.keys(oldTypeMap); _i5 < _Object$keys5.length; _i5++) {
|
|
286
|
+
var typeName = _Object$keys5[_i5];
|
|
291
287
|
var oldType = oldTypeMap[typeName];
|
|
292
288
|
var newType = newTypeMap[typeName];
|
|
293
289
|
|
|
@@ -298,10 +294,8 @@ export function findFieldsThatChangedTypeOnObjectOrInterfaceTypes(oldSchema, new
|
|
|
298
294
|
var oldTypeFieldsDef = oldType.getFields();
|
|
299
295
|
var newTypeFieldsDef = newType.getFields();
|
|
300
296
|
|
|
301
|
-
var
|
|
302
|
-
|
|
303
|
-
for (var _i6 = 0; _i6 < _arr6.length; _i6++) {
|
|
304
|
-
var fieldName = _arr6[_i6];
|
|
297
|
+
for (var _i6 = 0, _Object$keys6 = Object.keys(oldTypeFieldsDef); _i6 < _Object$keys6.length; _i6++) {
|
|
298
|
+
var fieldName = _Object$keys6[_i6];
|
|
305
299
|
|
|
306
300
|
// Check if the field is missing on the type in the new schema.
|
|
307
301
|
if (!(fieldName in newTypeFieldsDef)) {
|
|
@@ -328,16 +322,15 @@ export function findFieldsThatChangedTypeOnObjectOrInterfaceTypes(oldSchema, new
|
|
|
328
322
|
|
|
329
323
|
return breakingChanges;
|
|
330
324
|
}
|
|
331
|
-
|
|
325
|
+
|
|
326
|
+
function findFieldsThatChangedTypeOnInputObjectTypes(oldSchema, newSchema) {
|
|
332
327
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
333
328
|
var newTypeMap = newSchema.getTypeMap();
|
|
334
329
|
var breakingChanges = [];
|
|
335
330
|
var dangerousChanges = [];
|
|
336
331
|
|
|
337
|
-
var
|
|
338
|
-
|
|
339
|
-
for (var _i7 = 0; _i7 < _arr7.length; _i7++) {
|
|
340
|
-
var typeName = _arr7[_i7];
|
|
332
|
+
for (var _i7 = 0, _Object$keys7 = Object.keys(oldTypeMap); _i7 < _Object$keys7.length; _i7++) {
|
|
333
|
+
var typeName = _Object$keys7[_i7];
|
|
341
334
|
var oldType = oldTypeMap[typeName];
|
|
342
335
|
var newType = newTypeMap[typeName];
|
|
343
336
|
|
|
@@ -348,10 +341,8 @@ export function findFieldsThatChangedTypeOnInputObjectTypes(oldSchema, newSchema
|
|
|
348
341
|
var oldTypeFieldsDef = oldType.getFields();
|
|
349
342
|
var newTypeFieldsDef = newType.getFields();
|
|
350
343
|
|
|
351
|
-
var
|
|
352
|
-
|
|
353
|
-
for (var _i8 = 0; _i8 < _arr8.length; _i8++) {
|
|
354
|
-
var fieldName = _arr8[_i8];
|
|
344
|
+
for (var _i8 = 0, _Object$keys8 = Object.keys(oldTypeFieldsDef); _i8 < _Object$keys8.length; _i8++) {
|
|
345
|
+
var fieldName = _Object$keys8[_i8];
|
|
355
346
|
|
|
356
347
|
// Check if the field is missing on the type in the new schema.
|
|
357
348
|
if (!(fieldName in newTypeFieldsDef)) {
|
|
@@ -376,10 +367,8 @@ export function findFieldsThatChangedTypeOnInputObjectTypes(oldSchema, newSchema
|
|
|
376
367
|
} // Check if a field was added to the input object type
|
|
377
368
|
|
|
378
369
|
|
|
379
|
-
var
|
|
380
|
-
|
|
381
|
-
for (var _i9 = 0; _i9 < _arr9.length; _i9++) {
|
|
382
|
-
var _fieldName = _arr9[_i9];
|
|
370
|
+
for (var _i9 = 0, _Object$keys9 = Object.keys(newTypeFieldsDef); _i9 < _Object$keys9.length; _i9++) {
|
|
371
|
+
var _fieldName = _Object$keys9[_i9];
|
|
383
372
|
|
|
384
373
|
if (!(_fieldName in oldTypeFieldsDef)) {
|
|
385
374
|
if (isRequiredInputField(newTypeFieldsDef[_fieldName])) {
|
|
@@ -404,40 +393,40 @@ export function findFieldsThatChangedTypeOnInputObjectTypes(oldSchema, newSchema
|
|
|
404
393
|
}
|
|
405
394
|
|
|
406
395
|
function isChangeSafeForObjectOrInterfaceField(oldType, newType) {
|
|
407
|
-
if (
|
|
408
|
-
return (// if they're both named types, see if their names are equivalent
|
|
409
|
-
isNamedType(newType) && oldType.name === newType.name || // moving from nullable to non-null of the same underlying type is safe
|
|
410
|
-
isNonNullType(newType) && isChangeSafeForObjectOrInterfaceField(oldType, newType.ofType)
|
|
411
|
-
);
|
|
412
|
-
} else if (isListType(oldType)) {
|
|
396
|
+
if (isListType(oldType)) {
|
|
413
397
|
return (// if they're both lists, make sure the underlying types are compatible
|
|
414
398
|
isListType(newType) && isChangeSafeForObjectOrInterfaceField(oldType.ofType, newType.ofType) || // moving from nullable to non-null of the same underlying type is safe
|
|
415
399
|
isNonNullType(newType) && isChangeSafeForObjectOrInterfaceField(oldType, newType.ofType)
|
|
416
400
|
);
|
|
417
|
-
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
if (isNonNullType(oldType)) {
|
|
418
404
|
// if they're both non-null, make sure the underlying types are compatible
|
|
419
405
|
return isNonNullType(newType) && isChangeSafeForObjectOrInterfaceField(oldType.ofType, newType.ofType);
|
|
420
406
|
}
|
|
421
407
|
|
|
422
|
-
return
|
|
408
|
+
return (// if they're both named types, see if their names are equivalent
|
|
409
|
+
isNamedType(newType) && oldType.name === newType.name || // moving from nullable to non-null of the same underlying type is safe
|
|
410
|
+
isNonNullType(newType) && isChangeSafeForObjectOrInterfaceField(oldType, newType.ofType)
|
|
411
|
+
);
|
|
423
412
|
}
|
|
424
413
|
|
|
425
414
|
function isChangeSafeForInputObjectFieldOrFieldArg(oldType, newType) {
|
|
426
|
-
if (
|
|
427
|
-
// if they're both named types, see if their names are equivalent
|
|
428
|
-
return isNamedType(newType) && oldType.name === newType.name;
|
|
429
|
-
} else if (isListType(oldType)) {
|
|
415
|
+
if (isListType(oldType)) {
|
|
430
416
|
// if they're both lists, make sure the underlying types are compatible
|
|
431
417
|
return isListType(newType) && isChangeSafeForInputObjectFieldOrFieldArg(oldType.ofType, newType.ofType);
|
|
432
|
-
}
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
if (isNonNullType(oldType)) {
|
|
433
421
|
return (// if they're both non-null, make sure the underlying types are
|
|
434
422
|
// compatible
|
|
435
423
|
isNonNullType(newType) && isChangeSafeForInputObjectFieldOrFieldArg(oldType.ofType, newType.ofType) || // moving from non-null to nullable of the same underlying type is safe
|
|
436
424
|
!isNonNullType(newType) && isChangeSafeForInputObjectFieldOrFieldArg(oldType.ofType, newType)
|
|
437
425
|
);
|
|
438
|
-
}
|
|
426
|
+
} // if they're both named types, see if their names are equivalent
|
|
439
427
|
|
|
440
|
-
|
|
428
|
+
|
|
429
|
+
return isNamedType(newType) && oldType.name === newType.name;
|
|
441
430
|
}
|
|
442
431
|
/**
|
|
443
432
|
* Given two schemas, returns an Array containing descriptions of any breaking
|
|
@@ -445,15 +434,13 @@ function isChangeSafeForInputObjectFieldOrFieldArg(oldType, newType) {
|
|
|
445
434
|
*/
|
|
446
435
|
|
|
447
436
|
|
|
448
|
-
|
|
437
|
+
function findTypesRemovedFromUnions(oldSchema, newSchema) {
|
|
449
438
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
450
439
|
var newTypeMap = newSchema.getTypeMap();
|
|
451
440
|
var typesRemovedFromUnion = [];
|
|
452
441
|
|
|
453
|
-
var
|
|
454
|
-
|
|
455
|
-
for (var _i10 = 0; _i10 < _arr10.length; _i10++) {
|
|
456
|
-
var typeName = _arr10[_i10];
|
|
442
|
+
for (var _i10 = 0, _Object$keys10 = Object.keys(oldTypeMap); _i10 < _Object$keys10.length; _i10++) {
|
|
443
|
+
var typeName = _Object$keys10[_i10];
|
|
457
444
|
var oldType = oldTypeMap[typeName];
|
|
458
445
|
var newType = newTypeMap[typeName];
|
|
459
446
|
|
|
@@ -524,15 +511,14 @@ export function findTypesRemovedFromUnions(oldSchema, newSchema) {
|
|
|
524
511
|
* changes in the newSchema related to adding types to a union type.
|
|
525
512
|
*/
|
|
526
513
|
|
|
527
|
-
|
|
514
|
+
|
|
515
|
+
function findTypesAddedToUnions(oldSchema, newSchema) {
|
|
528
516
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
529
517
|
var newTypeMap = newSchema.getTypeMap();
|
|
530
518
|
var typesAddedToUnion = [];
|
|
531
519
|
|
|
532
|
-
var
|
|
533
|
-
|
|
534
|
-
for (var _i11 = 0; _i11 < _arr11.length; _i11++) {
|
|
535
|
-
var typeName = _arr11[_i11];
|
|
520
|
+
for (var _i11 = 0, _Object$keys11 = Object.keys(newTypeMap); _i11 < _Object$keys11.length; _i11++) {
|
|
521
|
+
var typeName = _Object$keys11[_i11];
|
|
536
522
|
var oldType = oldTypeMap[typeName];
|
|
537
523
|
var newType = newTypeMap[typeName];
|
|
538
524
|
|
|
@@ -603,15 +589,14 @@ export function findTypesAddedToUnions(oldSchema, newSchema) {
|
|
|
603
589
|
* changes in the newSchema related to removing values from an enum type.
|
|
604
590
|
*/
|
|
605
591
|
|
|
606
|
-
|
|
592
|
+
|
|
593
|
+
function findValuesRemovedFromEnums(oldSchema, newSchema) {
|
|
607
594
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
608
595
|
var newTypeMap = newSchema.getTypeMap();
|
|
609
596
|
var valuesRemovedFromEnums = [];
|
|
610
597
|
|
|
611
|
-
var
|
|
612
|
-
|
|
613
|
-
for (var _i12 = 0; _i12 < _arr12.length; _i12++) {
|
|
614
|
-
var typeName = _arr12[_i12];
|
|
598
|
+
for (var _i12 = 0, _Object$keys12 = Object.keys(oldTypeMap); _i12 < _Object$keys12.length; _i12++) {
|
|
599
|
+
var typeName = _Object$keys12[_i12];
|
|
615
600
|
var oldType = oldTypeMap[typeName];
|
|
616
601
|
var newType = newTypeMap[typeName];
|
|
617
602
|
|
|
@@ -682,15 +667,14 @@ export function findValuesRemovedFromEnums(oldSchema, newSchema) {
|
|
|
682
667
|
* changes in the newSchema related to adding values to an enum type.
|
|
683
668
|
*/
|
|
684
669
|
|
|
685
|
-
|
|
670
|
+
|
|
671
|
+
function findValuesAddedToEnums(oldSchema, newSchema) {
|
|
686
672
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
687
673
|
var newTypeMap = newSchema.getTypeMap();
|
|
688
674
|
var valuesAddedToEnums = [];
|
|
689
675
|
|
|
690
|
-
var
|
|
691
|
-
|
|
692
|
-
for (var _i13 = 0; _i13 < _arr13.length; _i13++) {
|
|
693
|
-
var typeName = _arr13[_i13];
|
|
676
|
+
for (var _i13 = 0, _Object$keys13 = Object.keys(oldTypeMap); _i13 < _Object$keys13.length; _i13++) {
|
|
677
|
+
var typeName = _Object$keys13[_i13];
|
|
694
678
|
var oldType = oldTypeMap[typeName];
|
|
695
679
|
var newType = newTypeMap[typeName];
|
|
696
680
|
|
|
@@ -756,15 +740,14 @@ export function findValuesAddedToEnums(oldSchema, newSchema) {
|
|
|
756
740
|
|
|
757
741
|
return valuesAddedToEnums;
|
|
758
742
|
}
|
|
759
|
-
|
|
743
|
+
|
|
744
|
+
function findInterfacesRemovedFromObjectTypes(oldSchema, newSchema) {
|
|
760
745
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
761
746
|
var newTypeMap = newSchema.getTypeMap();
|
|
762
747
|
var breakingChanges = [];
|
|
763
748
|
|
|
764
|
-
var
|
|
765
|
-
|
|
766
|
-
for (var _i14 = 0; _i14 < _arr14.length; _i14++) {
|
|
767
|
-
var typeName = _arr14[_i14];
|
|
749
|
+
for (var _i14 = 0, _Object$keys14 = Object.keys(oldTypeMap); _i14 < _Object$keys14.length; _i14++) {
|
|
750
|
+
var typeName = _Object$keys14[_i14];
|
|
768
751
|
var oldType = oldTypeMap[typeName];
|
|
769
752
|
var newType = newTypeMap[typeName];
|
|
770
753
|
|
|
@@ -813,15 +796,14 @@ export function findInterfacesRemovedFromObjectTypes(oldSchema, newSchema) {
|
|
|
813
796
|
|
|
814
797
|
return breakingChanges;
|
|
815
798
|
}
|
|
816
|
-
|
|
799
|
+
|
|
800
|
+
function findInterfacesAddedToObjectTypes(oldSchema, newSchema) {
|
|
817
801
|
var oldTypeMap = oldSchema.getTypeMap();
|
|
818
802
|
var newTypeMap = newSchema.getTypeMap();
|
|
819
803
|
var interfacesAddedToObjectTypes = [];
|
|
820
804
|
|
|
821
|
-
var
|
|
822
|
-
|
|
823
|
-
for (var _i15 = 0; _i15 < _arr15.length; _i15++) {
|
|
824
|
-
var typeName = _arr15[_i15];
|
|
805
|
+
for (var _i15 = 0, _Object$keys15 = Object.keys(newTypeMap); _i15 < _Object$keys15.length; _i15++) {
|
|
806
|
+
var typeName = _Object$keys15[_i15];
|
|
825
807
|
var oldType = oldTypeMap[typeName];
|
|
826
808
|
var newType = newTypeMap[typeName];
|
|
827
809
|
|
|
@@ -870,7 +852,8 @@ export function findInterfacesAddedToObjectTypes(oldSchema, newSchema) {
|
|
|
870
852
|
|
|
871
853
|
return interfacesAddedToObjectTypes;
|
|
872
854
|
}
|
|
873
|
-
|
|
855
|
+
|
|
856
|
+
function findRemovedDirectives(oldSchema, newSchema) {
|
|
874
857
|
var removedDirectives = [];
|
|
875
858
|
var newSchemaDirectiveMap = getDirectiveMapForSchema(newSchema);
|
|
876
859
|
var _iteratorNormalCompletion13 = true;
|
|
@@ -939,7 +922,7 @@ function findRemovedArgsForDirective(oldDirective, newDirective) {
|
|
|
939
922
|
return removedArgs;
|
|
940
923
|
}
|
|
941
924
|
|
|
942
|
-
|
|
925
|
+
function findRemovedDirectiveArgs(oldSchema, newSchema) {
|
|
943
926
|
var removedDirectiveArgs = [];
|
|
944
927
|
var oldSchemaDirectiveMap = getDirectiveMapForSchema(oldSchema);
|
|
945
928
|
var _iteratorNormalCompletion15 = true;
|
|
@@ -1033,7 +1016,7 @@ function findAddedArgsForDirective(oldDirective, newDirective) {
|
|
|
1033
1016
|
return addedArgs;
|
|
1034
1017
|
}
|
|
1035
1018
|
|
|
1036
|
-
|
|
1019
|
+
function findAddedNonNullDirectiveArgs(oldSchema, newSchema) {
|
|
1037
1020
|
var addedNonNullableArgs = [];
|
|
1038
1021
|
var oldSchemaDirectiveMap = getDirectiveMapForSchema(oldSchema);
|
|
1039
1022
|
var _iteratorNormalCompletion18 = true;
|
|
@@ -1096,7 +1079,8 @@ export function findAddedNonNullDirectiveArgs(oldSchema, newSchema) {
|
|
|
1096
1079
|
|
|
1097
1080
|
return addedNonNullableArgs;
|
|
1098
1081
|
}
|
|
1099
|
-
|
|
1082
|
+
|
|
1083
|
+
function findRemovedLocationsForDirective(oldDirective, newDirective) {
|
|
1100
1084
|
var removedLocations = [];
|
|
1101
1085
|
var newLocationSet = new Set(newDirective.locations);
|
|
1102
1086
|
var _iteratorNormalCompletion20 = true;
|
|
@@ -1128,7 +1112,8 @@ export function findRemovedLocationsForDirective(oldDirective, newDirective) {
|
|
|
1128
1112
|
|
|
1129
1113
|
return removedLocations;
|
|
1130
1114
|
}
|
|
1131
|
-
|
|
1115
|
+
|
|
1116
|
+
function findRemovedDirectiveLocations(oldSchema, newSchema) {
|
|
1132
1117
|
var removedLocations = [];
|
|
1133
1118
|
var oldSchemaDirectiveMap = getDirectiveMapForSchema(oldSchema);
|
|
1134
1119
|
var _iteratorNormalCompletion21 = true;
|
|
@@ -1199,4 +1184,4 @@ function getArgumentMapForDirective(directive) {
|
|
|
1199
1184
|
return keyMap(directive.args, function (arg) {
|
|
1200
1185
|
return arg.name;
|
|
1201
1186
|
});
|
|
1202
|
-
}
|
|
1187
|
+
}
|
|
@@ -14,7 +14,7 @@ var _definition = require("../type/definition");
|
|
|
14
14
|
var _TypeInfo = require("./TypeInfo");
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Copyright (c)
|
|
17
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
18
18
|
*
|
|
19
19
|
* This source code is licensed under the MIT license found in the
|
|
20
20
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -39,7 +39,7 @@ function findDeprecatedUsages(schema, ast) {
|
|
|
39
39
|
|
|
40
40
|
if (parentType) {
|
|
41
41
|
var reason = fieldDef.deprecationReason;
|
|
42
|
-
errors.push(new _GraphQLError.GraphQLError("The field ".concat(parentType.name, ".").concat(fieldDef.name, " is deprecated.") + (reason ? ' ' + reason : ''),
|
|
42
|
+
errors.push(new _GraphQLError.GraphQLError("The field ".concat(parentType.name, ".").concat(fieldDef.name, " is deprecated.") + (reason ? ' ' + reason : ''), node));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
},
|
|
@@ -51,10 +51,10 @@ function findDeprecatedUsages(schema, ast) {
|
|
|
51
51
|
|
|
52
52
|
if (type) {
|
|
53
53
|
var reason = enumVal.deprecationReason;
|
|
54
|
-
errors.push(new _GraphQLError.GraphQLError("The enum value ".concat(type.name, ".").concat(enumVal.name, " is deprecated.") + (reason ? ' ' + reason : ''),
|
|
54
|
+
errors.push(new _GraphQLError.GraphQLError("The enum value ".concat(type.name, ".").concat(enumVal.name, " is deprecated.") + (reason ? ' ' + reason : ''), node));
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}));
|
|
59
59
|
return errors;
|
|
60
|
-
}
|
|
60
|
+
}
|
|
@@ -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,9 +9,9 @@
|
|
|
9
9
|
|
|
10
10
|
import { GraphQLError } from '../error/GraphQLError';
|
|
11
11
|
import { visit, visitWithTypeInfo } from '../language/visitor';
|
|
12
|
-
import type
|
|
12
|
+
import { type DocumentNode } from '../language/ast';
|
|
13
13
|
import { getNamedType } from '../type/definition';
|
|
14
|
-
import type
|
|
14
|
+
import { type GraphQLSchema } from '../type/schema';
|
|
15
15
|
import { TypeInfo } from './TypeInfo';
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -39,7 +39,7 @@ export function findDeprecatedUsages(
|
|
|
39
39
|
new GraphQLError(
|
|
40
40
|
`The field ${parentType.name}.${fieldDef.name} is deprecated.` +
|
|
41
41
|
(reason ? ' ' + reason : ''),
|
|
42
|
-
|
|
42
|
+
node,
|
|
43
43
|
),
|
|
44
44
|
);
|
|
45
45
|
}
|
|
@@ -55,7 +55,7 @@ export function findDeprecatedUsages(
|
|
|
55
55
|
new GraphQLError(
|
|
56
56
|
`The enum value ${type.name}.${enumVal.name} is deprecated.` +
|
|
57
57
|
(reason ? ' ' + reason : ''),
|
|
58
|
-
|
|
58
|
+
node,
|
|
59
59
|
),
|
|
60
60
|
);
|
|
61
61
|
}
|
|
@@ -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.
|
|
@@ -28,7 +28,7 @@ export function findDeprecatedUsages(schema, ast) {
|
|
|
28
28
|
|
|
29
29
|
if (parentType) {
|
|
30
30
|
var reason = fieldDef.deprecationReason;
|
|
31
|
-
errors.push(new GraphQLError("The field ".concat(parentType.name, ".").concat(fieldDef.name, " is deprecated.") + (reason ? ' ' + reason : ''),
|
|
31
|
+
errors.push(new GraphQLError("The field ".concat(parentType.name, ".").concat(fieldDef.name, " is deprecated.") + (reason ? ' ' + reason : ''), node));
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
},
|
|
@@ -40,10 +40,10 @@ export function findDeprecatedUsages(schema, ast) {
|
|
|
40
40
|
|
|
41
41
|
if (type) {
|
|
42
42
|
var reason = enumVal.deprecationReason;
|
|
43
|
-
errors.push(new GraphQLError("The enum value ".concat(type.name, ".").concat(enumVal.name, " is deprecated.") + (reason ? ' ' + reason : ''),
|
|
43
|
+
errors.push(new GraphQLError("The enum value ".concat(type.name, ".").concat(enumVal.name, " is deprecated.") + (reason ? ' ' + reason : ''), node));
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}));
|
|
48
48
|
return errors;
|
|
49
|
-
}
|
|
49
|
+
}
|
|
@@ -8,7 +8,7 @@ exports.getOperationAST = getOperationAST;
|
|
|
8
8
|
var _kinds = require("../language/kinds");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Copyright (c)
|
|
11
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
12
12
|
*
|
|
13
13
|
* This source code is licensed under the MIT license found in the
|
|
14
14
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -44,4 +44,4 @@ function getOperationAST(documentAST, operationName) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
return operation;
|
|
47
|
-
}
|
|
47
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -8,7 +8,10 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { Kind } from '../language/kinds';
|
|
11
|
-
import
|
|
11
|
+
import {
|
|
12
|
+
type DocumentNode,
|
|
13
|
+
type OperationDefinitionNode,
|
|
14
|
+
} from '../language/ast';
|
|
12
15
|
|
|
13
16
|
/**
|
|
14
17
|
* Returns an operation AST given a document AST and optionally an operation
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -36,4 +36,4 @@ export function getOperationAST(documentAST, operationName) {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
return operation;
|
|
39
|
-
}
|
|
39
|
+
}
|
|
@@ -8,7 +8,7 @@ exports.getOperationRootType = getOperationRootType;
|
|
|
8
8
|
var _GraphQLError = require("../error/GraphQLError");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Copyright (c)
|
|
11
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
12
12
|
*
|
|
13
13
|
* This source code is licensed under the MIT license found in the
|
|
14
14
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -20,35 +20,35 @@ var _GraphQLError = require("../error/GraphQLError");
|
|
|
20
20
|
* Extracts the root type of the operation from the schema.
|
|
21
21
|
*/
|
|
22
22
|
function getOperationRootType(schema, operation) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var queryType = schema.getQueryType();
|
|
23
|
+
if (operation.operation === 'query') {
|
|
24
|
+
var queryType = schema.getQueryType();
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
if (!queryType) {
|
|
27
|
+
throw new _GraphQLError.GraphQLError('Schema does not define the required query root type.', operation);
|
|
28
|
+
}
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
case 'mutation':
|
|
34
|
-
var mutationType = schema.getMutationType();
|
|
30
|
+
return queryType;
|
|
31
|
+
}
|
|
35
32
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
33
|
+
if (operation.operation === 'mutation') {
|
|
34
|
+
var mutationType = schema.getMutationType();
|
|
39
35
|
|
|
40
|
-
|
|
36
|
+
if (!mutationType) {
|
|
37
|
+
throw new _GraphQLError.GraphQLError('Schema is not configured for mutations.', operation);
|
|
38
|
+
}
|
|
41
39
|
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
return mutationType;
|
|
41
|
+
}
|
|
44
42
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
43
|
+
if (operation.operation === 'subscription') {
|
|
44
|
+
var subscriptionType = schema.getSubscriptionType();
|
|
48
45
|
|
|
49
|
-
|
|
46
|
+
if (!subscriptionType) {
|
|
47
|
+
throw new _GraphQLError.GraphQLError('Schema is not configured for subscriptions.', operation);
|
|
48
|
+
}
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
throw new _GraphQLError.GraphQLError('Can only have query, mutation and subscription operations.', [operation]);
|
|
50
|
+
return subscriptionType;
|
|
53
51
|
}
|
|
54
|
-
|
|
52
|
+
|
|
53
|
+
throw new _GraphQLError.GraphQLError('Can only have query, mutation and subscription operations.', operation);
|
|
54
|
+
}
|