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.
Files changed (285) hide show
  1. package/README.md +4 -4
  2. package/error/GraphQLError.js +1 -1
  3. package/error/GraphQLError.js.flow +3 -3
  4. package/error/GraphQLError.mjs +1 -1
  5. package/error/formatError.js +1 -1
  6. package/error/formatError.mjs +1 -1
  7. package/error/index.mjs +1 -1
  8. package/error/locatedError.js +1 -1
  9. package/error/locatedError.mjs +1 -1
  10. package/error/printError.js +1 -1
  11. package/error/printError.mjs +1 -1
  12. package/error/syntaxError.js +1 -1
  13. package/error/syntaxError.mjs +1 -1
  14. package/execution/execute.js +4 -4
  15. package/execution/execute.js.flow +4 -6
  16. package/execution/execute.mjs +5 -5
  17. package/execution/index.mjs +1 -1
  18. package/execution/values.js +4 -4
  19. package/execution/values.js.flow +3 -3
  20. package/execution/values.mjs +3 -3
  21. package/graphql.js +1 -1
  22. package/graphql.mjs +1 -1
  23. package/index.js +12 -0
  24. package/index.js.flow +4 -0
  25. package/index.mjs +4 -4
  26. package/jsutils/dedent.js +2 -2
  27. package/jsutils/dedent.js.flow +1 -1
  28. package/jsutils/dedent.mjs +2 -2
  29. package/jsutils/defineToJSON.js +17 -6
  30. package/jsutils/defineToJSON.js.flow +14 -5
  31. package/jsutils/defineToJSON.mjs +14 -6
  32. package/jsutils/defineToStringTag.js +5 -5
  33. package/jsutils/defineToStringTag.js.flow +3 -3
  34. package/jsutils/defineToStringTag.mjs +4 -4
  35. package/jsutils/inspect.js +46 -12
  36. package/jsutils/inspect.js.flow +42 -15
  37. package/jsutils/inspect.mjs +45 -5
  38. package/jsutils/instanceOf.js +1 -1
  39. package/jsutils/instanceOf.mjs +1 -1
  40. package/jsutils/invariant.js +1 -1
  41. package/jsutils/invariant.mjs +1 -1
  42. package/jsutils/isInvalid.js +1 -1
  43. package/jsutils/isInvalid.mjs +1 -1
  44. package/jsutils/isNullish.js +1 -1
  45. package/jsutils/isNullish.mjs +1 -1
  46. package/jsutils/isPromise.js +1 -1
  47. package/jsutils/isPromise.mjs +1 -1
  48. package/jsutils/keyMap.js +1 -1
  49. package/jsutils/keyMap.mjs +1 -1
  50. package/jsutils/keyValMap.js +1 -1
  51. package/jsutils/keyValMap.mjs +1 -1
  52. package/jsutils/mapValue.js +54 -0
  53. package/jsutils/mapValue.js.flow +27 -0
  54. package/jsutils/mapValue.mjs +44 -0
  55. package/jsutils/memoize3.js +1 -1
  56. package/jsutils/memoize3.mjs +1 -1
  57. package/jsutils/nodejsCustomInspectSymbol.js +18 -0
  58. package/jsutils/nodejsCustomInspectSymbol.js.flow +15 -0
  59. package/jsutils/nodejsCustomInspectSymbol.mjs +10 -0
  60. package/jsutils/orList.js +17 -4
  61. package/jsutils/orList.js.flow +13 -7
  62. package/jsutils/orList.mjs +14 -4
  63. package/jsutils/promiseForObject.js +1 -1
  64. package/jsutils/promiseForObject.mjs +1 -1
  65. package/jsutils/promiseReduce.js +1 -1
  66. package/jsutils/promiseReduce.mjs +1 -1
  67. package/jsutils/quotedOrList.js +1 -1
  68. package/jsutils/quotedOrList.mjs +1 -1
  69. package/jsutils/suggestionList.js +1 -1
  70. package/jsutils/suggestionList.mjs +1 -1
  71. package/language/blockStringValue.js +2 -2
  72. package/language/blockStringValue.js.flow +1 -1
  73. package/language/blockStringValue.mjs +2 -2
  74. package/language/directiveLocation.js +1 -1
  75. package/language/directiveLocation.mjs +1 -1
  76. package/language/index.mjs +1 -1
  77. package/language/kinds.js +1 -1
  78. package/language/kinds.mjs +1 -1
  79. package/language/lexer.js +29 -13
  80. package/language/lexer.js.flow +34 -20
  81. package/language/lexer.mjs +28 -13
  82. package/language/location.js +1 -1
  83. package/language/location.mjs +1 -1
  84. package/language/parser.js +31 -38
  85. package/language/parser.js.flow +32 -48
  86. package/language/parser.mjs +30 -38
  87. package/language/predicates.js +1 -1
  88. package/language/predicates.mjs +1 -1
  89. package/language/printer.js +13 -7
  90. package/language/printer.js.flow +19 -9
  91. package/language/printer.mjs +13 -7
  92. package/language/source.js +8 -7
  93. package/language/source.mjs +1 -9
  94. package/language/visitor.js +11 -20
  95. package/language/visitor.js.flow +4 -5
  96. package/language/visitor.mjs +8 -20
  97. package/package.json +10 -3
  98. package/polyfills/find.js +31 -0
  99. package/polyfills/find.js.flow +29 -0
  100. package/polyfills/find.mjs +23 -0
  101. package/{jsutils → polyfills}/isFinite.js +1 -1
  102. package/{jsutils → polyfills}/isFinite.js.flow +0 -0
  103. package/{jsutils → polyfills}/isFinite.mjs +1 -1
  104. package/{jsutils → polyfills}/isInteger.js +1 -1
  105. package/{jsutils → polyfills}/isInteger.js.flow +0 -0
  106. package/{jsutils → polyfills}/isInteger.mjs +1 -1
  107. package/polyfills/objectEntries.js +26 -0
  108. package/polyfills/objectEntries.js.flow +19 -0
  109. package/polyfills/objectEntries.mjs +18 -0
  110. package/{jsutils → polyfills}/objectValues.js +1 -1
  111. package/{jsutils → polyfills}/objectValues.js.flow +1 -1
  112. package/{jsutils → polyfills}/objectValues.mjs +1 -1
  113. package/subscription/asyncIteratorReject.mjs +1 -1
  114. package/subscription/index.mjs +1 -1
  115. package/subscription/mapAsyncIterator.mjs +1 -1
  116. package/subscription/subscribe.js +1 -1
  117. package/subscription/subscribe.js.flow +1 -1
  118. package/subscription/subscribe.mjs +2 -2
  119. package/type/definition.js +31 -130
  120. package/type/definition.js.flow +35 -47
  121. package/type/definition.mjs +30 -131
  122. package/type/directives.js +25 -29
  123. package/type/directives.js.flow +24 -20
  124. package/type/directives.mjs +22 -30
  125. package/type/index.js +12 -0
  126. package/type/index.js.flow +4 -0
  127. package/type/index.mjs +5 -3
  128. package/type/introspection.js +3 -3
  129. package/type/introspection.js.flow +1 -1
  130. package/type/introspection.mjs +2 -2
  131. package/type/scalars.js +45 -34
  132. package/type/scalars.js.flow +40 -26
  133. package/type/scalars.mjs +44 -26
  134. package/type/schema.js +82 -87
  135. package/type/schema.js.flow +17 -9
  136. package/type/schema.mjs +79 -86
  137. package/type/validate.js +168 -175
  138. package/type/validate.js.flow +8 -49
  139. package/type/validate.mjs +159 -175
  140. package/utilities/TypeInfo.js +10 -23
  141. package/utilities/TypeInfo.js.flow +1 -1
  142. package/utilities/TypeInfo.mjs +2 -24
  143. package/utilities/assertValidName.js +1 -1
  144. package/utilities/assertValidName.mjs +1 -1
  145. package/utilities/astFromValue.js +2 -2
  146. package/utilities/astFromValue.js.flow +1 -1
  147. package/utilities/astFromValue.mjs +2 -2
  148. package/utilities/buildASTSchema.js +169 -152
  149. package/utilities/buildASTSchema.js.flow +117 -113
  150. package/utilities/buildASTSchema.mjs +160 -152
  151. package/utilities/buildClientSchema.js +24 -14
  152. package/utilities/buildClientSchema.js.flow +24 -14
  153. package/utilities/buildClientSchema.mjs +23 -14
  154. package/utilities/coerceValue.js +38 -19
  155. package/utilities/coerceValue.js.flow +41 -47
  156. package/utilities/coerceValue.mjs +38 -20
  157. package/utilities/concatAST.js +1 -1
  158. package/utilities/concatAST.mjs +1 -1
  159. package/utilities/extendSchema.js +228 -312
  160. package/utilities/extendSchema.js.flow +27 -152
  161. package/utilities/extendSchema.mjs +229 -312
  162. package/utilities/findBreakingChanges.js +7 -5
  163. package/utilities/findBreakingChanges.js.flow +3 -2
  164. package/utilities/findBreakingChanges.mjs +6 -5
  165. package/utilities/findDeprecatedUsages.js +1 -1
  166. package/utilities/findDeprecatedUsages.mjs +1 -1
  167. package/utilities/getOperationAST.js +1 -1
  168. package/utilities/getOperationAST.mjs +1 -1
  169. package/utilities/getOperationRootType.js +1 -1
  170. package/utilities/getOperationRootType.mjs +1 -1
  171. package/utilities/index.mjs +1 -1
  172. package/utilities/introspectionFromSchema.js +1 -1
  173. package/utilities/introspectionFromSchema.mjs +1 -1
  174. package/utilities/introspectionQuery.js +1 -1
  175. package/utilities/introspectionQuery.mjs +1 -1
  176. package/utilities/isValidJSValue.js +1 -1
  177. package/utilities/isValidJSValue.mjs +1 -1
  178. package/utilities/isValidLiteralValue.js +1 -1
  179. package/utilities/isValidLiteralValue.mjs +1 -1
  180. package/utilities/lexicographicSortSchema.js +2 -2
  181. package/utilities/lexicographicSortSchema.js.flow +1 -1
  182. package/utilities/lexicographicSortSchema.mjs +2 -2
  183. package/utilities/schemaPrinter.js +3 -3
  184. package/utilities/schemaPrinter.js.flow +1 -1
  185. package/utilities/schemaPrinter.mjs +2 -2
  186. package/utilities/separateOperations.js +1 -1
  187. package/utilities/separateOperations.mjs +1 -1
  188. package/utilities/typeComparators.js +1 -1
  189. package/utilities/typeComparators.mjs +1 -1
  190. package/utilities/typeFromAST.js +1 -1
  191. package/utilities/typeFromAST.mjs +1 -1
  192. package/utilities/valueFromAST.js +3 -3
  193. package/utilities/valueFromAST.js.flow +1 -1
  194. package/utilities/valueFromAST.mjs +2 -2
  195. package/utilities/valueFromASTUntyped.js +1 -1
  196. package/utilities/valueFromASTUntyped.mjs +1 -1
  197. package/validation/ValidationContext.js +57 -82
  198. package/validation/ValidationContext.js.flow +52 -49
  199. package/validation/ValidationContext.mjs +52 -77
  200. package/validation/index.js.flow +1 -0
  201. package/validation/index.mjs +1 -1
  202. package/validation/rules/ExecutableDefinitions.js +1 -1
  203. package/validation/rules/ExecutableDefinitions.js.flow +1 -1
  204. package/validation/rules/ExecutableDefinitions.mjs +1 -1
  205. package/validation/rules/FieldsOnCorrectType.js +1 -1
  206. package/validation/rules/FieldsOnCorrectType.mjs +1 -1
  207. package/validation/rules/FragmentsOnCompositeTypes.js +1 -1
  208. package/validation/rules/FragmentsOnCompositeTypes.mjs +1 -1
  209. package/validation/rules/KnownArgumentNames.mjs +1 -1
  210. package/validation/rules/KnownDirectives.js +1 -1
  211. package/validation/rules/KnownDirectives.mjs +1 -1
  212. package/validation/rules/KnownFragmentNames.js +1 -1
  213. package/validation/rules/KnownFragmentNames.mjs +1 -1
  214. package/validation/rules/KnownTypeNames.js +59 -21
  215. package/validation/rules/KnownTypeNames.js.flow +54 -20
  216. package/validation/rules/KnownTypeNames.mjs +56 -21
  217. package/validation/rules/LoneAnonymousOperation.js +1 -1
  218. package/validation/rules/LoneAnonymousOperation.mjs +1 -1
  219. package/validation/rules/LoneSchemaDefinition.js +1 -1
  220. package/validation/rules/LoneSchemaDefinition.mjs +1 -1
  221. package/validation/rules/NoFragmentCycles.js +1 -1
  222. package/validation/rules/NoFragmentCycles.js.flow +2 -2
  223. package/validation/rules/NoFragmentCycles.mjs +1 -1
  224. package/validation/rules/NoUndefinedVariables.js +1 -1
  225. package/validation/rules/NoUndefinedVariables.mjs +1 -1
  226. package/validation/rules/NoUnusedFragments.js +1 -1
  227. package/validation/rules/NoUnusedFragments.js.flow +2 -2
  228. package/validation/rules/NoUnusedFragments.mjs +1 -1
  229. package/validation/rules/NoUnusedVariables.js +1 -1
  230. package/validation/rules/NoUnusedVariables.mjs +1 -1
  231. package/validation/rules/OverlappingFieldsCanBeMerged.js +57 -33
  232. package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +5 -6
  233. package/validation/rules/OverlappingFieldsCanBeMerged.mjs +48 -33
  234. package/validation/rules/PossibleFragmentSpreads.js +1 -1
  235. package/validation/rules/PossibleFragmentSpreads.mjs +1 -1
  236. package/validation/rules/PossibleTypeExtensions.js +158 -0
  237. package/validation/rules/PossibleTypeExtensions.js.flow +160 -0
  238. package/validation/rules/PossibleTypeExtensions.mjs +146 -0
  239. package/validation/rules/ProvidedRequiredArguments.mjs +1 -1
  240. package/validation/rules/ScalarLeafs.js +1 -1
  241. package/validation/rules/ScalarLeafs.mjs +1 -1
  242. package/validation/rules/SingleFieldSubscriptions.js +1 -1
  243. package/validation/rules/SingleFieldSubscriptions.mjs +1 -1
  244. package/validation/rules/UniqueArgumentNames.js +1 -1
  245. package/validation/rules/UniqueArgumentNames.mjs +1 -1
  246. package/validation/rules/UniqueDirectiveNames.js +55 -0
  247. package/validation/rules/UniqueDirectiveNames.js.flow +64 -0
  248. package/validation/rules/UniqueDirectiveNames.mjs +43 -0
  249. package/validation/rules/UniqueDirectivesPerLocation.js +1 -1
  250. package/validation/rules/UniqueDirectivesPerLocation.mjs +1 -1
  251. package/validation/rules/UniqueEnumValueNames.js +94 -0
  252. package/validation/rules/UniqueEnumValueNames.js.flow +87 -0
  253. package/validation/rules/UniqueEnumValueNames.mjs +81 -0
  254. package/validation/rules/UniqueFieldDefinitionNames.js +105 -0
  255. package/validation/rules/UniqueFieldDefinitionNames.js.flow +101 -0
  256. package/validation/rules/UniqueFieldDefinitionNames.mjs +92 -0
  257. package/validation/rules/UniqueFragmentNames.js +1 -1
  258. package/validation/rules/UniqueFragmentNames.mjs +1 -1
  259. package/validation/rules/UniqueInputFieldNames.js +1 -1
  260. package/validation/rules/UniqueInputFieldNames.mjs +1 -1
  261. package/validation/rules/UniqueOperationNames.js +1 -1
  262. package/validation/rules/UniqueOperationNames.mjs +1 -1
  263. package/validation/rules/UniqueOperationTypes.js +85 -0
  264. package/validation/rules/UniqueOperationTypes.js.flow +76 -0
  265. package/validation/rules/UniqueOperationTypes.mjs +73 -0
  266. package/validation/rules/UniqueTypeNames.js +62 -0
  267. package/validation/rules/UniqueTypeNames.js.flow +67 -0
  268. package/validation/rules/UniqueTypeNames.mjs +50 -0
  269. package/validation/rules/UniqueVariableNames.js +1 -1
  270. package/validation/rules/UniqueVariableNames.mjs +1 -1
  271. package/validation/rules/ValuesOfCorrectType.js +29 -13
  272. package/validation/rules/ValuesOfCorrectType.js.flow +4 -5
  273. package/validation/rules/ValuesOfCorrectType.mjs +28 -13
  274. package/validation/rules/VariablesAreInputTypes.js +1 -1
  275. package/validation/rules/VariablesAreInputTypes.mjs +1 -1
  276. package/validation/rules/VariablesInAllowedPosition.js +4 -4
  277. package/validation/rules/VariablesInAllowedPosition.mjs +4 -4
  278. package/validation/specifiedRules.js +14 -2
  279. package/validation/specifiedRules.js.flow +13 -0
  280. package/validation/specifiedRules.mjs +8 -2
  281. package/validation/validate.js +1 -1
  282. package/validation/validate.mjs +1 -1
  283. package/jsutils/find.js +0 -22
  284. package/jsutils/find.js.flow +0 -19
  285. 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
- [![npm version](https://badge.fury.io/js/graphql.svg)](http://badge.fury.io/js/graphql)
5
+ [![npm version](https://badge.fury.io/js/graphql.svg)](https://badge.fury.io/js/graphql)
6
6
  [![Build Status](https://travis-ci.org/graphql/graphql-js.svg?branch=master)](https://travis-ci.org/graphql/graphql-js?branch=master)
7
7
  [![Coverage Status](https://coveralls.io/repos/graphql/graphql-js/badge.svg?branch=master)](https://coveralls.io/r/graphql/graphql-js?branch=master)
8
8
 
9
- See more complete documentation at http://graphql.org/ and
10
- http://graphql.org/graphql-js/.
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](http://graphql.org/community/).
12
+ Looking for help? Find resources [from the community](https://graphql.org/community/).
13
13
 
14
14
 
15
15
  ## Getting Started
@@ -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
- * strict
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
- ? [nodes]
108
- : undefined;
107
+ ? [nodes]
108
+ : undefined;
109
109
 
110
110
  // Compute locations in the source for the given nodes/positions.
111
111
  let _source = source;
@@ -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
- * strict
7
+ *
8
8
  */
9
9
  import { printError } from './printError';
10
10
  import { getLocation } from '../language/location';
@@ -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
- * strict
18
+ *
19
19
  */
20
20
 
21
21
  /**
@@ -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
- * strict
7
+ *
8
8
  */
9
9
  import invariant from '../jsutils/invariant';
10
10
 
package/error/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
- * strict
7
+ *
8
8
  */
9
9
  export { GraphQLError } from './GraphQLError';
10
10
  export { syntaxError } from './syntaxError';
@@ -13,7 +13,7 @@ var _GraphQLError = require("./GraphQLError");
13
13
  * This source code is licensed under the MIT license found in the
14
14
  * LICENSE file in the root directory of this source tree.
15
15
  *
16
- * strict
16
+ *
17
17
  */
18
18
 
19
19
  /**
@@ -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
- * strict
7
+ *
8
8
  */
9
9
  import { GraphQLError } from './GraphQLError';
10
10
 
@@ -13,7 +13,7 @@ var _location = require("../language/location");
13
13
  * This source code is licensed under the MIT license found in the
14
14
  * LICENSE file in the root directory of this source tree.
15
15
  *
16
- * strict
16
+ *
17
17
  */
18
18
 
19
19
  /**
@@ -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
- * strict
7
+ *
8
8
  */
9
9
  import { getLocation } from '../language/location';
10
10
 
@@ -13,7 +13,7 @@ var _GraphQLError = require("./GraphQLError");
13
13
  * This source code is licensed under the MIT license found in the
14
14
  * LICENSE file in the root directory of this source tree.
15
15
  *
16
- * strict
16
+ *
17
17
  */
18
18
 
19
19
  /**
@@ -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
- * strict
7
+ *
8
8
  */
9
9
  import { GraphQLError } from './GraphQLError';
10
10
  /**
@@ -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 ' + 'multiple operations.'));
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 precidence than @include.
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 ' + '"isTypeOf" function.', fieldNodes);
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 defintion.
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 precidence than @include.
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 defintion.
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
@@ -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
- * strict
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 ' + 'multiple operations.'));
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 precidence than @include.
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 ' + '"isTypeOf" function.', fieldNodes);
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 defintion.
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
@@ -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
- * strict
7
+ *
8
8
  */
9
9
  export { execute, defaultFieldResolver, responsePathAsArray } from './execute';
10
10
  export { getDirectiveValues } from './values';
@@ -7,9 +7,9 @@ exports.getVariableValues = getVariableValues;
7
7
  exports.getArgumentValues = getArgumentValues;
8
8
  exports.getDirectiveValues = getDirectiveValues;
9
9
 
10
- var _GraphQLError = require("../error/GraphQLError");
10
+ var _find = _interopRequireDefault(require("../polyfills/find"));
11
11
 
12
- var _find = _interopRequireDefault(require("../jsutils/find"));
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
- * strict
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 ") + "value ".concat((0, _inspect.default)(value), "; ").concat(error.message);
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;
@@ -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
- `value ${inspect(value)}; ${error.message}`;
101
+ `Variable "$${varName}" got invalid value ${inspect(value)}; ` +
102
+ error.message;
103
103
  }
104
104
  errors.push(...coercionErrors);
105
105
  } else {
@@ -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
- * strict
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 ") + "value ".concat(inspect(value), "; ").concat(error.message);
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
- * strict
23
+ *
24
24
  */
25
25
  function graphql(argsOrSchema, source, rootValue, contextValue, variableValues, operationName, fieldResolver) {
26
26
  var _arguments = arguments;
package/graphql.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
- * strict
7
+ *
8
8
  */
9
9
  import { validateSchema } from './type/validate';
10
10
  import { parse } from './language/parser';
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
- * strict
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'; // Create, format, and print GraphQL errors.
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
- * strict
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
 
@@ -31,7 +31,7 @@ function fixIndent(str: string): string {
31
31
  * {
32
32
  * test
33
33
  * }
34
- * `
34
+ * `;
35
35
  * str === "{\n test\n}\n";
36
36
  */
37
37
  export default function dedent(
@@ -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
- * strict
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
 
@@ -3,7 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = applyToJSON;
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
- * strict
18
+ *
15
19
  */
16
20
 
17
21
  /**
18
- * The `applyToJSON()` function defines toJSON() and inspect() prototype
19
- * methods which are aliases for toString().
22
+ * The `defineToJSON()` function defines toJSON() and inspect() prototype
23
+ * methods, if no function provided they become aliases for toString().
20
24
  */
21
- function applyToJSON(classObject) {
22
- classObject.prototype.toJSON = classObject.prototype.inspect = classObject.prototype.toString;
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 `applyToJSON()` function defines toJSON() and inspect() prototype
12
- * methods which are aliases for toString().
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 applyToJSON(classObject: Class<any>): void {
15
- classObject.prototype.toJSON = classObject.prototype.inspect =
16
- classObject.prototype.toString;
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
  }
@@ -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
- * strict
7
+ *
8
8
  */
9
-
9
+ import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
10
10
  /**
11
- * The `applyToJSON()` function defines toJSON() and inspect() prototype
12
- * methods which are aliases for toString().
11
+ * The `defineToJSON()` function defines toJSON() and inspect() prototype
12
+ * methods, if no function provided they become aliases for toString().
13
13
  */
14
- export default function applyToJSON(classObject) {
15
- classObject.prototype.toJSON = classObject.prototype.inspect = classObject.prototype.toString;
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 = applyToStringTag;
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
- * strict
14
+ *
15
15
  */
16
16
 
17
17
  /**
18
- * The `applyToStringTag()` function checks first to see if the runtime
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 applyToStringTag
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 applyToStringTag(classObject) {
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() {