graphql 14.1.1 → 14.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/error/GraphQLError.js +12 -10
- package/error/GraphQLError.js.flow +11 -6
- package/error/GraphQLError.mjs +20 -3
- package/error/formatError.js +2 -2
- package/error/formatError.js.flow +3 -3
- package/error/formatError.mjs +2 -2
- package/error/index.js +1 -1
- package/error/index.js.flow +5 -2
- package/error/index.mjs +2 -2
- package/error/locatedError.js +2 -2
- package/error/locatedError.js.flow +2 -2
- package/error/locatedError.mjs +2 -2
- package/error/printError.js +2 -2
- package/error/printError.js.flow +4 -5
- package/error/printError.mjs +2 -2
- package/error/syntaxError.js +2 -2
- package/error/syntaxError.js.flow +2 -2
- package/error/syntaxError.mjs +2 -2
- package/execution/execute.js +52 -37
- package/execution/execute.js.flow +66 -51
- package/execution/execute.mjs +50 -38
- package/execution/index.js +7 -1
- package/execution/index.js.flow +9 -4
- package/execution/index.mjs +3 -3
- package/execution/values.js +11 -11
- package/execution/values.js.flow +23 -19
- package/execution/values.mjs +11 -11
- package/graphql.js +13 -9
- package/graphql.js.flow +28 -10
- package/graphql.mjs +10 -9
- package/index.js +83 -53
- package/index.js.flow +60 -47
- package/index.mjs +26 -23
- package/jsutils/ObjMap.js +1 -1
- package/jsutils/ObjMap.js.flow +1 -1
- package/jsutils/ObjMap.mjs +1 -0
- package/jsutils/PromiseOrValue.js +1 -0
- package/jsutils/{MaybePromise.js.flow → PromiseOrValue.js.flow} +2 -2
- package/jsutils/PromiseOrValue.mjs +1 -0
- package/jsutils/dedent.js +2 -2
- package/jsutils/dedent.js.flow +1 -1
- package/jsutils/dedent.mjs +2 -2
- package/jsutils/defineToJSON.js +2 -2
- package/jsutils/defineToJSON.js.flow +1 -1
- package/jsutils/defineToJSON.mjs +2 -2
- package/jsutils/defineToStringTag.js +2 -2
- package/jsutils/defineToStringTag.js.flow +1 -1
- package/jsutils/defineToStringTag.mjs +2 -2
- package/jsutils/inspect.js +94 -19
- package/jsutils/inspect.js.flow +98 -20
- package/jsutils/inspect.mjs +94 -20
- package/jsutils/instanceOf.js +2 -2
- package/jsutils/instanceOf.js.flow +1 -1
- package/jsutils/instanceOf.mjs +2 -2
- package/jsutils/invariant.js +5 -3
- package/jsutils/invariant.js.flow +3 -2
- package/jsutils/invariant.mjs +5 -3
- package/jsutils/isInvalid.js +2 -2
- package/jsutils/isInvalid.js.flow +1 -1
- package/jsutils/isInvalid.mjs +2 -2
- package/jsutils/isNullish.js +2 -2
- package/jsutils/isNullish.js.flow +1 -1
- package/jsutils/isNullish.mjs +2 -2
- package/jsutils/isPromise.js +2 -2
- package/jsutils/isPromise.js.flow +1 -1
- package/jsutils/isPromise.mjs +2 -2
- package/jsutils/keyMap.js +4 -3
- package/jsutils/keyMap.js.flow +6 -6
- package/jsutils/keyMap.mjs +4 -3
- package/jsutils/keyValMap.js +4 -3
- package/jsutils/keyValMap.js.flow +6 -6
- package/jsutils/keyValMap.mjs +4 -3
- package/jsutils/mapValue.js +2 -2
- package/jsutils/mapValue.js.flow +2 -2
- package/jsutils/mapValue.mjs +2 -2
- package/jsutils/memoize3.js +3 -3
- package/jsutils/memoize3.js.flow +2 -2
- package/jsutils/memoize3.mjs +3 -3
- package/jsutils/nodejsCustomInspectSymbol.js +2 -2
- package/jsutils/nodejsCustomInspectSymbol.js.flow +1 -1
- package/jsutils/nodejsCustomInspectSymbol.mjs +2 -2
- package/jsutils/orList.js +2 -2
- package/jsutils/orList.js.flow +1 -1
- package/jsutils/orList.mjs +2 -2
- package/jsutils/promiseForObject.js +2 -2
- package/jsutils/promiseForObject.js.flow +2 -2
- package/jsutils/promiseForObject.mjs +2 -2
- package/jsutils/promiseReduce.js +2 -2
- package/jsutils/promiseReduce.js.flow +5 -5
- package/jsutils/promiseReduce.mjs +2 -2
- package/jsutils/quotedOrList.js +2 -2
- package/jsutils/quotedOrList.js.flow +1 -1
- package/jsutils/quotedOrList.mjs +2 -2
- package/jsutils/suggestionList.js +2 -2
- package/jsutils/suggestionList.js.flow +1 -1
- package/jsutils/suggestionList.mjs +2 -2
- package/language/ast.js +1 -1
- package/language/ast.js.flow +3 -3
- package/language/ast.mjs +1 -0
- package/language/blockString.js +114 -0
- package/language/blockString.js.flow +102 -0
- package/language/blockString.mjs +104 -0
- package/language/directiveLocation.js +2 -2
- package/language/directiveLocation.js.flow +1 -1
- package/language/directiveLocation.mjs +2 -2
- package/language/index.js +9 -9
- package/language/index.js.flow +10 -5
- package/language/index.mjs +3 -3
- package/language/kinds.js +2 -2
- package/language/kinds.js.flow +1 -1
- package/language/kinds.mjs +2 -2
- package/language/lexer.js +52 -44
- package/language/lexer.js.flow +65 -54
- package/language/lexer.mjs +49 -43
- package/language/location.js +2 -2
- package/language/location.js.flow +2 -2
- package/language/location.mjs +2 -2
- package/language/parser.js +75 -67
- package/language/parser.js.flow +138 -127
- package/language/parser.mjs +76 -68
- package/language/predicates.js +2 -2
- package/language/predicates.js.flow +2 -2
- package/language/predicates.mjs +2 -2
- package/language/printer.js +6 -14
- package/language/printer.js.flow +8 -17
- package/language/printer.mjs +5 -14
- package/language/source.js +2 -2
- package/language/source.js.flow +1 -1
- package/language/source.mjs +2 -2
- package/language/visitor.js +4 -6
- package/language/visitor.js.flow +3 -3
- package/language/visitor.mjs +4 -6
- package/package.json +1 -1
- package/polyfills/find.js +2 -2
- package/polyfills/find.js.flow +1 -1
- package/polyfills/find.mjs +2 -2
- package/polyfills/flatMap.js +38 -0
- package/polyfills/flatMap.js.flow +34 -0
- package/polyfills/flatMap.mjs +30 -0
- package/polyfills/isFinite.js +2 -2
- package/polyfills/isFinite.js.flow +1 -1
- package/polyfills/isFinite.mjs +2 -2
- package/polyfills/isInteger.js +2 -2
- package/polyfills/isInteger.js.flow +1 -1
- package/polyfills/isInteger.mjs +2 -2
- package/polyfills/objectEntries.js +2 -2
- package/polyfills/objectEntries.js.flow +2 -2
- package/polyfills/objectEntries.mjs +2 -2
- package/polyfills/objectValues.js +2 -2
- package/polyfills/objectValues.js.flow +2 -2
- package/polyfills/objectValues.mjs +2 -2
- package/subscription/asyncIteratorReject.js +1 -1
- package/subscription/asyncIteratorReject.js.flow +1 -1
- package/subscription/asyncIteratorReject.mjs +2 -2
- package/subscription/index.js +1 -1
- package/subscription/index.js.flow +1 -1
- package/subscription/index.mjs +2 -2
- package/subscription/mapAsyncIterator.js +1 -1
- package/subscription/mapAsyncIterator.js.flow +5 -5
- package/subscription/mapAsyncIterator.mjs +2 -2
- package/subscription/subscribe.js +2 -2
- package/subscription/subscribe.js.flow +6 -6
- package/subscription/subscribe.mjs +2 -2
- package/type/definition.js +138 -22
- package/type/definition.js.flow +184 -36
- package/type/definition.mjs +136 -23
- package/type/directives.js +14 -3
- package/type/directives.js.flow +24 -11
- package/type/directives.mjs +16 -5
- package/type/index.js +7 -7
- package/type/index.js.flow +8 -4
- package/type/index.mjs +10 -6
- package/type/introspection.js +14 -9
- package/type/introspection.js.flow +12 -18
- package/type/introspection.mjs +14 -9
- package/type/scalars.js +5 -4
- package/type/scalars.js.flow +4 -10
- package/type/scalars.mjs +7 -6
- package/type/schema.js +55 -3
- package/type/schema.js.flow +73 -17
- package/type/schema.mjs +56 -4
- package/type/validate.js +19 -47
- package/type/validate.js.flow +17 -29
- package/type/validate.mjs +18 -47
- package/utilities/TypeInfo.js +93 -73
- package/utilities/TypeInfo.js.flow +30 -23
- package/utilities/TypeInfo.mjs +93 -73
- package/utilities/assertValidName.js +2 -2
- package/utilities/assertValidName.js.flow +2 -2
- package/utilities/assertValidName.mjs +2 -2
- package/utilities/astFromValue.js +5 -4
- package/utilities/astFromValue.js.flow +8 -7
- package/utilities/astFromValue.mjs +7 -6
- package/utilities/buildASTSchema.js +63 -62
- package/utilities/buildASTSchema.js.flow +92 -108
- package/utilities/buildASTSchema.mjs +61 -62
- package/utilities/buildClientSchema.js +38 -45
- package/utilities/buildClientSchema.js.flow +66 -79
- package/utilities/buildClientSchema.mjs +37 -44
- package/utilities/coerceValue.js +6 -7
- package/utilities/coerceValue.js.flow +5 -4
- package/utilities/coerceValue.mjs +7 -8
- package/utilities/concatAST.js +9 -13
- package/utilities/concatAST.js.flow +4 -10
- package/utilities/concatAST.mjs +6 -13
- package/utilities/extendSchema.js +219 -511
- package/utilities/extendSchema.js.flow +195 -304
- package/utilities/extendSchema.mjs +218 -512
- package/utilities/findBreakingChanges.js +54 -95
- package/utilities/findBreakingChanges.js.flow +49 -47
- package/utilities/findBreakingChanges.mjs +80 -95
- package/utilities/findDeprecatedUsages.js +4 -4
- package/utilities/findDeprecatedUsages.js.flow +5 -5
- package/utilities/findDeprecatedUsages.mjs +4 -4
- package/utilities/getOperationAST.js +2 -2
- package/utilities/getOperationAST.js.flow +5 -2
- package/utilities/getOperationAST.mjs +2 -2
- package/utilities/getOperationRootType.js +24 -24
- package/utilities/getOperationRootType.js.flow +40 -35
- package/utilities/getOperationRootType.mjs +24 -24
- package/utilities/index.js +9 -1
- package/utilities/index.js.flow +13 -6
- package/utilities/index.mjs +13 -8
- package/utilities/introspectionFromSchema.js +6 -4
- package/utilities/introspectionFromSchema.js.flow +8 -7
- package/utilities/introspectionFromSchema.mjs +6 -5
- package/utilities/introspectionQuery.js +2 -2
- package/utilities/introspectionQuery.js.flow +2 -2
- package/utilities/introspectionQuery.mjs +2 -2
- package/utilities/isValidJSValue.js +4 -2
- package/utilities/isValidJSValue.js.flow +3 -2
- package/utilities/isValidJSValue.mjs +4 -2
- package/utilities/isValidLiteralValue.js +2 -2
- package/utilities/isValidLiteralValue.js.flow +4 -4
- package/utilities/isValidLiteralValue.mjs +2 -2
- package/utilities/lexicographicSortSchema.js +84 -123
- package/utilities/lexicographicSortSchema.js.flow +68 -96
- package/utilities/lexicographicSortSchema.mjs +84 -123
- package/utilities/schemaPrinter.js +47 -73
- package/utilities/schemaPrinter.js.flow +69 -120
- package/utilities/schemaPrinter.mjs +45 -72
- package/utilities/separateOperations.js +8 -12
- package/utilities/separateOperations.js.flow +6 -3
- package/utilities/separateOperations.mjs +8 -12
- package/utilities/stripIgnoredCharacters.js +140 -0
- package/utilities/stripIgnoredCharacters.js.flow +129 -0
- package/utilities/stripIgnoredCharacters.mjs +127 -0
- package/utilities/typeComparators.js +2 -2
- package/utilities/typeComparators.js.flow +4 -3
- package/utilities/typeComparators.mjs +2 -2
- package/utilities/typeFromAST.js +9 -4
- package/utilities/typeFromAST.js.flow +15 -9
- package/utilities/typeFromAST.mjs +6 -4
- package/utilities/valueFromAST.js +7 -4
- package/utilities/valueFromAST.js.flow +7 -5
- package/utilities/valueFromAST.mjs +6 -4
- package/utilities/valueFromASTUntyped.js +11 -6
- package/utilities/valueFromASTUntyped.js.flow +9 -5
- package/utilities/valueFromASTUntyped.mjs +10 -6
- package/validation/ValidationContext.js +1 -1
- package/validation/ValidationContext.js.flow +19 -20
- package/validation/ValidationContext.mjs +2 -2
- package/validation/index.js +1 -1
- package/validation/index.js.flow +2 -1
- package/validation/index.mjs +3 -2
- package/validation/rules/ExecutableDefinitions.js +3 -3
- package/validation/rules/ExecutableDefinitions.js.flow +4 -4
- package/validation/rules/ExecutableDefinitions.mjs +3 -3
- package/validation/rules/FieldsOnCorrectType.js +3 -3
- package/validation/rules/FieldsOnCorrectType.js.flow +7 -7
- package/validation/rules/FieldsOnCorrectType.mjs +3 -3
- package/validation/rules/FragmentsOnCompositeTypes.js +4 -4
- package/validation/rules/FragmentsOnCompositeTypes.js.flow +5 -5
- package/validation/rules/FragmentsOnCompositeTypes.mjs +4 -4
- package/validation/rules/KnownArgumentNames.js +1 -1
- package/validation/rules/KnownArgumentNames.js.flow +5 -5
- package/validation/rules/KnownArgumentNames.mjs +2 -2
- package/validation/rules/KnownDirectives.js +8 -6
- package/validation/rules/KnownDirectives.js.flow +11 -9
- package/validation/rules/KnownDirectives.mjs +8 -6
- package/validation/rules/KnownFragmentNames.js +3 -3
- package/validation/rules/KnownFragmentNames.js.flow +4 -4
- package/validation/rules/KnownFragmentNames.mjs +3 -3
- package/validation/rules/KnownTypeNames.js +2 -2
- package/validation/rules/KnownTypeNames.js.flow +6 -6
- package/validation/rules/KnownTypeNames.mjs +2 -2
- package/validation/rules/LoneAnonymousOperation.js +3 -3
- package/validation/rules/LoneAnonymousOperation.js.flow +4 -4
- package/validation/rules/LoneAnonymousOperation.mjs +3 -3
- package/validation/rules/LoneSchemaDefinition.js +2 -2
- package/validation/rules/LoneSchemaDefinition.js.flow +3 -3
- package/validation/rules/LoneSchemaDefinition.mjs +2 -2
- package/validation/rules/NoFragmentCycles.js +2 -2
- package/validation/rules/NoFragmentCycles.js.flow +4 -4
- package/validation/rules/NoFragmentCycles.mjs +2 -2
- package/validation/rules/NoUndefinedVariables.js +2 -2
- package/validation/rules/NoUndefinedVariables.js.flow +3 -3
- package/validation/rules/NoUndefinedVariables.mjs +2 -2
- package/validation/rules/NoUnusedFragments.js +7 -7
- package/validation/rules/NoUnusedFragments.js.flow +4 -4
- package/validation/rules/NoUnusedFragments.mjs +7 -7
- package/validation/rules/NoUnusedVariables.js +5 -5
- package/validation/rules/NoUnusedVariables.js.flow +6 -5
- package/validation/rules/NoUnusedVariables.mjs +5 -5
- package/validation/rules/OverlappingFieldsCanBeMerged.js +26 -23
- package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +17 -17
- package/validation/rules/OverlappingFieldsCanBeMerged.mjs +26 -23
- package/validation/rules/PossibleFragmentSpreads.js +4 -4
- package/validation/rules/PossibleFragmentSpreads.js.flow +5 -5
- package/validation/rules/PossibleFragmentSpreads.mjs +4 -4
- package/validation/rules/PossibleTypeExtensions.js +3 -3
- package/validation/rules/PossibleTypeExtensions.js.flow +5 -5
- package/validation/rules/PossibleTypeExtensions.mjs +4 -4
- package/validation/rules/ProvidedRequiredArguments.js +6 -8
- package/validation/rules/ProvidedRequiredArguments.js.flow +8 -8
- package/validation/rules/ProvidedRequiredArguments.mjs +7 -9
- package/validation/rules/ScalarLeafs.js +4 -4
- package/validation/rules/ScalarLeafs.js.flow +6 -6
- package/validation/rules/ScalarLeafs.mjs +4 -4
- package/validation/rules/SingleFieldSubscriptions.js +2 -2
- package/validation/rules/SingleFieldSubscriptions.js.flow +4 -4
- package/validation/rules/SingleFieldSubscriptions.mjs +2 -2
- package/validation/rules/UniqueArgumentNames.js +2 -2
- package/validation/rules/UniqueArgumentNames.js.flow +3 -3
- package/validation/rules/UniqueArgumentNames.mjs +2 -2
- package/validation/rules/UniqueDirectiveNames.js +2 -2
- package/validation/rules/UniqueDirectiveNames.js.flow +3 -3
- package/validation/rules/UniqueDirectiveNames.mjs +2 -2
- package/validation/rules/UniqueDirectivesPerLocation.js +3 -2
- package/validation/rules/UniqueDirectivesPerLocation.js.flow +4 -4
- package/validation/rules/UniqueDirectivesPerLocation.mjs +3 -2
- package/validation/rules/UniqueEnumValueNames.js +4 -8
- package/validation/rules/UniqueEnumValueNames.js.flow +6 -8
- package/validation/rules/UniqueEnumValueNames.mjs +4 -8
- package/validation/rules/UniqueFieldDefinitionNames.js +4 -8
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +6 -8
- package/validation/rules/UniqueFieldDefinitionNames.mjs +4 -8
- package/validation/rules/UniqueFragmentNames.js +2 -2
- package/validation/rules/UniqueFragmentNames.js.flow +3 -3
- package/validation/rules/UniqueFragmentNames.mjs +2 -2
- package/validation/rules/UniqueInputFieldNames.js +2 -4
- package/validation/rules/UniqueInputFieldNames.js.flow +3 -4
- package/validation/rules/UniqueInputFieldNames.mjs +2 -4
- package/validation/rules/UniqueOperationNames.js +2 -2
- package/validation/rules/UniqueOperationNames.js.flow +3 -3
- package/validation/rules/UniqueOperationNames.mjs +2 -2
- package/validation/rules/UniqueOperationTypes.js +2 -2
- package/validation/rules/UniqueOperationTypes.js.flow +3 -3
- package/validation/rules/UniqueOperationTypes.mjs +2 -2
- package/validation/rules/UniqueTypeNames.js +2 -2
- package/validation/rules/UniqueTypeNames.js.flow +4 -4
- package/validation/rules/UniqueTypeNames.mjs +2 -2
- package/validation/rules/UniqueVariableNames.js +2 -2
- package/validation/rules/UniqueVariableNames.js.flow +4 -4
- package/validation/rules/UniqueVariableNames.mjs +2 -2
- package/validation/rules/ValuesOfCorrectType.js +2 -2
- package/validation/rules/ValuesOfCorrectType.js.flow +5 -5
- package/validation/rules/ValuesOfCorrectType.mjs +2 -2
- package/validation/rules/VariablesAreInputTypes.js +3 -3
- package/validation/rules/VariablesAreInputTypes.js.flow +5 -5
- package/validation/rules/VariablesAreInputTypes.mjs +3 -3
- package/validation/rules/VariablesInAllowedPosition.js +3 -3
- package/validation/rules/VariablesInAllowedPosition.js.flow +7 -8
- package/validation/rules/VariablesInAllowedPosition.mjs +3 -3
- package/validation/specifiedRules.js +2 -2
- package/validation/specifiedRules.js.flow +13 -6
- package/validation/specifiedRules.mjs +7 -7
- package/validation/validate.js +2 -2
- package/validation/validate.js.flow +10 -6
- package/validation/validate.mjs +2 -2
- package/jsutils/MaybePromise.js +0 -1
- package/jsutils/MaybePromise.mjs +0 -0
- package/language/blockStringValue.js +0 -73
- package/language/blockStringValue.js.flow +0 -64
- package/language/blockStringValue.mjs +0 -66
|
@@ -3,7 +3,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
3
3
|
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; }
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Copyright (c)
|
|
6
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -11,174 +11,135 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
import objectValues from '../polyfills/objectValues';
|
|
14
|
+
import inspect from '../jsutils/inspect';
|
|
14
15
|
import keyValMap from '../jsutils/keyValMap';
|
|
15
16
|
import { GraphQLSchema } from '../type/schema';
|
|
16
17
|
import { GraphQLDirective } from '../type/directives';
|
|
17
18
|
import { GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLNonNull, isListType, isNonNullType, isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType } from '../type/definition';
|
|
18
|
-
import { isSpecifiedScalarType } from '../type/scalars';
|
|
19
19
|
import { isIntrospectionType } from '../type/introspection';
|
|
20
20
|
/**
|
|
21
21
|
* Sort GraphQLSchema.
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
export function lexicographicSortSchema(schema) {
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
25
|
+
var schemaConfig = schema.toConfig();
|
|
26
|
+
var typeMap = keyValMap(sortByName(schemaConfig.types), function (type) {
|
|
27
|
+
return type.name;
|
|
28
|
+
}, sortNamedType);
|
|
29
|
+
return new GraphQLSchema(_objectSpread({}, schemaConfig, {
|
|
30
|
+
types: objectValues(typeMap),
|
|
31
|
+
directives: sortByName(schemaConfig.directives).map(sortDirective),
|
|
32
|
+
query: replaceMaybeType(schemaConfig.query),
|
|
33
|
+
mutation: replaceMaybeType(schemaConfig.mutation),
|
|
34
|
+
subscription: replaceMaybeType(schemaConfig.subscription)
|
|
35
|
+
}));
|
|
36
|
+
|
|
37
|
+
function replaceType(type) {
|
|
38
|
+
if (isListType(type)) {
|
|
39
|
+
return new GraphQLList(replaceType(type.ofType));
|
|
40
|
+
} else if (isNonNullType(type)) {
|
|
41
|
+
return new GraphQLNonNull(replaceType(type.ofType));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return replaceNamedType(type);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function replaceNamedType(type) {
|
|
48
|
+
return typeMap[type.name];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function replaceMaybeType(maybeType) {
|
|
52
|
+
return maybeType && replaceNamedType(maybeType);
|
|
53
|
+
}
|
|
39
54
|
|
|
40
55
|
function sortDirective(directive) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
locations: sortBy(directive.locations, function (x) {
|
|
56
|
+
var config = directive.toConfig();
|
|
57
|
+
return new GraphQLDirective(_objectSpread({}, config, {
|
|
58
|
+
locations: sortBy(config.locations, function (x) {
|
|
45
59
|
return x;
|
|
46
60
|
}),
|
|
47
|
-
args: sortArgs(
|
|
48
|
-
|
|
49
|
-
});
|
|
61
|
+
args: sortArgs(config.args)
|
|
62
|
+
}));
|
|
50
63
|
}
|
|
51
64
|
|
|
52
65
|
function sortArgs(args) {
|
|
53
|
-
return
|
|
54
|
-
return arg.name;
|
|
55
|
-
}, function (arg) {
|
|
66
|
+
return sortObjMap(args, function (arg) {
|
|
56
67
|
return _objectSpread({}, arg, {
|
|
57
|
-
type:
|
|
68
|
+
type: replaceType(arg.type)
|
|
58
69
|
});
|
|
59
70
|
});
|
|
60
71
|
}
|
|
61
72
|
|
|
62
73
|
function sortFields(fieldsMap) {
|
|
63
74
|
return sortObjMap(fieldsMap, function (field) {
|
|
64
|
-
return {
|
|
65
|
-
type:
|
|
66
|
-
args: sortArgs(field.args)
|
|
67
|
-
|
|
68
|
-
subscribe: field.subscribe,
|
|
69
|
-
deprecationReason: field.deprecationReason,
|
|
70
|
-
description: field.description,
|
|
71
|
-
astNode: field.astNode
|
|
72
|
-
};
|
|
75
|
+
return _objectSpread({}, field, {
|
|
76
|
+
type: replaceType(field.type),
|
|
77
|
+
args: sortArgs(field.args)
|
|
78
|
+
});
|
|
73
79
|
});
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
function sortInputFields(fieldsMap) {
|
|
77
83
|
return sortObjMap(fieldsMap, function (field) {
|
|
78
|
-
return {
|
|
79
|
-
type:
|
|
80
|
-
|
|
81
|
-
description: field.description,
|
|
82
|
-
astNode: field.astNode
|
|
83
|
-
};
|
|
84
|
+
return _objectSpread({}, field, {
|
|
85
|
+
type: replaceType(field.type)
|
|
86
|
+
});
|
|
84
87
|
});
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
function sortType(type) {
|
|
88
|
-
if (isListType(type)) {
|
|
89
|
-
return new GraphQLList(sortType(type.ofType));
|
|
90
|
-
} else if (isNonNullType(type)) {
|
|
91
|
-
return new GraphQLNonNull(sortType(type.ofType));
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return sortNamedType(type);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
90
|
function sortTypes(arr) {
|
|
98
|
-
return sortByName(arr).map(
|
|
91
|
+
return sortByName(arr).map(replaceNamedType);
|
|
99
92
|
}
|
|
100
93
|
|
|
101
94
|
function sortNamedType(type) {
|
|
102
|
-
if (
|
|
103
|
-
return type;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
var sortedType = cache[type.name];
|
|
107
|
-
|
|
108
|
-
if (!sortedType) {
|
|
109
|
-
sortedType = sortNamedTypeImpl(type);
|
|
110
|
-
cache[type.name] = sortedType;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return sortedType;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function sortNamedTypeImpl(type) {
|
|
117
|
-
if (isScalarType(type)) {
|
|
95
|
+
if (isScalarType(type) || isIntrospectionType(type)) {
|
|
118
96
|
return type;
|
|
119
97
|
} else if (isObjectType(type)) {
|
|
120
|
-
|
|
121
|
-
|
|
98
|
+
var config = type.toConfig();
|
|
99
|
+
return new GraphQLObjectType(_objectSpread({}, config, {
|
|
122
100
|
interfaces: function interfaces() {
|
|
123
|
-
return sortTypes(
|
|
101
|
+
return sortTypes(config.interfaces);
|
|
124
102
|
},
|
|
125
103
|
fields: function fields() {
|
|
126
|
-
return sortFields(
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
description: type.description,
|
|
130
|
-
astNode: type.astNode,
|
|
131
|
-
extensionASTNodes: type.extensionASTNodes
|
|
132
|
-
});
|
|
104
|
+
return sortFields(config.fields);
|
|
105
|
+
}
|
|
106
|
+
}));
|
|
133
107
|
} else if (isInterfaceType(type)) {
|
|
134
|
-
|
|
135
|
-
|
|
108
|
+
var _config = type.toConfig();
|
|
109
|
+
|
|
110
|
+
return new GraphQLInterfaceType(_objectSpread({}, _config, {
|
|
136
111
|
fields: function fields() {
|
|
137
|
-
return sortFields(
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
description: type.description,
|
|
141
|
-
astNode: type.astNode,
|
|
142
|
-
extensionASTNodes: type.extensionASTNodes
|
|
143
|
-
});
|
|
112
|
+
return sortFields(_config.fields);
|
|
113
|
+
}
|
|
114
|
+
}));
|
|
144
115
|
} else if (isUnionType(type)) {
|
|
145
|
-
|
|
146
|
-
|
|
116
|
+
var _config2 = type.toConfig();
|
|
117
|
+
|
|
118
|
+
return new GraphQLUnionType(_objectSpread({}, _config2, {
|
|
147
119
|
types: function types() {
|
|
148
|
-
return sortTypes(
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
description: type.description,
|
|
152
|
-
astNode: type.astNode
|
|
153
|
-
});
|
|
120
|
+
return sortTypes(_config2.types);
|
|
121
|
+
}
|
|
122
|
+
}));
|
|
154
123
|
} else if (isEnumType(type)) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return {
|
|
161
|
-
value: val.value,
|
|
162
|
-
deprecationReason: val.deprecationReason,
|
|
163
|
-
description: val.description,
|
|
164
|
-
astNode: val.astNode
|
|
165
|
-
};
|
|
166
|
-
}),
|
|
167
|
-
description: type.description,
|
|
168
|
-
astNode: type.astNode
|
|
169
|
-
});
|
|
124
|
+
var _config3 = type.toConfig();
|
|
125
|
+
|
|
126
|
+
return new GraphQLEnumType(_objectSpread({}, _config3, {
|
|
127
|
+
values: sortObjMap(_config3.values)
|
|
128
|
+
}));
|
|
170
129
|
} else if (isInputObjectType(type)) {
|
|
171
|
-
|
|
172
|
-
|
|
130
|
+
var _config4 = type.toConfig();
|
|
131
|
+
|
|
132
|
+
return new GraphQLInputObjectType(_objectSpread({}, _config4, {
|
|
173
133
|
fields: function fields() {
|
|
174
|
-
return sortInputFields(
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
134
|
+
return sortInputFields(_config4.fields);
|
|
135
|
+
}
|
|
136
|
+
}));
|
|
137
|
+
} // Not reachable. All possible types have been considered.
|
|
138
|
+
|
|
139
|
+
/* istanbul ignore next */
|
|
180
140
|
|
|
181
|
-
|
|
141
|
+
|
|
142
|
+
throw new Error("Unexpected type: \"".concat(inspect(type), "\"."));
|
|
182
143
|
}
|
|
183
144
|
}
|
|
184
145
|
|
|
@@ -188,8 +149,8 @@ function sortObjMap(map, sortValueFn) {
|
|
|
188
149
|
return x;
|
|
189
150
|
});
|
|
190
151
|
|
|
191
|
-
for (var _i = 0; _i <
|
|
192
|
-
var key =
|
|
152
|
+
for (var _i = 0, _sortedKeys = sortedKeys; _i < _sortedKeys.length; _i++) {
|
|
153
|
+
var key = _sortedKeys[_i];
|
|
193
154
|
var value = map[key];
|
|
194
155
|
sortedMap[key] = sortValueFn ? sortValueFn(value) : value;
|
|
195
156
|
}
|
|
@@ -209,4 +170,4 @@ function sortBy(array, mapToKey) {
|
|
|
209
170
|
var key2 = mapToKey(obj2);
|
|
210
171
|
return key1.localeCompare(key2);
|
|
211
172
|
});
|
|
212
|
-
}
|
|
173
|
+
}
|
|
@@ -7,16 +7,18 @@ exports.printSchema = printSchema;
|
|
|
7
7
|
exports.printIntrospectionSchema = printIntrospectionSchema;
|
|
8
8
|
exports.printType = printType;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _flatMap = _interopRequireDefault(require("../polyfills/flatMap"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
15
15
|
|
|
16
16
|
var _astFromValue = require("../utilities/astFromValue");
|
|
17
17
|
|
|
18
18
|
var _printer = require("../language/printer");
|
|
19
19
|
|
|
20
|
+
var _blockString = require("../language/blockString");
|
|
21
|
+
|
|
20
22
|
var _definition = require("../type/definition");
|
|
21
23
|
|
|
22
24
|
var _scalars = require("../type/scalars");
|
|
@@ -28,7 +30,7 @@ var _introspection = require("../type/introspection");
|
|
|
28
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
31
|
|
|
30
32
|
/**
|
|
31
|
-
* Copyright (c)
|
|
33
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
32
34
|
*
|
|
33
35
|
* This source code is licensed under the MIT license found in the
|
|
34
36
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -145,11 +147,12 @@ function printType(type, options) {
|
|
|
145
147
|
return printEnum(type, options);
|
|
146
148
|
} else if ((0, _definition.isInputObjectType)(type)) {
|
|
147
149
|
return printInputObject(type, options);
|
|
148
|
-
}
|
|
150
|
+
} // Not reachable. All possible types have been considered.
|
|
151
|
+
|
|
149
152
|
/* istanbul ignore next */
|
|
150
153
|
|
|
151
154
|
|
|
152
|
-
throw new Error("
|
|
155
|
+
throw new Error("Unexpected type: \"".concat((0, _inspect.default)(type), "\"."));
|
|
153
156
|
}
|
|
154
157
|
|
|
155
158
|
function printScalar(type, options) {
|
|
@@ -161,39 +164,42 @@ function printObject(type, options) {
|
|
|
161
164
|
var implementedInterfaces = interfaces.length ? ' implements ' + interfaces.map(function (i) {
|
|
162
165
|
return i.name;
|
|
163
166
|
}).join(' & ') : '';
|
|
164
|
-
return printDescription(options, type) + "type ".concat(type.name).concat(implementedInterfaces
|
|
167
|
+
return printDescription(options, type) + "type ".concat(type.name).concat(implementedInterfaces) + printFields(options, type);
|
|
165
168
|
}
|
|
166
169
|
|
|
167
170
|
function printInterface(type, options) {
|
|
168
|
-
return printDescription(options, type) + "interface ".concat(type.name
|
|
171
|
+
return printDescription(options, type) + "interface ".concat(type.name) + printFields(options, type);
|
|
169
172
|
}
|
|
170
173
|
|
|
171
174
|
function printUnion(type, options) {
|
|
172
|
-
|
|
175
|
+
var types = type.getTypes();
|
|
176
|
+
var possibleTypes = types.length ? ' = ' + types.join(' | ') : '';
|
|
177
|
+
return printDescription(options, type) + 'union ' + type.name + possibleTypes;
|
|
173
178
|
}
|
|
174
179
|
|
|
175
180
|
function printEnum(type, options) {
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
function printEnumValues(values, options) {
|
|
180
|
-
return values.map(function (value, i) {
|
|
181
|
+
var values = type.getValues().map(function (value, i) {
|
|
181
182
|
return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value);
|
|
182
|
-
})
|
|
183
|
+
});
|
|
184
|
+
return printDescription(options, type) + "enum ".concat(type.name) + printBlock(values);
|
|
183
185
|
}
|
|
184
186
|
|
|
185
187
|
function printInputObject(type, options) {
|
|
186
|
-
var fields = (0, _objectValues.default)(type.getFields())
|
|
187
|
-
return printDescription(options, type) + "input ".concat(type.name, " {\n") + fields.map(function (f, i) {
|
|
188
|
+
var fields = (0, _objectValues.default)(type.getFields()).map(function (f, i) {
|
|
188
189
|
return printDescription(options, f, ' ', !i) + ' ' + printInputValue(f);
|
|
189
|
-
})
|
|
190
|
+
});
|
|
191
|
+
return printDescription(options, type) + "input ".concat(type.name) + printBlock(fields);
|
|
190
192
|
}
|
|
191
193
|
|
|
192
194
|
function printFields(options, type) {
|
|
193
|
-
var fields = (0, _objectValues.default)(type.getFields())
|
|
194
|
-
return fields.map(function (f, i) {
|
|
195
|
+
var fields = (0, _objectValues.default)(type.getFields()).map(function (f, i) {
|
|
195
196
|
return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f);
|
|
196
|
-
})
|
|
197
|
+
});
|
|
198
|
+
return printBlock(fields);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
function printBlock(items) {
|
|
202
|
+
return items.length !== 0 ? ' {\n' + items.join('\n') + '\n}' : '';
|
|
197
203
|
}
|
|
198
204
|
|
|
199
205
|
function printArgs(options, args) {
|
|
@@ -216,10 +222,11 @@ function printArgs(options, args) {
|
|
|
216
222
|
}
|
|
217
223
|
|
|
218
224
|
function printInputValue(arg) {
|
|
225
|
+
var defaultAST = (0, _astFromValue.astFromValue)(arg.defaultValue, arg.type);
|
|
219
226
|
var argDecl = arg.name + ': ' + String(arg.type);
|
|
220
227
|
|
|
221
|
-
if (
|
|
222
|
-
argDecl += " = ".concat((0, _printer.print)(
|
|
228
|
+
if (defaultAST) {
|
|
229
|
+
argDecl += " = ".concat((0, _printer.print)(defaultAST));
|
|
223
230
|
}
|
|
224
231
|
|
|
225
232
|
return argDecl;
|
|
@@ -235,12 +242,13 @@ function printDeprecated(fieldOrEnumVal) {
|
|
|
235
242
|
}
|
|
236
243
|
|
|
237
244
|
var reason = fieldOrEnumVal.deprecationReason;
|
|
245
|
+
var reasonAST = (0, _astFromValue.astFromValue)(reason, _scalars.GraphQLString);
|
|
238
246
|
|
|
239
|
-
if (
|
|
240
|
-
return ' @deprecated';
|
|
247
|
+
if (reasonAST && reason !== '' && reason !== _directives.DEFAULT_DEPRECATION_REASON) {
|
|
248
|
+
return ' @deprecated(reason: ' + (0, _printer.print)(reasonAST) + ')';
|
|
241
249
|
}
|
|
242
250
|
|
|
243
|
-
return ' @deprecated
|
|
251
|
+
return ' @deprecated';
|
|
244
252
|
}
|
|
245
253
|
|
|
246
254
|
function printDescription(options, def) {
|
|
@@ -257,33 +265,11 @@ function printDescription(options, def) {
|
|
|
257
265
|
return printDescriptionWithComments(lines, indentation, firstInBlock);
|
|
258
266
|
}
|
|
259
267
|
|
|
260
|
-
var
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
var hasLeadingSpace = lines[0][0] === ' ' || lines[0][0] === '\t';
|
|
268
|
-
|
|
269
|
-
if (!hasLeadingSpace) {
|
|
270
|
-
description += '\n';
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
for (var i = 0; i < lines.length; i++) {
|
|
274
|
-
if (i !== 0 || !hasLeadingSpace) {
|
|
275
|
-
description += indentation;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
description += escapeQuote(lines[i]) + '\n';
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
description += indentation + '"""\n';
|
|
282
|
-
return description;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
function escapeQuote(line) {
|
|
286
|
-
return line.replace(/"""/g, '\\"""');
|
|
268
|
+
var text = lines.join('\n');
|
|
269
|
+
var preferMultipleLines = text.length > 70;
|
|
270
|
+
var blockString = (0, _blockString.printBlockString)(text, '', preferMultipleLines);
|
|
271
|
+
var prefix = indentation && !firstInBlock ? '\n' + indentation : indentation;
|
|
272
|
+
return prefix + blockString.replace(/\n/g, '\n' + indentation) + '\n';
|
|
287
273
|
}
|
|
288
274
|
|
|
289
275
|
function printDescriptionWithComments(lines, indentation, firstInBlock) {
|
|
@@ -301,31 +287,19 @@ function printDescriptionWithComments(lines, indentation, firstInBlock) {
|
|
|
301
287
|
}
|
|
302
288
|
|
|
303
289
|
function descriptionLines(description, maxLen) {
|
|
304
|
-
var lines = [];
|
|
305
290
|
var rawLines = description.split('\n');
|
|
291
|
+
return (0, _flatMap.default)(rawLines, function (line) {
|
|
292
|
+
if (line.length < maxLen + 5) {
|
|
293
|
+
return line;
|
|
294
|
+
} // For > 120 character long lines, cut at space boundaries into sublines
|
|
295
|
+
// of ~80 chars.
|
|
306
296
|
|
|
307
|
-
for (var i = 0; i < rawLines.length; i++) {
|
|
308
|
-
if (rawLines[i] === '') {
|
|
309
|
-
lines.push(rawLines[i]);
|
|
310
|
-
} else {
|
|
311
|
-
// For > 120 character long lines, cut at space boundaries into sublines
|
|
312
|
-
// of ~80 chars.
|
|
313
|
-
var sublines = breakLine(rawLines[i], maxLen);
|
|
314
297
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
return lines;
|
|
298
|
+
return breakLine(line, maxLen);
|
|
299
|
+
});
|
|
322
300
|
}
|
|
323
301
|
|
|
324
302
|
function breakLine(line, maxLen) {
|
|
325
|
-
if (line.length < maxLen + 5) {
|
|
326
|
-
return [line];
|
|
327
|
-
}
|
|
328
|
-
|
|
329
303
|
var parts = line.split(new RegExp("((?: |^).{15,".concat(maxLen - 40, "}(?= |$))")));
|
|
330
304
|
|
|
331
305
|
if (parts.length < 4) {
|
|
@@ -339,4 +313,4 @@ function breakLine(line, maxLen) {
|
|
|
339
313
|
}
|
|
340
314
|
|
|
341
315
|
return sublines;
|
|
342
|
-
}
|
|
316
|
+
}
|