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,58 +1,29 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
+
import type { GraphQLError } from '../error/GraphQLError';
|
|
2
3
|
|
|
3
|
-
import {
|
|
4
|
+
import type { DocumentNode } from '../language/ast';
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
-
import { type DocumentNode } from '../language/ast';
|
|
6
|
+
import type { GraphQLSchema } from '../type/schema';
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
import { TypeInfo, visitWithTypeInfo } from './TypeInfo';
|
|
8
|
+
import { validate } from '../validation/validate';
|
|
9
|
+
import { NoDeprecatedCustomRule } from '../validation/rules/custom/NoDeprecatedCustomRule';
|
|
12
10
|
|
|
13
11
|
/**
|
|
14
12
|
* A validation rule which reports deprecated usages.
|
|
15
13
|
*
|
|
16
14
|
* Returns a list of GraphQLError instances describing each deprecated use.
|
|
15
|
+
*
|
|
16
|
+
* @deprecated Please use `validate` with `NoDeprecatedCustomRule` instead:
|
|
17
|
+
*
|
|
18
|
+
* ```
|
|
19
|
+
* import { validate, NoDeprecatedCustomRule } from 'graphql'
|
|
20
|
+
*
|
|
21
|
+
* const errors = validate(schema, document, [NoDeprecatedCustomRule])
|
|
22
|
+
* ```
|
|
17
23
|
*/
|
|
18
24
|
export function findDeprecatedUsages(
|
|
19
25
|
schema: GraphQLSchema,
|
|
20
26
|
ast: DocumentNode,
|
|
21
|
-
):
|
|
22
|
-
|
|
23
|
-
const typeInfo = new TypeInfo(schema);
|
|
24
|
-
|
|
25
|
-
visit(
|
|
26
|
-
ast,
|
|
27
|
-
visitWithTypeInfo(typeInfo, {
|
|
28
|
-
Field(node) {
|
|
29
|
-
const parentType = typeInfo.getParentType();
|
|
30
|
-
const fieldDef = typeInfo.getFieldDef();
|
|
31
|
-
if (parentType && fieldDef?.deprecationReason != null) {
|
|
32
|
-
errors.push(
|
|
33
|
-
new GraphQLError(
|
|
34
|
-
`The field "${parentType.name}.${fieldDef.name}" is deprecated. ` +
|
|
35
|
-
fieldDef.deprecationReason,
|
|
36
|
-
node,
|
|
37
|
-
),
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
EnumValue(node) {
|
|
42
|
-
const type = getNamedType(typeInfo.getInputType());
|
|
43
|
-
const enumVal = typeInfo.getEnumValue();
|
|
44
|
-
if (type && enumVal?.deprecationReason != null) {
|
|
45
|
-
errors.push(
|
|
46
|
-
new GraphQLError(
|
|
47
|
-
`The enum value "${type.name}.${enumVal.name}" is deprecated. ` +
|
|
48
|
-
enumVal.deprecationReason,
|
|
49
|
-
node,
|
|
50
|
-
),
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
}),
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
return errors;
|
|
27
|
+
): $ReadOnlyArray<GraphQLError> {
|
|
28
|
+
return validate(schema, ast, [NoDeprecatedCustomRule]);
|
|
58
29
|
}
|
|
@@ -1,33 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { getNamedType } from "../type/definition.mjs";
|
|
4
|
-
import { TypeInfo, visitWithTypeInfo } from "./TypeInfo.mjs";
|
|
1
|
+
import { validate } from "../validation/validate.mjs";
|
|
2
|
+
import { NoDeprecatedCustomRule } from "../validation/rules/custom/NoDeprecatedCustomRule.mjs";
|
|
5
3
|
/**
|
|
6
4
|
* A validation rule which reports deprecated usages.
|
|
7
5
|
*
|
|
8
6
|
* Returns a list of GraphQLError instances describing each deprecated use.
|
|
7
|
+
*
|
|
8
|
+
* @deprecated Please use `validate` with `NoDeprecatedCustomRule` instead:
|
|
9
|
+
*
|
|
10
|
+
* ```
|
|
11
|
+
* import { validate, NoDeprecatedCustomRule } from 'graphql'
|
|
12
|
+
*
|
|
13
|
+
* const errors = validate(schema, document, [NoDeprecatedCustomRule])
|
|
14
|
+
* ```
|
|
9
15
|
*/
|
|
10
16
|
|
|
11
17
|
export function findDeprecatedUsages(schema, ast) {
|
|
12
|
-
|
|
13
|
-
var typeInfo = new TypeInfo(schema);
|
|
14
|
-
visit(ast, visitWithTypeInfo(typeInfo, {
|
|
15
|
-
Field: function Field(node) {
|
|
16
|
-
var parentType = typeInfo.getParentType();
|
|
17
|
-
var fieldDef = typeInfo.getFieldDef();
|
|
18
|
-
|
|
19
|
-
if (parentType && (fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.deprecationReason) != null) {
|
|
20
|
-
errors.push(new GraphQLError("The field \"".concat(parentType.name, ".").concat(fieldDef.name, "\" is deprecated. ") + fieldDef.deprecationReason, node));
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
EnumValue: function EnumValue(node) {
|
|
24
|
-
var type = getNamedType(typeInfo.getInputType());
|
|
25
|
-
var enumVal = typeInfo.getEnumValue();
|
|
26
|
-
|
|
27
|
-
if (type && (enumVal === null || enumVal === void 0 ? void 0 : enumVal.deprecationReason) != null) {
|
|
28
|
-
errors.push(new GraphQLError("The enum value \"".concat(type.name, ".").concat(enumVal.name, "\" is deprecated. ") + enumVal.deprecationReason, node));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}));
|
|
32
|
-
return errors;
|
|
18
|
+
return validate(schema, ast, [NoDeprecatedCustomRule]);
|
|
33
19
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
|
-
import { type DirectiveLocationEnum } from '../language/directiveLocation';
|
|
2
|
+
import type { DirectiveLocationEnum } from '../language/directiveLocation';
|
|
4
3
|
|
|
5
4
|
export type IntrospectionOptions = {|
|
|
6
5
|
// Whether to include descriptions in the introspection result.
|
|
@@ -175,7 +174,7 @@ export type IntrospectionScalarType = {|
|
|
|
175
174
|
+kind: 'SCALAR',
|
|
176
175
|
+name: string,
|
|
177
176
|
+description?: ?string,
|
|
178
|
-
+specifiedByUrl
|
|
177
|
+
+specifiedByUrl?: ?string,
|
|
179
178
|
|};
|
|
180
179
|
|
|
181
180
|
export type IntrospectionObjectType = {|
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getOperationAST = getOperationAST;
|
|
7
7
|
|
|
8
|
-
var _kinds = require("../language/kinds");
|
|
8
|
+
var _kinds = require("../language/kinds.js");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Returns an operation AST given a document AST and optionally an operation
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
2
|
+
import type { DocumentNode, OperationDefinitionNode } from '../language/ast';
|
|
3
3
|
import { Kind } from '../language/kinds';
|
|
4
|
-
import {
|
|
5
|
-
type DocumentNode,
|
|
6
|
-
type OperationDefinitionNode,
|
|
7
|
-
} from '../language/ast';
|
|
8
4
|
|
|
9
5
|
/**
|
|
10
6
|
* Returns an operation AST given a document AST and optionally an operation
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Kind } from "../language/kinds.mjs";
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* Returns an operation AST given a document AST and optionally an operation
|
|
5
4
|
* name. If a name is not provided, an operation is only returned if only one is
|
|
6
5
|
* provided in the document.
|
|
7
6
|
*/
|
|
7
|
+
|
|
8
8
|
export function getOperationAST(documentAST, operationName) {
|
|
9
9
|
var operation = null;
|
|
10
10
|
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getOperationRootType = getOperationRootType;
|
|
7
7
|
|
|
8
|
-
var _GraphQLError = require("../error/GraphQLError");
|
|
8
|
+
var _GraphQLError = require("../error/GraphQLError.js");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Extracts the root type of the operation from the schema.
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import { GraphQLError } from '../error/GraphQLError';
|
|
4
3
|
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import type {
|
|
5
|
+
OperationDefinitionNode,
|
|
6
|
+
OperationTypeDefinitionNode,
|
|
8
7
|
} from '../language/ast';
|
|
9
8
|
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
9
|
+
import type { GraphQLSchema } from '../type/schema';
|
|
10
|
+
import type { GraphQLObjectType } from '../type/definition';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Extracts the root type of the operation from the schema.
|
package/utilities/index.d.ts
CHANGED
|
@@ -112,5 +112,8 @@ export {
|
|
|
112
112
|
DangerousChange,
|
|
113
113
|
} from './findBreakingChanges';
|
|
114
114
|
|
|
115
|
-
//
|
|
115
|
+
// Wrapper type that contains DocumentNode and types that can be deduced from it.
|
|
116
|
+
export { TypedQueryDocumentNode } from './typedQueryDocumentNode';
|
|
117
|
+
|
|
118
|
+
// @deprecated: Report all deprecated usage within a GraphQL document.
|
|
116
119
|
export { findDeprecatedUsages } from './findDeprecatedUsages';
|
package/utilities/index.js
CHANGED
|
@@ -202,46 +202,46 @@ Object.defineProperty(exports, "findDeprecatedUsages", {
|
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
204
|
|
|
205
|
-
var _getIntrospectionQuery = require("./getIntrospectionQuery");
|
|
205
|
+
var _getIntrospectionQuery = require("./getIntrospectionQuery.js");
|
|
206
206
|
|
|
207
|
-
var _getOperationAST = require("./getOperationAST");
|
|
207
|
+
var _getOperationAST = require("./getOperationAST.js");
|
|
208
208
|
|
|
209
|
-
var _getOperationRootType = require("./getOperationRootType");
|
|
209
|
+
var _getOperationRootType = require("./getOperationRootType.js");
|
|
210
210
|
|
|
211
|
-
var _introspectionFromSchema = require("./introspectionFromSchema");
|
|
211
|
+
var _introspectionFromSchema = require("./introspectionFromSchema.js");
|
|
212
212
|
|
|
213
|
-
var _buildClientSchema = require("./buildClientSchema");
|
|
213
|
+
var _buildClientSchema = require("./buildClientSchema.js");
|
|
214
214
|
|
|
215
|
-
var _buildASTSchema = require("./buildASTSchema");
|
|
215
|
+
var _buildASTSchema = require("./buildASTSchema.js");
|
|
216
216
|
|
|
217
|
-
var _extendSchema = require("./extendSchema");
|
|
217
|
+
var _extendSchema = require("./extendSchema.js");
|
|
218
218
|
|
|
219
|
-
var _lexicographicSortSchema = require("./lexicographicSortSchema");
|
|
219
|
+
var _lexicographicSortSchema = require("./lexicographicSortSchema.js");
|
|
220
220
|
|
|
221
|
-
var _printSchema = require("./printSchema");
|
|
221
|
+
var _printSchema = require("./printSchema.js");
|
|
222
222
|
|
|
223
|
-
var _typeFromAST = require("./typeFromAST");
|
|
223
|
+
var _typeFromAST = require("./typeFromAST.js");
|
|
224
224
|
|
|
225
|
-
var _valueFromAST = require("./valueFromAST");
|
|
225
|
+
var _valueFromAST = require("./valueFromAST.js");
|
|
226
226
|
|
|
227
|
-
var _valueFromASTUntyped = require("./valueFromASTUntyped");
|
|
227
|
+
var _valueFromASTUntyped = require("./valueFromASTUntyped.js");
|
|
228
228
|
|
|
229
|
-
var _astFromValue = require("./astFromValue");
|
|
229
|
+
var _astFromValue = require("./astFromValue.js");
|
|
230
230
|
|
|
231
|
-
var _TypeInfo = require("./TypeInfo");
|
|
231
|
+
var _TypeInfo = require("./TypeInfo.js");
|
|
232
232
|
|
|
233
|
-
var _coerceInputValue = require("./coerceInputValue");
|
|
233
|
+
var _coerceInputValue = require("./coerceInputValue.js");
|
|
234
234
|
|
|
235
|
-
var _concatAST = require("./concatAST");
|
|
235
|
+
var _concatAST = require("./concatAST.js");
|
|
236
236
|
|
|
237
|
-
var _separateOperations = require("./separateOperations");
|
|
237
|
+
var _separateOperations = require("./separateOperations.js");
|
|
238
238
|
|
|
239
|
-
var _stripIgnoredCharacters = require("./stripIgnoredCharacters");
|
|
239
|
+
var _stripIgnoredCharacters = require("./stripIgnoredCharacters.js");
|
|
240
240
|
|
|
241
|
-
var _typeComparators = require("./typeComparators");
|
|
241
|
+
var _typeComparators = require("./typeComparators.js");
|
|
242
242
|
|
|
243
|
-
var _assertValidName = require("./assertValidName");
|
|
243
|
+
var _assertValidName = require("./assertValidName.js");
|
|
244
244
|
|
|
245
|
-
var _findBreakingChanges = require("./findBreakingChanges");
|
|
245
|
+
var _findBreakingChanges = require("./findBreakingChanges.js");
|
|
246
246
|
|
|
247
|
-
var _findDeprecatedUsages = require("./findDeprecatedUsages");
|
|
247
|
+
var _findDeprecatedUsages = require("./findDeprecatedUsages.js");
|
package/utilities/index.js.flow
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
// Produce the GraphQL query recommended for a full schema introspection.
|
|
4
3
|
// Accepts optional IntrospectionOptions.
|
|
5
4
|
export { getIntrospectionQuery } from './getIntrospectionQuery';
|
|
@@ -111,5 +110,5 @@ export {
|
|
|
111
110
|
} from './findBreakingChanges';
|
|
112
111
|
export type { BreakingChange, DangerousChange } from './findBreakingChanges';
|
|
113
112
|
|
|
114
|
-
// Report all deprecated usage within a GraphQL document.
|
|
113
|
+
// @deprecated: Report all deprecated usage within a GraphQL document.
|
|
115
114
|
export { findDeprecatedUsages } from './findDeprecatedUsages';
|
package/utilities/index.mjs
CHANGED
|
@@ -45,5 +45,5 @@ export { isEqualType, isTypeSubTypeOf, doTypesOverlap } from "./typeComparators.
|
|
|
45
45
|
export { assertValidName, isValidNameError } from "./assertValidName.mjs"; // Compares two GraphQLSchemas and detects breaking changes.
|
|
46
46
|
|
|
47
47
|
export { BreakingChangeType, DangerousChangeType, findBreakingChanges, findDangerousChanges } from "./findBreakingChanges.mjs";
|
|
48
|
-
// Report all deprecated usage within a GraphQL document.
|
|
48
|
+
// @deprecated: Report all deprecated usage within a GraphQL document.
|
|
49
49
|
export { findDeprecatedUsages } from "./findDeprecatedUsages.mjs";
|
|
@@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.introspectionFromSchema = introspectionFromSchema;
|
|
7
7
|
|
|
8
|
-
var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
8
|
+
var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _parser = require("../language/parser.js");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _execute = require("../execution/execute.js");
|
|
13
13
|
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
var _getIntrospectionQuery = require("./getIntrospectionQuery");
|
|
14
|
+
var _getIntrospectionQuery = require("./getIntrospectionQuery.js");
|
|
17
15
|
|
|
18
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
17
|
|
|
@@ -39,10 +37,10 @@ function introspectionFromSchema(schema, options) {
|
|
|
39
37
|
}, options);
|
|
40
38
|
|
|
41
39
|
var document = (0, _parser.parse)((0, _getIntrospectionQuery.getIntrospectionQuery)(optionsWithDefaults));
|
|
42
|
-
var result = (0, _execute.
|
|
40
|
+
var result = (0, _execute.executeSync)({
|
|
43
41
|
schema: schema,
|
|
44
42
|
document: document
|
|
45
43
|
});
|
|
46
|
-
!
|
|
44
|
+
!result.errors && result.data || (0, _invariant.default)(0);
|
|
47
45
|
return result.data;
|
|
48
46
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import invariant from '../jsutils/invariant';
|
|
4
|
-
import isPromise from '../jsutils/isPromise';
|
|
5
3
|
|
|
6
4
|
import { parse } from '../language/parser';
|
|
7
|
-
import { execute } from '../execution/execute';
|
|
8
|
-
import { type GraphQLSchema } from '../type/schema';
|
|
9
5
|
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
import type { GraphQLSchema } from '../type/schema';
|
|
7
|
+
|
|
8
|
+
import { executeSync } from '../execution/execute';
|
|
9
|
+
|
|
10
|
+
import type {
|
|
11
|
+
IntrospectionQuery,
|
|
12
|
+
IntrospectionOptions,
|
|
14
13
|
} from './getIntrospectionQuery';
|
|
14
|
+
import { getIntrospectionQuery } from './getIntrospectionQuery';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Build an IntrospectionQuery from a GraphQLSchema
|
|
@@ -33,7 +33,7 @@ export function introspectionFromSchema(
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
const document = parse(getIntrospectionQuery(optionsWithDefaults));
|
|
36
|
-
const result =
|
|
37
|
-
invariant(!
|
|
36
|
+
const result = executeSync({ schema, document });
|
|
37
|
+
invariant(!result.errors && result.data);
|
|
38
38
|
return (result.data: any);
|
|
39
39
|
}
|
|
@@ -5,9 +5,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
5
5
|
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; }
|
|
6
6
|
|
|
7
7
|
import invariant from "../jsutils/invariant.mjs";
|
|
8
|
-
import isPromise from "../jsutils/isPromise.mjs";
|
|
9
8
|
import { parse } from "../language/parser.mjs";
|
|
10
|
-
import {
|
|
9
|
+
import { executeSync } from "../execution/execute.mjs";
|
|
11
10
|
import { getIntrospectionQuery } from "./getIntrospectionQuery.mjs";
|
|
12
11
|
/**
|
|
13
12
|
* Build an IntrospectionQuery from a GraphQLSchema
|
|
@@ -26,10 +25,10 @@ export function introspectionFromSchema(schema, options) {
|
|
|
26
25
|
}, options);
|
|
27
26
|
|
|
28
27
|
var document = parse(getIntrospectionQuery(optionsWithDefaults));
|
|
29
|
-
var result =
|
|
28
|
+
var result = executeSync({
|
|
30
29
|
schema: schema,
|
|
31
30
|
document: document
|
|
32
31
|
});
|
|
33
|
-
!
|
|
32
|
+
!result.errors && result.data || invariant(0);
|
|
34
33
|
return result.data;
|
|
35
34
|
}
|
|
@@ -5,21 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.lexicographicSortSchema = lexicographicSortSchema;
|
|
7
7
|
|
|
8
|
-
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
|
|
8
|
+
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
|
|
9
9
|
|
|
10
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
10
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
11
11
|
|
|
12
|
-
var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
12
|
+
var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
|
|
13
13
|
|
|
14
|
-
var _keyValMap = _interopRequireDefault(require("../jsutils/keyValMap"));
|
|
14
|
+
var _keyValMap = _interopRequireDefault(require("../jsutils/keyValMap.js"));
|
|
15
15
|
|
|
16
|
-
var _schema = require("../type/schema");
|
|
16
|
+
var _schema = require("../type/schema.js");
|
|
17
17
|
|
|
18
|
-
var _directives = require("../type/directives");
|
|
18
|
+
var _directives = require("../type/directives.js");
|
|
19
19
|
|
|
20
|
-
var _introspection = require("../type/introspection");
|
|
20
|
+
var _introspection = require("../type/introspection.js");
|
|
21
21
|
|
|
22
|
-
var _definition = require("../type/definition");
|
|
22
|
+
var _definition = require("../type/definition.js");
|
|
23
23
|
|
|
24
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
25
|
|
|
@@ -49,8 +49,10 @@ function lexicographicSortSchema(schema) {
|
|
|
49
49
|
|
|
50
50
|
function replaceType(type) {
|
|
51
51
|
if ((0, _definition.isListType)(type)) {
|
|
52
|
+
// $FlowFixMe[incompatible-return]
|
|
52
53
|
return new _definition.GraphQLList(replaceType(type.ofType));
|
|
53
54
|
} else if ((0, _definition.isNonNullType)(type)) {
|
|
55
|
+
// $FlowFixMe[incompatible-return]
|
|
54
56
|
return new _definition.GraphQLNonNull(replaceType(type.ofType));
|
|
55
57
|
}
|
|
56
58
|
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import objectValues from '../polyfills/objectValues';
|
|
4
3
|
|
|
4
|
+
import type { ObjMap } from '../jsutils/ObjMap';
|
|
5
5
|
import inspect from '../jsutils/inspect';
|
|
6
6
|
import invariant from '../jsutils/invariant';
|
|
7
7
|
import keyValMap from '../jsutils/keyValMap';
|
|
8
|
-
import { type ObjMap } from '../jsutils/ObjMap';
|
|
9
8
|
|
|
9
|
+
import type {
|
|
10
|
+
GraphQLType,
|
|
11
|
+
GraphQLNamedType,
|
|
12
|
+
GraphQLFieldConfigMap,
|
|
13
|
+
GraphQLFieldConfigArgumentMap,
|
|
14
|
+
GraphQLInputFieldConfigMap,
|
|
15
|
+
} from '../type/definition';
|
|
10
16
|
import { GraphQLSchema } from '../type/schema';
|
|
11
17
|
import { GraphQLDirective } from '../type/directives';
|
|
12
18
|
import { isIntrospectionType } from '../type/introspection';
|
|
13
19
|
import {
|
|
14
|
-
|
|
20
|
+
GraphQLList,
|
|
21
|
+
GraphQLNonNull,
|
|
15
22
|
GraphQLObjectType,
|
|
16
23
|
GraphQLInterfaceType,
|
|
17
24
|
GraphQLUnionType,
|
|
18
25
|
GraphQLEnumType,
|
|
19
26
|
GraphQLInputObjectType,
|
|
20
|
-
GraphQLList,
|
|
21
|
-
GraphQLNonNull,
|
|
22
27
|
isListType,
|
|
23
28
|
isNonNullType,
|
|
24
29
|
isScalarType,
|
|
@@ -51,10 +56,12 @@ export function lexicographicSortSchema(schema: GraphQLSchema): GraphQLSchema {
|
|
|
51
56
|
subscription: replaceMaybeType(schemaConfig.subscription),
|
|
52
57
|
});
|
|
53
58
|
|
|
54
|
-
function replaceType(type) {
|
|
59
|
+
function replaceType<T: GraphQLType>(type: T): T {
|
|
55
60
|
if (isListType(type)) {
|
|
61
|
+
// $FlowFixMe[incompatible-return]
|
|
56
62
|
return new GraphQLList(replaceType(type.ofType));
|
|
57
63
|
} else if (isNonNullType(type)) {
|
|
64
|
+
// $FlowFixMe[incompatible-return]
|
|
58
65
|
return new GraphQLNonNull(replaceType(type.ofType));
|
|
59
66
|
}
|
|
60
67
|
return replaceNamedType(type);
|
|
@@ -64,11 +71,11 @@ export function lexicographicSortSchema(schema: GraphQLSchema): GraphQLSchema {
|
|
|
64
71
|
return ((typeMap[type.name]: any): T);
|
|
65
72
|
}
|
|
66
73
|
|
|
67
|
-
function replaceMaybeType(maybeType) {
|
|
74
|
+
function replaceMaybeType<T: ?GraphQLNamedType>(maybeType: T): T {
|
|
68
75
|
return maybeType && replaceNamedType(maybeType);
|
|
69
76
|
}
|
|
70
77
|
|
|
71
|
-
function sortDirective(directive) {
|
|
78
|
+
function sortDirective(directive: GraphQLDirective) {
|
|
72
79
|
const config = directive.toConfig();
|
|
73
80
|
return new GraphQLDirective({
|
|
74
81
|
...config,
|
|
@@ -77,14 +84,14 @@ export function lexicographicSortSchema(schema: GraphQLSchema): GraphQLSchema {
|
|
|
77
84
|
});
|
|
78
85
|
}
|
|
79
86
|
|
|
80
|
-
function sortArgs(args) {
|
|
87
|
+
function sortArgs(args: GraphQLFieldConfigArgumentMap) {
|
|
81
88
|
return sortObjMap(args, (arg) => ({
|
|
82
89
|
...arg,
|
|
83
90
|
type: replaceType(arg.type),
|
|
84
91
|
}));
|
|
85
92
|
}
|
|
86
93
|
|
|
87
|
-
function sortFields(fieldsMap) {
|
|
94
|
+
function sortFields(fieldsMap: GraphQLFieldConfigMap<mixed, mixed>) {
|
|
88
95
|
return sortObjMap(fieldsMap, (field) => ({
|
|
89
96
|
...field,
|
|
90
97
|
type: replaceType(field.type),
|
|
@@ -92,7 +99,7 @@ export function lexicographicSortSchema(schema: GraphQLSchema): GraphQLSchema {
|
|
|
92
99
|
}));
|
|
93
100
|
}
|
|
94
101
|
|
|
95
|
-
function sortInputFields(fieldsMap) {
|
|
102
|
+
function sortInputFields(fieldsMap: GraphQLInputFieldConfigMap) {
|
|
96
103
|
return sortObjMap(fieldsMap, (field) => ({
|
|
97
104
|
...field,
|
|
98
105
|
type: replaceType(field.type),
|
|
@@ -103,7 +110,7 @@ export function lexicographicSortSchema(schema: GraphQLSchema): GraphQLSchema {
|
|
|
103
110
|
return sortByName(arr).map(replaceNamedType);
|
|
104
111
|
}
|
|
105
112
|
|
|
106
|
-
function sortNamedType(type) {
|
|
113
|
+
function sortNamedType<T: GraphQLNamedType>(type: T) {
|
|
107
114
|
if (isScalarType(type) || isIntrospectionType(type)) {
|
|
108
115
|
return type;
|
|
109
116
|
}
|
|
@@ -11,7 +11,7 @@ import keyValMap from "../jsutils/keyValMap.mjs";
|
|
|
11
11
|
import { GraphQLSchema } from "../type/schema.mjs";
|
|
12
12
|
import { GraphQLDirective } from "../type/directives.mjs";
|
|
13
13
|
import { isIntrospectionType } from "../type/introspection.mjs";
|
|
14
|
-
import { GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType,
|
|
14
|
+
import { GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, isListType, isNonNullType, isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType } from "../type/definition.mjs";
|
|
15
15
|
/**
|
|
16
16
|
* Sort GraphQLSchema.
|
|
17
17
|
*
|
|
@@ -33,8 +33,10 @@ export function lexicographicSortSchema(schema) {
|
|
|
33
33
|
|
|
34
34
|
function replaceType(type) {
|
|
35
35
|
if (isListType(type)) {
|
|
36
|
+
// $FlowFixMe[incompatible-return]
|
|
36
37
|
return new GraphQLList(replaceType(type.ofType));
|
|
37
38
|
} else if (isNonNullType(type)) {
|
|
39
|
+
// $FlowFixMe[incompatible-return]
|
|
38
40
|
return new GraphQLNonNull(replaceType(type.ofType));
|
|
39
41
|
}
|
|
40
42
|
|
package/utilities/printSchema.js
CHANGED
|
@@ -7,25 +7,25 @@ exports.printSchema = printSchema;
|
|
|
7
7
|
exports.printIntrospectionSchema = printIntrospectionSchema;
|
|
8
8
|
exports.printType = printType;
|
|
9
9
|
|
|
10
|
-
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
|
|
10
|
+
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
|
|
11
11
|
|
|
12
|
-
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
12
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
13
13
|
|
|
14
|
-
var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
14
|
+
var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
|
|
15
15
|
|
|
16
|
-
var _printer = require("../language/printer");
|
|
16
|
+
var _printer = require("../language/printer.js");
|
|
17
17
|
|
|
18
|
-
var _blockString = require("../language/blockString");
|
|
18
|
+
var _blockString = require("../language/blockString.js");
|
|
19
19
|
|
|
20
|
-
var _introspection = require("../type/introspection");
|
|
20
|
+
var _introspection = require("../type/introspection.js");
|
|
21
21
|
|
|
22
|
-
var _scalars = require("../type/scalars");
|
|
22
|
+
var _scalars = require("../type/scalars.js");
|
|
23
23
|
|
|
24
|
-
var _directives = require("../type/directives");
|
|
24
|
+
var _directives = require("../type/directives.js");
|
|
25
25
|
|
|
26
|
-
var _definition = require("../type/definition");
|
|
26
|
+
var _definition = require("../type/definition.js");
|
|
27
27
|
|
|
28
|
-
var _astFromValue = require("./astFromValue");
|
|
28
|
+
var _astFromValue = require("./astFromValue.js");
|
|
29
29
|
|
|
30
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
31
|
|
|
@@ -179,7 +179,7 @@ function printUnion(type, options) {
|
|
|
179
179
|
|
|
180
180
|
function printEnum(type, options) {
|
|
181
181
|
var values = type.getValues().map(function (value, i) {
|
|
182
|
-
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value);
|
|
182
|
+
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value.deprecationReason);
|
|
183
183
|
});
|
|
184
184
|
return printDescription(options, type) + "enum ".concat(type.name) + printBlock(values);
|
|
185
185
|
}
|
|
@@ -193,7 +193,7 @@ function printInputObject(type, options) {
|
|
|
193
193
|
|
|
194
194
|
function printFields(options, type) {
|
|
195
195
|
var fields = (0, _objectValues.default)(type.getFields()).map(function (f, i) {
|
|
196
|
-
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f);
|
|
196
|
+
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f.deprecationReason);
|
|
197
197
|
});
|
|
198
198
|
return printBlock(fields);
|
|
199
199
|
}
|
|
@@ -229,19 +229,18 @@ function printInputValue(arg) {
|
|
|
229
229
|
argDecl += " = ".concat((0, _printer.print)(defaultAST));
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
return argDecl;
|
|
232
|
+
return argDecl + printDeprecated(arg.deprecationReason);
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
function printDirective(directive, options) {
|
|
236
236
|
return printDescription(options, directive) + 'directive @' + directive.name + printArgs(options, directive.args) + (directive.isRepeatable ? ' repeatable' : '') + ' on ' + directive.locations.join(' | ');
|
|
237
237
|
}
|
|
238
238
|
|
|
239
|
-
function printDeprecated(
|
|
240
|
-
if (
|
|
239
|
+
function printDeprecated(reason) {
|
|
240
|
+
if (reason == null) {
|
|
241
241
|
return '';
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
var reason = fieldOrEnumVal.deprecationReason;
|
|
245
244
|
var reasonAST = (0, _astFromValue.astFromValue)(reason, _scalars.GraphQLString);
|
|
246
245
|
|
|
247
246
|
if (reasonAST && reason !== _directives.DEFAULT_DEPRECATION_REASON) {
|