graphql 15.1.0 → 15.4.0
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 +10 -12
- package/error/GraphQLError.js +5 -5
- package/error/GraphQLError.js.flow +5 -5
- package/error/GraphQLError.mjs +1 -1
- package/error/formatError.js +1 -1
- package/error/formatError.js.flow +2 -3
- package/error/index.js +4 -4
- package/error/index.js.flow +0 -1
- package/error/locatedError.d.ts +2 -2
- package/error/locatedError.js +10 -5
- package/error/locatedError.js.flow +11 -5
- package/error/locatedError.mjs +6 -4
- package/error/syntaxError.js +1 -1
- package/error/syntaxError.js.flow +1 -2
- package/execution/execute.d.ts +24 -16
- package/execution/execute.js +123 -105
- package/execution/execute.js.flow +169 -153
- package/execution/execute.mjs +101 -82
- package/execution/index.d.ts +2 -0
- package/execution/index.js +9 -3
- package/execution/index.js.flow +12 -3
- package/execution/index.mjs +1 -1
- package/execution/values.js +11 -11
- package/execution/values.js.flow +10 -14
- package/graphql.js +5 -5
- package/graphql.js.flow +9 -9
- package/index.d.ts +19 -1
- package/index.js +27 -9
- package/index.js.flow +10 -3
- package/index.mjs +4 -3
- package/jsutils/ObjMap.js.flow +0 -1
- package/jsutils/Path.d.ts +6 -1
- package/jsutils/Path.js +3 -2
- package/jsutils/Path.js.flow +3 -2
- package/jsutils/Path.mjs +3 -2
- package/jsutils/PromiseOrValue.js.flow +0 -1
- package/jsutils/defineInspect.js +2 -2
- package/jsutils/defineInspect.js.flow +0 -1
- package/jsutils/devAssert.js.flow +0 -1
- package/jsutils/didYouMean.js.flow +0 -1
- package/jsutils/identityFunc.js.flow +0 -1
- package/jsutils/inspect.js +1 -2
- package/jsutils/inspect.js.flow +10 -8
- package/jsutils/inspect.mjs +1 -1
- package/jsutils/instanceOf.js.flow +2 -3
- package/jsutils/invariant.js.flow +0 -1
- package/jsutils/isAsyncIterable.js +19 -0
- package/jsutils/isAsyncIterable.js.flow +18 -0
- package/jsutils/isAsyncIterable.mjs +16 -0
- package/jsutils/isCollection.js +1 -1
- package/jsutils/isCollection.js.flow +0 -1
- package/jsutils/isObjectLike.js.flow +0 -1
- package/jsutils/isPromise.js.flow +0 -1
- package/jsutils/keyMap.js.flow +1 -2
- package/jsutils/keyValMap.js.flow +1 -2
- package/jsutils/mapValue.js +1 -1
- package/jsutils/mapValue.js.flow +1 -2
- package/jsutils/memoize3.js +2 -5
- package/jsutils/memoize3.js.flow +2 -5
- package/jsutils/memoize3.mjs +2 -5
- package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
- package/jsutils/printPathArray.js.flow +0 -1
- package/jsutils/promiseForObject.js.flow +1 -2
- package/jsutils/promiseReduce.js +1 -1
- package/jsutils/promiseReduce.js.flow +1 -1
- package/jsutils/promiseReduce.mjs +1 -1
- package/jsutils/suggestionList.js.flow +1 -2
- package/jsutils/toObjMap.js +1 -1
- package/jsutils/toObjMap.js.flow +5 -6
- package/language/ast.js +1 -1
- package/language/ast.js.flow +2 -3
- package/language/blockString.d.ts +1 -1
- package/language/blockString.js +53 -32
- package/language/blockString.js.flow +49 -34
- package/language/blockString.mjs +54 -33
- package/language/directiveLocation.js.flow +0 -1
- package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
- package/language/experimentalOnlineParser/grammar.js +987 -0
- package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
- package/language/experimentalOnlineParser/grammar.mjs +980 -0
- package/language/experimentalOnlineParser/index.d.ts +6 -0
- package/language/experimentalOnlineParser/index.js +31 -0
- package/language/experimentalOnlineParser/index.js.flow +7 -0
- package/language/experimentalOnlineParser/index.mjs +1 -0
- package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
- package/language/experimentalOnlineParser/onlineParser.js +604 -0
- package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
- package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
- package/language/index.js +12 -12
- package/language/index.js.flow +0 -1
- package/language/kinds.js.flow +0 -1
- package/language/lexer.js +242 -183
- package/language/lexer.js.flow +191 -186
- package/language/lexer.mjs +239 -180
- package/language/location.js.flow +1 -2
- package/language/parser.js +73 -68
- package/language/parser.js.flow +112 -106
- package/language/parser.mjs +66 -62
- package/language/predicates.js +1 -1
- package/language/predicates.js.flow +1 -2
- package/language/printLocation.js +1 -1
- package/language/printLocation.js.flow +4 -4
- package/language/printer.js +20 -13
- package/language/printer.js.flow +27 -25
- package/language/printer.mjs +18 -11
- package/language/source.d.ts +12 -6
- package/language/source.js +25 -9
- package/language/source.js.flow +25 -8
- package/language/source.mjs +19 -7
- package/language/tokenKind.js.flow +0 -1
- package/language/visitor.d.ts +3 -3
- package/language/visitor.js +5 -5
- package/language/visitor.js.flow +5 -5
- package/language/visitor.mjs +3 -3
- package/package.json +1 -1
- package/polyfills/arrayFrom.js +2 -2
- package/polyfills/arrayFrom.js.flow +1 -2
- package/polyfills/arrayFrom.mjs +1 -1
- package/polyfills/find.js +1 -1
- package/polyfills/find.js.flow +1 -2
- package/polyfills/find.mjs +1 -1
- package/polyfills/isFinite.js +1 -1
- package/polyfills/isFinite.js.flow +1 -2
- package/polyfills/isFinite.mjs +1 -1
- package/polyfills/isInteger.js +1 -1
- package/polyfills/isInteger.js.flow +1 -2
- package/polyfills/isInteger.mjs +1 -1
- package/polyfills/objectEntries.js +1 -1
- package/polyfills/objectEntries.js.flow +2 -3
- package/polyfills/objectEntries.mjs +1 -1
- package/polyfills/objectValues.js +1 -1
- package/polyfills/objectValues.js.flow +2 -3
- package/polyfills/objectValues.mjs +1 -1
- package/polyfills/symbols.js +3 -5
- package/polyfills/symbols.js.flow +9 -6
- package/polyfills/symbols.mjs +3 -5
- package/subscription/index.js +1 -1
- package/subscription/index.js.flow +0 -1
- package/subscription/mapAsyncIterator.js +2 -2
- package/subscription/mapAsyncIterator.js.flow +9 -10
- package/subscription/mapAsyncIterator.mjs +1 -1
- package/subscription/subscribe.js +61 -73
- package/subscription/subscribe.js.flow +74 -88
- package/subscription/subscribe.mjs +53 -65
- package/type/definition.d.ts +181 -31
- package/type/definition.js +37 -32
- package/type/definition.js.flow +66 -51
- package/type/definition.mjs +20 -18
- package/type/directives.d.ts +17 -3
- package/type/directives.js +17 -16
- package/type/directives.js.flow +20 -21
- package/type/directives.mjs +6 -5
- package/type/index.d.ts +12 -0
- package/type/index.js +6 -6
- package/type/index.js.flow +0 -1
- package/type/introspection.js +86 -68
- package/type/introspection.js.flow +85 -54
- package/type/introspection.mjs +79 -61
- package/type/scalars.js +9 -9
- package/type/scalars.js.flow +3 -3
- package/type/scalars.mjs +1 -1
- package/type/schema.d.ts +17 -4
- package/type/schema.js +13 -13
- package/type/schema.js.flow +18 -16
- package/type/schema.mjs +1 -1
- package/type/validate.js +52 -19
- package/type/validate.js.flow +67 -18
- package/type/validate.mjs +44 -10
- package/utilities/TypeInfo.js +7 -7
- package/utilities/TypeInfo.js.flow +16 -18
- package/utilities/TypeInfo.mjs +1 -1
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +0 -1
- package/utilities/astFromValue.js +10 -10
- package/utilities/astFromValue.js.flow +2 -3
- package/utilities/buildASTSchema.js +17 -27
- package/utilities/buildASTSchema.js.flow +11 -28
- package/utilities/buildASTSchema.mjs +11 -21
- package/utilities/buildClientSchema.js +14 -14
- package/utilities/buildClientSchema.js.flow +41 -29
- package/utilities/buildClientSchema.mjs +5 -5
- package/utilities/coerceInputValue.js +14 -14
- package/utilities/coerceInputValue.js.flow +7 -6
- package/utilities/coerceInputValue.mjs +2 -2
- package/utilities/concatAST.js +9 -8
- package/utilities/concatAST.js.flow +9 -9
- package/utilities/concatAST.mjs +9 -6
- package/utilities/extendSchema.js +26 -19
- package/utilities/extendSchema.js.flow +58 -45
- package/utilities/extendSchema.mjs +9 -2
- package/utilities/findBreakingChanges.js +9 -9
- package/utilities/findBreakingChanges.js.flow +12 -11
- package/utilities/findDeprecatedUsages.d.ts +9 -1
- package/utilities/findDeprecatedUsages.js +11 -27
- package/utilities/findDeprecatedUsages.js.flow +15 -44
- package/utilities/findDeprecatedUsages.mjs +11 -25
- package/utilities/getIntrospectionQuery.js.flow +2 -3
- package/utilities/getOperationAST.js +1 -1
- package/utilities/getOperationAST.js.flow +1 -5
- package/utilities/getOperationAST.mjs +1 -1
- package/utilities/getOperationRootType.js +1 -1
- package/utilities/getOperationRootType.js.flow +5 -6
- package/utilities/index.d.ts +4 -1
- package/utilities/index.js +22 -22
- package/utilities/index.js.flow +1 -2
- package/utilities/index.mjs +1 -1
- package/utilities/introspectionFromSchema.js +6 -8
- package/utilities/introspectionFromSchema.js.flow +10 -10
- package/utilities/introspectionFromSchema.mjs +3 -4
- package/utilities/lexicographicSortSchema.js +10 -8
- package/utilities/lexicographicSortSchema.js.flow +19 -12
- package/utilities/lexicographicSortSchema.mjs +3 -1
- package/utilities/printSchema.js +15 -16
- package/utilities/printSchema.js.flow +34 -25
- package/utilities/printSchema.mjs +6 -7
- package/utilities/separateOperations.js +2 -2
- package/utilities/separateOperations.js.flow +2 -6
- package/utilities/separateOperations.mjs +1 -1
- package/utilities/stripIgnoredCharacters.js +6 -16
- package/utilities/stripIgnoredCharacters.js.flow +4 -13
- package/utilities/stripIgnoredCharacters.mjs +3 -10
- package/utilities/typeComparators.js +1 -1
- package/utilities/typeComparators.js.flow +2 -4
- package/utilities/typeFromAST.js +6 -6
- package/utilities/typeFromAST.js.flow +11 -14
- package/utilities/typeFromAST.mjs +2 -2
- package/utilities/typedQueryDocumentNode.d.ts +20 -0
- package/utilities/valueFromAST.js +6 -6
- package/utilities/valueFromAST.js.flow +7 -5
- package/utilities/valueFromASTUntyped.js +4 -4
- package/utilities/valueFromASTUntyped.js.flow +2 -3
- package/validation/ValidationContext.d.ts +3 -0
- package/validation/ValidationContext.js +7 -3
- package/validation/ValidationContext.js.flow +28 -22
- package/validation/ValidationContext.mjs +4 -0
- package/validation/index.d.ts +4 -0
- package/validation/index.js +52 -36
- package/validation/index.js.flow +4 -1
- package/validation/index.mjs +4 -1
- package/validation/rules/ExecutableDefinitions.js +1 -1
- package/validation/rules/ExecutableDefinitions.js.flow +0 -1
- package/validation/rules/ExecutableDefinitionsRule.js +3 -3
- package/validation/rules/ExecutableDefinitionsRule.js.flow +2 -3
- package/validation/rules/FieldsOnCorrectTypeRule.js +5 -5
- package/validation/rules/FieldsOnCorrectTypeRule.js.flow +9 -8
- package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +2 -3
- package/validation/rules/KnownArgumentNamesRule.js +5 -5
- package/validation/rules/KnownArgumentNamesRule.js.flow +5 -5
- package/validation/rules/KnownDirectivesRule.js +6 -6
- package/validation/rules/KnownDirectivesRule.js.flow +10 -11
- package/validation/rules/KnownFragmentNamesRule.js +1 -1
- package/validation/rules/KnownFragmentNamesRule.js.flow +3 -3
- package/validation/rules/KnownTypeNamesRule.js +12 -10
- package/validation/rules/KnownTypeNamesRule.js.flow +14 -11
- package/validation/rules/KnownTypeNamesRule.mjs +6 -5
- package/validation/rules/LoneAnonymousOperationRule.js +2 -2
- package/validation/rules/LoneAnonymousOperationRule.js.flow +2 -3
- package/validation/rules/LoneSchemaDefinition.js +1 -1
- package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
- package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.js.flow +2 -3
- package/validation/rules/NoFragmentCyclesRule.js +1 -1
- package/validation/rules/NoFragmentCyclesRule.js.flow +4 -5
- package/validation/rules/NoUndefinedVariablesRule.js +1 -1
- package/validation/rules/NoUndefinedVariablesRule.js.flow +3 -3
- package/validation/rules/NoUnusedFragmentsRule.js +1 -1
- package/validation/rules/NoUnusedFragmentsRule.js.flow +3 -3
- package/validation/rules/NoUnusedVariablesRule.js +1 -1
- package/validation/rules/NoUnusedVariablesRule.js.flow +3 -3
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +29 -27
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
- package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
- package/validation/rules/PossibleFragmentSpreadsRule.js.flow +7 -4
- package/validation/rules/PossibleTypeExtensions.js +1 -1
- package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
- package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
- package/validation/rules/PossibleTypeExtensionsRule.js.flow +8 -6
- package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
- package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +7 -6
- package/validation/rules/ScalarLeafsRule.js +3 -3
- package/validation/rules/ScalarLeafsRule.js.flow +3 -4
- package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js.flow +3 -4
- package/validation/rules/UniqueArgumentNamesRule.js +1 -1
- package/validation/rules/UniqueArgumentNamesRule.js.flow +2 -3
- package/validation/rules/UniqueDirectiveNames.js +1 -1
- package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.js +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.js.flow +2 -3
- package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
- package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +4 -5
- package/validation/rules/UniqueEnumValueNames.js +1 -1
- package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
- package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.js.flow +11 -4
- package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +17 -6
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js.flow +3 -3
- package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.js.flow +3 -3
- package/validation/rules/UniqueOperationNamesRule.js +1 -1
- package/validation/rules/UniqueOperationNamesRule.js.flow +3 -3
- package/validation/rules/UniqueOperationTypes.js +1 -1
- package/validation/rules/UniqueOperationTypes.js.flow +0 -1
- package/validation/rules/UniqueOperationTypesRule.js +1 -1
- package/validation/rules/UniqueOperationTypesRule.js.flow +10 -4
- package/validation/rules/UniqueTypeNames.js +1 -1
- package/validation/rules/UniqueTypeNames.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.js +1 -1
- package/validation/rules/UniqueTypeNamesRule.js.flow +3 -4
- package/validation/rules/UniqueVariableNamesRule.js +1 -1
- package/validation/rules/UniqueVariableNamesRule.js.flow +3 -4
- package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
- package/validation/rules/ValuesOfCorrectTypeRule.js.flow +3 -4
- package/validation/rules/VariablesAreInputTypesRule.js +4 -4
- package/validation/rules/VariablesAreInputTypesRule.js.flow +3 -4
- package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
- package/validation/rules/VariablesInAllowedPositionRule.js.flow +6 -6
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +14 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +79 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +94 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +68 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +16 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +34 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +38 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +25 -0
- package/validation/specifiedRules.js +33 -33
- package/validation/specifiedRules.js.flow +0 -1
- package/validation/validate.js +7 -7
- package/validation/validate.js.flow +4 -9
- package/version.js +2 -2
- package/version.js.flow +2 -3
- package/version.mjs +2 -2
- package/polyfills/flatMap.js +0 -30
- package/polyfills/flatMap.js.flow +0 -28
- package/polyfills/flatMap.mjs +0 -23
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import arrayFrom from '../polyfills/arrayFrom';
|
|
4
3
|
import objectValues from '../polyfills/objectValues';
|
|
5
4
|
|
|
5
|
+
import type { Path } from '../jsutils/Path';
|
|
6
6
|
import inspect from '../jsutils/inspect';
|
|
7
7
|
import invariant from '../jsutils/invariant';
|
|
8
8
|
import didYouMean from '../jsutils/didYouMean';
|
|
@@ -10,11 +10,12 @@ import isObjectLike from '../jsutils/isObjectLike';
|
|
|
10
10
|
import isCollection from '../jsutils/isCollection';
|
|
11
11
|
import suggestionList from '../jsutils/suggestionList';
|
|
12
12
|
import printPathArray from '../jsutils/printPathArray';
|
|
13
|
-
import {
|
|
13
|
+
import { addPath, pathToArray } from '../jsutils/Path';
|
|
14
14
|
|
|
15
15
|
import { GraphQLError } from '../error/GraphQLError';
|
|
16
|
+
|
|
17
|
+
import type { GraphQLInputType } from '../type/definition';
|
|
16
18
|
import {
|
|
17
|
-
type GraphQLInputType,
|
|
18
19
|
isLeafType,
|
|
19
20
|
isInputObjectType,
|
|
20
21
|
isListType,
|
|
@@ -42,7 +43,7 @@ function defaultOnError(
|
|
|
42
43
|
path: $ReadOnlyArray<string | number>,
|
|
43
44
|
invalidValue: mixed,
|
|
44
45
|
error: GraphQLError,
|
|
45
|
-
) {
|
|
46
|
+
): void {
|
|
46
47
|
let errorPrefix = 'Invalid value ' + inspect(invalidValue);
|
|
47
48
|
if (path.length > 0) {
|
|
48
49
|
errorPrefix += ` at "value${printPathArray(path)}"`;
|
|
@@ -80,7 +81,7 @@ function coerceInputValueImpl(
|
|
|
80
81
|
const itemType = type.ofType;
|
|
81
82
|
if (isCollection(inputValue)) {
|
|
82
83
|
return arrayFrom(inputValue, (itemValue, index) => {
|
|
83
|
-
const itemPath = addPath(path, index);
|
|
84
|
+
const itemPath = addPath(path, index, undefined);
|
|
84
85
|
return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
|
|
85
86
|
});
|
|
86
87
|
}
|
|
@@ -124,7 +125,7 @@ function coerceInputValueImpl(
|
|
|
124
125
|
fieldValue,
|
|
125
126
|
field.type,
|
|
126
127
|
onError,
|
|
127
|
-
addPath(path, field.name),
|
|
128
|
+
addPath(path, field.name, type.name),
|
|
128
129
|
);
|
|
129
130
|
}
|
|
130
131
|
|
|
@@ -50,7 +50,7 @@ function coerceInputValueImpl(inputValue, type, onError, path) {
|
|
|
50
50
|
|
|
51
51
|
if (isCollection(inputValue)) {
|
|
52
52
|
return arrayFrom(inputValue, function (itemValue, index) {
|
|
53
|
-
var itemPath = addPath(path, index);
|
|
53
|
+
var itemPath = addPath(path, index, undefined);
|
|
54
54
|
return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
|
|
55
55
|
});
|
|
56
56
|
} // Lists accept a non-list value as a list of one.
|
|
@@ -83,7 +83,7 @@ function coerceInputValueImpl(inputValue, type, onError, path) {
|
|
|
83
83
|
continue;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
coercedValue[field.name] = coerceInputValueImpl(fieldValue, field.type, onError, addPath(path, field.name));
|
|
86
|
+
coercedValue[field.name] = coerceInputValueImpl(fieldValue, field.type, onError, addPath(path, field.name, type.name));
|
|
87
87
|
} // Ensure every provided field is defined.
|
|
88
88
|
|
|
89
89
|
|
package/utilities/concatAST.js
CHANGED
|
@@ -5,20 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.concatAST = concatAST;
|
|
7
7
|
|
|
8
|
-
var _flatMap = _interopRequireDefault(require("../polyfills/flatMap"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
8
|
/**
|
|
13
9
|
* Provided a collection of ASTs, presumably each from different files,
|
|
14
10
|
* concatenate the ASTs together into batched AST, useful for validating many
|
|
15
11
|
* GraphQL source files which together represent one conceptual application.
|
|
16
12
|
*/
|
|
17
|
-
function concatAST(
|
|
13
|
+
function concatAST(documents) {
|
|
14
|
+
var definitions = [];
|
|
15
|
+
|
|
16
|
+
for (var _i2 = 0; _i2 < documents.length; _i2++) {
|
|
17
|
+
var doc = documents[_i2];
|
|
18
|
+
definitions = definitions.concat(doc.definitions);
|
|
19
|
+
}
|
|
20
|
+
|
|
18
21
|
return {
|
|
19
22
|
kind: 'Document',
|
|
20
|
-
definitions:
|
|
21
|
-
return ast.definitions;
|
|
22
|
-
})
|
|
23
|
+
definitions: definitions
|
|
23
24
|
};
|
|
24
25
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
|
-
import flatMap from '../polyfills/flatMap';
|
|
4
|
-
|
|
5
|
-
import { type DocumentNode } from '../language/ast';
|
|
2
|
+
import type { DocumentNode } from '../language/ast';
|
|
6
3
|
|
|
7
4
|
/**
|
|
8
5
|
* Provided a collection of ASTs, presumably each from different files,
|
|
9
6
|
* concatenate the ASTs together into batched AST, useful for validating many
|
|
10
7
|
* GraphQL source files which together represent one conceptual application.
|
|
11
8
|
*/
|
|
12
|
-
export function concatAST(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
export function concatAST(
|
|
10
|
+
documents: $ReadOnlyArray<DocumentNode>,
|
|
11
|
+
): DocumentNode {
|
|
12
|
+
let definitions = [];
|
|
13
|
+
for (const doc of documents) {
|
|
14
|
+
definitions = definitions.concat(doc.definitions);
|
|
15
|
+
}
|
|
16
|
+
return { kind: 'Document', definitions };
|
|
17
17
|
}
|
package/utilities/concatAST.mjs
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import flatMap from "../polyfills/flatMap.mjs";
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Provided a collection of ASTs, presumably each from different files,
|
|
5
3
|
* concatenate the ASTs together into batched AST, useful for validating many
|
|
6
4
|
* GraphQL source files which together represent one conceptual application.
|
|
7
5
|
*/
|
|
8
|
-
export function concatAST(
|
|
6
|
+
export function concatAST(documents) {
|
|
7
|
+
var definitions = [];
|
|
8
|
+
|
|
9
|
+
for (var _i2 = 0; _i2 < documents.length; _i2++) {
|
|
10
|
+
var doc = documents[_i2];
|
|
11
|
+
definitions = definitions.concat(doc.definitions);
|
|
12
|
+
}
|
|
13
|
+
|
|
9
14
|
return {
|
|
10
15
|
kind: 'Document',
|
|
11
|
-
definitions:
|
|
12
|
-
return ast.definitions;
|
|
13
|
-
})
|
|
16
|
+
definitions: definitions
|
|
14
17
|
};
|
|
15
18
|
}
|
|
@@ -7,41 +7,41 @@ exports.extendSchema = extendSchema;
|
|
|
7
7
|
exports.extendSchemaImpl = extendSchemaImpl;
|
|
8
8
|
exports.getDescription = getDescription;
|
|
9
9
|
|
|
10
|
-
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
|
|
10
|
+
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
|
|
11
11
|
|
|
12
|
-
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
|
|
12
|
+
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap.js"));
|
|
13
13
|
|
|
14
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
14
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
15
15
|
|
|
16
|
-
var _mapValue = _interopRequireDefault(require("../jsutils/mapValue"));
|
|
16
|
+
var _mapValue = _interopRequireDefault(require("../jsutils/mapValue.js"));
|
|
17
17
|
|
|
18
|
-
var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
18
|
+
var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
|
|
19
19
|
|
|
20
|
-
var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
|
|
20
|
+
var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
|
|
21
21
|
|
|
22
|
-
var _kinds = require("../language/kinds");
|
|
22
|
+
var _kinds = require("../language/kinds.js");
|
|
23
23
|
|
|
24
|
-
var _tokenKind = require("../language/tokenKind");
|
|
24
|
+
var _tokenKind = require("../language/tokenKind.js");
|
|
25
25
|
|
|
26
|
-
var _blockString = require("../language/blockString");
|
|
26
|
+
var _blockString = require("../language/blockString.js");
|
|
27
27
|
|
|
28
|
-
var _predicates = require("../language/predicates");
|
|
28
|
+
var _predicates = require("../language/predicates.js");
|
|
29
29
|
|
|
30
|
-
var _validate = require("../validation/validate");
|
|
30
|
+
var _validate = require("../validation/validate.js");
|
|
31
31
|
|
|
32
|
-
var _values = require("../execution/values");
|
|
32
|
+
var _values = require("../execution/values.js");
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _schema = require("../type/schema.js");
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _scalars = require("../type/scalars.js");
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _introspection = require("../type/introspection.js");
|
|
39
39
|
|
|
40
|
-
var
|
|
40
|
+
var _directives = require("../type/directives.js");
|
|
41
41
|
|
|
42
|
-
var _definition = require("../type/definition");
|
|
42
|
+
var _definition = require("../type/definition.js");
|
|
43
43
|
|
|
44
|
-
var _valueFromAST = require("./valueFromAST");
|
|
44
|
+
var _valueFromAST = require("./valueFromAST.js");
|
|
45
45
|
|
|
46
46
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
47
47
|
|
|
@@ -160,8 +160,12 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
160
160
|
|
|
161
161
|
function replaceType(type) {
|
|
162
162
|
if ((0, _definition.isListType)(type)) {
|
|
163
|
+
// $FlowFixMe[incompatible-return]
|
|
163
164
|
return new _definition.GraphQLList(replaceType(type.ofType));
|
|
164
|
-
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if ((0, _definition.isNonNullType)(type)) {
|
|
168
|
+
// $FlowFixMe[incompatible-return]
|
|
165
169
|
return new _definition.GraphQLNonNull(replaceType(type.ofType));
|
|
166
170
|
}
|
|
167
171
|
|
|
@@ -313,6 +317,7 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
313
317
|
function extendField(field) {
|
|
314
318
|
return _objectSpread(_objectSpread({}, field), {}, {
|
|
315
319
|
type: replaceType(field.type),
|
|
320
|
+
// $FlowFixMe[incompatible-call]
|
|
316
321
|
args: (0, _mapValue.default)(field.args, extendArg)
|
|
317
322
|
});
|
|
318
323
|
}
|
|
@@ -428,6 +433,7 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
428
433
|
type: type,
|
|
429
434
|
description: getDescription(arg, options),
|
|
430
435
|
defaultValue: (0, _valueFromAST.valueFromAST)(arg.defaultValue, type),
|
|
436
|
+
deprecationReason: getDeprecationReason(arg),
|
|
431
437
|
astNode: arg
|
|
432
438
|
};
|
|
433
439
|
}
|
|
@@ -455,6 +461,7 @@ function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
455
461
|
type: type,
|
|
456
462
|
description: getDescription(field, options),
|
|
457
463
|
defaultValue: (0, _valueFromAST.valueFromAST)(field.defaultValue, type),
|
|
464
|
+
deprecationReason: getDeprecationReason(field),
|
|
458
465
|
astNode: field
|
|
459
466
|
};
|
|
460
467
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import objectValues from '../polyfills/objectValues';
|
|
4
3
|
|
|
5
4
|
import keyMap from '../jsutils/keyMap';
|
|
@@ -8,45 +7,60 @@ import mapValue from '../jsutils/mapValue';
|
|
|
8
7
|
import invariant from '../jsutils/invariant';
|
|
9
8
|
import devAssert from '../jsutils/devAssert';
|
|
10
9
|
|
|
10
|
+
import type { DirectiveLocationEnum } from '../language/directiveLocation';
|
|
11
|
+
import type {
|
|
12
|
+
Location,
|
|
13
|
+
DocumentNode,
|
|
14
|
+
StringValueNode,
|
|
15
|
+
TypeNode,
|
|
16
|
+
NamedTypeNode,
|
|
17
|
+
SchemaDefinitionNode,
|
|
18
|
+
SchemaExtensionNode,
|
|
19
|
+
TypeDefinitionNode,
|
|
20
|
+
InterfaceTypeDefinitionNode,
|
|
21
|
+
InterfaceTypeExtensionNode,
|
|
22
|
+
ObjectTypeDefinitionNode,
|
|
23
|
+
ObjectTypeExtensionNode,
|
|
24
|
+
UnionTypeDefinitionNode,
|
|
25
|
+
UnionTypeExtensionNode,
|
|
26
|
+
FieldDefinitionNode,
|
|
27
|
+
InputObjectTypeDefinitionNode,
|
|
28
|
+
InputObjectTypeExtensionNode,
|
|
29
|
+
InputValueDefinitionNode,
|
|
30
|
+
EnumTypeDefinitionNode,
|
|
31
|
+
EnumTypeExtensionNode,
|
|
32
|
+
EnumValueDefinitionNode,
|
|
33
|
+
DirectiveDefinitionNode,
|
|
34
|
+
ScalarTypeDefinitionNode,
|
|
35
|
+
ScalarTypeExtensionNode,
|
|
36
|
+
} from '../language/ast';
|
|
11
37
|
import { Kind } from '../language/kinds';
|
|
12
38
|
import { TokenKind } from '../language/tokenKind';
|
|
13
39
|
import { dedentBlockStringValue } from '../language/blockString';
|
|
14
|
-
import { type DirectiveLocationEnum } from '../language/directiveLocation';
|
|
15
40
|
import {
|
|
16
41
|
isTypeDefinitionNode,
|
|
17
42
|
isTypeExtensionNode,
|
|
18
43
|
} from '../language/predicates';
|
|
19
|
-
import {
|
|
20
|
-
type Location,
|
|
21
|
-
type DocumentNode,
|
|
22
|
-
type StringValueNode,
|
|
23
|
-
type TypeNode,
|
|
24
|
-
type NamedTypeNode,
|
|
25
|
-
type SchemaDefinitionNode,
|
|
26
|
-
type SchemaExtensionNode,
|
|
27
|
-
type TypeDefinitionNode,
|
|
28
|
-
type InterfaceTypeDefinitionNode,
|
|
29
|
-
type InterfaceTypeExtensionNode,
|
|
30
|
-
type ObjectTypeDefinitionNode,
|
|
31
|
-
type ObjectTypeExtensionNode,
|
|
32
|
-
type UnionTypeDefinitionNode,
|
|
33
|
-
type UnionTypeExtensionNode,
|
|
34
|
-
type FieldDefinitionNode,
|
|
35
|
-
type InputObjectTypeDefinitionNode,
|
|
36
|
-
type InputObjectTypeExtensionNode,
|
|
37
|
-
type InputValueDefinitionNode,
|
|
38
|
-
type EnumTypeDefinitionNode,
|
|
39
|
-
type EnumTypeExtensionNode,
|
|
40
|
-
type EnumValueDefinitionNode,
|
|
41
|
-
type DirectiveDefinitionNode,
|
|
42
|
-
type ScalarTypeDefinitionNode,
|
|
43
|
-
type ScalarTypeExtensionNode,
|
|
44
|
-
} from '../language/ast';
|
|
45
44
|
|
|
46
45
|
import { assertValidSDLExtension } from '../validation/validate';
|
|
47
46
|
|
|
48
47
|
import { getDirectiveValues } from '../execution/values';
|
|
49
48
|
|
|
49
|
+
import type {
|
|
50
|
+
GraphQLSchemaValidationOptions,
|
|
51
|
+
GraphQLSchemaNormalizedConfig,
|
|
52
|
+
} from '../type/schema';
|
|
53
|
+
import type {
|
|
54
|
+
GraphQLType,
|
|
55
|
+
GraphQLNamedType,
|
|
56
|
+
GraphQLFieldConfig,
|
|
57
|
+
GraphQLFieldConfigMap,
|
|
58
|
+
GraphQLArgumentConfig,
|
|
59
|
+
GraphQLFieldConfigArgumentMap,
|
|
60
|
+
GraphQLEnumValueConfigMap,
|
|
61
|
+
GraphQLInputFieldConfigMap,
|
|
62
|
+
} from '../type/definition';
|
|
63
|
+
import { assertSchema, GraphQLSchema } from '../type/schema';
|
|
50
64
|
import { specifiedScalarTypes, isSpecifiedScalarType } from '../type/scalars';
|
|
51
65
|
import { introspectionTypes, isIntrospectionType } from '../type/introspection';
|
|
52
66
|
import {
|
|
@@ -55,18 +69,6 @@ import {
|
|
|
55
69
|
GraphQLSpecifiedByDirective,
|
|
56
70
|
} from '../type/directives';
|
|
57
71
|
import {
|
|
58
|
-
type GraphQLSchemaValidationOptions,
|
|
59
|
-
assertSchema,
|
|
60
|
-
GraphQLSchema,
|
|
61
|
-
type GraphQLSchemaNormalizedConfig,
|
|
62
|
-
} from '../type/schema';
|
|
63
|
-
import {
|
|
64
|
-
type GraphQLType,
|
|
65
|
-
type GraphQLNamedType,
|
|
66
|
-
type GraphQLFieldConfigMap,
|
|
67
|
-
type GraphQLEnumValueConfigMap,
|
|
68
|
-
type GraphQLInputFieldConfigMap,
|
|
69
|
-
type GraphQLFieldConfigArgumentMap,
|
|
70
72
|
isScalarType,
|
|
71
73
|
isObjectType,
|
|
72
74
|
isInterfaceType,
|
|
@@ -238,10 +240,13 @@ export function extendSchemaImpl(
|
|
|
238
240
|
// Below are functions used for producing this schema that have closed over
|
|
239
241
|
// this scope and have access to the schema, cache, and newly defined types.
|
|
240
242
|
|
|
241
|
-
function replaceType(type) {
|
|
243
|
+
function replaceType<T: GraphQLType>(type: T): T {
|
|
242
244
|
if (isListType(type)) {
|
|
245
|
+
// $FlowFixMe[incompatible-return]
|
|
243
246
|
return new GraphQLList(replaceType(type.ofType));
|
|
244
|
-
}
|
|
247
|
+
}
|
|
248
|
+
if (isNonNullType(type)) {
|
|
249
|
+
// $FlowFixMe[incompatible-return]
|
|
245
250
|
return new GraphQLNonNull(replaceType(type.ofType));
|
|
246
251
|
}
|
|
247
252
|
return replaceNamedType(type);
|
|
@@ -392,15 +397,18 @@ export function extendSchemaImpl(
|
|
|
392
397
|
});
|
|
393
398
|
}
|
|
394
399
|
|
|
395
|
-
function extendField(
|
|
400
|
+
function extendField(
|
|
401
|
+
field: GraphQLFieldConfig<mixed, mixed>,
|
|
402
|
+
): GraphQLFieldConfig<mixed, mixed> {
|
|
396
403
|
return {
|
|
397
404
|
...field,
|
|
398
405
|
type: replaceType(field.type),
|
|
406
|
+
// $FlowFixMe[incompatible-call]
|
|
399
407
|
args: mapValue(field.args, extendArg),
|
|
400
408
|
};
|
|
401
409
|
}
|
|
402
410
|
|
|
403
|
-
function extendArg(arg) {
|
|
411
|
+
function extendArg(arg: GraphQLArgumentConfig) {
|
|
404
412
|
return {
|
|
405
413
|
...arg,
|
|
406
414
|
type: replaceType(arg.type),
|
|
@@ -511,6 +519,7 @@ export function extendSchemaImpl(
|
|
|
511
519
|
type,
|
|
512
520
|
description: getDescription(arg, options),
|
|
513
521
|
defaultValue: valueFromAST(arg.defaultValue, type),
|
|
522
|
+
deprecationReason: getDeprecationReason(arg),
|
|
514
523
|
astNode: arg,
|
|
515
524
|
};
|
|
516
525
|
}
|
|
@@ -537,6 +546,7 @@ export function extendSchemaImpl(
|
|
|
537
546
|
type,
|
|
538
547
|
description: getDescription(field, options),
|
|
539
548
|
defaultValue: valueFromAST(field.defaultValue, type),
|
|
549
|
+
deprecationReason: getDeprecationReason(field),
|
|
540
550
|
astNode: field,
|
|
541
551
|
};
|
|
542
552
|
}
|
|
@@ -705,7 +715,10 @@ const stdTypeMap = keyMap(
|
|
|
705
715
|
* deprecation reason.
|
|
706
716
|
*/
|
|
707
717
|
function getDeprecationReason(
|
|
708
|
-
node:
|
|
718
|
+
node:
|
|
719
|
+
| EnumValueDefinitionNode
|
|
720
|
+
| FieldDefinitionNode
|
|
721
|
+
| InputValueDefinitionNode,
|
|
709
722
|
): ?string {
|
|
710
723
|
const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);
|
|
711
724
|
return (deprecated?.reason: any);
|
|
@@ -16,10 +16,10 @@ import { dedentBlockStringValue } from "../language/blockString.mjs";
|
|
|
16
16
|
import { isTypeDefinitionNode, isTypeExtensionNode } from "../language/predicates.mjs";
|
|
17
17
|
import { assertValidSDLExtension } from "../validation/validate.mjs";
|
|
18
18
|
import { getDirectiveValues } from "../execution/values.mjs";
|
|
19
|
+
import { assertSchema, GraphQLSchema } from "../type/schema.mjs";
|
|
19
20
|
import { specifiedScalarTypes, isSpecifiedScalarType } from "../type/scalars.mjs";
|
|
20
21
|
import { introspectionTypes, isIntrospectionType } from "../type/introspection.mjs";
|
|
21
22
|
import { GraphQLDirective, GraphQLDeprecatedDirective, GraphQLSpecifiedByDirective } from "../type/directives.mjs";
|
|
22
|
-
import { assertSchema, GraphQLSchema } from "../type/schema.mjs";
|
|
23
23
|
import { isScalarType, isObjectType, isInterfaceType, isUnionType, isListType, isNonNullType, isEnumType, isInputObjectType, GraphQLList, GraphQLNonNull, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType } from "../type/definition.mjs";
|
|
24
24
|
import { valueFromAST } from "./valueFromAST.mjs";
|
|
25
25
|
|
|
@@ -131,8 +131,12 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
131
131
|
|
|
132
132
|
function replaceType(type) {
|
|
133
133
|
if (isListType(type)) {
|
|
134
|
+
// $FlowFixMe[incompatible-return]
|
|
134
135
|
return new GraphQLList(replaceType(type.ofType));
|
|
135
|
-
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (isNonNullType(type)) {
|
|
139
|
+
// $FlowFixMe[incompatible-return]
|
|
136
140
|
return new GraphQLNonNull(replaceType(type.ofType));
|
|
137
141
|
}
|
|
138
142
|
|
|
@@ -284,6 +288,7 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
284
288
|
function extendField(field) {
|
|
285
289
|
return _objectSpread(_objectSpread({}, field), {}, {
|
|
286
290
|
type: replaceType(field.type),
|
|
291
|
+
// $FlowFixMe[incompatible-call]
|
|
287
292
|
args: mapValue(field.args, extendArg)
|
|
288
293
|
});
|
|
289
294
|
}
|
|
@@ -399,6 +404,7 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
399
404
|
type: type,
|
|
400
405
|
description: getDescription(arg, options),
|
|
401
406
|
defaultValue: valueFromAST(arg.defaultValue, type),
|
|
407
|
+
deprecationReason: getDeprecationReason(arg),
|
|
402
408
|
astNode: arg
|
|
403
409
|
};
|
|
404
410
|
}
|
|
@@ -426,6 +432,7 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
426
432
|
type: type,
|
|
427
433
|
description: getDescription(field, options),
|
|
428
434
|
defaultValue: valueFromAST(field.defaultValue, type),
|
|
435
|
+
deprecationReason: getDeprecationReason(field),
|
|
429
436
|
astNode: field
|
|
430
437
|
};
|
|
431
438
|
}
|
|
@@ -7,23 +7,23 @@ exports.findBreakingChanges = findBreakingChanges;
|
|
|
7
7
|
exports.findDangerousChanges = findDangerousChanges;
|
|
8
8
|
exports.DangerousChangeType = exports.BreakingChangeType = void 0;
|
|
9
9
|
|
|
10
|
-
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
|
|
10
|
+
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
|
|
11
11
|
|
|
12
|
-
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
|
|
12
|
+
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap.js"));
|
|
13
13
|
|
|
14
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
14
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
15
15
|
|
|
16
|
-
var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
16
|
+
var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
|
|
17
17
|
|
|
18
|
-
var _printer = require("../language/printer");
|
|
18
|
+
var _printer = require("../language/printer.js");
|
|
19
19
|
|
|
20
|
-
var _visitor = require("../language/visitor");
|
|
20
|
+
var _visitor = require("../language/visitor.js");
|
|
21
21
|
|
|
22
|
-
var _scalars = require("../type/scalars");
|
|
22
|
+
var _scalars = require("../type/scalars.js");
|
|
23
23
|
|
|
24
|
-
var _definition = require("../type/definition");
|
|
24
|
+
var _definition = require("../type/definition.js");
|
|
25
25
|
|
|
26
|
-
var _astFromValue = require("./astFromValue");
|
|
26
|
+
var _astFromValue = require("./astFromValue.js");
|
|
27
27
|
|
|
28
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
29
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import objectValues from '../polyfills/objectValues';
|
|
4
3
|
|
|
5
4
|
import keyMap from '../jsutils/keyMap';
|
|
@@ -9,18 +8,20 @@ import invariant from '../jsutils/invariant';
|
|
|
9
8
|
import { print } from '../language/printer';
|
|
10
9
|
import { visit } from '../language/visitor';
|
|
11
10
|
|
|
12
|
-
import {
|
|
11
|
+
import type { GraphQLSchema } from '../type/schema';
|
|
12
|
+
import type {
|
|
13
|
+
GraphQLField,
|
|
14
|
+
GraphQLType,
|
|
15
|
+
GraphQLInputType,
|
|
16
|
+
GraphQLNamedType,
|
|
17
|
+
GraphQLEnumType,
|
|
18
|
+
GraphQLUnionType,
|
|
19
|
+
GraphQLObjectType,
|
|
20
|
+
GraphQLInterfaceType,
|
|
21
|
+
GraphQLInputObjectType,
|
|
22
|
+
} from '../type/definition';
|
|
13
23
|
import { isSpecifiedScalarType } from '../type/scalars';
|
|
14
24
|
import {
|
|
15
|
-
type GraphQLField,
|
|
16
|
-
type GraphQLType,
|
|
17
|
-
type GraphQLInputType,
|
|
18
|
-
type GraphQLNamedType,
|
|
19
|
-
type GraphQLEnumType,
|
|
20
|
-
type GraphQLUnionType,
|
|
21
|
-
type GraphQLObjectType,
|
|
22
|
-
type GraphQLInterfaceType,
|
|
23
|
-
type GraphQLInputObjectType,
|
|
24
25
|
isScalarType,
|
|
25
26
|
isObjectType,
|
|
26
27
|
isInterfaceType,
|
|
@@ -6,8 +6,16 @@ import { GraphQLSchema } from '../type/schema';
|
|
|
6
6
|
* A validation rule which reports deprecated usages.
|
|
7
7
|
*
|
|
8
8
|
* Returns a list of GraphQLError instances describing each deprecated use.
|
|
9
|
+
*
|
|
10
|
+
* @deprecated Please use `validate` with `NoDeprecatedCustomRule` instead:
|
|
11
|
+
*
|
|
12
|
+
* ```
|
|
13
|
+
* import { validate, NoDeprecatedCustomRule } from 'graphql'
|
|
14
|
+
*
|
|
15
|
+
* const errors = validate(schema, document, [NoDeprecatedCustomRule])
|
|
16
|
+
* ```
|
|
9
17
|
*/
|
|
10
18
|
export function findDeprecatedUsages(
|
|
11
19
|
schema: GraphQLSchema,
|
|
12
20
|
ast: DocumentNode,
|
|
13
|
-
):
|
|
21
|
+
): ReadonlyArray<GraphQLError>;
|
|
@@ -5,39 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.findDeprecatedUsages = findDeprecatedUsages;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _validate = require("../validation/validate.js");
|
|
9
9
|
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var _definition = require("../type/definition");
|
|
13
|
-
|
|
14
|
-
var _TypeInfo = require("./TypeInfo");
|
|
10
|
+
var _NoDeprecatedCustomRule = require("../validation/rules/custom/NoDeprecatedCustomRule.js");
|
|
15
11
|
|
|
16
12
|
/**
|
|
17
13
|
* A validation rule which reports deprecated usages.
|
|
18
14
|
*
|
|
19
15
|
* Returns a list of GraphQLError instances describing each deprecated use.
|
|
16
|
+
*
|
|
17
|
+
* @deprecated Please use `validate` with `NoDeprecatedCustomRule` instead:
|
|
18
|
+
*
|
|
19
|
+
* ```
|
|
20
|
+
* import { validate, NoDeprecatedCustomRule } from 'graphql'
|
|
21
|
+
*
|
|
22
|
+
* const errors = validate(schema, document, [NoDeprecatedCustomRule])
|
|
23
|
+
* ```
|
|
20
24
|
*/
|
|
21
25
|
function findDeprecatedUsages(schema, ast) {
|
|
22
|
-
|
|
23
|
-
var typeInfo = new _TypeInfo.TypeInfo(schema);
|
|
24
|
-
(0, _visitor.visit)(ast, (0, _TypeInfo.visitWithTypeInfo)(typeInfo, {
|
|
25
|
-
Field: function Field(node) {
|
|
26
|
-
var parentType = typeInfo.getParentType();
|
|
27
|
-
var fieldDef = typeInfo.getFieldDef();
|
|
28
|
-
|
|
29
|
-
if (parentType && (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.deprecationReason) != null) {
|
|
30
|
-
errors.push(new _GraphQLError.GraphQLError("The field \"".concat(parentType.name, ".").concat(fieldDef.name, "\" is deprecated. ") + fieldDef.deprecationReason, node));
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
EnumValue: function EnumValue(node) {
|
|
34
|
-
var type = (0, _definition.getNamedType)(typeInfo.getInputType());
|
|
35
|
-
var enumVal = typeInfo.getEnumValue();
|
|
36
|
-
|
|
37
|
-
if (type && (enumVal === null || enumVal === void 0 ? void 0 : enumVal.deprecationReason) != null) {
|
|
38
|
-
errors.push(new _GraphQLError.GraphQLError("The enum value \"".concat(type.name, ".").concat(enumVal.name, "\" is deprecated. ") + enumVal.deprecationReason, node));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}));
|
|
42
|
-
return errors;
|
|
26
|
+
return (0, _validate.validate)(schema, ast, [_NoDeprecatedCustomRule.NoDeprecatedCustomRule]);
|
|
43
27
|
}
|