graphql 15.2.0 → 15.5.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 +19 -10
- package/error/GraphQLError.js +8 -8
- package/error/GraphQLError.js.flow +2 -3
- package/error/GraphQLError.mjs +2 -2
- package/error/formatError.js +1 -1
- package/error/formatError.js.flow +0 -1
- 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 +10 -4
- package/error/locatedError.mjs +6 -4
- package/error/syntaxError.js +1 -1
- package/error/syntaxError.js.flow +0 -1
- package/execution/execute.d.ts +11 -15
- package/execution/execute.js +110 -110
- package/execution/execute.js.flow +132 -139
- package/execution/execute.mjs +92 -88
- package/execution/index.d.ts +1 -0
- package/execution/index.js +3 -3
- package/execution/index.js.flow +6 -2
- package/execution/values.js +11 -11
- package/execution/values.js.flow +0 -1
- package/graphql.js +5 -5
- package/graphql.js.flow +0 -1
- package/index.d.ts +2 -0
- package/index.js +9 -9
- package/index.js.flow +5 -2
- package/jsutils/ObjMap.js.flow +0 -1
- package/jsutils/Path.js.flow +0 -1
- 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 +13 -0
- package/jsutils/isAsyncIterable.js.flow +14 -0
- package/jsutils/isAsyncIterable.mjs +10 -0
- package/jsutils/isObjectLike.js.flow +0 -1
- package/jsutils/isPromise.js.flow +0 -1
- package/jsutils/keyMap.js.flow +0 -1
- package/jsutils/keyValMap.js.flow +0 -1
- package/jsutils/mapValue.js +1 -1
- package/jsutils/mapValue.js.flow +0 -1
- package/jsutils/memoize3.js +2 -5
- package/jsutils/memoize3.js.flow +2 -5
- package/jsutils/memoize3.mjs +2 -5
- package/jsutils/naturalCompare.js +69 -0
- package/jsutils/naturalCompare.js.flow +59 -0
- package/jsutils/naturalCompare.mjs +61 -0
- package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
- package/jsutils/printPathArray.js.flow +0 -1
- package/jsutils/promiseForObject.js.flow +0 -1
- package/jsutils/promiseReduce.js +1 -1
- package/jsutils/promiseReduce.js.flow +0 -1
- package/jsutils/safeArrayFrom.js +73 -0
- package/jsutils/safeArrayFrom.js.flow +59 -0
- package/jsutils/safeArrayFrom.mjs +66 -0
- package/jsutils/suggestionList.js +5 -1
- package/jsutils/suggestionList.js.flow +3 -2
- package/jsutils/suggestionList.mjs +3 -1
- package/jsutils/toObjMap.js +1 -1
- package/jsutils/toObjMap.js.flow +0 -1
- package/language/ast.js +1 -1
- package/language/ast.js.flow +0 -1
- package/language/blockString.d.ts +1 -1
- package/language/blockString.js +53 -32
- package/language/blockString.js.flow +51 -36
- 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 +188 -184
- package/language/lexer.mjs +238 -179
- package/language/location.js.flow +0 -1
- package/language/parser.js +73 -68
- package/language/parser.js.flow +62 -57
- package/language/parser.mjs +64 -60
- package/language/predicates.js +1 -1
- package/language/predicates.js.flow +0 -1
- package/language/printLocation.js +1 -1
- package/language/printLocation.js.flow +0 -1
- package/language/printer.js +20 -13
- package/language/printer.js.flow +26 -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 +26 -9
- 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 +3 -4
- package/language/visitor.mjs +3 -3
- package/package.json +2 -3
- 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 +1 -2
- package/polyfills/objectEntries.mjs +1 -1
- package/polyfills/objectValues.js +1 -1
- package/polyfills/objectValues.js.flow +1 -2
- 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 +8 -9
- package/subscription/mapAsyncIterator.mjs +1 -1
- package/subscription/subscribe.js +61 -73
- package/subscription/subscribe.js.flow +71 -85
- package/subscription/subscribe.mjs +53 -65
- package/type/definition.d.ts +17 -9
- package/type/definition.js +37 -32
- package/type/definition.js.flow +93 -63
- package/type/definition.mjs +19 -14
- package/type/directives.js +17 -16
- package/type/directives.js.flow +20 -13
- package/type/directives.mjs +6 -5
- package/type/index.js +6 -6
- package/type/index.js.flow +0 -1
- package/type/introspection.js +86 -65
- package/type/introspection.js.flow +75 -43
- package/type/introspection.mjs +79 -58
- package/type/scalars.js +9 -9
- package/type/scalars.js.flow +1 -2
- package/type/scalars.mjs +1 -1
- package/type/schema.js +13 -13
- package/type/schema.js.flow +2 -3
- package/type/schema.mjs +1 -1
- package/type/validate.js +52 -19
- package/type/validate.js.flow +54 -8
- package/type/validate.mjs +43 -9
- package/utilities/TypeInfo.js +7 -7
- package/utilities/TypeInfo.js.flow +1 -2
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +0 -1
- package/utilities/astFromValue.js +14 -16
- package/utilities/astFromValue.js.flow +6 -7
- package/utilities/astFromValue.mjs +6 -7
- package/utilities/buildASTSchema.js +17 -27
- package/utilities/buildASTSchema.js.flow +5 -21
- package/utilities/buildASTSchema.mjs +11 -21
- package/utilities/buildClientSchema.js +16 -15
- package/utilities/buildClientSchema.js.flow +28 -12
- package/utilities/buildClientSchema.mjs +5 -4
- package/utilities/coerceInputValue.js +17 -18
- package/utilities/coerceInputValue.js.flow +12 -10
- package/utilities/coerceInputValue.mjs +7 -7
- package/utilities/concatAST.js +9 -8
- package/utilities/concatAST.js.flow +8 -8
- package/utilities/concatAST.mjs +9 -6
- package/utilities/extendSchema.js +26 -19
- package/utilities/extendSchema.js.flow +19 -7
- package/utilities/extendSchema.mjs +8 -1
- package/utilities/findBreakingChanges.js +15 -11
- package/utilities/findBreakingChanges.js.flow +6 -3
- package/utilities/findBreakingChanges.mjs +5 -2
- package/utilities/findDeprecatedUsages.js +2 -2
- package/utilities/findDeprecatedUsages.js.flow +0 -1
- package/utilities/getIntrospectionQuery.d.ts +6 -0
- package/utilities/getIntrospectionQuery.js +8 -2
- package/utilities/getIntrospectionQuery.js.flow +17 -5
- package/utilities/getIntrospectionQuery.mjs +8 -2
- package/utilities/getOperationAST.js +1 -1
- package/utilities/getOperationAST.js.flow +0 -1
- package/utilities/getOperationRootType.js +1 -1
- package/utilities/getOperationRootType.js.flow +0 -1
- package/utilities/index.d.ts +3 -0
- package/utilities/index.js +22 -22
- package/utilities/index.js.flow +0 -1
- package/utilities/introspectionFromSchema.js +7 -5
- package/utilities/introspectionFromSchema.js.flow +2 -1
- package/utilities/introspectionFromSchema.mjs +3 -1
- package/utilities/lexicographicSortSchema.js +13 -9
- package/utilities/lexicographicSortSchema.js.flow +21 -13
- package/utilities/lexicographicSortSchema.mjs +5 -2
- package/utilities/printSchema.js +15 -16
- package/utilities/printSchema.js.flow +23 -16
- package/utilities/printSchema.mjs +5 -6
- package/utilities/separateOperations.js +46 -42
- package/utilities/separateOperations.js.flow +46 -37
- package/utilities/separateOperations.mjs +44 -40
- 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 +0 -1
- package/utilities/typeFromAST.js +6 -6
- package/utilities/typeFromAST.js.flow +2 -3
- package/utilities/typeFromAST.mjs +2 -2
- package/utilities/typedQueryDocumentNode.d.ts +20 -0
- package/utilities/valueFromAST.js +6 -6
- package/utilities/valueFromAST.js.flow +4 -2
- package/utilities/valueFromASTUntyped.js +4 -4
- package/utilities/valueFromASTUntyped.js.flow +0 -1
- package/validation/ValidationContext.js +3 -3
- package/validation/ValidationContext.js.flow +3 -4
- package/validation/index.js +38 -38
- package/validation/index.js.flow +0 -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 +0 -1
- package/validation/rules/FieldsOnCorrectTypeRule.js +8 -6
- package/validation/rules/FieldsOnCorrectTypeRule.js.flow +2 -2
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +2 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +0 -1
- package/validation/rules/KnownArgumentNamesRule.js +5 -5
- package/validation/rules/KnownArgumentNamesRule.js.flow +1 -1
- package/validation/rules/KnownDirectivesRule.js +6 -6
- package/validation/rules/KnownDirectivesRule.js.flow +4 -3
- package/validation/rules/KnownFragmentNamesRule.js +1 -1
- package/validation/rules/KnownFragmentNamesRule.js.flow +0 -1
- package/validation/rules/KnownTypeNamesRule.js +6 -6
- package/validation/rules/KnownTypeNamesRule.js.flow +1 -2
- package/validation/rules/LoneAnonymousOperationRule.js +2 -2
- package/validation/rules/LoneAnonymousOperationRule.js.flow +0 -1
- 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 +0 -1
- package/validation/rules/NoFragmentCyclesRule.js +1 -1
- package/validation/rules/NoFragmentCyclesRule.js.flow +1 -2
- package/validation/rules/NoUndefinedVariablesRule.js +1 -1
- package/validation/rules/NoUndefinedVariablesRule.js.flow +0 -1
- package/validation/rules/NoUnusedFragmentsRule.js +1 -1
- package/validation/rules/NoUnusedFragmentsRule.js.flow +0 -1
- package/validation/rules/NoUnusedVariablesRule.js +1 -1
- package/validation/rules/NoUnusedVariablesRule.js.flow +0 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +14 -14
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
- package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
- package/validation/rules/PossibleFragmentSpreadsRule.js.flow +5 -2
- 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 +6 -4
- package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
- package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +4 -3
- package/validation/rules/ScalarLeafsRule.js +3 -3
- package/validation/rules/ScalarLeafsRule.js.flow +0 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js.flow +0 -1
- package/validation/rules/UniqueArgumentNamesRule.js +1 -1
- package/validation/rules/UniqueArgumentNamesRule.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNames.js +1 -1
- package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.js +2 -2
- package/validation/rules/UniqueDirectiveNamesRule.js.flow +0 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
- package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +0 -1
- 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 +7 -2
- 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 +13 -4
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js +1 -1
- package/validation/rules/UniqueFragmentNamesRule.js.flow +0 -1
- package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.js.flow +0 -1
- package/validation/rules/UniqueOperationNamesRule.js +1 -1
- package/validation/rules/UniqueOperationNamesRule.js.flow +0 -1
- 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 +7 -2
- package/validation/rules/UniqueTypeNames.js +1 -1
- package/validation/rules/UniqueTypeNames.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.js +2 -2
- package/validation/rules/UniqueTypeNamesRule.js.flow +0 -1
- package/validation/rules/UniqueTypeNamesRule.mjs +1 -1
- package/validation/rules/UniqueVariableNamesRule.js +1 -1
- package/validation/rules/UniqueVariableNamesRule.js.flow +0 -1
- package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
- package/validation/rules/ValuesOfCorrectTypeRule.js.flow +0 -1
- package/validation/rules/VariablesAreInputTypesRule.js +4 -4
- package/validation/rules/VariablesAreInputTypesRule.js.flow +0 -1
- package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
- package/validation/rules/VariablesInAllowedPositionRule.js.flow +0 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.js +47 -9
- package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +56 -13
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +43 -8
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -3
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +0 -1
- 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 -5
- package/version.js +2 -2
- package/version.js.flow +2 -3
- package/version.mjs +2 -2
- package/jsutils/isCollection.js +0 -47
- package/jsutils/isCollection.js.flow +0 -39
- package/jsutils/isCollection.mjs +0 -40
- package/polyfills/flatMap.js +0 -30
- package/polyfills/flatMap.js.flow +0 -28
- package/polyfills/flatMap.mjs +0 -23
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
2
|
import objectValues from '../polyfills/objectValues';
|
|
4
3
|
|
|
5
4
|
import inspect from '../jsutils/inspect';
|
|
@@ -10,7 +9,12 @@ import isObjectLike from '../jsutils/isObjectLike';
|
|
|
10
9
|
import { parseValue } from '../language/parser';
|
|
11
10
|
|
|
12
11
|
import type { GraphQLSchemaValidationOptions } from '../type/schema';
|
|
13
|
-
import type {
|
|
12
|
+
import type {
|
|
13
|
+
GraphQLType,
|
|
14
|
+
GraphQLNamedType,
|
|
15
|
+
GraphQLFieldConfig,
|
|
16
|
+
GraphQLFieldConfigMap,
|
|
17
|
+
} from '../type/definition';
|
|
14
18
|
import { GraphQLSchema } from '../type/schema';
|
|
15
19
|
import { GraphQLDirective } from '../type/directives';
|
|
16
20
|
import { specifiedScalarTypes } from '../type/scalars';
|
|
@@ -18,14 +22,14 @@ import { introspectionTypes, TypeKind } from '../type/introspection';
|
|
|
18
22
|
import {
|
|
19
23
|
isInputType,
|
|
20
24
|
isOutputType,
|
|
25
|
+
GraphQLList,
|
|
26
|
+
GraphQLNonNull,
|
|
21
27
|
GraphQLScalarType,
|
|
22
28
|
GraphQLObjectType,
|
|
23
29
|
GraphQLInterfaceType,
|
|
24
30
|
GraphQLUnionType,
|
|
25
31
|
GraphQLEnumType,
|
|
26
32
|
GraphQLInputObjectType,
|
|
27
|
-
GraphQLList,
|
|
28
|
-
GraphQLNonNull,
|
|
29
33
|
assertNullableType,
|
|
30
34
|
assertObjectType,
|
|
31
35
|
assertInterfaceType,
|
|
@@ -33,6 +37,9 @@ import {
|
|
|
33
37
|
|
|
34
38
|
import type {
|
|
35
39
|
IntrospectionQuery,
|
|
40
|
+
IntrospectionDirective,
|
|
41
|
+
IntrospectionField,
|
|
42
|
+
IntrospectionInputValue,
|
|
36
43
|
IntrospectionType,
|
|
37
44
|
IntrospectionScalarType,
|
|
38
45
|
IntrospectionObjectType,
|
|
@@ -123,7 +130,7 @@ export function buildClientSchema(
|
|
|
123
130
|
if (!itemRef) {
|
|
124
131
|
throw new Error('Decorated type deeper than introspection query.');
|
|
125
132
|
}
|
|
126
|
-
return GraphQLList(getType(itemRef));
|
|
133
|
+
return new GraphQLList(getType(itemRef));
|
|
127
134
|
}
|
|
128
135
|
if (typeRef.kind === TypeKind.NON_NULL) {
|
|
129
136
|
const nullableRef = typeRef.ofType;
|
|
@@ -131,7 +138,7 @@ export function buildClientSchema(
|
|
|
131
138
|
throw new Error('Decorated type deeper than introspection query.');
|
|
132
139
|
}
|
|
133
140
|
const nullableType = getType(nullableRef);
|
|
134
|
-
return GraphQLNonNull(assertNullableType(nullableType));
|
|
141
|
+
return new GraphQLNonNull(assertNullableType(nullableType));
|
|
135
142
|
}
|
|
136
143
|
return getNamedType(typeRef);
|
|
137
144
|
}
|
|
@@ -205,7 +212,7 @@ export function buildClientSchema(
|
|
|
205
212
|
implementingIntrospection:
|
|
206
213
|
| IntrospectionObjectType
|
|
207
214
|
| IntrospectionInterfaceType,
|
|
208
|
-
) {
|
|
215
|
+
): Array<GraphQLInterfaceType> {
|
|
209
216
|
// TODO: Temporary workaround until GraphQL ecosystem will fully support
|
|
210
217
|
// 'interfaces' on interface types.
|
|
211
218
|
if (
|
|
@@ -302,7 +309,9 @@ export function buildClientSchema(
|
|
|
302
309
|
});
|
|
303
310
|
}
|
|
304
311
|
|
|
305
|
-
function buildFieldDefMap(
|
|
312
|
+
function buildFieldDefMap(
|
|
313
|
+
typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,
|
|
314
|
+
): GraphQLFieldConfigMap<mixed, mixed> {
|
|
306
315
|
if (!typeIntrospection.fields) {
|
|
307
316
|
throw new Error(
|
|
308
317
|
`Introspection result missing fields: ${inspect(typeIntrospection)}.`,
|
|
@@ -316,7 +325,9 @@ export function buildClientSchema(
|
|
|
316
325
|
);
|
|
317
326
|
}
|
|
318
327
|
|
|
319
|
-
function buildField(
|
|
328
|
+
function buildField(
|
|
329
|
+
fieldIntrospection: IntrospectionField,
|
|
330
|
+
): GraphQLFieldConfig<mixed, mixed> {
|
|
320
331
|
const type = getType(fieldIntrospection.type);
|
|
321
332
|
if (!isOutputType(type)) {
|
|
322
333
|
const typeStr = inspect(type);
|
|
@@ -340,7 +351,9 @@ export function buildClientSchema(
|
|
|
340
351
|
};
|
|
341
352
|
}
|
|
342
353
|
|
|
343
|
-
function buildInputValueDefMap(
|
|
354
|
+
function buildInputValueDefMap(
|
|
355
|
+
inputValueIntrospections: $ReadOnlyArray<IntrospectionInputValue>,
|
|
356
|
+
) {
|
|
344
357
|
return keyValMap(
|
|
345
358
|
inputValueIntrospections,
|
|
346
359
|
(inputValue) => inputValue.name,
|
|
@@ -348,7 +361,7 @@ export function buildClientSchema(
|
|
|
348
361
|
);
|
|
349
362
|
}
|
|
350
363
|
|
|
351
|
-
function buildInputValue(inputValueIntrospection) {
|
|
364
|
+
function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {
|
|
352
365
|
const type = getType(inputValueIntrospection.type);
|
|
353
366
|
if (!isInputType(type)) {
|
|
354
367
|
const typeStr = inspect(type);
|
|
@@ -365,10 +378,13 @@ export function buildClientSchema(
|
|
|
365
378
|
description: inputValueIntrospection.description,
|
|
366
379
|
type,
|
|
367
380
|
defaultValue,
|
|
381
|
+
deprecationReason: inputValueIntrospection.deprecationReason,
|
|
368
382
|
};
|
|
369
383
|
}
|
|
370
384
|
|
|
371
|
-
function buildDirective(
|
|
385
|
+
function buildDirective(
|
|
386
|
+
directiveIntrospection: IntrospectionDirective,
|
|
387
|
+
): GraphQLDirective {
|
|
372
388
|
if (!directiveIntrospection.args) {
|
|
373
389
|
const directiveIntrospectionStr = inspect(directiveIntrospection);
|
|
374
390
|
throw new Error(
|
|
@@ -8,7 +8,7 @@ import { GraphQLSchema } from "../type/schema.mjs";
|
|
|
8
8
|
import { GraphQLDirective } from "../type/directives.mjs";
|
|
9
9
|
import { specifiedScalarTypes } from "../type/scalars.mjs";
|
|
10
10
|
import { introspectionTypes, TypeKind } from "../type/introspection.mjs";
|
|
11
|
-
import { isInputType, isOutputType, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType,
|
|
11
|
+
import { isInputType, isOutputType, GraphQLList, GraphQLNonNull, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, assertNullableType, assertObjectType, assertInterfaceType } from "../type/definition.mjs";
|
|
12
12
|
import { valueFromAST } from "./valueFromAST.mjs";
|
|
13
13
|
/**
|
|
14
14
|
* Build a GraphQLSchema for use by client tools.
|
|
@@ -69,7 +69,7 @@ export function buildClientSchema(introspection, options) {
|
|
|
69
69
|
throw new Error('Decorated type deeper than introspection query.');
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
return GraphQLList(getType(itemRef));
|
|
72
|
+
return new GraphQLList(getType(itemRef));
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
if (typeRef.kind === TypeKind.NON_NULL) {
|
|
@@ -80,7 +80,7 @@ export function buildClientSchema(introspection, options) {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
var nullableType = getType(nullableRef);
|
|
83
|
-
return GraphQLNonNull(assertNullableType(nullableType));
|
|
83
|
+
return new GraphQLNonNull(assertNullableType(nullableType));
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
return getNamedType(typeRef);
|
|
@@ -287,7 +287,8 @@ export function buildClientSchema(introspection, options) {
|
|
|
287
287
|
return {
|
|
288
288
|
description: inputValueIntrospection.description,
|
|
289
289
|
type: type,
|
|
290
|
-
defaultValue: defaultValue
|
|
290
|
+
defaultValue: defaultValue,
|
|
291
|
+
deprecationReason: inputValueIntrospection.deprecationReason
|
|
291
292
|
};
|
|
292
293
|
}
|
|
293
294
|
|
|
@@ -5,29 +5,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.coerceInputValue = coerceInputValue;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _objectValues3 = _interopRequireDefault(require("../polyfills/objectValues.js"));
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _didYouMean = _interopRequireDefault(require("../jsutils/didYouMean.js"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _safeArrayFrom = _interopRequireDefault(require("../jsutils/safeArrayFrom.js"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _suggestionList = _interopRequireDefault(require("../jsutils/suggestionList.js"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _printPathArray = _interopRequireDefault(require("../jsutils/printPathArray.js"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _Path = require("../jsutils/Path.js");
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _GraphQLError = require("../error/GraphQLError.js");
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _definition = require("../type/definition");
|
|
28
|
+
var _definition = require("../type/definition.js");
|
|
31
29
|
|
|
32
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
31
|
|
|
@@ -67,12 +65,13 @@ function coerceInputValueImpl(inputValue, type, onError, path) {
|
|
|
67
65
|
|
|
68
66
|
if ((0, _definition.isListType)(type)) {
|
|
69
67
|
var itemType = type.ofType;
|
|
68
|
+
var coercedList = (0, _safeArrayFrom.default)(inputValue, function (itemValue, index) {
|
|
69
|
+
var itemPath = (0, _Path.addPath)(path, index, undefined);
|
|
70
|
+
return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
|
|
71
|
+
});
|
|
70
72
|
|
|
71
|
-
if (
|
|
72
|
-
return
|
|
73
|
-
var itemPath = (0, _Path.addPath)(path, index, undefined);
|
|
74
|
-
return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
|
|
75
|
-
});
|
|
73
|
+
if (coercedList != null) {
|
|
74
|
+
return coercedList;
|
|
76
75
|
} // Lists accept a non-list value as a list of one.
|
|
77
76
|
|
|
78
77
|
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
|
-
import arrayFrom from '../polyfills/arrayFrom';
|
|
4
2
|
import objectValues from '../polyfills/objectValues';
|
|
5
3
|
|
|
6
4
|
import type { Path } from '../jsutils/Path';
|
|
@@ -8,7 +6,7 @@ import inspect from '../jsutils/inspect';
|
|
|
8
6
|
import invariant from '../jsutils/invariant';
|
|
9
7
|
import didYouMean from '../jsutils/didYouMean';
|
|
10
8
|
import isObjectLike from '../jsutils/isObjectLike';
|
|
11
|
-
import
|
|
9
|
+
import safeArrayFrom from '../jsutils/safeArrayFrom';
|
|
12
10
|
import suggestionList from '../jsutils/suggestionList';
|
|
13
11
|
import printPathArray from '../jsutils/printPathArray';
|
|
14
12
|
import { addPath, pathToArray } from '../jsutils/Path';
|
|
@@ -35,7 +33,7 @@ type OnErrorCB = (
|
|
|
35
33
|
export function coerceInputValue(
|
|
36
34
|
inputValue: mixed,
|
|
37
35
|
type: GraphQLInputType,
|
|
38
|
-
onError
|
|
36
|
+
onError: OnErrorCB = defaultOnError,
|
|
39
37
|
): mixed {
|
|
40
38
|
return coerceInputValueImpl(inputValue, type, onError);
|
|
41
39
|
}
|
|
@@ -44,7 +42,7 @@ function defaultOnError(
|
|
|
44
42
|
path: $ReadOnlyArray<string | number>,
|
|
45
43
|
invalidValue: mixed,
|
|
46
44
|
error: GraphQLError,
|
|
47
|
-
) {
|
|
45
|
+
): void {
|
|
48
46
|
let errorPrefix = 'Invalid value ' + inspect(invalidValue);
|
|
49
47
|
if (path.length > 0) {
|
|
50
48
|
errorPrefix += ` at "value${printPathArray(path)}"`;
|
|
@@ -80,12 +78,16 @@ function coerceInputValueImpl(
|
|
|
80
78
|
|
|
81
79
|
if (isListType(type)) {
|
|
82
80
|
const itemType = type.ofType;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
|
|
82
|
+
const coercedList = safeArrayFrom(inputValue, (itemValue, index) => {
|
|
83
|
+
const itemPath = addPath(path, index, undefined);
|
|
84
|
+
return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
if (coercedList != null) {
|
|
88
|
+
return coercedList;
|
|
88
89
|
}
|
|
90
|
+
|
|
89
91
|
// Lists accept a non-list value as a list of one.
|
|
90
92
|
return [coerceInputValueImpl(inputValue, itemType, onError, path)];
|
|
91
93
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import arrayFrom from "../polyfills/arrayFrom.mjs";
|
|
2
1
|
import objectValues from "../polyfills/objectValues.mjs";
|
|
3
2
|
import inspect from "../jsutils/inspect.mjs";
|
|
4
3
|
import invariant from "../jsutils/invariant.mjs";
|
|
5
4
|
import didYouMean from "../jsutils/didYouMean.mjs";
|
|
6
5
|
import isObjectLike from "../jsutils/isObjectLike.mjs";
|
|
7
|
-
import
|
|
6
|
+
import safeArrayFrom from "../jsutils/safeArrayFrom.mjs";
|
|
8
7
|
import suggestionList from "../jsutils/suggestionList.mjs";
|
|
9
8
|
import printPathArray from "../jsutils/printPathArray.mjs";
|
|
10
9
|
import { addPath, pathToArray } from "../jsutils/Path.mjs";
|
|
@@ -47,12 +46,13 @@ function coerceInputValueImpl(inputValue, type, onError, path) {
|
|
|
47
46
|
|
|
48
47
|
if (isListType(type)) {
|
|
49
48
|
var itemType = type.ofType;
|
|
49
|
+
var coercedList = safeArrayFrom(inputValue, function (itemValue, index) {
|
|
50
|
+
var itemPath = addPath(path, index, undefined);
|
|
51
|
+
return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
|
|
52
|
+
});
|
|
50
53
|
|
|
51
|
-
if (
|
|
52
|
-
return
|
|
53
|
-
var itemPath = addPath(path, index, undefined);
|
|
54
|
-
return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
|
|
55
|
-
});
|
|
54
|
+
if (coercedList != null) {
|
|
55
|
+
return coercedList;
|
|
56
56
|
} // Lists accept a non-list value as a list of one.
|
|
57
57
|
|
|
58
58
|
|
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,7 +1,4 @@
|
|
|
1
1
|
// @flow strict
|
|
2
|
-
|
|
3
|
-
import flatMap from '../polyfills/flatMap';
|
|
4
|
-
|
|
5
2
|
import type { DocumentNode } from '../language/ast';
|
|
6
3
|
|
|
7
4
|
/**
|
|
@@ -9,9 +6,12 @@ import type { DocumentNode } from '../language/ast';
|
|
|
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 _schema = require("../type/schema");
|
|
34
|
+
var _schema = require("../type/schema.js");
|
|
35
35
|
|
|
36
|
-
var _scalars = require("../type/scalars");
|
|
36
|
+
var _scalars = require("../type/scalars.js");
|
|
37
37
|
|
|
38
|
-
var _introspection = require("../type/introspection");
|
|
38
|
+
var _introspection = require("../type/introspection.js");
|
|
39
39
|
|
|
40
|
-
var _directives = require("../type/directives");
|
|
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';
|
|
@@ -54,10 +53,12 @@ import type {
|
|
|
54
53
|
import type {
|
|
55
54
|
GraphQLType,
|
|
56
55
|
GraphQLNamedType,
|
|
56
|
+
GraphQLFieldConfig,
|
|
57
57
|
GraphQLFieldConfigMap,
|
|
58
|
+
GraphQLArgumentConfig,
|
|
59
|
+
GraphQLFieldConfigArgumentMap,
|
|
58
60
|
GraphQLEnumValueConfigMap,
|
|
59
61
|
GraphQLInputFieldConfigMap,
|
|
60
|
-
GraphQLFieldConfigArgumentMap,
|
|
61
62
|
} from '../type/definition';
|
|
62
63
|
import { assertSchema, GraphQLSchema } from '../type/schema';
|
|
63
64
|
import { specifiedScalarTypes, isSpecifiedScalarType } from '../type/scalars';
|
|
@@ -239,10 +240,13 @@ export function extendSchemaImpl(
|
|
|
239
240
|
// Below are functions used for producing this schema that have closed over
|
|
240
241
|
// this scope and have access to the schema, cache, and newly defined types.
|
|
241
242
|
|
|
242
|
-
function replaceType(type) {
|
|
243
|
+
function replaceType<T: GraphQLType>(type: T): T {
|
|
243
244
|
if (isListType(type)) {
|
|
245
|
+
// $FlowFixMe[incompatible-return]
|
|
244
246
|
return new GraphQLList(replaceType(type.ofType));
|
|
245
|
-
}
|
|
247
|
+
}
|
|
248
|
+
if (isNonNullType(type)) {
|
|
249
|
+
// $FlowFixMe[incompatible-return]
|
|
246
250
|
return new GraphQLNonNull(replaceType(type.ofType));
|
|
247
251
|
}
|
|
248
252
|
return replaceNamedType(type);
|
|
@@ -393,15 +397,18 @@ export function extendSchemaImpl(
|
|
|
393
397
|
});
|
|
394
398
|
}
|
|
395
399
|
|
|
396
|
-
function extendField(
|
|
400
|
+
function extendField(
|
|
401
|
+
field: GraphQLFieldConfig<mixed, mixed>,
|
|
402
|
+
): GraphQLFieldConfig<mixed, mixed> {
|
|
397
403
|
return {
|
|
398
404
|
...field,
|
|
399
405
|
type: replaceType(field.type),
|
|
406
|
+
// $FlowFixMe[incompatible-call]
|
|
400
407
|
args: mapValue(field.args, extendArg),
|
|
401
408
|
};
|
|
402
409
|
}
|
|
403
410
|
|
|
404
|
-
function extendArg(arg) {
|
|
411
|
+
function extendArg(arg: GraphQLArgumentConfig) {
|
|
405
412
|
return {
|
|
406
413
|
...arg,
|
|
407
414
|
type: replaceType(arg.type),
|
|
@@ -512,6 +519,7 @@ export function extendSchemaImpl(
|
|
|
512
519
|
type,
|
|
513
520
|
description: getDescription(arg, options),
|
|
514
521
|
defaultValue: valueFromAST(arg.defaultValue, type),
|
|
522
|
+
deprecationReason: getDeprecationReason(arg),
|
|
515
523
|
astNode: arg,
|
|
516
524
|
};
|
|
517
525
|
}
|
|
@@ -538,6 +546,7 @@ export function extendSchemaImpl(
|
|
|
538
546
|
type,
|
|
539
547
|
description: getDescription(field, options),
|
|
540
548
|
defaultValue: valueFromAST(field.defaultValue, type),
|
|
549
|
+
deprecationReason: getDeprecationReason(field),
|
|
541
550
|
astNode: field,
|
|
542
551
|
};
|
|
543
552
|
}
|
|
@@ -706,7 +715,10 @@ const stdTypeMap = keyMap(
|
|
|
706
715
|
* deprecation reason.
|
|
707
716
|
*/
|
|
708
717
|
function getDeprecationReason(
|
|
709
|
-
node:
|
|
718
|
+
node:
|
|
719
|
+
| EnumValueDefinitionNode
|
|
720
|
+
| FieldDefinitionNode
|
|
721
|
+
| InputValueDefinitionNode,
|
|
710
722
|
): ?string {
|
|
711
723
|
const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);
|
|
712
724
|
return (deprecated?.reason: any);
|
|
@@ -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,25 @@ 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
|
|
18
|
+
var _naturalCompare = _interopRequireDefault(require("../jsutils/naturalCompare.js"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _printer = require("../language/printer.js");
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _visitor = require("../language/visitor.js");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _scalars = require("../type/scalars.js");
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _definition = require("../type/definition.js");
|
|
27
|
+
|
|
28
|
+
var _astFromValue = require("./astFromValue.js");
|
|
27
29
|
|
|
28
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
31
|
|
|
@@ -467,8 +469,10 @@ function stringifyValue(value, type) {
|
|
|
467
469
|
ast != null || (0, _invariant.default)(0);
|
|
468
470
|
var sortedAST = (0, _visitor.visit)(ast, {
|
|
469
471
|
ObjectValue: function ObjectValue(objectNode) {
|
|
470
|
-
|
|
471
|
-
|
|
472
|
+
// Make a copy since sort mutates array
|
|
473
|
+
var fields = [].concat(objectNode.fields);
|
|
474
|
+
fields.sort(function (fieldA, fieldB) {
|
|
475
|
+
return (0, _naturalCompare.default)(fieldA.name.value, fieldB.name.value);
|
|
472
476
|
});
|
|
473
477
|
return _objectSpread(_objectSpread({}, objectNode), {}, {
|
|
474
478
|
fields: fields
|