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
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ The JavaScript reference implementation for GraphQL, a query language for APIs c
|
|
|
4
4
|
|
|
5
5
|
[](https://badge.fury.io/js/graphql)
|
|
6
6
|
[](https://travis-ci.org/graphql/graphql-js?branch=master)
|
|
7
|
-
[](https://codecov.io/gh/graphql/graphql-js)
|
|
8
8
|
|
|
9
9
|
See more complete documentation at https://graphql.org/ and
|
|
10
10
|
https://graphql.org/graphql-js/.
|
package/error/GraphQLError.js
CHANGED
|
@@ -9,14 +9,8 @@ var _printError = require("./printError");
|
|
|
9
9
|
|
|
10
10
|
var _location = require("../language/location");
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
12
|
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
13
|
+
|
|
20
14
|
function GraphQLError( // eslint-disable-line no-redeclare
|
|
21
15
|
message, nodes, source, positions, path, originalError, extensions) {
|
|
22
16
|
// Compute list of blame nodes.
|
|
@@ -62,7 +56,15 @@ message, nodes, source, positions, path, originalError, extensions) {
|
|
|
62
56
|
}, []);
|
|
63
57
|
}
|
|
64
58
|
|
|
65
|
-
var _extensions = extensions
|
|
59
|
+
var _extensions = extensions;
|
|
60
|
+
|
|
61
|
+
if (_extensions == null && originalError != null) {
|
|
62
|
+
var originalExtensions = originalError.extensions;
|
|
63
|
+
|
|
64
|
+
if (originalExtensions != null && _typeof(originalExtensions) === 'object') {
|
|
65
|
+
_extensions = originalExtensions;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
66
68
|
|
|
67
69
|
Object.defineProperties(this, {
|
|
68
70
|
message: {
|
|
@@ -143,4 +145,4 @@ GraphQLError.prototype = Object.create(Error.prototype, {
|
|
|
143
145
|
return (0, _printError.printError)(this);
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
|
-
});
|
|
148
|
+
});
|
|
@@ -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.
|
|
@@ -8,10 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { printError } from './printError';
|
|
11
|
-
import {
|
|
12
|
-
import type
|
|
13
|
-
import type
|
|
14
|
-
import type { Source } from '../language/source';
|
|
11
|
+
import { type ASTNode } from '../language/ast';
|
|
12
|
+
import { type Source } from '../language/source';
|
|
13
|
+
import { type SourceLocation, getLocation } from '../language/location';
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* A GraphQLError describes an Error found during the parse, validate, or
|
|
@@ -139,7 +138,13 @@ export function GraphQLError( // eslint-disable-line no-redeclare
|
|
|
139
138
|
}, []);
|
|
140
139
|
}
|
|
141
140
|
|
|
142
|
-
|
|
141
|
+
let _extensions = extensions;
|
|
142
|
+
if (_extensions == null && originalError != null) {
|
|
143
|
+
const originalExtensions = originalError.extensions;
|
|
144
|
+
if (originalExtensions != null && typeof originalExtensions === 'object') {
|
|
145
|
+
_extensions = originalExtensions;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
143
148
|
|
|
144
149
|
Object.defineProperties(this, {
|
|
145
150
|
message: {
|
package/error/GraphQLError.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
|
-
* Copyright (c)
|
|
4
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
5
|
*
|
|
4
6
|
* This source code is licensed under the MIT license found in the
|
|
5
7
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -8,6 +10,13 @@
|
|
|
8
10
|
*/
|
|
9
11
|
import { printError } from './printError';
|
|
10
12
|
import { getLocation } from '../language/location';
|
|
13
|
+
/**
|
|
14
|
+
* A GraphQLError describes an Error found during the parse, validate, or
|
|
15
|
+
* execute phases of performing a GraphQL operation. In addition to a message
|
|
16
|
+
* and stack trace, it also includes information about the locations in a
|
|
17
|
+
* GraphQL document and/or execution result that correspond to the Error.
|
|
18
|
+
*/
|
|
19
|
+
|
|
11
20
|
export function GraphQLError( // eslint-disable-line no-redeclare
|
|
12
21
|
message, nodes, source, positions, path, originalError, extensions) {
|
|
13
22
|
// Compute list of blame nodes.
|
|
@@ -53,7 +62,15 @@ message, nodes, source, positions, path, originalError, extensions) {
|
|
|
53
62
|
}, []);
|
|
54
63
|
}
|
|
55
64
|
|
|
56
|
-
var _extensions = extensions
|
|
65
|
+
var _extensions = extensions;
|
|
66
|
+
|
|
67
|
+
if (_extensions == null && originalError != null) {
|
|
68
|
+
var originalExtensions = originalError.extensions;
|
|
69
|
+
|
|
70
|
+
if (originalExtensions != null && _typeof(originalExtensions) === 'object') {
|
|
71
|
+
_extensions = originalExtensions;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
57
74
|
|
|
58
75
|
Object.defineProperties(this, {
|
|
59
76
|
message: {
|
|
@@ -133,4 +150,4 @@ GraphQLError.prototype = Object.create(Error.prototype, {
|
|
|
133
150
|
return printError(this);
|
|
134
151
|
}
|
|
135
152
|
}
|
|
136
|
-
});
|
|
153
|
+
});
|
package/error/formatError.js
CHANGED
|
@@ -10,7 +10,7 @@ var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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.
|
|
@@ -38,4 +38,4 @@ function formatError(error) {
|
|
|
38
38
|
locations: locations,
|
|
39
39
|
path: path
|
|
40
40
|
};
|
|
41
|
-
}
|
|
41
|
+
}
|
|
@@ -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.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import invariant from '../jsutils/invariant';
|
|
11
|
-
import type
|
|
12
|
-
import type
|
|
11
|
+
import { type GraphQLError } from './GraphQLError';
|
|
12
|
+
import { type SourceLocation } from '../language/location';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Given a GraphQLError, format it according to the rules described by the
|
package/error/formatError.mjs
CHANGED
|
@@ -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.
|
|
@@ -28,4 +28,4 @@ export function formatError(error) {
|
|
|
28
28
|
locations: locations,
|
|
29
29
|
path: path
|
|
30
30
|
};
|
|
31
|
-
}
|
|
31
|
+
}
|
package/error/index.js
CHANGED
package/error/index.js.flow
CHANGED
|
@@ -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.
|
|
@@ -8,9 +8,12 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
export { GraphQLError } from './GraphQLError';
|
|
11
|
+
|
|
11
12
|
export { syntaxError } from './syntaxError';
|
|
13
|
+
|
|
12
14
|
export { locatedError } from './locatedError';
|
|
15
|
+
|
|
13
16
|
export { printError } from './printError';
|
|
14
|
-
export { formatError } from './formatError';
|
|
15
17
|
|
|
18
|
+
export { formatError } from './formatError';
|
|
16
19
|
export type { GraphQLFormattedError } from './formatError';
|
package/error/index.mjs
CHANGED
|
@@ -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.
|
|
@@ -10,4 +10,4 @@ export { GraphQLError } from './GraphQLError';
|
|
|
10
10
|
export { syntaxError } from './syntaxError';
|
|
11
11
|
export { locatedError } from './locatedError';
|
|
12
12
|
export { printError } from './printError';
|
|
13
|
-
export { formatError } from './formatError';
|
|
13
|
+
export { formatError } from './formatError';
|
package/error/locatedError.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.locatedError = locatedError;
|
|
|
8
8
|
var _GraphQLError = require("./GraphQLError");
|
|
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.
|
|
@@ -29,4 +29,4 @@ function locatedError(originalError, nodes, path) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
return new _GraphQLError.GraphQLError(originalError && originalError.message, originalError && originalError.nodes || nodes, originalError && originalError.source, originalError && originalError.positions, path, originalError);
|
|
32
|
-
}
|
|
32
|
+
}
|
|
@@ -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.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { GraphQLError } from './GraphQLError';
|
|
11
|
-
import type
|
|
11
|
+
import { type ASTNode } from '../language/ast';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Given an arbitrary Error, presumably thrown while attempting to execute a
|
package/error/locatedError.mjs
CHANGED
|
@@ -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.
|
|
@@ -21,4 +21,4 @@ export function locatedError(originalError, nodes, path) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
return new GraphQLError(originalError && originalError.message, originalError && originalError.nodes || nodes, originalError && originalError.source, originalError && originalError.positions, path, originalError);
|
|
24
|
-
}
|
|
24
|
+
}
|
package/error/printError.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.printError = printError;
|
|
|
8
8
|
var _location = require("../language/location");
|
|
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.
|
|
@@ -143,4 +143,4 @@ function whitespace(len) {
|
|
|
143
143
|
|
|
144
144
|
function lpad(len, str) {
|
|
145
145
|
return whitespace(len - str.length) + str;
|
|
146
|
-
}
|
|
146
|
+
}
|
package/error/printError.js.flow
CHANGED
|
@@ -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,10 +7,9 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { getLocation } from '../language/location';
|
|
11
|
-
import type
|
|
12
|
-
import type
|
|
13
|
-
import type { GraphQLError } from './GraphQLError';
|
|
10
|
+
import { type SourceLocation, getLocation } from '../language/location';
|
|
11
|
+
import { type Source } from '../language/source';
|
|
12
|
+
import { type GraphQLError } from './GraphQLError';
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* Prints a GraphQLError to a string, representing useful location information
|
package/error/printError.mjs
CHANGED
|
@@ -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.
|
|
@@ -134,4 +134,4 @@ function whitespace(len) {
|
|
|
134
134
|
|
|
135
135
|
function lpad(len, str) {
|
|
136
136
|
return whitespace(len - str.length) + str;
|
|
137
|
-
}
|
|
137
|
+
}
|
package/error/syntaxError.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.syntaxError = syntaxError;
|
|
|
8
8
|
var _GraphQLError = require("./GraphQLError");
|
|
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.
|
|
@@ -22,4 +22,4 @@ var _GraphQLError = require("./GraphQLError");
|
|
|
22
22
|
*/
|
|
23
23
|
function syntaxError(source, position, description) {
|
|
24
24
|
return new _GraphQLError.GraphQLError("Syntax Error: ".concat(description), undefined, source, [position]);
|
|
25
|
-
}
|
|
25
|
+
}
|
|
@@ -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,7 +7,7 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type
|
|
10
|
+
import { type Source } from '../language/source';
|
|
11
11
|
import { GraphQLError } from './GraphQLError';
|
|
12
12
|
|
|
13
13
|
/**
|
package/error/syntaxError.mjs
CHANGED
|
@@ -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.
|
|
@@ -14,4 +14,4 @@ import { GraphQLError } from './GraphQLError';
|
|
|
14
14
|
|
|
15
15
|
export function syntaxError(source, position, description) {
|
|
16
16
|
return new GraphQLError("Syntax Error: ".concat(description), undefined, source, [position]);
|
|
17
|
-
}
|
|
17
|
+
}
|
package/execution/execute.js
CHANGED
|
@@ -12,7 +12,7 @@ exports.collectFields = collectFields;
|
|
|
12
12
|
exports.buildResolveInfo = buildResolveInfo;
|
|
13
13
|
exports.resolveFieldValueOrError = resolveFieldValueOrError;
|
|
14
14
|
exports.getFieldDef = getFieldDef;
|
|
15
|
-
exports.defaultFieldResolver = void 0;
|
|
15
|
+
exports.defaultFieldResolver = exports.defaultTypeResolver = void 0;
|
|
16
16
|
|
|
17
17
|
var _iterall = require("iterall");
|
|
18
18
|
|
|
@@ -56,18 +56,18 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
56
56
|
|
|
57
57
|
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
58
58
|
|
|
59
|
-
function execute(argsOrSchema, document, rootValue, contextValue, variableValues, operationName, fieldResolver) {
|
|
59
|
+
function execute(argsOrSchema, document, rootValue, contextValue, variableValues, operationName, fieldResolver, typeResolver) {
|
|
60
60
|
/* eslint-enable no-redeclare */
|
|
61
61
|
// Extract arguments from object args if provided.
|
|
62
|
-
return arguments.length === 1 ? executeImpl(argsOrSchema.schema, argsOrSchema.document, argsOrSchema.rootValue, argsOrSchema.contextValue, argsOrSchema.variableValues, argsOrSchema.operationName, argsOrSchema.fieldResolver) : executeImpl(argsOrSchema, document, rootValue, contextValue, variableValues, operationName, fieldResolver);
|
|
62
|
+
return arguments.length === 1 ? executeImpl(argsOrSchema.schema, argsOrSchema.document, argsOrSchema.rootValue, argsOrSchema.contextValue, argsOrSchema.variableValues, argsOrSchema.operationName, argsOrSchema.fieldResolver, argsOrSchema.typeResolver) : executeImpl(argsOrSchema, document, rootValue, contextValue, variableValues, operationName, fieldResolver, typeResolver);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
function executeImpl(schema, document, rootValue, contextValue, variableValues, operationName, fieldResolver) {
|
|
65
|
+
function executeImpl(schema, document, rootValue, contextValue, variableValues, operationName, fieldResolver, typeResolver) {
|
|
66
66
|
// If arguments are missing or incorrect, throw an error.
|
|
67
67
|
assertValidExecutionArguments(schema, document, variableValues); // If a valid execution context cannot be created due to incorrect arguments,
|
|
68
68
|
// a "Response" with only errors is returned.
|
|
69
69
|
|
|
70
|
-
var exeContext = buildExecutionContext(schema, document, rootValue, contextValue, variableValues, operationName, fieldResolver); // Return early errors if execution context failed.
|
|
70
|
+
var exeContext = buildExecutionContext(schema, document, rootValue, contextValue, variableValues, operationName, fieldResolver, typeResolver); // Return early errors if execution context failed.
|
|
71
71
|
|
|
72
72
|
if (Array.isArray(exeContext)) {
|
|
73
73
|
return {
|
|
@@ -155,7 +155,7 @@ function assertValidExecutionArguments(schema, document, rawVariableValues) {
|
|
|
155
155
|
*/
|
|
156
156
|
|
|
157
157
|
|
|
158
|
-
function buildExecutionContext(schema, document, rootValue, contextValue, rawVariableValues, operationName, fieldResolver) {
|
|
158
|
+
function buildExecutionContext(schema, document, rootValue, contextValue, rawVariableValues, operationName, fieldResolver, typeResolver) {
|
|
159
159
|
var errors = [];
|
|
160
160
|
var operation;
|
|
161
161
|
var hasMultipleAssumedOperations = false;
|
|
@@ -216,6 +216,7 @@ function buildExecutionContext(schema, document, rootValue, contextValue, rawVar
|
|
|
216
216
|
operation: operation,
|
|
217
217
|
variableValues: variableValues,
|
|
218
218
|
fieldResolver: fieldResolver || defaultFieldResolver,
|
|
219
|
+
typeResolver: typeResolver || defaultTypeResolver,
|
|
219
220
|
errors: errors
|
|
220
221
|
};
|
|
221
222
|
}
|
|
@@ -327,43 +328,49 @@ function collectFields(exeContext, runtimeType, selectionSet, fields, visitedFra
|
|
|
327
328
|
|
|
328
329
|
switch (selection.kind) {
|
|
329
330
|
case _kinds.Kind.FIELD:
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
{
|
|
332
|
+
if (!shouldIncludeNode(exeContext, selection)) {
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
333
335
|
|
|
334
|
-
|
|
336
|
+
var name = getFieldEntryKey(selection);
|
|
335
337
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
338
|
+
if (!fields[name]) {
|
|
339
|
+
fields[name] = [];
|
|
340
|
+
}
|
|
339
341
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
+
fields[name].push(selection);
|
|
343
|
+
break;
|
|
344
|
+
}
|
|
342
345
|
|
|
343
346
|
case _kinds.Kind.INLINE_FRAGMENT:
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
+
{
|
|
348
|
+
if (!shouldIncludeNode(exeContext, selection) || !doesFragmentConditionMatch(exeContext, selection, runtimeType)) {
|
|
349
|
+
continue;
|
|
350
|
+
}
|
|
347
351
|
|
|
348
|
-
|
|
349
|
-
|
|
352
|
+
collectFields(exeContext, runtimeType, selection.selectionSet, fields, visitedFragmentNames);
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
350
355
|
|
|
351
356
|
case _kinds.Kind.FRAGMENT_SPREAD:
|
|
352
|
-
|
|
357
|
+
{
|
|
358
|
+
var fragName = selection.name.value;
|
|
353
359
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
360
|
+
if (visitedFragmentNames[fragName] || !shouldIncludeNode(exeContext, selection)) {
|
|
361
|
+
continue;
|
|
362
|
+
}
|
|
357
363
|
|
|
358
|
-
|
|
359
|
-
|
|
364
|
+
visitedFragmentNames[fragName] = true;
|
|
365
|
+
var fragment = exeContext.fragments[fragName];
|
|
360
366
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
367
|
+
if (!fragment || !doesFragmentConditionMatch(exeContext, fragment, runtimeType)) {
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
364
370
|
|
|
365
|
-
|
|
366
|
-
|
|
371
|
+
collectFields(exeContext, runtimeType, fragment.selectionSet, fields, visitedFragmentNames);
|
|
372
|
+
break;
|
|
373
|
+
}
|
|
367
374
|
}
|
|
368
375
|
}
|
|
369
376
|
|
|
@@ -486,7 +493,11 @@ function resolveFieldValueOrError(exeContext, fieldDef, fieldNodes, resolveFn, s
|
|
|
486
493
|
|
|
487
494
|
|
|
488
495
|
function asErrorInstance(error) {
|
|
489
|
-
|
|
496
|
+
if (error instanceof Error) {
|
|
497
|
+
return error;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
return new Error('Unexpected error value: ' + (0, _inspect.default)(error));
|
|
490
501
|
} // This is a small wrapper around completeValue which detects and logs errors
|
|
491
502
|
// in the execution context.
|
|
492
503
|
|
|
@@ -601,7 +612,7 @@ function completeValue(exeContext, returnType, fieldNodes, info, path, result) {
|
|
|
601
612
|
/* istanbul ignore next */
|
|
602
613
|
|
|
603
614
|
|
|
604
|
-
throw new Error("Cannot complete value of unexpected type \"".concat((0, _inspect.default)(returnType), "\"."));
|
|
615
|
+
throw new Error("Cannot complete value of unexpected output type: \"".concat((0, _inspect.default)(returnType), "\"."));
|
|
605
616
|
}
|
|
606
617
|
/**
|
|
607
618
|
* Complete a list value by completing each item in the list with the
|
|
@@ -653,7 +664,9 @@ function completeLeafValue(returnType, result) {
|
|
|
653
664
|
|
|
654
665
|
|
|
655
666
|
function completeAbstractValue(exeContext, returnType, fieldNodes, info, path, result) {
|
|
656
|
-
var
|
|
667
|
+
var resolveTypeFn = returnType.resolveType || exeContext.typeResolver;
|
|
668
|
+
var contextValue = exeContext.contextValue;
|
|
669
|
+
var runtimeType = resolveTypeFn(result, contextValue, info, returnType);
|
|
657
670
|
|
|
658
671
|
if ((0, _isPromise.default)(runtimeType)) {
|
|
659
672
|
return runtimeType.then(function (resolvedRuntimeType) {
|
|
@@ -751,7 +764,7 @@ function _collectSubfields(exeContext, returnType, fieldNodes) {
|
|
|
751
764
|
*/
|
|
752
765
|
|
|
753
766
|
|
|
754
|
-
function
|
|
767
|
+
var defaultTypeResolver = function defaultTypeResolver(value, contextValue, info, abstractType) {
|
|
755
768
|
// First, look for `__typename`.
|
|
756
769
|
if (value !== null && _typeof(value) === 'object' && typeof value.__typename === 'string') {
|
|
757
770
|
return value.__typename;
|
|
@@ -784,7 +797,7 @@ function defaultResolveTypeFn(value, contextValue, info, abstractType) {
|
|
|
784
797
|
}
|
|
785
798
|
});
|
|
786
799
|
}
|
|
787
|
-
}
|
|
800
|
+
};
|
|
788
801
|
/**
|
|
789
802
|
* If a resolve function is not given, then a default resolve behavior is used
|
|
790
803
|
* which takes the property of the source object of the same name as the field
|
|
@@ -793,6 +806,8 @@ function defaultResolveTypeFn(value, contextValue, info, abstractType) {
|
|
|
793
806
|
*/
|
|
794
807
|
|
|
795
808
|
|
|
809
|
+
exports.defaultTypeResolver = defaultTypeResolver;
|
|
810
|
+
|
|
796
811
|
var defaultFieldResolver = function defaultFieldResolver(source, args, contextValue, info) {
|
|
797
812
|
// ensure source is a value for which property access is acceptable.
|
|
798
813
|
if (_typeof(source) === 'object' || typeof source === 'function') {
|
|
@@ -828,4 +843,4 @@ function getFieldDef(schema, parentType, fieldName) {
|
|
|
828
843
|
}
|
|
829
844
|
|
|
830
845
|
return parentType.getFields()[fieldName];
|
|
831
|
-
}
|
|
846
|
+
}
|