graphql 14.0.2 → 14.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +5 -5
- package/codecov.yml +14 -0
- package/error/GraphQLError.js +2 -2
- package/error/GraphQLError.js.flow +4 -4
- package/error/GraphQLError.mjs +2 -2
- package/error/formatError.js +2 -2
- package/error/formatError.js.flow +1 -1
- package/error/formatError.mjs +2 -2
- package/error/index.js.flow +1 -1
- package/error/index.mjs +2 -2
- package/error/locatedError.js +2 -2
- package/error/locatedError.js.flow +1 -1
- package/error/locatedError.mjs +2 -2
- package/error/printError.js +2 -2
- package/error/printError.js.flow +1 -1
- package/error/printError.mjs +2 -2
- package/error/syntaxError.js +2 -2
- package/error/syntaxError.js.flow +1 -1
- package/error/syntaxError.mjs +2 -2
- package/execution/execute.js +20 -11
- package/execution/execute.js.flow +41 -27
- package/execution/execute.mjs +19 -13
- package/execution/index.js +6 -0
- package/execution/index.js.flow +7 -2
- package/execution/index.mjs +3 -3
- package/execution/values.js +10 -10
- package/execution/values.js.flow +8 -8
- package/execution/values.mjs +9 -9
- package/graphql.js +8 -8
- package/graphql.js.flow +18 -4
- package/graphql.mjs +8 -8
- package/index.js +18 -0
- package/index.js.flow +4 -1
- package/index.mjs +4 -4
- package/jsutils/ObjMap.js.flow +1 -1
- package/jsutils/{MaybePromise.js → PromiseOrValue.js} +0 -0
- package/jsutils/{MaybePromise.js.flow → PromiseOrValue.js.flow} +2 -2
- package/jsutils/{MaybePromise.mjs → PromiseOrValue.mjs} +0 -0
- package/jsutils/dedent.js +2 -2
- package/jsutils/dedent.js.flow +1 -1
- package/jsutils/dedent.mjs +2 -2
- package/jsutils/defineToJSON.js +18 -7
- package/jsutils/defineToJSON.js.flow +15 -6
- package/jsutils/defineToJSON.mjs +15 -7
- package/jsutils/defineToStringTag.js +6 -6
- package/jsutils/defineToStringTag.js.flow +4 -4
- package/jsutils/defineToStringTag.mjs +5 -5
- package/jsutils/inspect.js +109 -23
- package/jsutils/inspect.js.flow +112 -14
- package/jsutils/inspect.mjs +108 -17
- package/jsutils/instanceOf.js +2 -2
- package/jsutils/instanceOf.js.flow +1 -1
- package/jsutils/instanceOf.mjs +2 -2
- package/jsutils/invariant.js +2 -2
- package/jsutils/invariant.js.flow +1 -1
- package/jsutils/invariant.mjs +2 -2
- package/jsutils/isInvalid.js +2 -2
- package/jsutils/isInvalid.js.flow +1 -1
- package/jsutils/isInvalid.mjs +2 -2
- package/jsutils/isNullish.js +2 -2
- package/jsutils/isNullish.js.flow +1 -1
- package/jsutils/isNullish.mjs +2 -2
- package/jsutils/isPromise.js +2 -2
- package/jsutils/isPromise.js.flow +1 -1
- package/jsutils/isPromise.mjs +2 -2
- package/jsutils/keyMap.js +2 -2
- package/jsutils/keyMap.js.flow +1 -1
- package/jsutils/keyMap.mjs +2 -2
- package/jsutils/keyValMap.js +2 -2
- package/jsutils/keyValMap.js.flow +1 -1
- package/jsutils/keyValMap.mjs +2 -2
- package/jsutils/mapValue.js +54 -0
- package/jsutils/mapValue.js.flow +27 -0
- package/jsutils/mapValue.mjs +44 -0
- package/jsutils/memoize3.js +2 -2
- package/jsutils/memoize3.js.flow +1 -1
- package/jsutils/memoize3.mjs +2 -2
- package/jsutils/nodejsCustomInspectSymbol.js +18 -0
- package/jsutils/nodejsCustomInspectSymbol.js.flow +15 -0
- package/jsutils/nodejsCustomInspectSymbol.mjs +10 -0
- package/jsutils/orList.js +18 -5
- package/jsutils/orList.js.flow +14 -8
- package/jsutils/orList.mjs +15 -5
- package/jsutils/promiseForObject.js +2 -2
- package/jsutils/promiseForObject.js.flow +1 -1
- package/jsutils/promiseForObject.mjs +2 -2
- package/jsutils/promiseReduce.js +2 -2
- package/jsutils/promiseReduce.js.flow +5 -5
- package/jsutils/promiseReduce.mjs +2 -2
- package/jsutils/quotedOrList.js +2 -2
- package/jsutils/quotedOrList.js.flow +1 -1
- package/jsutils/quotedOrList.mjs +2 -2
- package/jsutils/suggestionList.js +2 -2
- package/jsutils/suggestionList.js.flow +1 -1
- package/jsutils/suggestionList.mjs +2 -2
- package/language/ast.js.flow +1 -1
- package/language/{blockStringValue.mjs → blockString.js} +39 -3
- package/language/{blockStringValue.js.flow → blockString.js.flow} +31 -2
- package/language/{blockStringValue.js → blockString.mjs} +31 -10
- package/language/directiveLocation.js +2 -2
- package/language/directiveLocation.js.flow +1 -1
- package/language/directiveLocation.mjs +2 -2
- package/language/index.js.flow +1 -1
- package/language/index.mjs +2 -2
- package/language/kinds.js +2 -2
- package/language/kinds.js.flow +1 -1
- package/language/kinds.mjs +2 -2
- package/language/lexer.js +60 -46
- package/language/lexer.js.flow +71 -69
- package/language/lexer.mjs +58 -45
- package/language/location.js +2 -2
- package/language/location.js.flow +1 -1
- package/language/location.mjs +2 -2
- package/language/parser.js +84 -83
- package/language/parser.js.flow +85 -94
- package/language/parser.mjs +83 -83
- package/language/predicates.js +2 -2
- package/language/predicates.js.flow +1 -1
- package/language/predicates.mjs +2 -2
- package/language/printer.js +15 -17
- package/language/printer.js.flow +21 -20
- package/language/printer.mjs +14 -17
- package/language/source.js +8 -7
- package/language/source.js.flow +1 -1
- package/language/source.mjs +2 -10
- package/language/visitor.js +7 -6
- package/language/visitor.js.flow +3 -5
- package/language/visitor.mjs +7 -6
- package/package.json +5 -2
- package/polyfills/find.js +31 -0
- package/polyfills/find.js.flow +29 -0
- package/polyfills/find.mjs +23 -0
- package/polyfills/flatMap.js +38 -0
- package/polyfills/flatMap.js.flow +34 -0
- package/polyfills/flatMap.mjs +30 -0
- package/{jsutils → polyfills}/isFinite.js +2 -2
- package/{jsutils → polyfills}/isFinite.js.flow +1 -1
- package/{jsutils → polyfills}/isFinite.mjs +2 -2
- package/{jsutils → polyfills}/isInteger.js +2 -2
- package/{jsutils → polyfills}/isInteger.js.flow +1 -1
- package/{jsutils → polyfills}/isInteger.mjs +2 -2
- package/polyfills/objectEntries.js +26 -0
- package/polyfills/objectEntries.js.flow +19 -0
- package/polyfills/objectEntries.mjs +18 -0
- package/{jsutils → polyfills}/objectValues.js +2 -2
- package/{jsutils → polyfills}/objectValues.js.flow +2 -2
- package/{jsutils → polyfills}/objectValues.mjs +2 -2
- package/subscription/asyncIteratorReject.js.flow +1 -1
- package/subscription/asyncIteratorReject.mjs +2 -2
- package/subscription/index.js.flow +1 -1
- package/subscription/index.mjs +2 -2
- package/subscription/mapAsyncIterator.js.flow +5 -5
- package/subscription/mapAsyncIterator.mjs +2 -2
- package/subscription/subscribe.js +2 -2
- package/subscription/subscribe.js.flow +1 -1
- package/subscription/subscribe.mjs +2 -2
- package/type/definition.js +161 -138
- package/type/definition.js.flow +193 -57
- package/type/definition.mjs +158 -140
- package/type/directives.js +35 -29
- package/type/directives.js.flow +39 -21
- package/type/directives.mjs +34 -31
- package/type/index.js +12 -0
- package/type/index.js.flow +5 -1
- package/type/index.mjs +6 -4
- package/type/introspection.js +11 -7
- package/type/introspection.js.flow +11 -8
- package/type/introspection.mjs +11 -7
- package/type/scalars.js +45 -34
- package/type/scalars.js.flow +41 -27
- package/type/scalars.mjs +45 -27
- package/type/schema.js +134 -88
- package/type/schema.js.flow +77 -11
- package/type/schema.mjs +132 -88
- package/type/validate.js +152 -187
- package/type/validate.js.flow +12 -61
- package/type/validate.mjs +143 -188
- package/utilities/TypeInfo.js +10 -23
- package/utilities/TypeInfo.js.flow +2 -2
- package/utilities/TypeInfo.mjs +3 -25
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +1 -1
- package/utilities/assertValidName.mjs +2 -2
- package/utilities/astFromValue.js +7 -6
- package/utilities/astFromValue.js.flow +7 -6
- package/utilities/astFromValue.mjs +9 -8
- package/utilities/buildASTSchema.js +213 -197
- package/utilities/buildASTSchema.js.flow +163 -173
- package/utilities/buildASTSchema.mjs +203 -198
- package/utilities/buildClientSchema.js +39 -47
- package/utilities/buildClientSchema.js.flow +49 -58
- package/utilities/buildClientSchema.mjs +38 -46
- package/utilities/coerceValue.js +41 -21
- package/utilities/coerceValue.js.flow +44 -49
- package/utilities/coerceValue.mjs +42 -23
- package/utilities/concatAST.js +9 -13
- package/utilities/concatAST.js.flow +3 -9
- package/utilities/concatAST.mjs +6 -13
- package/utilities/extendSchema.js +256 -630
- package/utilities/extendSchema.js.flow +190 -426
- package/utilities/extendSchema.mjs +256 -631
- package/utilities/findBreakingChanges.js +8 -6
- package/utilities/findBreakingChanges.js.flow +4 -3
- package/utilities/findBreakingChanges.mjs +7 -6
- package/utilities/findDeprecatedUsages.js +4 -4
- package/utilities/findDeprecatedUsages.js.flow +3 -3
- package/utilities/findDeprecatedUsages.mjs +4 -4
- package/utilities/getOperationAST.js +2 -2
- package/utilities/getOperationAST.js.flow +1 -1
- package/utilities/getOperationAST.mjs +2 -2
- package/utilities/getOperationRootType.js +6 -6
- package/utilities/getOperationRootType.js.flow +9 -7
- package/utilities/getOperationRootType.mjs +6 -6
- package/utilities/index.js.flow +1 -1
- package/utilities/index.mjs +2 -2
- package/utilities/introspectionFromSchema.js +2 -2
- package/utilities/introspectionFromSchema.js.flow +1 -1
- package/utilities/introspectionFromSchema.mjs +2 -2
- package/utilities/introspectionQuery.js +2 -2
- package/utilities/introspectionQuery.js.flow +1 -1
- package/utilities/introspectionQuery.mjs +2 -2
- package/utilities/isValidJSValue.js +4 -2
- package/utilities/isValidJSValue.js.flow +2 -1
- package/utilities/isValidJSValue.mjs +4 -2
- package/utilities/isValidLiteralValue.js +2 -2
- package/utilities/isValidLiteralValue.js.flow +1 -1
- package/utilities/isValidLiteralValue.mjs +2 -2
- package/utilities/lexicographicSortSchema.js +86 -124
- package/utilities/lexicographicSortSchema.js.flow +68 -96
- package/utilities/lexicographicSortSchema.mjs +86 -124
- package/utilities/schemaPrinter.js +47 -73
- package/utilities/schemaPrinter.js.flow +62 -111
- package/utilities/schemaPrinter.mjs +46 -73
- package/utilities/separateOperations.js +11 -10
- package/utilities/separateOperations.js.flow +1 -1
- package/utilities/separateOperations.mjs +11 -10
- package/utilities/typeComparators.js +2 -2
- package/utilities/typeComparators.js.flow +1 -1
- package/utilities/typeComparators.mjs +2 -2
- package/utilities/typeFromAST.js +9 -4
- package/utilities/typeFromAST.js.flow +5 -2
- package/utilities/typeFromAST.mjs +6 -4
- package/utilities/valueFromAST.js +9 -6
- package/utilities/valueFromAST.js.flow +5 -3
- package/utilities/valueFromAST.mjs +7 -5
- package/utilities/valueFromASTUntyped.js +7 -4
- package/utilities/valueFromASTUntyped.js.flow +5 -2
- package/utilities/valueFromASTUntyped.mjs +6 -4
- package/validation/ValidationContext.js +57 -82
- package/validation/ValidationContext.js.flow +53 -50
- package/validation/ValidationContext.mjs +53 -78
- package/validation/index.js.flow +1 -1
- package/validation/index.mjs +2 -2
- package/validation/rules/ExecutableDefinitions.js +3 -3
- package/validation/rules/ExecutableDefinitions.js.flow +3 -3
- package/validation/rules/ExecutableDefinitions.mjs +3 -3
- package/validation/rules/FieldsOnCorrectType.js +3 -3
- package/validation/rules/FieldsOnCorrectType.js.flow +2 -2
- package/validation/rules/FieldsOnCorrectType.mjs +3 -3
- package/validation/rules/FragmentsOnCompositeTypes.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypes.js.flow +3 -3
- package/validation/rules/FragmentsOnCompositeTypes.mjs +4 -4
- package/validation/rules/KnownArgumentNames.js.flow +1 -1
- package/validation/rules/KnownArgumentNames.mjs +2 -2
- package/validation/rules/KnownDirectives.js +4 -4
- package/validation/rules/KnownDirectives.js.flow +5 -4
- package/validation/rules/KnownDirectives.mjs +4 -4
- package/validation/rules/KnownFragmentNames.js +3 -3
- package/validation/rules/KnownFragmentNames.js.flow +2 -2
- package/validation/rules/KnownFragmentNames.mjs +3 -3
- package/validation/rules/KnownTypeNames.js +60 -22
- package/validation/rules/KnownTypeNames.js.flow +55 -21
- package/validation/rules/KnownTypeNames.mjs +57 -22
- package/validation/rules/LoneAnonymousOperation.js +3 -3
- package/validation/rules/LoneAnonymousOperation.js.flow +2 -2
- package/validation/rules/LoneAnonymousOperation.mjs +3 -3
- package/validation/rules/LoneSchemaDefinition.js +2 -2
- package/validation/rules/LoneSchemaDefinition.js.flow +1 -1
- package/validation/rules/LoneSchemaDefinition.mjs +2 -2
- package/validation/rules/NoFragmentCycles.js +2 -2
- package/validation/rules/NoFragmentCycles.js.flow +3 -3
- package/validation/rules/NoFragmentCycles.mjs +2 -2
- package/validation/rules/NoUndefinedVariables.js +2 -2
- package/validation/rules/NoUndefinedVariables.js.flow +1 -1
- package/validation/rules/NoUndefinedVariables.mjs +2 -2
- package/validation/rules/NoUnusedFragments.js +10 -7
- package/validation/rules/NoUnusedFragments.js.flow +4 -4
- package/validation/rules/NoUnusedFragments.mjs +10 -7
- package/validation/rules/NoUnusedVariables.js +7 -5
- package/validation/rules/NoUnusedVariables.js.flow +4 -3
- package/validation/rules/NoUnusedVariables.mjs +7 -5
- package/validation/rules/OverlappingFieldsCanBeMerged.js +58 -33
- package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +4 -4
- package/validation/rules/OverlappingFieldsCanBeMerged.mjs +50 -34
- package/validation/rules/PossibleFragmentSpreads.js +4 -4
- package/validation/rules/PossibleFragmentSpreads.js.flow +3 -3
- package/validation/rules/PossibleFragmentSpreads.mjs +4 -4
- package/validation/rules/PossibleTypeExtensions.js +158 -0
- package/validation/rules/PossibleTypeExtensions.js.flow +160 -0
- package/validation/rules/PossibleTypeExtensions.mjs +146 -0
- package/validation/rules/ProvidedRequiredArguments.js +3 -3
- package/validation/rules/ProvidedRequiredArguments.js.flow +4 -4
- package/validation/rules/ProvidedRequiredArguments.mjs +5 -5
- package/validation/rules/ScalarLeafs.js +4 -4
- package/validation/rules/ScalarLeafs.js.flow +3 -3
- package/validation/rules/ScalarLeafs.mjs +4 -4
- package/validation/rules/SingleFieldSubscriptions.js +2 -2
- package/validation/rules/SingleFieldSubscriptions.js.flow +1 -1
- package/validation/rules/SingleFieldSubscriptions.mjs +2 -2
- package/validation/rules/UniqueArgumentNames.js +2 -2
- package/validation/rules/UniqueArgumentNames.js.flow +1 -1
- package/validation/rules/UniqueArgumentNames.mjs +2 -2
- package/validation/rules/UniqueDirectiveNames.js +55 -0
- package/validation/rules/UniqueDirectiveNames.js.flow +64 -0
- package/validation/rules/UniqueDirectiveNames.mjs +43 -0
- package/validation/rules/UniqueDirectivesPerLocation.js +2 -2
- package/validation/rules/UniqueDirectivesPerLocation.js.flow +1 -1
- package/validation/rules/UniqueDirectivesPerLocation.mjs +2 -2
- package/validation/rules/UniqueEnumValueNames.js +90 -0
- package/validation/rules/UniqueEnumValueNames.js.flow +85 -0
- package/validation/rules/UniqueEnumValueNames.mjs +77 -0
- package/validation/rules/UniqueFieldDefinitionNames.js +101 -0
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +99 -0
- package/validation/rules/UniqueFieldDefinitionNames.mjs +88 -0
- package/validation/rules/UniqueFragmentNames.js +2 -2
- package/validation/rules/UniqueFragmentNames.js.flow +1 -1
- package/validation/rules/UniqueFragmentNames.mjs +2 -2
- package/validation/rules/UniqueInputFieldNames.js +2 -4
- package/validation/rules/UniqueInputFieldNames.js.flow +1 -2
- package/validation/rules/UniqueInputFieldNames.mjs +2 -4
- package/validation/rules/UniqueOperationNames.js +2 -2
- package/validation/rules/UniqueOperationNames.js.flow +1 -1
- package/validation/rules/UniqueOperationNames.mjs +2 -2
- package/validation/rules/UniqueOperationTypes.js +85 -0
- package/validation/rules/UniqueOperationTypes.js.flow +76 -0
- package/validation/rules/UniqueOperationTypes.mjs +73 -0
- package/validation/rules/UniqueTypeNames.js +62 -0
- package/validation/rules/UniqueTypeNames.js.flow +67 -0
- package/validation/rules/UniqueTypeNames.mjs +50 -0
- package/validation/rules/UniqueVariableNames.js +2 -2
- package/validation/rules/UniqueVariableNames.js.flow +1 -1
- package/validation/rules/UniqueVariableNames.mjs +2 -2
- package/validation/rules/ValuesOfCorrectType.js +30 -14
- package/validation/rules/ValuesOfCorrectType.js.flow +5 -6
- package/validation/rules/ValuesOfCorrectType.mjs +29 -14
- package/validation/rules/VariablesAreInputTypes.js +3 -3
- package/validation/rules/VariablesAreInputTypes.js.flow +2 -2
- package/validation/rules/VariablesAreInputTypes.mjs +3 -3
- package/validation/rules/VariablesInAllowedPosition.js +5 -5
- package/validation/rules/VariablesInAllowedPosition.js.flow +1 -1
- package/validation/rules/VariablesInAllowedPosition.mjs +5 -5
- package/validation/specifiedRules.js +15 -3
- package/validation/specifiedRules.js.flow +14 -1
- package/validation/specifiedRules.mjs +9 -3
- package/validation/validate.js +2 -2
- package/validation/validate.js.flow +1 -1
- package/validation/validate.mjs +2 -2
- package/jsutils/find.js +0 -22
- package/jsutils/find.js.flow +0 -19
- package/jsutils/find.mjs +0 -15
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
10
|
+
import flatMap from '../polyfills/flatMap';
|
|
11
|
+
import objectValues from '../polyfills/objectValues';
|
|
12
|
+
import inspect from '../jsutils/inspect';
|
|
13
13
|
import { astFromValue } from '../utilities/astFromValue';
|
|
14
14
|
import { print } from '../language/printer';
|
|
15
|
+
import { printBlockString } from '../language/blockString';
|
|
15
16
|
import type { GraphQLSchema } from '../type/schema';
|
|
16
17
|
import {
|
|
17
18
|
isScalarType,
|
|
@@ -175,8 +176,10 @@ export function printType(type: GraphQLNamedType, options?: Options): string {
|
|
|
175
176
|
} else if (isInputObjectType(type)) {
|
|
176
177
|
return printInputObject(type, options);
|
|
177
178
|
}
|
|
179
|
+
|
|
180
|
+
// Not reachable. All possible types have been considered.
|
|
178
181
|
/* istanbul ignore next */
|
|
179
|
-
throw new Error(`
|
|
182
|
+
throw new Error(`Unexpected type: "${inspect((type: empty))}".`);
|
|
180
183
|
}
|
|
181
184
|
|
|
182
185
|
function printScalar(type: GraphQLScalarType, options): string {
|
|
@@ -190,82 +193,67 @@ function printObject(type: GraphQLObjectType, options): string {
|
|
|
190
193
|
: '';
|
|
191
194
|
return (
|
|
192
195
|
printDescription(options, type) +
|
|
193
|
-
`type ${type.name}${implementedInterfaces}
|
|
194
|
-
printFields(options, type)
|
|
195
|
-
'\n' +
|
|
196
|
-
'}'
|
|
196
|
+
`type ${type.name}${implementedInterfaces}` +
|
|
197
|
+
printFields(options, type)
|
|
197
198
|
);
|
|
198
199
|
}
|
|
199
200
|
|
|
200
201
|
function printInterface(type: GraphQLInterfaceType, options): string {
|
|
201
202
|
return (
|
|
202
203
|
printDescription(options, type) +
|
|
203
|
-
`interface ${type.name}
|
|
204
|
-
printFields(options, type)
|
|
205
|
-
'\n' +
|
|
206
|
-
'}'
|
|
204
|
+
`interface ${type.name}` +
|
|
205
|
+
printFields(options, type)
|
|
207
206
|
);
|
|
208
207
|
}
|
|
209
208
|
|
|
210
209
|
function printUnion(type: GraphQLUnionType, options): string {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
);
|
|
210
|
+
const types = type.getTypes();
|
|
211
|
+
const possibleTypes = types.length ? ' = ' + types.join(' | ') : '';
|
|
212
|
+
return printDescription(options, type) + 'union ' + type.name + possibleTypes;
|
|
215
213
|
}
|
|
216
214
|
|
|
217
215
|
function printEnum(type: GraphQLEnumType, options): string {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
`enum ${type.name} {\n` +
|
|
221
|
-
printEnumValues(type.getValues(), options) +
|
|
222
|
-
'\n' +
|
|
223
|
-
'}'
|
|
224
|
-
);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
function printEnumValues(values, options): string {
|
|
228
|
-
return values
|
|
216
|
+
const values = type
|
|
217
|
+
.getValues()
|
|
229
218
|
.map(
|
|
230
219
|
(value, i) =>
|
|
231
220
|
printDescription(options, value, ' ', !i) +
|
|
232
221
|
' ' +
|
|
233
222
|
value.name +
|
|
234
223
|
printDeprecated(value),
|
|
235
|
-
)
|
|
236
|
-
|
|
224
|
+
);
|
|
225
|
+
|
|
226
|
+
return (
|
|
227
|
+
printDescription(options, type) + `enum ${type.name}` + printBlock(values)
|
|
228
|
+
);
|
|
237
229
|
}
|
|
238
230
|
|
|
239
231
|
function printInputObject(type: GraphQLInputObjectType, options): string {
|
|
240
|
-
const fields = objectValues(type.getFields())
|
|
232
|
+
const fields = objectValues(type.getFields()).map(
|
|
233
|
+
(f, i) =>
|
|
234
|
+
printDescription(options, f, ' ', !i) + ' ' + printInputValue(f),
|
|
235
|
+
);
|
|
241
236
|
return (
|
|
242
|
-
printDescription(options, type) +
|
|
243
|
-
`input ${type.name} {\n` +
|
|
244
|
-
fields
|
|
245
|
-
.map(
|
|
246
|
-
(f, i) =>
|
|
247
|
-
printDescription(options, f, ' ', !i) + ' ' + printInputValue(f),
|
|
248
|
-
)
|
|
249
|
-
.join('\n') +
|
|
250
|
-
'\n' +
|
|
251
|
-
'}'
|
|
237
|
+
printDescription(options, type) + `input ${type.name}` + printBlock(fields)
|
|
252
238
|
);
|
|
253
239
|
}
|
|
254
240
|
|
|
255
241
|
function printFields(options, type) {
|
|
256
|
-
const fields = objectValues(type.getFields())
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
242
|
+
const fields = objectValues(type.getFields()).map(
|
|
243
|
+
(f, i) =>
|
|
244
|
+
printDescription(options, f, ' ', !i) +
|
|
245
|
+
' ' +
|
|
246
|
+
f.name +
|
|
247
|
+
printArgs(options, f.args, ' ') +
|
|
248
|
+
': ' +
|
|
249
|
+
String(f.type) +
|
|
250
|
+
printDeprecated(f),
|
|
251
|
+
);
|
|
252
|
+
return printBlock(fields);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function printBlock(items) {
|
|
256
|
+
return items.length !== 0 ? ' {\n' + items.join('\n') + '\n}' : '';
|
|
269
257
|
}
|
|
270
258
|
|
|
271
259
|
function printArgs(options, args, indentation = '') {
|
|
@@ -296,9 +284,10 @@ function printArgs(options, args, indentation = '') {
|
|
|
296
284
|
}
|
|
297
285
|
|
|
298
286
|
function printInputValue(arg) {
|
|
287
|
+
const defaultAST = astFromValue(arg.defaultValue, arg.type);
|
|
299
288
|
let argDecl = arg.name + ': ' + String(arg.type);
|
|
300
|
-
if (
|
|
301
|
-
argDecl += ` = ${print(
|
|
289
|
+
if (defaultAST) {
|
|
290
|
+
argDecl += ` = ${print(defaultAST)}`;
|
|
302
291
|
}
|
|
303
292
|
return argDecl;
|
|
304
293
|
}
|
|
@@ -319,16 +308,11 @@ function printDeprecated(fieldOrEnumVal) {
|
|
|
319
308
|
return '';
|
|
320
309
|
}
|
|
321
310
|
const reason = fieldOrEnumVal.deprecationReason;
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
reason
|
|
325
|
-
reason === DEFAULT_DEPRECATION_REASON
|
|
326
|
-
) {
|
|
327
|
-
return ' @deprecated';
|
|
311
|
+
const reasonAST = astFromValue(reason, GraphQLString);
|
|
312
|
+
if (reasonAST && reason !== '' && reason !== DEFAULT_DEPRECATION_REASON) {
|
|
313
|
+
return ' @deprecated(reason: ' + print(reasonAST) + ')';
|
|
328
314
|
}
|
|
329
|
-
return
|
|
330
|
-
' @deprecated(reason: ' + print(astFromValue(reason, GraphQLString)) + ')'
|
|
331
|
-
);
|
|
315
|
+
return ' @deprecated';
|
|
332
316
|
}
|
|
333
317
|
|
|
334
318
|
function printDescription(
|
|
@@ -346,37 +330,13 @@ function printDescription(
|
|
|
346
330
|
return printDescriptionWithComments(lines, indentation, firstInBlock);
|
|
347
331
|
}
|
|
348
332
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
// In some circumstances, a single line can be used for the description.
|
|
355
|
-
if (
|
|
356
|
-
lines.length === 1 &&
|
|
357
|
-
lines[0].length < 70 &&
|
|
358
|
-
lines[0][lines[0].length - 1] !== '"'
|
|
359
|
-
) {
|
|
360
|
-
return description + escapeQuote(lines[0]) + '"""\n';
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
// Format a multi-line block quote to account for leading space.
|
|
364
|
-
const hasLeadingSpace = lines[0][0] === ' ' || lines[0][0] === '\t';
|
|
365
|
-
if (!hasLeadingSpace) {
|
|
366
|
-
description += '\n';
|
|
367
|
-
}
|
|
368
|
-
for (let i = 0; i < lines.length; i++) {
|
|
369
|
-
if (i !== 0 || !hasLeadingSpace) {
|
|
370
|
-
description += indentation;
|
|
371
|
-
}
|
|
372
|
-
description += escapeQuote(lines[i]) + '\n';
|
|
373
|
-
}
|
|
374
|
-
description += indentation + '"""\n';
|
|
375
|
-
return description;
|
|
376
|
-
}
|
|
333
|
+
const text = lines.join('\n');
|
|
334
|
+
const preferMultipleLines = text.length > 70;
|
|
335
|
+
const blockString = printBlockString(text, '', preferMultipleLines);
|
|
336
|
+
const prefix =
|
|
337
|
+
indentation && !firstInBlock ? '\n' + indentation : indentation;
|
|
377
338
|
|
|
378
|
-
|
|
379
|
-
return line.replace(/"""/g, '\\"""');
|
|
339
|
+
return prefix + blockString.replace(/\n/g, '\n' + indentation) + '\n';
|
|
380
340
|
}
|
|
381
341
|
|
|
382
342
|
function printDescriptionWithComments(lines, indentation, firstInBlock) {
|
|
@@ -392,27 +352,18 @@ function printDescriptionWithComments(lines, indentation, firstInBlock) {
|
|
|
392
352
|
}
|
|
393
353
|
|
|
394
354
|
function descriptionLines(description: string, maxLen: number): Array<string> {
|
|
395
|
-
const lines = [];
|
|
396
355
|
const rawLines = description.split('\n');
|
|
397
|
-
|
|
398
|
-
if (
|
|
399
|
-
|
|
400
|
-
} else {
|
|
401
|
-
// For > 120 character long lines, cut at space boundaries into sublines
|
|
402
|
-
// of ~80 chars.
|
|
403
|
-
const sublines = breakLine(rawLines[i], maxLen);
|
|
404
|
-
for (let j = 0; j < sublines.length; j++) {
|
|
405
|
-
lines.push(sublines[j]);
|
|
406
|
-
}
|
|
356
|
+
return flatMap(rawLines, line => {
|
|
357
|
+
if (line.length < maxLen + 5) {
|
|
358
|
+
return line;
|
|
407
359
|
}
|
|
408
|
-
|
|
409
|
-
|
|
360
|
+
// For > 120 character long lines, cut at space boundaries into sublines
|
|
361
|
+
// of ~80 chars.
|
|
362
|
+
return breakLine(line, maxLen);
|
|
363
|
+
});
|
|
410
364
|
}
|
|
411
365
|
|
|
412
366
|
function breakLine(line: string, maxLen: number): Array<string> {
|
|
413
|
-
if (line.length < maxLen + 5) {
|
|
414
|
-
return [line];
|
|
415
|
-
}
|
|
416
367
|
const parts = line.split(new RegExp(`((?: |^).{15,${maxLen - 40}}(?= |$))`));
|
|
417
368
|
if (parts.length < 4) {
|
|
418
369
|
return [line];
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
9
|
+
import flatMap from '../polyfills/flatMap';
|
|
10
|
+
import objectValues from '../polyfills/objectValues';
|
|
11
|
+
import inspect from '../jsutils/inspect';
|
|
12
12
|
import { astFromValue } from '../utilities/astFromValue';
|
|
13
13
|
import { print } from '../language/printer';
|
|
14
|
+
import { printBlockString } from '../language/blockString';
|
|
14
15
|
import { isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType } from '../type/definition';
|
|
15
16
|
import { GraphQLString, isSpecifiedScalarType } from '../type/scalars';
|
|
16
17
|
import { GraphQLDirective, DEFAULT_DEPRECATION_REASON, isSpecifiedDirective } from '../type/directives';
|
|
@@ -124,11 +125,12 @@ export function printType(type, options) {
|
|
|
124
125
|
return printEnum(type, options);
|
|
125
126
|
} else if (isInputObjectType(type)) {
|
|
126
127
|
return printInputObject(type, options);
|
|
127
|
-
}
|
|
128
|
+
} // Not reachable. All possible types have been considered.
|
|
129
|
+
|
|
128
130
|
/* istanbul ignore next */
|
|
129
131
|
|
|
130
132
|
|
|
131
|
-
throw new Error("
|
|
133
|
+
throw new Error("Unexpected type: \"".concat(inspect(type), "\"."));
|
|
132
134
|
}
|
|
133
135
|
|
|
134
136
|
function printScalar(type, options) {
|
|
@@ -140,39 +142,42 @@ function printObject(type, options) {
|
|
|
140
142
|
var implementedInterfaces = interfaces.length ? ' implements ' + interfaces.map(function (i) {
|
|
141
143
|
return i.name;
|
|
142
144
|
}).join(' & ') : '';
|
|
143
|
-
return printDescription(options, type) + "type ".concat(type.name).concat(implementedInterfaces
|
|
145
|
+
return printDescription(options, type) + "type ".concat(type.name).concat(implementedInterfaces) + printFields(options, type);
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
function printInterface(type, options) {
|
|
147
|
-
return printDescription(options, type) + "interface ".concat(type.name
|
|
149
|
+
return printDescription(options, type) + "interface ".concat(type.name) + printFields(options, type);
|
|
148
150
|
}
|
|
149
151
|
|
|
150
152
|
function printUnion(type, options) {
|
|
151
|
-
|
|
153
|
+
var types = type.getTypes();
|
|
154
|
+
var possibleTypes = types.length ? ' = ' + types.join(' | ') : '';
|
|
155
|
+
return printDescription(options, type) + 'union ' + type.name + possibleTypes;
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
function printEnum(type, options) {
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function printEnumValues(values, options) {
|
|
159
|
-
return values.map(function (value, i) {
|
|
159
|
+
var values = type.getValues().map(function (value, i) {
|
|
160
160
|
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value);
|
|
161
|
-
})
|
|
161
|
+
});
|
|
162
|
+
return printDescription(options, type) + "enum ".concat(type.name) + printBlock(values);
|
|
162
163
|
}
|
|
163
164
|
|
|
164
165
|
function printInputObject(type, options) {
|
|
165
|
-
var fields = objectValues(type.getFields())
|
|
166
|
-
return printDescription(options, type) + "input ".concat(type.name, " {\n") + fields.map(function (f, i) {
|
|
166
|
+
var fields = objectValues(type.getFields()).map(function (f, i) {
|
|
167
167
|
return printDescription(options, f, ' ', !i) + ' ' + printInputValue(f);
|
|
168
|
-
})
|
|
168
|
+
});
|
|
169
|
+
return printDescription(options, type) + "input ".concat(type.name) + printBlock(fields);
|
|
169
170
|
}
|
|
170
171
|
|
|
171
172
|
function printFields(options, type) {
|
|
172
|
-
var fields = objectValues(type.getFields())
|
|
173
|
-
return fields.map(function (f, i) {
|
|
173
|
+
var fields = objectValues(type.getFields()).map(function (f, i) {
|
|
174
174
|
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f);
|
|
175
|
-
})
|
|
175
|
+
});
|
|
176
|
+
return printBlock(fields);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
function printBlock(items) {
|
|
180
|
+
return items.length !== 0 ? ' {\n' + items.join('\n') + '\n}' : '';
|
|
176
181
|
}
|
|
177
182
|
|
|
178
183
|
function printArgs(options, args) {
|
|
@@ -195,10 +200,11 @@ function printArgs(options, args) {
|
|
|
195
200
|
}
|
|
196
201
|
|
|
197
202
|
function printInputValue(arg) {
|
|
203
|
+
var defaultAST = astFromValue(arg.defaultValue, arg.type);
|
|
198
204
|
var argDecl = arg.name + ': ' + String(arg.type);
|
|
199
205
|
|
|
200
|
-
if (
|
|
201
|
-
argDecl += " = ".concat(print(
|
|
206
|
+
if (defaultAST) {
|
|
207
|
+
argDecl += " = ".concat(print(defaultAST));
|
|
202
208
|
}
|
|
203
209
|
|
|
204
210
|
return argDecl;
|
|
@@ -214,12 +220,13 @@ function printDeprecated(fieldOrEnumVal) {
|
|
|
214
220
|
}
|
|
215
221
|
|
|
216
222
|
var reason = fieldOrEnumVal.deprecationReason;
|
|
223
|
+
var reasonAST = astFromValue(reason, GraphQLString);
|
|
217
224
|
|
|
218
|
-
if (
|
|
219
|
-
return ' @deprecated';
|
|
225
|
+
if (reasonAST && reason !== '' && reason !== DEFAULT_DEPRECATION_REASON) {
|
|
226
|
+
return ' @deprecated(reason: ' + print(reasonAST) + ')';
|
|
220
227
|
}
|
|
221
228
|
|
|
222
|
-
return ' @deprecated
|
|
229
|
+
return ' @deprecated';
|
|
223
230
|
}
|
|
224
231
|
|
|
225
232
|
function printDescription(options, def) {
|
|
@@ -236,33 +243,11 @@ function printDescription(options, def) {
|
|
|
236
243
|
return printDescriptionWithComments(lines, indentation, firstInBlock);
|
|
237
244
|
}
|
|
238
245
|
|
|
239
|
-
var
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
var hasLeadingSpace = lines[0][0] === ' ' || lines[0][0] === '\t';
|
|
247
|
-
|
|
248
|
-
if (!hasLeadingSpace) {
|
|
249
|
-
description += '\n';
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
for (var i = 0; i < lines.length; i++) {
|
|
253
|
-
if (i !== 0 || !hasLeadingSpace) {
|
|
254
|
-
description += indentation;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
description += escapeQuote(lines[i]) + '\n';
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
description += indentation + '"""\n';
|
|
261
|
-
return description;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
function escapeQuote(line) {
|
|
265
|
-
return line.replace(/"""/g, '\\"""');
|
|
246
|
+
var text = lines.join('\n');
|
|
247
|
+
var preferMultipleLines = text.length > 70;
|
|
248
|
+
var blockString = printBlockString(text, '', preferMultipleLines);
|
|
249
|
+
var prefix = indentation && !firstInBlock ? '\n' + indentation : indentation;
|
|
250
|
+
return prefix + blockString.replace(/\n/g, '\n' + indentation) + '\n';
|
|
266
251
|
}
|
|
267
252
|
|
|
268
253
|
function printDescriptionWithComments(lines, indentation, firstInBlock) {
|
|
@@ -280,31 +265,19 @@ function printDescriptionWithComments(lines, indentation, firstInBlock) {
|
|
|
280
265
|
}
|
|
281
266
|
|
|
282
267
|
function descriptionLines(description, maxLen) {
|
|
283
|
-
var lines = [];
|
|
284
268
|
var rawLines = description.split('\n');
|
|
269
|
+
return flatMap(rawLines, function (line) {
|
|
270
|
+
if (line.length < maxLen + 5) {
|
|
271
|
+
return line;
|
|
272
|
+
} // For > 120 character long lines, cut at space boundaries into sublines
|
|
273
|
+
// of ~80 chars.
|
|
285
274
|
|
|
286
|
-
for (var i = 0; i < rawLines.length; i++) {
|
|
287
|
-
if (rawLines[i] === '') {
|
|
288
|
-
lines.push(rawLines[i]);
|
|
289
|
-
} else {
|
|
290
|
-
// For > 120 character long lines, cut at space boundaries into sublines
|
|
291
|
-
// of ~80 chars.
|
|
292
|
-
var sublines = breakLine(rawLines[i], maxLen);
|
|
293
275
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
return lines;
|
|
276
|
+
return breakLine(line, maxLen);
|
|
277
|
+
});
|
|
301
278
|
}
|
|
302
279
|
|
|
303
280
|
function breakLine(line, maxLen) {
|
|
304
|
-
if (line.length < maxLen + 5) {
|
|
305
|
-
return [line];
|
|
306
|
-
}
|
|
307
|
-
|
|
308
281
|
var parts = line.split(new RegExp("((?: |^).{15,".concat(maxLen - 40, "}(?= |$))")));
|
|
309
282
|
|
|
310
283
|
if (parts.length < 4) {
|
|
@@ -8,12 +8,12 @@ exports.separateOperations = separateOperations;
|
|
|
8
8
|
var _visitor = require("../language/visitor");
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Copyright (c)
|
|
11
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
12
12
|
*
|
|
13
13
|
* This source code is licensed under the MIT license found in the
|
|
14
14
|
* LICENSE file in the root directory of this source tree.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
16
|
+
*
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -49,9 +49,10 @@ function separateOperations(documentAST) {
|
|
|
49
49
|
// is necessary for completing that operation.
|
|
50
50
|
|
|
51
51
|
var separatedDocumentASTs = Object.create(null);
|
|
52
|
+
var _arr = operations;
|
|
52
53
|
|
|
53
|
-
for (var _i = 0; _i <
|
|
54
|
-
var operation =
|
|
54
|
+
for (var _i = 0; _i < _arr.length; _i++) {
|
|
55
|
+
var operation = _arr[_i];
|
|
55
56
|
var operationName = opName(operation);
|
|
56
57
|
var dependencies = Object.create(null);
|
|
57
58
|
collectTransitiveDependencies(dependencies, depGraph, operationName); // The list of definition nodes to be included for this operation, sorted
|
|
@@ -59,10 +60,10 @@ function separateOperations(documentAST) {
|
|
|
59
60
|
|
|
60
61
|
var definitions = [operation];
|
|
61
62
|
|
|
62
|
-
var
|
|
63
|
+
var _arr2 = Object.keys(dependencies);
|
|
63
64
|
|
|
64
|
-
for (var _i2 = 0; _i2 <
|
|
65
|
-
var name =
|
|
65
|
+
for (var _i2 = 0; _i2 < _arr2.length; _i2++) {
|
|
66
|
+
var name = _arr2[_i2];
|
|
66
67
|
definitions.push(fragments[name]);
|
|
67
68
|
}
|
|
68
69
|
|
|
@@ -89,10 +90,10 @@ function collectTransitiveDependencies(collected, depGraph, fromName) {
|
|
|
89
90
|
var immediateDeps = depGraph[fromName];
|
|
90
91
|
|
|
91
92
|
if (immediateDeps) {
|
|
92
|
-
var
|
|
93
|
+
var _arr3 = Object.keys(immediateDeps);
|
|
93
94
|
|
|
94
|
-
for (var _i3 = 0; _i3 <
|
|
95
|
-
var toName =
|
|
95
|
+
for (var _i3 = 0; _i3 < _arr3.length; _i3++) {
|
|
96
|
+
var toName = _arr3[_i3];
|
|
96
97
|
|
|
97
98
|
if (!collected[toName]) {
|
|
98
99
|
collected[toName] = true;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
9
|
import { visit } from '../language/visitor';
|
|
10
10
|
|
|
@@ -41,9 +41,10 @@ export function separateOperations(documentAST) {
|
|
|
41
41
|
// is necessary for completing that operation.
|
|
42
42
|
|
|
43
43
|
var separatedDocumentASTs = Object.create(null);
|
|
44
|
+
var _arr = operations;
|
|
44
45
|
|
|
45
|
-
for (var _i = 0; _i <
|
|
46
|
-
var operation =
|
|
46
|
+
for (var _i = 0; _i < _arr.length; _i++) {
|
|
47
|
+
var operation = _arr[_i];
|
|
47
48
|
var operationName = opName(operation);
|
|
48
49
|
var dependencies = Object.create(null);
|
|
49
50
|
collectTransitiveDependencies(dependencies, depGraph, operationName); // The list of definition nodes to be included for this operation, sorted
|
|
@@ -51,10 +52,10 @@ export function separateOperations(documentAST) {
|
|
|
51
52
|
|
|
52
53
|
var definitions = [operation];
|
|
53
54
|
|
|
54
|
-
var
|
|
55
|
+
var _arr2 = Object.keys(dependencies);
|
|
55
56
|
|
|
56
|
-
for (var _i2 = 0; _i2 <
|
|
57
|
-
var name =
|
|
57
|
+
for (var _i2 = 0; _i2 < _arr2.length; _i2++) {
|
|
58
|
+
var name = _arr2[_i2];
|
|
58
59
|
definitions.push(fragments[name]);
|
|
59
60
|
}
|
|
60
61
|
|
|
@@ -81,10 +82,10 @@ function collectTransitiveDependencies(collected, depGraph, fromName) {
|
|
|
81
82
|
var immediateDeps = depGraph[fromName];
|
|
82
83
|
|
|
83
84
|
if (immediateDeps) {
|
|
84
|
-
var
|
|
85
|
+
var _arr3 = Object.keys(immediateDeps);
|
|
85
86
|
|
|
86
|
-
for (var _i3 = 0; _i3 <
|
|
87
|
-
var toName =
|
|
87
|
+
for (var _i3 = 0; _i3 < _arr3.length; _i3++) {
|
|
88
|
+
var toName = _arr3[_i3];
|
|
88
89
|
|
|
89
90
|
if (!collected[toName]) {
|
|
90
91
|
collected[toName] = true;
|
|
@@ -10,12 +10,12 @@ exports.doTypesOverlap = doTypesOverlap;
|
|
|
10
10
|
var _definition = require("../type/definition");
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* Copyright (c)
|
|
13
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
*
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
9
|
import { isObjectType, isListType, isNonNullType, isAbstractType } from '../type/definition';
|
|
10
10
|
|
package/utilities/typeFromAST.js
CHANGED
|
@@ -5,17 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.typeFromAST = typeFromAST;
|
|
7
7
|
|
|
8
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
9
|
+
|
|
8
10
|
var _kinds = require("../language/kinds");
|
|
9
11
|
|
|
10
12
|
var _definition = require("../type/definition");
|
|
11
13
|
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
12
16
|
/**
|
|
13
|
-
* Copyright (c)
|
|
17
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
18
|
*
|
|
15
19
|
* This source code is licensed under the MIT license found in the
|
|
16
20
|
* LICENSE file in the root directory of this source tree.
|
|
17
21
|
*
|
|
18
|
-
*
|
|
22
|
+
*
|
|
19
23
|
*/
|
|
20
24
|
function typeFromAST(schema, typeNode) {
|
|
21
25
|
/* eslint-enable no-redeclare */
|
|
@@ -33,9 +37,10 @@ function typeFromAST(schema, typeNode) {
|
|
|
33
37
|
|
|
34
38
|
if (typeNode.kind === _kinds.Kind.NAMED_TYPE) {
|
|
35
39
|
return schema.getType(typeNode.name.value);
|
|
36
|
-
}
|
|
40
|
+
} // Not reachable. All possible type nodes have been considered.
|
|
41
|
+
|
|
37
42
|
/* istanbul ignore next */
|
|
38
43
|
|
|
39
44
|
|
|
40
|
-
throw new Error("Unexpected type
|
|
45
|
+
throw new Error("Unexpected type node: \"".concat((0, _inspect.default)(typeNode), "\"."));
|
|
41
46
|
}
|