graphql 14.0.2 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/error/GraphQLError.js +1 -1
- package/error/GraphQLError.js.flow +3 -3
- package/error/GraphQLError.mjs +1 -1
- package/error/formatError.js +1 -1
- package/error/formatError.mjs +1 -1
- package/error/index.mjs +1 -1
- package/error/locatedError.js +1 -1
- package/error/locatedError.mjs +1 -1
- package/error/printError.js +1 -1
- package/error/printError.mjs +1 -1
- package/error/syntaxError.js +1 -1
- package/error/syntaxError.mjs +1 -1
- package/execution/execute.mjs +1 -1
- package/execution/index.mjs +1 -1
- package/execution/values.js +3 -3
- package/execution/values.js.flow +1 -1
- package/execution/values.mjs +2 -2
- package/graphql.js +1 -1
- package/graphql.mjs +1 -1
- package/index.js +12 -0
- package/index.js.flow +2 -0
- package/index.mjs +2 -2
- package/jsutils/dedent.js +1 -1
- package/jsutils/dedent.mjs +1 -1
- package/jsutils/defineToJSON.js +17 -6
- package/jsutils/defineToJSON.js.flow +14 -5
- package/jsutils/defineToJSON.mjs +14 -6
- package/jsutils/defineToStringTag.js +5 -5
- package/jsutils/defineToStringTag.js.flow +3 -3
- package/jsutils/defineToStringTag.mjs +4 -4
- package/jsutils/inspect.js +22 -11
- package/jsutils/inspect.js.flow +22 -2
- package/jsutils/inspect.mjs +21 -4
- package/jsutils/instanceOf.js +1 -1
- package/jsutils/instanceOf.mjs +1 -1
- package/jsutils/invariant.js +1 -1
- package/jsutils/invariant.mjs +1 -1
- package/jsutils/isInvalid.js +1 -1
- package/jsutils/isInvalid.mjs +1 -1
- package/jsutils/isNullish.js +1 -1
- package/jsutils/isNullish.mjs +1 -1
- package/jsutils/isPromise.js +1 -1
- package/jsutils/isPromise.mjs +1 -1
- package/jsutils/keyMap.js +1 -1
- package/jsutils/keyMap.mjs +1 -1
- package/jsutils/keyValMap.js +1 -1
- package/jsutils/keyValMap.mjs +1 -1
- package/jsutils/mapValue.js +54 -0
- package/jsutils/mapValue.js.flow +27 -0
- package/jsutils/mapValue.mjs +44 -0
- package/jsutils/memoize3.js +1 -1
- package/jsutils/memoize3.mjs +1 -1
- package/jsutils/nodejsCustomInspectSymbol.js +18 -0
- package/jsutils/nodejsCustomInspectSymbol.js.flow +15 -0
- package/jsutils/nodejsCustomInspectSymbol.mjs +10 -0
- package/jsutils/orList.js +17 -4
- package/jsutils/orList.js.flow +13 -7
- package/jsutils/orList.mjs +14 -4
- package/jsutils/promiseForObject.js +1 -1
- package/jsutils/promiseForObject.mjs +1 -1
- package/jsutils/promiseReduce.js +1 -1
- package/jsutils/promiseReduce.mjs +1 -1
- package/jsutils/quotedOrList.js +1 -1
- package/jsutils/quotedOrList.mjs +1 -1
- package/jsutils/suggestionList.js +1 -1
- package/jsutils/suggestionList.mjs +1 -1
- package/language/blockStringValue.js +1 -1
- package/language/blockStringValue.mjs +1 -1
- package/language/directiveLocation.js +1 -1
- package/language/directiveLocation.mjs +1 -1
- package/language/index.mjs +1 -1
- package/language/kinds.js +1 -1
- package/language/kinds.mjs +1 -1
- package/language/lexer.js +28 -12
- package/language/lexer.js.flow +33 -19
- package/language/lexer.mjs +27 -12
- package/language/location.js +1 -1
- package/language/location.mjs +1 -1
- package/language/parser.js +31 -38
- package/language/parser.js.flow +32 -48
- package/language/parser.mjs +30 -38
- package/language/predicates.js +1 -1
- package/language/predicates.mjs +1 -1
- package/language/printer.js +13 -7
- package/language/printer.js.flow +19 -9
- package/language/printer.mjs +13 -7
- package/language/source.js +8 -7
- package/language/source.mjs +1 -9
- package/language/visitor.js +6 -5
- package/language/visitor.js.flow +2 -4
- package/language/visitor.mjs +6 -5
- 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/{jsutils → polyfills}/isFinite.js +1 -1
- package/{jsutils → polyfills}/isFinite.js.flow +0 -0
- package/{jsutils → polyfills}/isFinite.mjs +1 -1
- package/{jsutils → polyfills}/isInteger.js +1 -1
- package/{jsutils → polyfills}/isInteger.js.flow +0 -0
- package/{jsutils → polyfills}/isInteger.mjs +1 -1
- package/polyfills/objectEntries.js +26 -0
- package/polyfills/objectEntries.js.flow +19 -0
- package/polyfills/objectEntries.mjs +18 -0
- package/{jsutils → polyfills}/objectValues.js +1 -1
- package/{jsutils → polyfills}/objectValues.js.flow +1 -1
- package/{jsutils → polyfills}/objectValues.mjs +1 -1
- package/subscription/asyncIteratorReject.mjs +1 -1
- package/subscription/index.mjs +1 -1
- package/subscription/mapAsyncIterator.mjs +1 -1
- package/subscription/subscribe.js +1 -1
- package/subscription/subscribe.mjs +1 -1
- package/type/definition.js +31 -130
- package/type/definition.js.flow +35 -47
- package/type/definition.mjs +30 -131
- package/type/directives.js +25 -29
- package/type/directives.js.flow +24 -20
- package/type/directives.mjs +22 -30
- package/type/index.js +12 -0
- package/type/index.js.flow +4 -0
- package/type/index.mjs +5 -3
- package/type/introspection.js +3 -3
- package/type/introspection.js.flow +1 -1
- package/type/introspection.mjs +2 -2
- package/type/scalars.js +45 -34
- package/type/scalars.js.flow +40 -26
- package/type/scalars.mjs +44 -26
- package/type/schema.js +82 -87
- package/type/schema.js.flow +17 -9
- package/type/schema.mjs +79 -86
- package/type/validate.js +168 -175
- package/type/validate.js.flow +8 -49
- package/type/validate.mjs +159 -175
- package/utilities/TypeInfo.js +10 -23
- package/utilities/TypeInfo.js.flow +1 -1
- package/utilities/TypeInfo.mjs +2 -24
- package/utilities/assertValidName.js +1 -1
- package/utilities/assertValidName.mjs +1 -1
- package/utilities/astFromValue.js +2 -2
- package/utilities/astFromValue.js.flow +1 -1
- package/utilities/astFromValue.mjs +2 -2
- package/utilities/buildASTSchema.js +53 -53
- package/utilities/buildASTSchema.js.flow +14 -30
- package/utilities/buildASTSchema.mjs +45 -55
- package/utilities/buildClientSchema.js +3 -3
- package/utilities/buildClientSchema.js.flow +6 -2
- package/utilities/buildClientSchema.mjs +3 -3
- package/utilities/coerceValue.js +38 -19
- package/utilities/coerceValue.js.flow +41 -47
- package/utilities/coerceValue.mjs +38 -20
- package/utilities/concatAST.js +1 -1
- package/utilities/concatAST.mjs +1 -1
- package/utilities/extendSchema.js +228 -312
- package/utilities/extendSchema.js.flow +27 -152
- package/utilities/extendSchema.mjs +229 -312
- package/utilities/findBreakingChanges.js +7 -5
- package/utilities/findBreakingChanges.js.flow +3 -2
- package/utilities/findBreakingChanges.mjs +6 -5
- package/utilities/findDeprecatedUsages.js +1 -1
- package/utilities/findDeprecatedUsages.mjs +1 -1
- package/utilities/getOperationAST.js +1 -1
- package/utilities/getOperationAST.mjs +1 -1
- package/utilities/getOperationRootType.js +1 -1
- package/utilities/getOperationRootType.mjs +1 -1
- package/utilities/index.mjs +1 -1
- package/utilities/introspectionFromSchema.js +1 -1
- package/utilities/introspectionFromSchema.mjs +1 -1
- package/utilities/introspectionQuery.js +1 -1
- package/utilities/introspectionQuery.mjs +1 -1
- package/utilities/isValidJSValue.js +1 -1
- package/utilities/isValidJSValue.mjs +1 -1
- package/utilities/isValidLiteralValue.js +1 -1
- package/utilities/isValidLiteralValue.mjs +1 -1
- package/utilities/lexicographicSortSchema.js +2 -2
- package/utilities/lexicographicSortSchema.js.flow +1 -1
- package/utilities/lexicographicSortSchema.mjs +2 -2
- package/utilities/schemaPrinter.js +3 -3
- package/utilities/schemaPrinter.js.flow +1 -1
- package/utilities/schemaPrinter.mjs +2 -2
- package/utilities/separateOperations.js +1 -1
- package/utilities/separateOperations.mjs +1 -1
- package/utilities/typeComparators.js +1 -1
- package/utilities/typeComparators.mjs +1 -1
- package/utilities/typeFromAST.js +1 -1
- package/utilities/typeFromAST.mjs +1 -1
- package/utilities/valueFromAST.js +3 -3
- package/utilities/valueFromAST.js.flow +1 -1
- package/utilities/valueFromAST.mjs +2 -2
- package/utilities/valueFromASTUntyped.js +1 -1
- package/utilities/valueFromASTUntyped.mjs +1 -1
- package/validation/ValidationContext.js +57 -82
- package/validation/ValidationContext.js.flow +52 -49
- package/validation/ValidationContext.mjs +52 -77
- package/validation/index.mjs +1 -1
- package/validation/rules/ExecutableDefinitions.js +1 -1
- package/validation/rules/ExecutableDefinitions.js.flow +1 -1
- package/validation/rules/ExecutableDefinitions.mjs +1 -1
- package/validation/rules/FieldsOnCorrectType.js +1 -1
- package/validation/rules/FieldsOnCorrectType.mjs +1 -1
- package/validation/rules/FragmentsOnCompositeTypes.js +1 -1
- package/validation/rules/FragmentsOnCompositeTypes.mjs +1 -1
- package/validation/rules/KnownArgumentNames.mjs +1 -1
- package/validation/rules/KnownDirectives.js +1 -1
- package/validation/rules/KnownDirectives.mjs +1 -1
- package/validation/rules/KnownFragmentNames.js +1 -1
- package/validation/rules/KnownFragmentNames.mjs +1 -1
- package/validation/rules/KnownTypeNames.js +59 -21
- package/validation/rules/KnownTypeNames.js.flow +54 -20
- package/validation/rules/KnownTypeNames.mjs +56 -21
- package/validation/rules/LoneAnonymousOperation.js +1 -1
- package/validation/rules/LoneAnonymousOperation.mjs +1 -1
- package/validation/rules/LoneSchemaDefinition.js +1 -1
- package/validation/rules/LoneSchemaDefinition.mjs +1 -1
- package/validation/rules/NoFragmentCycles.js +1 -1
- package/validation/rules/NoFragmentCycles.js.flow +2 -2
- package/validation/rules/NoFragmentCycles.mjs +1 -1
- package/validation/rules/NoUndefinedVariables.js +1 -1
- package/validation/rules/NoUndefinedVariables.mjs +1 -1
- package/validation/rules/NoUnusedFragments.js +1 -1
- package/validation/rules/NoUnusedFragments.js.flow +2 -2
- package/validation/rules/NoUnusedFragments.mjs +1 -1
- package/validation/rules/NoUnusedVariables.js +1 -1
- package/validation/rules/NoUnusedVariables.mjs +1 -1
- package/validation/rules/OverlappingFieldsCanBeMerged.js +56 -32
- package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +3 -3
- package/validation/rules/OverlappingFieldsCanBeMerged.mjs +47 -32
- package/validation/rules/PossibleFragmentSpreads.js +1 -1
- package/validation/rules/PossibleFragmentSpreads.mjs +1 -1
- 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.mjs +1 -1
- package/validation/rules/ScalarLeafs.js +1 -1
- package/validation/rules/ScalarLeafs.mjs +1 -1
- package/validation/rules/SingleFieldSubscriptions.js +1 -1
- package/validation/rules/SingleFieldSubscriptions.mjs +1 -1
- package/validation/rules/UniqueArgumentNames.js +1 -1
- package/validation/rules/UniqueArgumentNames.mjs +1 -1
- 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 +1 -1
- package/validation/rules/UniqueDirectivesPerLocation.mjs +1 -1
- package/validation/rules/UniqueEnumValueNames.js +94 -0
- package/validation/rules/UniqueEnumValueNames.js.flow +87 -0
- package/validation/rules/UniqueEnumValueNames.mjs +81 -0
- package/validation/rules/UniqueFieldDefinitionNames.js +105 -0
- package/validation/rules/UniqueFieldDefinitionNames.js.flow +101 -0
- package/validation/rules/UniqueFieldDefinitionNames.mjs +92 -0
- package/validation/rules/UniqueFragmentNames.js +1 -1
- package/validation/rules/UniqueFragmentNames.mjs +1 -1
- package/validation/rules/UniqueInputFieldNames.js +1 -1
- package/validation/rules/UniqueInputFieldNames.mjs +1 -1
- package/validation/rules/UniqueOperationNames.js +1 -1
- package/validation/rules/UniqueOperationNames.mjs +1 -1
- 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 +1 -1
- package/validation/rules/UniqueVariableNames.mjs +1 -1
- package/validation/rules/ValuesOfCorrectType.js +29 -13
- package/validation/rules/ValuesOfCorrectType.js.flow +4 -5
- package/validation/rules/ValuesOfCorrectType.mjs +28 -13
- package/validation/rules/VariablesAreInputTypes.js +1 -1
- package/validation/rules/VariablesAreInputTypes.mjs +1 -1
- package/validation/rules/VariablesInAllowedPosition.js +4 -4
- package/validation/rules/VariablesInAllowedPosition.mjs +4 -4
- package/validation/specifiedRules.js +14 -2
- package/validation/specifiedRules.js.flow +13 -0
- package/validation/specifiedRules.mjs +8 -2
- package/validation/validate.js +1 -1
- package/validation/validate.mjs +1 -1
- package/jsutils/find.js +0 -22
- package/jsutils/find.js.flow +0 -19
- package/jsutils/find.mjs +0 -15
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-present, Facebook, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* eslint-disable no-redeclare */
|
|
11
|
+
// $FlowFixMe workaround for: https://github.com/facebook/flow/issues/5838
|
|
12
|
+
var objectEntries = Object.entries || function (obj) {
|
|
13
|
+
return Object.keys(obj).map(function (key) {
|
|
14
|
+
return [key, obj[key]];
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default objectEntries;
|
|
@@ -6,7 +6,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
*
|
|
10
10
|
*/
|
|
11
11
|
import { $$asyncIterator } from 'iterall';
|
|
12
12
|
/**
|
package/subscription/index.mjs
CHANGED
|
@@ -6,7 +6,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
*
|
|
10
10
|
*/
|
|
11
11
|
import { $$asyncIterator, getAsyncIterator } from 'iterall';
|
|
12
12
|
|
|
@@ -28,7 +28,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
28
28
|
* This source code is licensed under the MIT license found in the
|
|
29
29
|
* LICENSE file in the root directory of this source tree.
|
|
30
30
|
*
|
|
31
|
-
*
|
|
31
|
+
*
|
|
32
32
|
*/
|
|
33
33
|
function subscribe(argsOrSchema, document, rootValue, contextValue, variableValues, operationName, fieldResolver, subscribeFieldResolver) {
|
|
34
34
|
/* eslint-enable no-redeclare */
|
package/type/definition.js
CHANGED
|
@@ -45,6 +45,8 @@ exports.isRequiredArgument = isRequiredArgument;
|
|
|
45
45
|
exports.isRequiredInputField = isRequiredInputField;
|
|
46
46
|
exports.GraphQLInputObjectType = exports.GraphQLEnumType = exports.GraphQLUnionType = exports.GraphQLInterfaceType = exports.GraphQLObjectType = exports.GraphQLScalarType = void 0;
|
|
47
47
|
|
|
48
|
+
var _objectEntries = _interopRequireDefault(require("../polyfills/objectEntries"));
|
|
49
|
+
|
|
48
50
|
var _defineToJSON = _interopRequireDefault(require("../jsutils/defineToJSON"));
|
|
49
51
|
|
|
50
52
|
var _defineToStringTag = _interopRequireDefault(require("../jsutils/defineToStringTag"));
|
|
@@ -57,6 +59,8 @@ var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
|
|
|
57
59
|
|
|
58
60
|
var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
|
|
59
61
|
|
|
62
|
+
var _mapValue = _interopRequireDefault(require("../jsutils/mapValue"));
|
|
63
|
+
|
|
60
64
|
var _kinds = require("../language/kinds");
|
|
61
65
|
|
|
62
66
|
var _valueFromASTUntyped = require("../utilities/valueFromASTUntyped");
|
|
@@ -366,6 +370,7 @@ function getNamedType(type) {
|
|
|
366
370
|
|
|
367
371
|
|
|
368
372
|
function resolveThunk(thunk) {
|
|
373
|
+
// $FlowFixMe(>=0.90.0)
|
|
369
374
|
return typeof thunk === 'function' ? thunk() : thunk;
|
|
370
375
|
}
|
|
371
376
|
/**
|
|
@@ -398,20 +403,6 @@ var GraphQLScalarType =
|
|
|
398
403
|
/*#__PURE__*/
|
|
399
404
|
function () {
|
|
400
405
|
function GraphQLScalarType(config) {
|
|
401
|
-
_defineProperty(this, "name", void 0);
|
|
402
|
-
|
|
403
|
-
_defineProperty(this, "description", void 0);
|
|
404
|
-
|
|
405
|
-
_defineProperty(this, "serialize", void 0);
|
|
406
|
-
|
|
407
|
-
_defineProperty(this, "parseValue", void 0);
|
|
408
|
-
|
|
409
|
-
_defineProperty(this, "parseLiteral", void 0);
|
|
410
|
-
|
|
411
|
-
_defineProperty(this, "astNode", void 0);
|
|
412
|
-
|
|
413
|
-
_defineProperty(this, "extensionASTNodes", void 0);
|
|
414
|
-
|
|
415
406
|
this.name = config.name;
|
|
416
407
|
this.description = config.description;
|
|
417
408
|
this.serialize = config.serialize;
|
|
@@ -486,20 +477,6 @@ var GraphQLObjectType =
|
|
|
486
477
|
/*#__PURE__*/
|
|
487
478
|
function () {
|
|
488
479
|
function GraphQLObjectType(config) {
|
|
489
|
-
_defineProperty(this, "name", void 0);
|
|
490
|
-
|
|
491
|
-
_defineProperty(this, "description", void 0);
|
|
492
|
-
|
|
493
|
-
_defineProperty(this, "astNode", void 0);
|
|
494
|
-
|
|
495
|
-
_defineProperty(this, "extensionASTNodes", void 0);
|
|
496
|
-
|
|
497
|
-
_defineProperty(this, "isTypeOf", void 0);
|
|
498
|
-
|
|
499
|
-
_defineProperty(this, "_fields", void 0);
|
|
500
|
-
|
|
501
|
-
_defineProperty(this, "_interfaces", void 0);
|
|
502
|
-
|
|
503
480
|
this.name = config.name;
|
|
504
481
|
this.description = config.description;
|
|
505
482
|
this.astNode = config.astNode;
|
|
@@ -550,48 +527,29 @@ function defineInterfaces(config) {
|
|
|
550
527
|
function defineFieldMap(config) {
|
|
551
528
|
var fieldMap = resolveThunk(config.fields) || {};
|
|
552
529
|
!isPlainObj(fieldMap) ? (0, _invariant.default)(0, "".concat(config.name, " fields must be an object with field names as keys or a ") + 'function which returns such an object.') : void 0;
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
var _arr = Object.keys(fieldMap);
|
|
556
|
-
|
|
557
|
-
var _loop = function _loop() {
|
|
558
|
-
var fieldName = _arr[_i];
|
|
559
|
-
var fieldConfig = fieldMap[fieldName];
|
|
530
|
+
return (0, _mapValue.default)(fieldMap, function (fieldConfig, fieldName) {
|
|
560
531
|
!isPlainObj(fieldConfig) ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " field config must be an object")) : void 0;
|
|
561
532
|
!!fieldConfig.hasOwnProperty('isDeprecated') ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " should provide \"deprecationReason\" ") + 'instead of "isDeprecated".') : void 0;
|
|
562
|
-
|
|
563
|
-
var
|
|
533
|
+
!(fieldConfig.resolve == null || typeof fieldConfig.resolve === 'function') ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " field resolver must be a function if ") + "provided, but got: ".concat((0, _inspect.default)(fieldConfig.resolve), ".")) : void 0;
|
|
534
|
+
var argsConfig = fieldConfig.args || {};
|
|
535
|
+
!isPlainObj(argsConfig) ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " args must be an object with argument ") + 'names as keys.') : void 0;
|
|
536
|
+
var args = (0, _objectEntries.default)(argsConfig).map(function (_ref) {
|
|
537
|
+
var argName = _ref[0],
|
|
538
|
+
arg = _ref[1];
|
|
539
|
+
return {
|
|
540
|
+
name: argName,
|
|
541
|
+
description: arg.description === undefined ? null : arg.description,
|
|
542
|
+
type: arg.type,
|
|
543
|
+
defaultValue: arg.defaultValue,
|
|
544
|
+
astNode: arg.astNode
|
|
545
|
+
};
|
|
546
|
+
});
|
|
547
|
+
return _objectSpread({}, fieldConfig, {
|
|
564
548
|
isDeprecated: Boolean(fieldConfig.deprecationReason),
|
|
565
|
-
name: fieldName
|
|
549
|
+
name: fieldName,
|
|
550
|
+
args: args
|
|
566
551
|
});
|
|
567
|
-
|
|
568
|
-
!(field.resolve == null || typeof field.resolve === 'function') ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " field resolver must be a function if ") + "provided, but got: ".concat((0, _inspect.default)(field.resolve), ".")) : void 0;
|
|
569
|
-
var argsConfig = fieldConfig.args;
|
|
570
|
-
|
|
571
|
-
if (!argsConfig) {
|
|
572
|
-
field.args = [];
|
|
573
|
-
} else {
|
|
574
|
-
!isPlainObj(argsConfig) ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " args must be an object with argument ") + 'names as keys.') : void 0;
|
|
575
|
-
field.args = Object.keys(argsConfig).map(function (argName) {
|
|
576
|
-
var arg = argsConfig[argName];
|
|
577
|
-
return {
|
|
578
|
-
name: argName,
|
|
579
|
-
description: arg.description === undefined ? null : arg.description,
|
|
580
|
-
type: arg.type,
|
|
581
|
-
defaultValue: arg.defaultValue,
|
|
582
|
-
astNode: arg.astNode
|
|
583
|
-
};
|
|
584
|
-
});
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
resultFieldMap[fieldName] = field;
|
|
588
|
-
};
|
|
589
|
-
|
|
590
|
-
for (var _i = 0; _i < _arr.length; _i++) {
|
|
591
|
-
_loop();
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
return resultFieldMap;
|
|
552
|
+
});
|
|
595
553
|
}
|
|
596
554
|
|
|
597
555
|
function isPlainObj(obj) {
|
|
@@ -624,18 +582,6 @@ var GraphQLInterfaceType =
|
|
|
624
582
|
/*#__PURE__*/
|
|
625
583
|
function () {
|
|
626
584
|
function GraphQLInterfaceType(config) {
|
|
627
|
-
_defineProperty(this, "name", void 0);
|
|
628
|
-
|
|
629
|
-
_defineProperty(this, "description", void 0);
|
|
630
|
-
|
|
631
|
-
_defineProperty(this, "astNode", void 0);
|
|
632
|
-
|
|
633
|
-
_defineProperty(this, "extensionASTNodes", void 0);
|
|
634
|
-
|
|
635
|
-
_defineProperty(this, "resolveType", void 0);
|
|
636
|
-
|
|
637
|
-
_defineProperty(this, "_fields", void 0);
|
|
638
|
-
|
|
639
585
|
this.name = config.name;
|
|
640
586
|
this.description = config.description;
|
|
641
587
|
this.astNode = config.astNode;
|
|
@@ -695,18 +641,6 @@ var GraphQLUnionType =
|
|
|
695
641
|
/*#__PURE__*/
|
|
696
642
|
function () {
|
|
697
643
|
function GraphQLUnionType(config) {
|
|
698
|
-
_defineProperty(this, "name", void 0);
|
|
699
|
-
|
|
700
|
-
_defineProperty(this, "description", void 0);
|
|
701
|
-
|
|
702
|
-
_defineProperty(this, "astNode", void 0);
|
|
703
|
-
|
|
704
|
-
_defineProperty(this, "extensionASTNodes", void 0);
|
|
705
|
-
|
|
706
|
-
_defineProperty(this, "resolveType", void 0);
|
|
707
|
-
|
|
708
|
-
_defineProperty(this, "_types", void 0);
|
|
709
|
-
|
|
710
644
|
this.name = config.name;
|
|
711
645
|
this.description = config.description;
|
|
712
646
|
this.astNode = config.astNode;
|
|
@@ -774,20 +708,6 @@ function () {
|
|
|
774
708
|
function GraphQLEnumType(config
|
|
775
709
|
/* <T> */
|
|
776
710
|
) {
|
|
777
|
-
_defineProperty(this, "name", void 0);
|
|
778
|
-
|
|
779
|
-
_defineProperty(this, "description", void 0);
|
|
780
|
-
|
|
781
|
-
_defineProperty(this, "astNode", void 0);
|
|
782
|
-
|
|
783
|
-
_defineProperty(this, "extensionASTNodes", void 0);
|
|
784
|
-
|
|
785
|
-
_defineProperty(this, "_values", void 0);
|
|
786
|
-
|
|
787
|
-
_defineProperty(this, "_valueLookup", void 0);
|
|
788
|
-
|
|
789
|
-
_defineProperty(this, "_nameLookup", void 0);
|
|
790
|
-
|
|
791
711
|
this.name = config.name;
|
|
792
712
|
this.description = config.description;
|
|
793
713
|
this.astNode = config.astNode;
|
|
@@ -863,8 +783,9 @@ function defineEnumValues(type, valueMap
|
|
|
863
783
|
/* <T> */
|
|
864
784
|
) {
|
|
865
785
|
!isPlainObj(valueMap) ? (0, _invariant.default)(0, "".concat(type.name, " values must be an object with value names as keys.")) : void 0;
|
|
866
|
-
return
|
|
867
|
-
var
|
|
786
|
+
return (0, _objectEntries.default)(valueMap).map(function (_ref2) {
|
|
787
|
+
var valueName = _ref2[0],
|
|
788
|
+
value = _ref2[1];
|
|
868
789
|
!isPlainObj(value) ? (0, _invariant.default)(0, "".concat(type.name, ".").concat(valueName, " must refer to an object with a \"value\" key ") + "representing an internal value but got: ".concat((0, _inspect.default)(value), ".")) : void 0;
|
|
869
790
|
!!value.hasOwnProperty('isDeprecated') ? (0, _invariant.default)(0, "".concat(type.name, ".").concat(valueName, " should provide \"deprecationReason\" instead ") + 'of "isDeprecated".') : void 0;
|
|
870
791
|
return {
|
|
@@ -902,16 +823,6 @@ var GraphQLInputObjectType =
|
|
|
902
823
|
/*#__PURE__*/
|
|
903
824
|
function () {
|
|
904
825
|
function GraphQLInputObjectType(config) {
|
|
905
|
-
_defineProperty(this, "name", void 0);
|
|
906
|
-
|
|
907
|
-
_defineProperty(this, "description", void 0);
|
|
908
|
-
|
|
909
|
-
_defineProperty(this, "astNode", void 0);
|
|
910
|
-
|
|
911
|
-
_defineProperty(this, "extensionASTNodes", void 0);
|
|
912
|
-
|
|
913
|
-
_defineProperty(this, "_fields", void 0);
|
|
914
|
-
|
|
915
826
|
this.name = config.name;
|
|
916
827
|
this.description = config.description;
|
|
917
828
|
this.astNode = config.astNode;
|
|
@@ -945,22 +856,12 @@ exports.GraphQLInputObjectType = GraphQLInputObjectType;
|
|
|
945
856
|
function defineInputFieldMap(config) {
|
|
946
857
|
var fieldMap = resolveThunk(config.fields) || {};
|
|
947
858
|
!isPlainObj(fieldMap) ? (0, _invariant.default)(0, "".concat(config.name, " fields must be an object with field names as keys or a ") + 'function which returns such an object.') : void 0;
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
for (var _i2 = 0; _i2 < _arr2.length; _i2++) {
|
|
953
|
-
var fieldName = _arr2[_i2];
|
|
954
|
-
|
|
955
|
-
var field = _objectSpread({}, fieldMap[fieldName], {
|
|
859
|
+
return (0, _mapValue.default)(fieldMap, function (fieldConfig, fieldName) {
|
|
860
|
+
!!fieldConfig.hasOwnProperty('resolve') ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " field has a resolve property, but ") + 'Input Types cannot define resolvers.') : void 0;
|
|
861
|
+
return _objectSpread({}, fieldConfig, {
|
|
956
862
|
name: fieldName
|
|
957
863
|
});
|
|
958
|
-
|
|
959
|
-
!!field.hasOwnProperty('resolve') ? (0, _invariant.default)(0, "".concat(config.name, ".").concat(fieldName, " field has a resolve property, but ") + 'Input Types cannot define resolvers.') : void 0;
|
|
960
|
-
resultFieldMap[fieldName] = field;
|
|
961
|
-
}
|
|
962
|
-
|
|
963
|
-
return resultFieldMap;
|
|
864
|
+
});
|
|
964
865
|
}
|
|
965
866
|
|
|
966
867
|
function isRequiredInputField(field) {
|
package/type/definition.js.flow
CHANGED
|
@@ -7,12 +7,14 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import objectEntries from '../polyfills/objectEntries';
|
|
10
11
|
import defineToJSON from '../jsutils/defineToJSON';
|
|
11
12
|
import defineToStringTag from '../jsutils/defineToStringTag';
|
|
12
13
|
import instanceOf from '../jsutils/instanceOf';
|
|
13
14
|
import inspect from '../jsutils/inspect';
|
|
14
15
|
import invariant from '../jsutils/invariant';
|
|
15
16
|
import keyMap from '../jsutils/keyMap';
|
|
17
|
+
import mapValue from '../jsutils/mapValue';
|
|
16
18
|
import type { ObjMap } from '../jsutils/ObjMap';
|
|
17
19
|
import { Kind } from '../language/kinds';
|
|
18
20
|
import { valueFromASTUntyped } from '../utilities/valueFromASTUntyped';
|
|
@@ -505,6 +507,7 @@ export function getNamedType(type) {
|
|
|
505
507
|
export type Thunk<+T> = (() => T) | T;
|
|
506
508
|
|
|
507
509
|
function resolveThunk<+T>(thunk: Thunk<T>): T {
|
|
510
|
+
// $FlowFixMe(>=0.90.0)
|
|
508
511
|
return typeof thunk === 'function' ? thunk() : thunk;
|
|
509
512
|
}
|
|
510
513
|
|
|
@@ -705,9 +708,7 @@ function defineFieldMap<TSource, TContext>(
|
|
|
705
708
|
'function which returns such an object.',
|
|
706
709
|
);
|
|
707
710
|
|
|
708
|
-
|
|
709
|
-
for (const fieldName of Object.keys(fieldMap)) {
|
|
710
|
-
const fieldConfig = fieldMap[fieldName];
|
|
711
|
+
return mapValue(fieldMap, (fieldConfig, fieldName) => {
|
|
711
712
|
invariant(
|
|
712
713
|
isPlainObj(fieldConfig),
|
|
713
714
|
`${config.name}.${fieldName} field config must be an object`,
|
|
@@ -717,39 +718,34 @@ function defineFieldMap<TSource, TContext>(
|
|
|
717
718
|
`${config.name}.${fieldName} should provide "deprecationReason" ` +
|
|
718
719
|
'instead of "isDeprecated".',
|
|
719
720
|
);
|
|
720
|
-
|
|
721
|
+
invariant(
|
|
722
|
+
fieldConfig.resolve == null || typeof fieldConfig.resolve === 'function',
|
|
723
|
+
`${config.name}.${fieldName} field resolver must be a function if ` +
|
|
724
|
+
`provided, but got: ${inspect(fieldConfig.resolve)}.`,
|
|
725
|
+
);
|
|
726
|
+
|
|
727
|
+
const argsConfig = fieldConfig.args || {};
|
|
728
|
+
invariant(
|
|
729
|
+
isPlainObj(argsConfig),
|
|
730
|
+
`${config.name}.${fieldName} args must be an object with argument ` +
|
|
731
|
+
'names as keys.',
|
|
732
|
+
);
|
|
733
|
+
|
|
734
|
+
const args = objectEntries(argsConfig).map(([argName, arg]) => ({
|
|
735
|
+
name: argName,
|
|
736
|
+
description: arg.description === undefined ? null : arg.description,
|
|
737
|
+
type: arg.type,
|
|
738
|
+
defaultValue: arg.defaultValue,
|
|
739
|
+
astNode: arg.astNode,
|
|
740
|
+
}));
|
|
741
|
+
|
|
742
|
+
return {
|
|
721
743
|
...fieldConfig,
|
|
722
744
|
isDeprecated: Boolean(fieldConfig.deprecationReason),
|
|
723
745
|
name: fieldName,
|
|
746
|
+
args,
|
|
724
747
|
};
|
|
725
|
-
|
|
726
|
-
field.resolve == null || typeof field.resolve === 'function',
|
|
727
|
-
`${config.name}.${fieldName} field resolver must be a function if ` +
|
|
728
|
-
`provided, but got: ${inspect(field.resolve)}.`,
|
|
729
|
-
);
|
|
730
|
-
const argsConfig = fieldConfig.args;
|
|
731
|
-
if (!argsConfig) {
|
|
732
|
-
field.args = [];
|
|
733
|
-
} else {
|
|
734
|
-
invariant(
|
|
735
|
-
isPlainObj(argsConfig),
|
|
736
|
-
`${config.name}.${fieldName} args must be an object with argument ` +
|
|
737
|
-
'names as keys.',
|
|
738
|
-
);
|
|
739
|
-
field.args = Object.keys(argsConfig).map(argName => {
|
|
740
|
-
const arg = argsConfig[argName];
|
|
741
|
-
return {
|
|
742
|
-
name: argName,
|
|
743
|
-
description: arg.description === undefined ? null : arg.description,
|
|
744
|
-
type: arg.type,
|
|
745
|
-
defaultValue: arg.defaultValue,
|
|
746
|
-
astNode: arg.astNode,
|
|
747
|
-
};
|
|
748
|
-
});
|
|
749
|
-
}
|
|
750
|
-
resultFieldMap[fieldName] = field;
|
|
751
|
-
}
|
|
752
|
-
return resultFieldMap;
|
|
748
|
+
});
|
|
753
749
|
}
|
|
754
750
|
|
|
755
751
|
function isPlainObj(obj) {
|
|
@@ -1123,8 +1119,7 @@ function defineEnumValues(
|
|
|
1123
1119
|
isPlainObj(valueMap),
|
|
1124
1120
|
`${type.name} values must be an object with value names as keys.`,
|
|
1125
1121
|
);
|
|
1126
|
-
return
|
|
1127
|
-
const value = valueMap[valueName];
|
|
1122
|
+
return objectEntries(valueMap).map(([valueName, value]) => {
|
|
1128
1123
|
invariant(
|
|
1129
1124
|
isPlainObj(value),
|
|
1130
1125
|
`${type.name}.${valueName} must refer to an object with a "value" key ` +
|
|
@@ -1154,9 +1149,7 @@ export type GraphQLEnumTypeConfig /* <T> */ = {|
|
|
|
1154
1149
|
extensionASTNodes?: ?$ReadOnlyArray<EnumTypeExtensionNode>,
|
|
1155
1150
|
|};
|
|
1156
1151
|
|
|
1157
|
-
export type GraphQLEnumValueConfigMap /* <T> */ = ObjMap<
|
|
1158
|
-
GraphQLEnumValueConfig /* <T> */,
|
|
1159
|
-
>;
|
|
1152
|
+
export type GraphQLEnumValueConfigMap /* <T> */ = ObjMap<GraphQLEnumValueConfig /* <T> */>;
|
|
1160
1153
|
|
|
1161
1154
|
export type GraphQLEnumValueConfig /* <T> */ = {|
|
|
1162
1155
|
value?: any /* T */,
|
|
@@ -1236,20 +1229,15 @@ function defineInputFieldMap(
|
|
|
1236
1229
|
`${config.name} fields must be an object with field names as keys or a ` +
|
|
1237
1230
|
'function which returns such an object.',
|
|
1238
1231
|
);
|
|
1239
|
-
|
|
1240
|
-
for (const fieldName of Object.keys(fieldMap)) {
|
|
1241
|
-
const field = {
|
|
1242
|
-
...fieldMap[fieldName],
|
|
1243
|
-
name: fieldName,
|
|
1244
|
-
};
|
|
1232
|
+
return mapValue(fieldMap, (fieldConfig, fieldName) => {
|
|
1245
1233
|
invariant(
|
|
1246
|
-
!
|
|
1234
|
+
!fieldConfig.hasOwnProperty('resolve'),
|
|
1247
1235
|
`${config.name}.${fieldName} field has a resolve property, but ` +
|
|
1248
1236
|
'Input Types cannot define resolvers.',
|
|
1249
1237
|
);
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1238
|
+
|
|
1239
|
+
return { ...fieldConfig, name: fieldName };
|
|
1240
|
+
});
|
|
1253
1241
|
}
|
|
1254
1242
|
|
|
1255
1243
|
export type GraphQLInputObjectTypeConfig = {|
|