graphql 14.0.0 → 14.1.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/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.js +4 -4
- package/execution/execute.js.flow +4 -6
- package/execution/execute.mjs +5 -5
- package/execution/index.mjs +1 -1
- package/execution/values.js +4 -4
- package/execution/values.js.flow +3 -3
- package/execution/values.mjs +3 -3
- package/graphql.js +1 -1
- package/graphql.mjs +1 -1
- package/index.js +12 -0
- package/index.js.flow +4 -0
- package/index.mjs +4 -4
- package/jsutils/dedent.js +2 -2
- package/jsutils/dedent.js.flow +1 -1
- package/jsutils/dedent.mjs +2 -2
- 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 +46 -12
- package/jsutils/inspect.js.flow +42 -15
- package/jsutils/inspect.mjs +45 -5
- 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 +2 -2
- package/language/blockStringValue.js.flow +1 -1
- package/language/blockStringValue.mjs +2 -2
- 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 +29 -13
- package/language/lexer.js.flow +34 -20
- package/language/lexer.mjs +28 -13
- 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 +11 -20
- package/language/visitor.js.flow +4 -5
- package/language/visitor.mjs +8 -20
- package/package.json +10 -3
- 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.js.flow +1 -1
- package/subscription/subscribe.mjs +2 -2
- 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 +169 -152
- package/utilities/buildASTSchema.js.flow +117 -113
- package/utilities/buildASTSchema.mjs +160 -152
- package/utilities/buildClientSchema.js +24 -14
- package/utilities/buildClientSchema.js.flow +24 -14
- package/utilities/buildClientSchema.mjs +23 -14
- 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.js.flow +1 -0
- 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 +57 -33
- package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +5 -6
- package/validation/rules/OverlappingFieldsCanBeMerged.mjs +48 -33
- 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
package/README.md
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
The JavaScript reference implementation for GraphQL, a query language for APIs created by Facebook.
|
|
4
4
|
|
|
5
|
-
[](
|
|
5
|
+
[](https://badge.fury.io/js/graphql)
|
|
6
6
|
[](https://travis-ci.org/graphql/graphql-js?branch=master)
|
|
7
7
|
[](https://coveralls.io/r/graphql/graphql-js?branch=master)
|
|
8
8
|
|
|
9
|
-
See more complete documentation at
|
|
10
|
-
|
|
9
|
+
See more complete documentation at https://graphql.org/ and
|
|
10
|
+
https://graphql.org/graphql-js/.
|
|
11
11
|
|
|
12
|
-
Looking for help? Find resources [from the community](
|
|
12
|
+
Looking for help? Find resources [from the community](https://graphql.org/community/).
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
## Getting Started
|
package/error/GraphQLError.js
CHANGED
|
@@ -15,7 +15,7 @@ var _location = require("../language/location");
|
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
*
|
|
19
19
|
*/
|
|
20
20
|
function GraphQLError( // eslint-disable-line no-redeclare
|
|
21
21
|
message, nodes, source, positions, path, originalError, extensions) {
|
|
@@ -22,7 +22,7 @@ import type { Source } from '../language/source';
|
|
|
22
22
|
declare class GraphQLError extends Error {
|
|
23
23
|
constructor(
|
|
24
24
|
message: string,
|
|
25
|
-
nodes?: $ReadOnlyArray<ASTNode> | ASTNode | void,
|
|
25
|
+
nodes?: $ReadOnlyArray<ASTNode> | ASTNode | void | null,
|
|
26
26
|
source?: ?Source,
|
|
27
27
|
positions?: ?$ReadOnlyArray<number>,
|
|
28
28
|
path?: ?$ReadOnlyArray<string | number>,
|
|
@@ -104,8 +104,8 @@ export function GraphQLError( // eslint-disable-line no-redeclare
|
|
|
104
104
|
? nodes
|
|
105
105
|
: undefined
|
|
106
106
|
: nodes
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
? [nodes]
|
|
108
|
+
: undefined;
|
|
109
109
|
|
|
110
110
|
// Compute locations in the source for the given nodes/positions.
|
|
111
111
|
let _source = source;
|
package/error/GraphQLError.mjs
CHANGED
package/error/formatError.js
CHANGED
package/error/formatError.mjs
CHANGED
package/error/index.mjs
CHANGED
package/error/locatedError.js
CHANGED
package/error/locatedError.mjs
CHANGED
package/error/printError.js
CHANGED
package/error/printError.mjs
CHANGED
package/error/syntaxError.js
CHANGED
package/error/syntaxError.mjs
CHANGED
package/execution/execute.js
CHANGED
|
@@ -187,7 +187,7 @@ function buildExecutionContext(schema, document, rootValue, contextValue, rawVar
|
|
|
187
187
|
errors.push(new _GraphQLError.GraphQLError('Must provide an operation.'));
|
|
188
188
|
}
|
|
189
189
|
} else if (hasMultipleAssumedOperations) {
|
|
190
|
-
errors.push(new _GraphQLError.GraphQLError('Must provide operation name if query contains
|
|
190
|
+
errors.push(new _GraphQLError.GraphQLError('Must provide operation name if query contains multiple operations.'));
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
var variableValues;
|
|
@@ -371,7 +371,7 @@ function collectFields(exeContext, runtimeType, selectionSet, fields, visitedFra
|
|
|
371
371
|
}
|
|
372
372
|
/**
|
|
373
373
|
* Determines if a field should be included based on the @include and @skip
|
|
374
|
-
* directives, where @skip has higher
|
|
374
|
+
* directives, where @skip has higher precedence than @include.
|
|
375
375
|
*/
|
|
376
376
|
|
|
377
377
|
|
|
@@ -668,7 +668,7 @@ function ensureValidRuntimeType(runtimeTypeOrName, exeContext, returnType, field
|
|
|
668
668
|
var runtimeType = typeof runtimeTypeOrName === 'string' ? exeContext.schema.getType(runtimeTypeOrName) : runtimeTypeOrName;
|
|
669
669
|
|
|
670
670
|
if (!(0, _definition.isObjectType)(runtimeType)) {
|
|
671
|
-
throw new _GraphQLError.GraphQLError("Abstract type ".concat(returnType.name, " must resolve to an Object type at ") + "runtime for field ".concat(info.parentType.name, ".").concat(info.fieldName, " with ") + "value ".concat((0, _inspect.default)(result), ", received \"").concat((0, _inspect.default)(runtimeType), "\". ") + "Either the ".concat(returnType.name, " type should provide a \"resolveType\" ") + 'function or each possible type should provide an
|
|
671
|
+
throw new _GraphQLError.GraphQLError("Abstract type ".concat(returnType.name, " must resolve to an Object type at ") + "runtime for field ".concat(info.parentType.name, ".").concat(info.fieldName, " with ") + "value ".concat((0, _inspect.default)(result), ", received \"").concat((0, _inspect.default)(runtimeType), "\". ") + "Either the ".concat(returnType.name, " type should provide a \"resolveType\" ") + 'function or each possible type should provide an "isTypeOf" function.', fieldNodes);
|
|
672
672
|
}
|
|
673
673
|
|
|
674
674
|
if (!exeContext.schema.isPossibleType(returnType, runtimeType)) {
|
|
@@ -806,7 +806,7 @@ var defaultFieldResolver = function defaultFieldResolver(source, args, contextVa
|
|
|
806
806
|
}
|
|
807
807
|
};
|
|
808
808
|
/**
|
|
809
|
-
* This method looks up the field on the given type
|
|
809
|
+
* This method looks up the field on the given type definition.
|
|
810
810
|
* It has special casing for the two introspection fields, __schema
|
|
811
811
|
* and __typename. __typename is special because it can always be
|
|
812
812
|
* queried as a field, even in situations where no other fields
|
|
@@ -336,8 +336,7 @@ export function buildExecutionContext(
|
|
|
336
336
|
} else if (hasMultipleAssumedOperations) {
|
|
337
337
|
errors.push(
|
|
338
338
|
new GraphQLError(
|
|
339
|
-
'Must provide operation name if query contains '
|
|
340
|
-
'multiple operations.',
|
|
339
|
+
'Must provide operation name if query contains multiple operations.',
|
|
341
340
|
),
|
|
342
341
|
);
|
|
343
342
|
}
|
|
@@ -576,7 +575,7 @@ export function collectFields(
|
|
|
576
575
|
|
|
577
576
|
/**
|
|
578
577
|
* Determines if a field should be included based on the @include and @skip
|
|
579
|
-
* directives, where @skip has higher
|
|
578
|
+
* directives, where @skip has higher precedence than @include.
|
|
580
579
|
*/
|
|
581
580
|
function shouldIncludeNode(
|
|
582
581
|
exeContext: ExecutionContext,
|
|
@@ -1049,8 +1048,7 @@ function ensureValidRuntimeType(
|
|
|
1049
1048
|
`runtime for field ${info.parentType.name}.${info.fieldName} with ` +
|
|
1050
1049
|
`value ${inspect(result)}, received "${inspect(runtimeType)}". ` +
|
|
1051
1050
|
`Either the ${returnType.name} type should provide a "resolveType" ` +
|
|
1052
|
-
'function or each possible type should provide an '
|
|
1053
|
-
'"isTypeOf" function.',
|
|
1051
|
+
'function or each possible type should provide an "isTypeOf" function.',
|
|
1054
1052
|
fieldNodes,
|
|
1055
1053
|
);
|
|
1056
1054
|
}
|
|
@@ -1240,7 +1238,7 @@ export const defaultFieldResolver: GraphQLFieldResolver<any, *> = function(
|
|
|
1240
1238
|
};
|
|
1241
1239
|
|
|
1242
1240
|
/**
|
|
1243
|
-
* This method looks up the field on the given type
|
|
1241
|
+
* This method looks up the field on the given type definition.
|
|
1244
1242
|
* It has special casing for the two introspection fields, __schema
|
|
1245
1243
|
* and __typename. __typename is special because it can always be
|
|
1246
1244
|
* queried as a field, even in situations where no other fields
|
package/execution/execute.mjs
CHANGED
|
@@ -6,7 +6,7 @@ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterat
|
|
|
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 { forEach, isCollection } from 'iterall';
|
|
12
12
|
import { GraphQLError } from '../error/GraphQLError';
|
|
@@ -155,7 +155,7 @@ export function buildExecutionContext(schema, document, rootValue, contextValue,
|
|
|
155
155
|
errors.push(new GraphQLError('Must provide an operation.'));
|
|
156
156
|
}
|
|
157
157
|
} else if (hasMultipleAssumedOperations) {
|
|
158
|
-
errors.push(new GraphQLError('Must provide operation name if query contains
|
|
158
|
+
errors.push(new GraphQLError('Must provide operation name if query contains multiple operations.'));
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
var variableValues;
|
|
@@ -338,7 +338,7 @@ export function collectFields(exeContext, runtimeType, selectionSet, fields, vis
|
|
|
338
338
|
}
|
|
339
339
|
/**
|
|
340
340
|
* Determines if a field should be included based on the @include and @skip
|
|
341
|
-
* directives, where @skip has higher
|
|
341
|
+
* directives, where @skip has higher precedence than @include.
|
|
342
342
|
*/
|
|
343
343
|
|
|
344
344
|
function shouldIncludeNode(exeContext, node) {
|
|
@@ -632,7 +632,7 @@ function ensureValidRuntimeType(runtimeTypeOrName, exeContext, returnType, field
|
|
|
632
632
|
var runtimeType = typeof runtimeTypeOrName === 'string' ? exeContext.schema.getType(runtimeTypeOrName) : runtimeTypeOrName;
|
|
633
633
|
|
|
634
634
|
if (!isObjectType(runtimeType)) {
|
|
635
|
-
throw new GraphQLError("Abstract type ".concat(returnType.name, " must resolve to an Object type at ") + "runtime for field ".concat(info.parentType.name, ".").concat(info.fieldName, " with ") + "value ".concat(inspect(result), ", received \"").concat(inspect(runtimeType), "\". ") + "Either the ".concat(returnType.name, " type should provide a \"resolveType\" ") + 'function or each possible type should provide an
|
|
635
|
+
throw new GraphQLError("Abstract type ".concat(returnType.name, " must resolve to an Object type at ") + "runtime for field ".concat(info.parentType.name, ".").concat(info.fieldName, " with ") + "value ".concat(inspect(result), ", received \"").concat(inspect(runtimeType), "\". ") + "Either the ".concat(returnType.name, " type should provide a \"resolveType\" ") + 'function or each possible type should provide an "isTypeOf" function.', fieldNodes);
|
|
636
636
|
}
|
|
637
637
|
|
|
638
638
|
if (!exeContext.schema.isPossibleType(returnType, runtimeType)) {
|
|
@@ -770,7 +770,7 @@ export var defaultFieldResolver = function defaultFieldResolver(source, args, co
|
|
|
770
770
|
}
|
|
771
771
|
};
|
|
772
772
|
/**
|
|
773
|
-
* This method looks up the field on the given type
|
|
773
|
+
* This method looks up the field on the given type definition.
|
|
774
774
|
* It has special casing for the two introspection fields, __schema
|
|
775
775
|
* and __typename. __typename is special because it can always be
|
|
776
776
|
* queried as a field, even in situations where no other fields
|
package/execution/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
9
|
export { execute, defaultFieldResolver, responsePathAsArray } from './execute';
|
|
10
10
|
export { getDirectiveValues } from './values';
|
package/execution/values.js
CHANGED
|
@@ -7,9 +7,9 @@ exports.getVariableValues = getVariableValues;
|
|
|
7
7
|
exports.getArgumentValues = getArgumentValues;
|
|
8
8
|
exports.getDirectiveValues = getDirectiveValues;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _find = _interopRequireDefault(require("../polyfills/find"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _GraphQLError = require("../error/GraphQLError");
|
|
13
13
|
|
|
14
14
|
var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
|
|
15
15
|
|
|
@@ -37,7 +37,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
37
37
|
* This source code is licensed under the MIT license found in the
|
|
38
38
|
* LICENSE file in the root directory of this source tree.
|
|
39
39
|
*
|
|
40
|
-
*
|
|
40
|
+
*
|
|
41
41
|
*/
|
|
42
42
|
|
|
43
43
|
/**
|
|
@@ -93,7 +93,7 @@ function getVariableValues(schema, varDefNodes, inputs) {
|
|
|
93
93
|
try {
|
|
94
94
|
for (var _iterator = coercionErrors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
95
95
|
var error = _step.value;
|
|
96
|
-
error.message = "Variable \"$".concat(varName, "\" got invalid
|
|
96
|
+
error.message = "Variable \"$".concat(varName, "\" got invalid value ").concat((0, _inspect.default)(value), "; ") + error.message;
|
|
97
97
|
}
|
|
98
98
|
} catch (err) {
|
|
99
99
|
_didIteratorError = true;
|
package/execution/values.js.flow
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import find from '../polyfills/find';
|
|
10
11
|
import { GraphQLError } from '../error/GraphQLError';
|
|
11
|
-
import find from '../jsutils/find';
|
|
12
12
|
import inspect from '../jsutils/inspect';
|
|
13
13
|
import invariant from '../jsutils/invariant';
|
|
14
14
|
import keyMap from '../jsutils/keyMap';
|
|
@@ -98,8 +98,8 @@ export function getVariableValues(
|
|
|
98
98
|
if (coercionErrors) {
|
|
99
99
|
for (const error of coercionErrors) {
|
|
100
100
|
error.message =
|
|
101
|
-
`Variable "$${varName}" got invalid ` +
|
|
102
|
-
|
|
101
|
+
`Variable "$${varName}" got invalid value ${inspect(value)}; ` +
|
|
102
|
+
error.message;
|
|
103
103
|
}
|
|
104
104
|
errors.push(...coercionErrors);
|
|
105
105
|
} else {
|
package/execution/values.mjs
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
|
+
import find from '../polyfills/find';
|
|
9
10
|
import { GraphQLError } from '../error/GraphQLError';
|
|
10
|
-
import find from '../jsutils/find';
|
|
11
11
|
import inspect from '../jsutils/inspect';
|
|
12
12
|
import invariant from '../jsutils/invariant';
|
|
13
13
|
import keyMap from '../jsutils/keyMap';
|
|
@@ -71,7 +71,7 @@ export function getVariableValues(schema, varDefNodes, inputs) {
|
|
|
71
71
|
try {
|
|
72
72
|
for (var _iterator = coercionErrors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
73
73
|
var error = _step.value;
|
|
74
|
-
error.message = "Variable \"$".concat(varName, "\" got invalid
|
|
74
|
+
error.message = "Variable \"$".concat(varName, "\" got invalid value ").concat(inspect(value), "; ") + error.message;
|
|
75
75
|
}
|
|
76
76
|
} catch (err) {
|
|
77
77
|
_didIteratorError = true;
|
package/graphql.js
CHANGED
|
@@ -20,7 +20,7 @@ var _execute = require("./execution/execute");
|
|
|
20
20
|
* This source code is licensed under the MIT license found in the
|
|
21
21
|
* LICENSE file in the root directory of this source tree.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
23
|
+
*
|
|
24
24
|
*/
|
|
25
25
|
function graphql(argsOrSchema, source, rootValue, contextValue, variableValues, operationName, fieldResolver) {
|
|
26
26
|
var _arguments = arguments;
|
package/graphql.mjs
CHANGED
package/index.js
CHANGED
|
@@ -363,6 +363,18 @@ Object.defineProperty(exports, "isSpecifiedDirective", {
|
|
|
363
363
|
return _type.isSpecifiedDirective;
|
|
364
364
|
}
|
|
365
365
|
});
|
|
366
|
+
Object.defineProperty(exports, "assertSchema", {
|
|
367
|
+
enumerable: true,
|
|
368
|
+
get: function get() {
|
|
369
|
+
return _type.assertSchema;
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
Object.defineProperty(exports, "assertDirective", {
|
|
373
|
+
enumerable: true,
|
|
374
|
+
get: function get() {
|
|
375
|
+
return _type.assertDirective;
|
|
376
|
+
}
|
|
377
|
+
});
|
|
366
378
|
Object.defineProperty(exports, "assertType", {
|
|
367
379
|
enumerable: true,
|
|
368
380
|
get: function get() {
|
package/index.js.flow
CHANGED
|
@@ -104,6 +104,8 @@ export {
|
|
|
104
104
|
isIntrospectionType,
|
|
105
105
|
isSpecifiedDirective,
|
|
106
106
|
// Assertions
|
|
107
|
+
assertSchema,
|
|
108
|
+
assertDirective,
|
|
107
109
|
assertType,
|
|
108
110
|
assertScalarType,
|
|
109
111
|
assertObjectType,
|
|
@@ -321,6 +323,8 @@ export {
|
|
|
321
323
|
VariablesInAllowedPositionRule,
|
|
322
324
|
} from './validation';
|
|
323
325
|
|
|
326
|
+
export type { ValidationRule } from './validation';
|
|
327
|
+
|
|
324
328
|
// Create, format, and print GraphQL errors.
|
|
325
329
|
export { GraphQLError, formatError, printError } from './error';
|
|
326
330
|
|
package/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -42,7 +42,7 @@ DEFAULT_DEPRECATION_REASON, // Meta-field definitions.
|
|
|
42
42
|
SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, // GraphQL Types for introspection.
|
|
43
43
|
introspectionTypes, __Schema, __Directive, __DirectiveLocation, __Type, __Field, __InputValue, __EnumValue, __TypeKind, // Predicates
|
|
44
44
|
isSchema, isDirective, isType, isScalarType, isObjectType, isInterfaceType, isUnionType, isEnumType, isInputObjectType, isListType, isNonNullType, isInputType, isOutputType, isLeafType, isCompositeType, isAbstractType, isWrappingType, isNullableType, isNamedType, isRequiredArgument, isRequiredInputField, isSpecifiedScalarType, isIntrospectionType, isSpecifiedDirective, // Assertions
|
|
45
|
-
assertType, assertScalarType, assertObjectType, assertInterfaceType, assertUnionType, assertEnumType, assertInputObjectType, assertListType, assertNonNullType, assertInputType, assertOutputType, assertLeafType, assertCompositeType, assertAbstractType, assertWrappingType, assertNullableType, assertNamedType, // Un-modifiers
|
|
45
|
+
assertSchema, assertDirective, assertType, assertScalarType, assertObjectType, assertInterfaceType, assertUnionType, assertEnumType, assertInputObjectType, assertListType, assertNonNullType, assertInputType, assertOutputType, assertLeafType, assertCompositeType, assertAbstractType, assertWrappingType, assertNullableType, assertNamedType, // Un-modifiers
|
|
46
46
|
getNullableType, getNamedType, // Validate GraphQL schema.
|
|
47
47
|
validateSchema, assertValidSchema } from './type';
|
|
48
48
|
// Parse and operate on GraphQL language source files.
|
|
@@ -57,8 +57,8 @@ export { subscribe, createSourceEventStream } from './subscription'; // Validate
|
|
|
57
57
|
|
|
58
58
|
export { validate, ValidationContext, // All validation rules in the GraphQL Specification.
|
|
59
59
|
specifiedRules, // Individual validation rules.
|
|
60
|
-
FieldsOnCorrectTypeRule, FragmentsOnCompositeTypesRule, KnownArgumentNamesRule, KnownDirectivesRule, KnownFragmentNamesRule, KnownTypeNamesRule, LoneAnonymousOperationRule, NoFragmentCyclesRule, NoUndefinedVariablesRule, NoUnusedFragmentsRule, NoUnusedVariablesRule, OverlappingFieldsCanBeMergedRule, PossibleFragmentSpreadsRule, ProvidedRequiredArgumentsRule, ScalarLeafsRule, SingleFieldSubscriptionsRule, UniqueArgumentNamesRule, UniqueDirectivesPerLocationRule, UniqueFragmentNamesRule, UniqueInputFieldNamesRule, UniqueOperationNamesRule, UniqueVariableNamesRule, ValuesOfCorrectTypeRule, VariablesAreInputTypesRule, VariablesInAllowedPositionRule } from './validation';
|
|
61
|
-
|
|
60
|
+
FieldsOnCorrectTypeRule, FragmentsOnCompositeTypesRule, KnownArgumentNamesRule, KnownDirectivesRule, KnownFragmentNamesRule, KnownTypeNamesRule, LoneAnonymousOperationRule, NoFragmentCyclesRule, NoUndefinedVariablesRule, NoUnusedFragmentsRule, NoUnusedVariablesRule, OverlappingFieldsCanBeMergedRule, PossibleFragmentSpreadsRule, ProvidedRequiredArgumentsRule, ScalarLeafsRule, SingleFieldSubscriptionsRule, UniqueArgumentNamesRule, UniqueDirectivesPerLocationRule, UniqueFragmentNamesRule, UniqueInputFieldNamesRule, UniqueOperationNamesRule, UniqueVariableNamesRule, ValuesOfCorrectTypeRule, VariablesAreInputTypesRule, VariablesInAllowedPositionRule } from './validation';
|
|
61
|
+
// Create, format, and print GraphQL errors.
|
|
62
62
|
export { GraphQLError, formatError, printError } from './error';
|
|
63
63
|
// Utilities for operating on GraphQL type schema and parsed sources.
|
|
64
64
|
export { // Produce the GraphQL query recommended for a full schema introspection.
|
package/jsutils/dedent.js
CHANGED
|
@@ -15,7 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
*
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -40,7 +40,7 @@ function fixIndent(str) {
|
|
|
40
40
|
* {
|
|
41
41
|
* test
|
|
42
42
|
* }
|
|
43
|
-
*
|
|
43
|
+
* `;
|
|
44
44
|
* str === "{\n test\n}\n";
|
|
45
45
|
*/
|
|
46
46
|
|
package/jsutils/dedent.js.flow
CHANGED
package/jsutils/dedent.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
9
|
import invariant from './invariant';
|
|
10
10
|
/**
|
|
@@ -30,7 +30,7 @@ function fixIndent(str) {
|
|
|
30
30
|
* {
|
|
31
31
|
* test
|
|
32
32
|
* }
|
|
33
|
-
*
|
|
33
|
+
* `;
|
|
34
34
|
* str === "{\n test\n}\n";
|
|
35
35
|
*/
|
|
36
36
|
|
package/jsutils/defineToJSON.js
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = defineToJSON;
|
|
7
|
+
|
|
8
|
+
var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
11
|
|
|
8
12
|
/**
|
|
9
13
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
@@ -11,13 +15,20 @@ exports.default = applyToJSON;
|
|
|
11
15
|
* This source code is licensed under the MIT license found in the
|
|
12
16
|
* LICENSE file in the root directory of this source tree.
|
|
13
17
|
*
|
|
14
|
-
*
|
|
18
|
+
*
|
|
15
19
|
*/
|
|
16
20
|
|
|
17
21
|
/**
|
|
18
|
-
* The `
|
|
19
|
-
* methods
|
|
22
|
+
* The `defineToJSON()` function defines toJSON() and inspect() prototype
|
|
23
|
+
* methods, if no function provided they become aliases for toString().
|
|
20
24
|
*/
|
|
21
|
-
function
|
|
22
|
-
|
|
25
|
+
function defineToJSON( // eslint-disable-next-line flowtype/no-weak-types
|
|
26
|
+
classObject) {
|
|
27
|
+
var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : classObject.prototype.toString;
|
|
28
|
+
classObject.prototype.toJSON = fn;
|
|
29
|
+
classObject.prototype.inspect = fn;
|
|
30
|
+
|
|
31
|
+
if (_nodejsCustomInspectSymbol.default) {
|
|
32
|
+
classObject.prototype[_nodejsCustomInspectSymbol.default] = fn;
|
|
33
|
+
}
|
|
23
34
|
}
|
|
@@ -7,11 +7,20 @@
|
|
|
7
7
|
* @flow strict
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
|
-
* The `
|
|
12
|
-
* methods
|
|
13
|
+
* The `defineToJSON()` function defines toJSON() and inspect() prototype
|
|
14
|
+
* methods, if no function provided they become aliases for toString().
|
|
13
15
|
*/
|
|
14
|
-
export default function
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
export default function defineToJSON(
|
|
17
|
+
// eslint-disable-next-line flowtype/no-weak-types
|
|
18
|
+
classObject: Class<any> | Function,
|
|
19
|
+
fn?: () => any = classObject.prototype.toString,
|
|
20
|
+
): void {
|
|
21
|
+
classObject.prototype.toJSON = fn;
|
|
22
|
+
classObject.prototype.inspect = fn;
|
|
23
|
+
if (nodejsCustomInspectSymbol) {
|
|
24
|
+
classObject.prototype[nodejsCustomInspectSymbol] = fn;
|
|
25
|
+
}
|
|
17
26
|
}
|
package/jsutils/defineToJSON.mjs
CHANGED
|
@@ -4,13 +4,21 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
|
|
10
10
|
/**
|
|
11
|
-
* The `
|
|
12
|
-
* methods
|
|
11
|
+
* The `defineToJSON()` function defines toJSON() and inspect() prototype
|
|
12
|
+
* methods, if no function provided they become aliases for toString().
|
|
13
13
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
export default function defineToJSON( // eslint-disable-next-line flowtype/no-weak-types
|
|
16
|
+
classObject) {
|
|
17
|
+
var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : classObject.prototype.toString;
|
|
18
|
+
classObject.prototype.toJSON = fn;
|
|
19
|
+
classObject.prototype.inspect = fn;
|
|
20
|
+
|
|
21
|
+
if (nodejsCustomInspectSymbol) {
|
|
22
|
+
classObject.prototype[nodejsCustomInspectSymbol] = fn;
|
|
23
|
+
}
|
|
16
24
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = defineToStringTag;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
@@ -11,23 +11,23 @@ exports.default = applyToStringTag;
|
|
|
11
11
|
* This source code is licensed under the MIT license found in the
|
|
12
12
|
* LICENSE file in the root directory of this source tree.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
14
|
+
*
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* The `
|
|
18
|
+
* The `defineToStringTag()` function checks first to see if the runtime
|
|
19
19
|
* supports the `Symbol` class and then if the `Symbol.toStringTag` constant
|
|
20
20
|
* is defined as a `Symbol` instance. If both conditions are met, the
|
|
21
21
|
* Symbol.toStringTag property is defined as a getter that returns the
|
|
22
22
|
* supplied class constructor's name.
|
|
23
23
|
*
|
|
24
|
-
* @method
|
|
24
|
+
* @method defineToStringTag
|
|
25
25
|
*
|
|
26
26
|
* @param {Class<any>} classObject a class such as Object, String, Number but
|
|
27
27
|
* typically one of your own creation through the class keyword; `class A {}`,
|
|
28
28
|
* for example.
|
|
29
29
|
*/
|
|
30
|
-
function
|
|
30
|
+
function defineToStringTag(classObject) {
|
|
31
31
|
if (typeof Symbol === 'function' && Symbol.toStringTag) {
|
|
32
32
|
Object.defineProperty(classObject.prototype, Symbol.toStringTag, {
|
|
33
33
|
get: function get() {
|