graphql 15.2.0 → 15.5.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.
Files changed (338) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +19 -10
  3. package/error/GraphQLError.js +8 -8
  4. package/error/GraphQLError.js.flow +2 -3
  5. package/error/GraphQLError.mjs +2 -2
  6. package/error/formatError.js +1 -1
  7. package/error/formatError.js.flow +0 -1
  8. package/error/index.js +4 -4
  9. package/error/index.js.flow +0 -1
  10. package/error/locatedError.d.ts +2 -2
  11. package/error/locatedError.js +10 -5
  12. package/error/locatedError.js.flow +10 -4
  13. package/error/locatedError.mjs +6 -4
  14. package/error/syntaxError.js +1 -1
  15. package/error/syntaxError.js.flow +0 -1
  16. package/execution/execute.d.ts +11 -15
  17. package/execution/execute.js +110 -110
  18. package/execution/execute.js.flow +132 -139
  19. package/execution/execute.mjs +92 -88
  20. package/execution/index.d.ts +1 -0
  21. package/execution/index.js +3 -3
  22. package/execution/index.js.flow +6 -2
  23. package/execution/values.js +11 -11
  24. package/execution/values.js.flow +0 -1
  25. package/graphql.js +5 -5
  26. package/graphql.js.flow +0 -1
  27. package/index.d.ts +2 -0
  28. package/index.js +9 -9
  29. package/index.js.flow +5 -2
  30. package/jsutils/ObjMap.js.flow +0 -1
  31. package/jsutils/Path.js.flow +0 -1
  32. package/jsutils/PromiseOrValue.js.flow +0 -1
  33. package/jsutils/defineInspect.js +2 -2
  34. package/jsutils/defineInspect.js.flow +0 -1
  35. package/jsutils/devAssert.js.flow +0 -1
  36. package/jsutils/didYouMean.js.flow +0 -1
  37. package/jsutils/identityFunc.js.flow +0 -1
  38. package/jsutils/inspect.js +1 -2
  39. package/jsutils/inspect.js.flow +10 -8
  40. package/jsutils/inspect.mjs +1 -1
  41. package/jsutils/instanceOf.js.flow +2 -3
  42. package/jsutils/invariant.js.flow +0 -1
  43. package/jsutils/isAsyncIterable.js +13 -0
  44. package/jsutils/isAsyncIterable.js.flow +14 -0
  45. package/jsutils/isAsyncIterable.mjs +10 -0
  46. package/jsutils/isObjectLike.js.flow +0 -1
  47. package/jsutils/isPromise.js.flow +0 -1
  48. package/jsutils/keyMap.js.flow +0 -1
  49. package/jsutils/keyValMap.js.flow +0 -1
  50. package/jsutils/mapValue.js +1 -1
  51. package/jsutils/mapValue.js.flow +0 -1
  52. package/jsutils/memoize3.js +2 -5
  53. package/jsutils/memoize3.js.flow +2 -5
  54. package/jsutils/memoize3.mjs +2 -5
  55. package/jsutils/naturalCompare.js +69 -0
  56. package/jsutils/naturalCompare.js.flow +59 -0
  57. package/jsutils/naturalCompare.mjs +61 -0
  58. package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
  59. package/jsutils/printPathArray.js.flow +0 -1
  60. package/jsutils/promiseForObject.js.flow +0 -1
  61. package/jsutils/promiseReduce.js +1 -1
  62. package/jsutils/promiseReduce.js.flow +0 -1
  63. package/jsutils/safeArrayFrom.js +73 -0
  64. package/jsutils/safeArrayFrom.js.flow +59 -0
  65. package/jsutils/safeArrayFrom.mjs +66 -0
  66. package/jsutils/suggestionList.js +5 -1
  67. package/jsutils/suggestionList.js.flow +3 -2
  68. package/jsutils/suggestionList.mjs +3 -1
  69. package/jsutils/toObjMap.js +1 -1
  70. package/jsutils/toObjMap.js.flow +0 -1
  71. package/language/ast.js +1 -1
  72. package/language/ast.js.flow +0 -1
  73. package/language/blockString.d.ts +1 -1
  74. package/language/blockString.js +53 -32
  75. package/language/blockString.js.flow +51 -36
  76. package/language/blockString.mjs +54 -33
  77. package/language/directiveLocation.js.flow +0 -1
  78. package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
  79. package/language/experimentalOnlineParser/grammar.js +987 -0
  80. package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
  81. package/language/experimentalOnlineParser/grammar.mjs +980 -0
  82. package/language/experimentalOnlineParser/index.d.ts +6 -0
  83. package/language/experimentalOnlineParser/index.js +31 -0
  84. package/language/experimentalOnlineParser/index.js.flow +7 -0
  85. package/language/experimentalOnlineParser/index.mjs +1 -0
  86. package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
  87. package/language/experimentalOnlineParser/onlineParser.js +604 -0
  88. package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
  89. package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
  90. package/language/index.js +12 -12
  91. package/language/index.js.flow +0 -1
  92. package/language/kinds.js.flow +0 -1
  93. package/language/lexer.js +242 -183
  94. package/language/lexer.js.flow +188 -184
  95. package/language/lexer.mjs +238 -179
  96. package/language/location.js.flow +0 -1
  97. package/language/parser.js +73 -68
  98. package/language/parser.js.flow +62 -57
  99. package/language/parser.mjs +64 -60
  100. package/language/predicates.js +1 -1
  101. package/language/predicates.js.flow +0 -1
  102. package/language/printLocation.js +1 -1
  103. package/language/printLocation.js.flow +0 -1
  104. package/language/printer.js +20 -13
  105. package/language/printer.js.flow +26 -25
  106. package/language/printer.mjs +18 -11
  107. package/language/source.d.ts +12 -6
  108. package/language/source.js +25 -9
  109. package/language/source.js.flow +26 -9
  110. package/language/source.mjs +19 -7
  111. package/language/tokenKind.js.flow +0 -1
  112. package/language/visitor.d.ts +3 -3
  113. package/language/visitor.js +5 -5
  114. package/language/visitor.js.flow +3 -4
  115. package/language/visitor.mjs +3 -3
  116. package/package.json +2 -3
  117. package/polyfills/arrayFrom.js +2 -2
  118. package/polyfills/arrayFrom.js.flow +1 -2
  119. package/polyfills/arrayFrom.mjs +1 -1
  120. package/polyfills/find.js +1 -1
  121. package/polyfills/find.js.flow +1 -2
  122. package/polyfills/find.mjs +1 -1
  123. package/polyfills/isFinite.js +1 -1
  124. package/polyfills/isFinite.js.flow +1 -2
  125. package/polyfills/isFinite.mjs +1 -1
  126. package/polyfills/isInteger.js +1 -1
  127. package/polyfills/isInteger.js.flow +1 -2
  128. package/polyfills/isInteger.mjs +1 -1
  129. package/polyfills/objectEntries.js +1 -1
  130. package/polyfills/objectEntries.js.flow +1 -2
  131. package/polyfills/objectEntries.mjs +1 -1
  132. package/polyfills/objectValues.js +1 -1
  133. package/polyfills/objectValues.js.flow +1 -2
  134. package/polyfills/objectValues.mjs +1 -1
  135. package/polyfills/symbols.js +3 -5
  136. package/polyfills/symbols.js.flow +9 -6
  137. package/polyfills/symbols.mjs +3 -5
  138. package/subscription/index.js +1 -1
  139. package/subscription/index.js.flow +0 -1
  140. package/subscription/mapAsyncIterator.js +2 -2
  141. package/subscription/mapAsyncIterator.js.flow +8 -9
  142. package/subscription/mapAsyncIterator.mjs +1 -1
  143. package/subscription/subscribe.js +61 -73
  144. package/subscription/subscribe.js.flow +71 -85
  145. package/subscription/subscribe.mjs +53 -65
  146. package/type/definition.d.ts +17 -9
  147. package/type/definition.js +37 -32
  148. package/type/definition.js.flow +93 -63
  149. package/type/definition.mjs +19 -14
  150. package/type/directives.js +17 -16
  151. package/type/directives.js.flow +20 -13
  152. package/type/directives.mjs +6 -5
  153. package/type/index.js +6 -6
  154. package/type/index.js.flow +0 -1
  155. package/type/introspection.js +86 -65
  156. package/type/introspection.js.flow +75 -43
  157. package/type/introspection.mjs +79 -58
  158. package/type/scalars.js +9 -9
  159. package/type/scalars.js.flow +1 -2
  160. package/type/scalars.mjs +1 -1
  161. package/type/schema.js +13 -13
  162. package/type/schema.js.flow +2 -3
  163. package/type/schema.mjs +1 -1
  164. package/type/validate.js +52 -19
  165. package/type/validate.js.flow +54 -8
  166. package/type/validate.mjs +43 -9
  167. package/utilities/TypeInfo.js +7 -7
  168. package/utilities/TypeInfo.js.flow +1 -2
  169. package/utilities/assertValidName.js +2 -2
  170. package/utilities/assertValidName.js.flow +0 -1
  171. package/utilities/astFromValue.js +14 -16
  172. package/utilities/astFromValue.js.flow +6 -7
  173. package/utilities/astFromValue.mjs +6 -7
  174. package/utilities/buildASTSchema.js +17 -27
  175. package/utilities/buildASTSchema.js.flow +5 -21
  176. package/utilities/buildASTSchema.mjs +11 -21
  177. package/utilities/buildClientSchema.js +16 -15
  178. package/utilities/buildClientSchema.js.flow +28 -12
  179. package/utilities/buildClientSchema.mjs +5 -4
  180. package/utilities/coerceInputValue.js +17 -18
  181. package/utilities/coerceInputValue.js.flow +12 -10
  182. package/utilities/coerceInputValue.mjs +7 -7
  183. package/utilities/concatAST.js +9 -8
  184. package/utilities/concatAST.js.flow +8 -8
  185. package/utilities/concatAST.mjs +9 -6
  186. package/utilities/extendSchema.js +26 -19
  187. package/utilities/extendSchema.js.flow +19 -7
  188. package/utilities/extendSchema.mjs +8 -1
  189. package/utilities/findBreakingChanges.js +15 -11
  190. package/utilities/findBreakingChanges.js.flow +6 -3
  191. package/utilities/findBreakingChanges.mjs +5 -2
  192. package/utilities/findDeprecatedUsages.js +2 -2
  193. package/utilities/findDeprecatedUsages.js.flow +0 -1
  194. package/utilities/getIntrospectionQuery.d.ts +6 -0
  195. package/utilities/getIntrospectionQuery.js +8 -2
  196. package/utilities/getIntrospectionQuery.js.flow +17 -5
  197. package/utilities/getIntrospectionQuery.mjs +8 -2
  198. package/utilities/getOperationAST.js +1 -1
  199. package/utilities/getOperationAST.js.flow +0 -1
  200. package/utilities/getOperationRootType.js +1 -1
  201. package/utilities/getOperationRootType.js.flow +0 -1
  202. package/utilities/index.d.ts +3 -0
  203. package/utilities/index.js +22 -22
  204. package/utilities/index.js.flow +0 -1
  205. package/utilities/introspectionFromSchema.js +7 -5
  206. package/utilities/introspectionFromSchema.js.flow +2 -1
  207. package/utilities/introspectionFromSchema.mjs +3 -1
  208. package/utilities/lexicographicSortSchema.js +13 -9
  209. package/utilities/lexicographicSortSchema.js.flow +21 -13
  210. package/utilities/lexicographicSortSchema.mjs +5 -2
  211. package/utilities/printSchema.js +15 -16
  212. package/utilities/printSchema.js.flow +23 -16
  213. package/utilities/printSchema.mjs +5 -6
  214. package/utilities/separateOperations.js +46 -42
  215. package/utilities/separateOperations.js.flow +46 -37
  216. package/utilities/separateOperations.mjs +44 -40
  217. package/utilities/stripIgnoredCharacters.js +6 -16
  218. package/utilities/stripIgnoredCharacters.js.flow +4 -13
  219. package/utilities/stripIgnoredCharacters.mjs +3 -10
  220. package/utilities/typeComparators.js +1 -1
  221. package/utilities/typeComparators.js.flow +0 -1
  222. package/utilities/typeFromAST.js +6 -6
  223. package/utilities/typeFromAST.js.flow +2 -3
  224. package/utilities/typeFromAST.mjs +2 -2
  225. package/utilities/typedQueryDocumentNode.d.ts +20 -0
  226. package/utilities/valueFromAST.js +6 -6
  227. package/utilities/valueFromAST.js.flow +4 -2
  228. package/utilities/valueFromASTUntyped.js +4 -4
  229. package/utilities/valueFromASTUntyped.js.flow +0 -1
  230. package/validation/ValidationContext.js +3 -3
  231. package/validation/ValidationContext.js.flow +3 -4
  232. package/validation/index.js +38 -38
  233. package/validation/index.js.flow +0 -1
  234. package/validation/rules/ExecutableDefinitions.js +1 -1
  235. package/validation/rules/ExecutableDefinitions.js.flow +0 -1
  236. package/validation/rules/ExecutableDefinitionsRule.js +3 -3
  237. package/validation/rules/ExecutableDefinitionsRule.js.flow +0 -1
  238. package/validation/rules/FieldsOnCorrectTypeRule.js +8 -6
  239. package/validation/rules/FieldsOnCorrectTypeRule.js.flow +2 -2
  240. package/validation/rules/FieldsOnCorrectTypeRule.mjs +2 -1
  241. package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
  242. package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +0 -1
  243. package/validation/rules/KnownArgumentNamesRule.js +5 -5
  244. package/validation/rules/KnownArgumentNamesRule.js.flow +1 -1
  245. package/validation/rules/KnownDirectivesRule.js +6 -6
  246. package/validation/rules/KnownDirectivesRule.js.flow +4 -3
  247. package/validation/rules/KnownFragmentNamesRule.js +1 -1
  248. package/validation/rules/KnownFragmentNamesRule.js.flow +0 -1
  249. package/validation/rules/KnownTypeNamesRule.js +6 -6
  250. package/validation/rules/KnownTypeNamesRule.js.flow +1 -2
  251. package/validation/rules/LoneAnonymousOperationRule.js +2 -2
  252. package/validation/rules/LoneAnonymousOperationRule.js.flow +0 -1
  253. package/validation/rules/LoneSchemaDefinition.js +1 -1
  254. package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
  255. package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
  256. package/validation/rules/LoneSchemaDefinitionRule.js.flow +0 -1
  257. package/validation/rules/NoFragmentCyclesRule.js +1 -1
  258. package/validation/rules/NoFragmentCyclesRule.js.flow +1 -2
  259. package/validation/rules/NoUndefinedVariablesRule.js +1 -1
  260. package/validation/rules/NoUndefinedVariablesRule.js.flow +0 -1
  261. package/validation/rules/NoUnusedFragmentsRule.js +1 -1
  262. package/validation/rules/NoUnusedFragmentsRule.js.flow +0 -1
  263. package/validation/rules/NoUnusedVariablesRule.js +1 -1
  264. package/validation/rules/NoUnusedVariablesRule.js.flow +0 -1
  265. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
  266. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +14 -14
  267. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
  268. package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
  269. package/validation/rules/PossibleFragmentSpreadsRule.js.flow +5 -2
  270. package/validation/rules/PossibleTypeExtensions.js +1 -1
  271. package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
  272. package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
  273. package/validation/rules/PossibleTypeExtensionsRule.js.flow +6 -4
  274. package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
  275. package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +4 -3
  276. package/validation/rules/ScalarLeafsRule.js +3 -3
  277. package/validation/rules/ScalarLeafsRule.js.flow +0 -1
  278. package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
  279. package/validation/rules/SingleFieldSubscriptionsRule.js.flow +0 -1
  280. package/validation/rules/UniqueArgumentNamesRule.js +1 -1
  281. package/validation/rules/UniqueArgumentNamesRule.js.flow +0 -1
  282. package/validation/rules/UniqueDirectiveNames.js +1 -1
  283. package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
  284. package/validation/rules/UniqueDirectiveNamesRule.js +2 -2
  285. package/validation/rules/UniqueDirectiveNamesRule.js.flow +0 -1
  286. package/validation/rules/UniqueDirectiveNamesRule.mjs +1 -1
  287. package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
  288. package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +0 -1
  289. package/validation/rules/UniqueEnumValueNames.js +1 -1
  290. package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
  291. package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
  292. package/validation/rules/UniqueEnumValueNamesRule.js.flow +7 -2
  293. package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
  294. package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
  295. package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
  296. package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +13 -4
  297. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
  298. package/validation/rules/UniqueFragmentNamesRule.js +1 -1
  299. package/validation/rules/UniqueFragmentNamesRule.js.flow +0 -1
  300. package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
  301. package/validation/rules/UniqueInputFieldNamesRule.js.flow +0 -1
  302. package/validation/rules/UniqueOperationNamesRule.js +1 -1
  303. package/validation/rules/UniqueOperationNamesRule.js.flow +0 -1
  304. package/validation/rules/UniqueOperationTypes.js +1 -1
  305. package/validation/rules/UniqueOperationTypes.js.flow +0 -1
  306. package/validation/rules/UniqueOperationTypesRule.js +1 -1
  307. package/validation/rules/UniqueOperationTypesRule.js.flow +7 -2
  308. package/validation/rules/UniqueTypeNames.js +1 -1
  309. package/validation/rules/UniqueTypeNames.js.flow +0 -1
  310. package/validation/rules/UniqueTypeNamesRule.js +2 -2
  311. package/validation/rules/UniqueTypeNamesRule.js.flow +0 -1
  312. package/validation/rules/UniqueTypeNamesRule.mjs +1 -1
  313. package/validation/rules/UniqueVariableNamesRule.js +1 -1
  314. package/validation/rules/UniqueVariableNamesRule.js.flow +0 -1
  315. package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
  316. package/validation/rules/ValuesOfCorrectTypeRule.js.flow +0 -1
  317. package/validation/rules/VariablesAreInputTypesRule.js +4 -4
  318. package/validation/rules/VariablesAreInputTypesRule.js.flow +0 -1
  319. package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
  320. package/validation/rules/VariablesInAllowedPositionRule.js.flow +0 -1
  321. package/validation/rules/custom/NoDeprecatedCustomRule.js +47 -9
  322. package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +56 -13
  323. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +43 -8
  324. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -3
  325. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +0 -1
  326. package/validation/specifiedRules.js +33 -33
  327. package/validation/specifiedRules.js.flow +0 -1
  328. package/validation/validate.js +7 -7
  329. package/validation/validate.js.flow +4 -5
  330. package/version.js +2 -2
  331. package/version.js.flow +2 -3
  332. package/version.mjs +2 -2
  333. package/jsutils/isCollection.js +0 -47
  334. package/jsutils/isCollection.js.flow +0 -39
  335. package/jsutils/isCollection.mjs +0 -40
  336. package/polyfills/flatMap.js +0 -30
  337. package/polyfills/flatMap.js.flow +0 -28
  338. package/polyfills/flatMap.mjs +0 -23
@@ -7,6 +7,7 @@ export {
7
7
  defaultTypeResolver,
8
8
  ExecutionArgs,
9
9
  ExecutionResult,
10
+ FormattedExecutionResult,
10
11
  } from './execute';
11
12
 
12
13
  export { getDirectiveValues } from './values';
@@ -40,8 +40,8 @@ Object.defineProperty(exports, "getDirectiveValues", {
40
40
  }
41
41
  });
42
42
 
43
- var _Path = require("../jsutils/Path");
43
+ var _Path = require("../jsutils/Path.js");
44
44
 
45
- var _execute = require("./execute");
45
+ var _execute = require("./execute.js");
46
46
 
47
- var _values = require("./values");
47
+ var _values = require("./values.js");
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  export { pathToArray as responsePathAsArray } from '../jsutils/Path';
4
3
 
5
4
  export {
@@ -8,6 +7,11 @@ export {
8
7
  defaultFieldResolver,
9
8
  defaultTypeResolver,
10
9
  } from './execute';
11
- export type { ExecutionArgs, ExecutionResult } from './execute';
10
+
11
+ export type {
12
+ ExecutionArgs,
13
+ ExecutionResult,
14
+ FormattedExecutionResult,
15
+ } from './execute';
12
16
 
13
17
  export { getDirectiveValues } from './values';
@@ -7,27 +7,27 @@ exports.getVariableValues = getVariableValues;
7
7
  exports.getArgumentValues = getArgumentValues;
8
8
  exports.getDirectiveValues = getDirectiveValues;
9
9
 
10
- var _find = _interopRequireDefault(require("../polyfills/find"));
10
+ var _find = _interopRequireDefault(require("../polyfills/find.js"));
11
11
 
12
- var _keyMap = _interopRequireDefault(require("../jsutils/keyMap"));
12
+ var _keyMap = _interopRequireDefault(require("../jsutils/keyMap.js"));
13
13
 
14
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
14
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
15
15
 
16
- var _printPathArray = _interopRequireDefault(require("../jsutils/printPathArray"));
16
+ var _printPathArray = _interopRequireDefault(require("../jsutils/printPathArray.js"));
17
17
 
18
- var _GraphQLError = require("../error/GraphQLError");
18
+ var _GraphQLError = require("../error/GraphQLError.js");
19
19
 
20
- var _kinds = require("../language/kinds");
20
+ var _kinds = require("../language/kinds.js");
21
21
 
22
- var _printer = require("../language/printer");
22
+ var _printer = require("../language/printer.js");
23
23
 
24
- var _definition = require("../type/definition");
24
+ var _definition = require("../type/definition.js");
25
25
 
26
- var _typeFromAST = require("../utilities/typeFromAST");
26
+ var _typeFromAST = require("../utilities/typeFromAST.js");
27
27
 
28
- var _valueFromAST = require("../utilities/valueFromAST");
28
+ var _valueFromAST = require("../utilities/valueFromAST.js");
29
29
 
30
- var _coerceInputValue = require("../utilities/coerceInputValue");
30
+ var _coerceInputValue = require("../utilities/coerceInputValue.js");
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import find from '../polyfills/find';
4
3
 
5
4
  import type { ObjMap } from '../jsutils/ObjMap';
package/graphql.js CHANGED
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.graphql = graphql;
7
7
  exports.graphqlSync = graphqlSync;
8
8
 
9
- var _isPromise = _interopRequireDefault(require("./jsutils/isPromise"));
9
+ var _isPromise = _interopRequireDefault(require("./jsutils/isPromise.js"));
10
10
 
11
- var _parser = require("./language/parser");
11
+ var _parser = require("./language/parser.js");
12
12
 
13
- var _validate = require("./validation/validate");
13
+ var _validate = require("./validation/validate.js");
14
14
 
15
- var _validate2 = require("./type/validate");
15
+ var _validate2 = require("./type/validate.js");
16
16
 
17
- var _execute = require("./execution/execute");
17
+ var _execute = require("./execution/execute.js");
18
18
 
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
 
package/graphql.js.flow CHANGED
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import type { PromiseOrValue } from './jsutils/PromiseOrValue';
4
3
  import isPromise from './jsutils/isPromise';
5
4
 
package/index.d.ts CHANGED
@@ -299,6 +299,7 @@ export {
299
299
  getDirectiveValues,
300
300
  ExecutionArgs,
301
301
  ExecutionResult,
302
+ FormattedExecutionResult,
302
303
  } from './execution/index';
303
304
 
304
305
  export {
@@ -460,4 +461,5 @@ export {
460
461
  BuildSchemaOptions,
461
462
  BreakingChange,
462
463
  DangerousChange,
464
+ TypedQueryDocumentNode,
463
465
  } from './utilities/index';
package/index.js CHANGED
@@ -1186,20 +1186,20 @@ Object.defineProperty(exports, "findDeprecatedUsages", {
1186
1186
  }
1187
1187
  });
1188
1188
 
1189
- var _version = require("./version");
1189
+ var _version = require("./version.js");
1190
1190
 
1191
- var _graphql = require("./graphql");
1191
+ var _graphql = require("./graphql.js");
1192
1192
 
1193
- var _index = require("./type/index");
1193
+ var _index = require("./type/index.js");
1194
1194
 
1195
- var _index2 = require("./language/index");
1195
+ var _index2 = require("./language/index.js");
1196
1196
 
1197
- var _index3 = require("./execution/index");
1197
+ var _index3 = require("./execution/index.js");
1198
1198
 
1199
- var _index4 = require("./subscription/index");
1199
+ var _index4 = require("./subscription/index.js");
1200
1200
 
1201
- var _index5 = require("./validation/index");
1201
+ var _index5 = require("./validation/index.js");
1202
1202
 
1203
- var _index6 = require("./error/index");
1203
+ var _index6 = require("./error/index.js");
1204
1204
 
1205
- var _index7 = require("./utilities/index");
1205
+ var _index7 = require("./utilities/index.js");
package/index.js.flow CHANGED
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * GraphQL.js provides a reference implementation for the GraphQL specification
5
4
  * but is also a useful utility for operating on GraphQL files and building
@@ -288,7 +287,11 @@ export {
288
287
  getDirectiveValues,
289
288
  } from './execution/index';
290
289
 
291
- export type { ExecutionArgs, ExecutionResult } from './execution/index';
290
+ export type {
291
+ ExecutionArgs,
292
+ ExecutionResult,
293
+ FormattedExecutionResult,
294
+ } from './execution/index';
292
295
 
293
296
  export { subscribe, createSourceEventStream } from './subscription/index';
294
297
  export type { SubscriptionArgs } from './subscription/index';
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  export type ObjMap<T> = { [key: string]: T, __proto__: null, ... };
4
3
  export type ObjMapLike<T> = ObjMap<T> | { [key: string]: T, ... };
5
4
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  export type Path = {|
4
3
  +prev: Path | void,
5
4
  +key: string | number,
@@ -1,3 +1,2 @@
1
1
  // @flow strict
2
-
3
2
  export type PromiseOrValue<+T> = Promise<T> | T;
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = defineInspect;
7
7
 
8
- var _invariant = _interopRequireDefault(require("./invariant"));
8
+ var _invariant = _interopRequireDefault(require("./invariant.js"));
9
9
 
10
- var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol"));
10
+ var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol.js"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import invariant from './invariant';
4
3
  import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
5
4
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  export default function devAssert(condition: mixed, message: string): void {
4
3
  const booleanCondition = Boolean(condition);
5
4
  // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  const MAX_SUGGESTIONS = 5;
4
3
 
5
4
  /**
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * Returns the first argument it receives.
5
4
  */
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = inspect;
7
7
 
8
- var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol"));
8
+ var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol.js"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
@@ -50,7 +50,6 @@ function formatObjectValue(value, previouslySeenValues) {
50
50
  var customInspectFn = getCustomFn(value);
51
51
 
52
52
  if (customInspectFn !== undefined) {
53
- // $FlowFixMe(>=0.90.0)
54
53
  var customValue = customInspectFn.call(value); // check for infinite recursion
55
54
 
56
55
  if (customValue !== value) {
@@ -1,5 +1,5 @@
1
1
  // @flow strict
2
-
2
+ /* eslint-disable flowtype/no-weak-types */
3
3
  import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
4
4
 
5
5
  const MAX_ARRAY_LENGTH = 10;
@@ -12,7 +12,7 @@ export default function inspect(value: mixed): string {
12
12
  return formatValue(value, []);
13
13
  }
14
14
 
15
- function formatValue(value, seenValues) {
15
+ function formatValue(value: mixed, seenValues: Array<mixed>): string {
16
16
  switch (typeof value) {
17
17
  case 'string':
18
18
  return JSON.stringify(value);
@@ -28,7 +28,10 @@ function formatValue(value, seenValues) {
28
28
  }
29
29
  }
30
30
 
31
- function formatObjectValue(value, previouslySeenValues) {
31
+ function formatObjectValue(
32
+ value: Object,
33
+ previouslySeenValues: Array<mixed>,
34
+ ): string {
32
35
  if (previouslySeenValues.indexOf(value) !== -1) {
33
36
  return '[Circular]';
34
37
  }
@@ -37,7 +40,6 @@ function formatObjectValue(value, previouslySeenValues) {
37
40
  const customInspectFn = getCustomFn(value);
38
41
 
39
42
  if (customInspectFn !== undefined) {
40
- // $FlowFixMe(>=0.90.0)
41
43
  const customValue = customInspectFn.call(value);
42
44
 
43
45
  // check for infinite recursion
@@ -53,7 +55,7 @@ function formatObjectValue(value, previouslySeenValues) {
53
55
  return formatObject(value, seenValues);
54
56
  }
55
57
 
56
- function formatObject(object, seenValues) {
58
+ function formatObject(object: Object, seenValues: Array<mixed>): string {
57
59
  const keys = Object.keys(object);
58
60
  if (keys.length === 0) {
59
61
  return '{}';
@@ -71,7 +73,7 @@ function formatObject(object, seenValues) {
71
73
  return '{ ' + properties.join(', ') + ' }';
72
74
  }
73
75
 
74
- function formatArray(array, seenValues) {
76
+ function formatArray(array: Array<mixed>, seenValues: Array<mixed>): string {
75
77
  if (array.length === 0) {
76
78
  return '[]';
77
79
  }
@@ -97,7 +99,7 @@ function formatArray(array, seenValues) {
97
99
  return '[' + items.join(', ') + ']';
98
100
  }
99
101
 
100
- function getCustomFn(object) {
102
+ function getCustomFn(object: Object) {
101
103
  const customInspectFn = object[String(nodejsCustomInspectSymbol)];
102
104
 
103
105
  if (typeof customInspectFn === 'function') {
@@ -109,7 +111,7 @@ function getCustomFn(object) {
109
111
  }
110
112
  }
111
113
 
112
- function getObjectTag(object) {
114
+ function getObjectTag(object: Object): string {
113
115
  const tag = Object.prototype.toString
114
116
  .call(object)
115
117
  .replace(/^\[object /, '')
@@ -1,5 +1,6 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
2
 
3
+ /* eslint-disable flowtype/no-weak-types */
3
4
  import nodejsCustomInspectSymbol from "./nodejsCustomInspectSymbol.mjs";
4
5
  var MAX_ARRAY_LENGTH = 10;
5
6
  var MAX_RECURSIVE_DEPTH = 2;
@@ -40,7 +41,6 @@ function formatObjectValue(value, previouslySeenValues) {
40
41
  var customInspectFn = getCustomFn(value);
41
42
 
42
43
  if (customInspectFn !== undefined) {
43
- // $FlowFixMe(>=0.90.0)
44
44
  var customValue = customInspectFn.call(value); // check for infinite recursion
45
45
 
46
46
  if (customValue !== value) {
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * A replacement for instanceof which includes an error warning when multi-realm
5
4
  * constructors are detected.
@@ -14,11 +13,11 @@ declare function instanceOf(
14
13
  export default process.env.NODE_ENV === 'production'
15
14
  ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
16
15
  // eslint-disable-next-line no-shadow
17
- function instanceOf(value: mixed, constructor: mixed) {
16
+ function instanceOf(value: mixed, constructor: mixed): boolean {
18
17
  return value instanceof constructor;
19
18
  }
20
19
  : // eslint-disable-next-line no-shadow
21
- function instanceOf(value: any, constructor: any) {
20
+ function instanceOf(value: any, constructor: any): boolean {
22
21
  if (value instanceof constructor) {
23
22
  return true;
24
23
  }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  export default function invariant(condition: mixed, message?: string): void {
4
3
  const booleanCondition = Boolean(condition);
5
4
  // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = isAsyncIterable;
7
+
8
+ var _symbols = require("../polyfills/symbols.js");
9
+
10
+ // eslint-disable-next-line no-redeclare
11
+ function isAsyncIterable(maybeAsyncIterable) {
12
+ return typeof (maybeAsyncIterable === null || maybeAsyncIterable === void 0 ? void 0 : maybeAsyncIterable[_symbols.SYMBOL_ASYNC_ITERATOR]) === 'function';
13
+ }
@@ -0,0 +1,14 @@
1
+ // @flow strict
2
+ import { SYMBOL_ASYNC_ITERATOR } from '../polyfills/symbols';
3
+
4
+ /**
5
+ * Returns true if the provided object implements the AsyncIterator protocol via
6
+ * either implementing a `Symbol.asyncIterator` or `"@@asyncIterator"` method.
7
+ */
8
+ declare function isAsyncIterable(value: mixed): boolean %checks(value instanceof
9
+ AsyncIterable);
10
+
11
+ // eslint-disable-next-line no-redeclare
12
+ export default function isAsyncIterable(maybeAsyncIterable) {
13
+ return typeof maybeAsyncIterable?.[SYMBOL_ASYNC_ITERATOR] === 'function';
14
+ }
@@ -0,0 +1,10 @@
1
+ import { SYMBOL_ASYNC_ITERATOR } from "../polyfills/symbols.mjs";
2
+ /**
3
+ * Returns true if the provided object implements the AsyncIterator protocol via
4
+ * either implementing a `Symbol.asyncIterator` or `"@@asyncIterator"` method.
5
+ */
6
+
7
+ // eslint-disable-next-line no-redeclare
8
+ export default function isAsyncIterable(maybeAsyncIterable) {
9
+ return typeof (maybeAsyncIterable === null || maybeAsyncIterable === void 0 ? void 0 : maybeAsyncIterable[SYMBOL_ASYNC_ITERATOR]) === 'function';
10
+ }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * Return true if `value` is object-like. A value is object-like if it's not
5
4
  * `null` and has a `typeof` result of "object".
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * Returns true if the value acts like a Promise, i.e. has a "then" function,
5
4
  * otherwise returns false.
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import type { ObjMap } from './ObjMap';
4
3
 
5
4
  /**
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import type { ObjMap } from './ObjMap';
4
3
 
5
4
  /**
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = mapValue;
7
7
 
8
- var _objectEntries3 = _interopRequireDefault(require("../polyfills/objectEntries"));
8
+ var _objectEntries3 = _interopRequireDefault(require("../polyfills/objectEntries.js"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import objectEntries from '../polyfills/objectEntries';
4
3
 
5
4
  import type { ObjMap } from './ObjMap';
@@ -10,8 +10,7 @@ exports.default = memoize3;
10
10
  */
11
11
  function memoize3(fn) {
12
12
  var cache0;
13
-
14
- function memoized(a1, a2, a3) {
13
+ return function memoized(a1, a2, a3) {
15
14
  if (!cache0) {
16
15
  cache0 = new WeakMap();
17
16
  }
@@ -42,7 +41,5 @@ function memoize3(fn) {
42
41
  var newValue = fn(a1, a2, a3);
43
42
  cache2.set(a3, newValue);
44
43
  return newValue;
45
- }
46
-
47
- return memoized;
44
+ };
48
45
  }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * Memoizes the provided three-argument function.
5
4
  */
@@ -11,7 +10,7 @@ export default function memoize3<
11
10
  >(fn: (A1, A2, A3) => R): (A1, A2, A3) => R {
12
11
  let cache0;
13
12
 
14
- function memoized(a1, a2, a3) {
13
+ return function memoized(a1, a2, a3) {
15
14
  if (!cache0) {
16
15
  cache0 = new WeakMap();
17
16
  }
@@ -36,7 +35,5 @@ export default function memoize3<
36
35
  const newValue = fn(a1, a2, a3);
37
36
  cache2.set(a3, newValue);
38
37
  return newValue;
39
- }
40
-
41
- return memoized;
38
+ };
42
39
  }
@@ -3,8 +3,7 @@
3
3
  */
4
4
  export default function memoize3(fn) {
5
5
  var cache0;
6
-
7
- function memoized(a1, a2, a3) {
6
+ return function memoized(a1, a2, a3) {
8
7
  if (!cache0) {
9
8
  cache0 = new WeakMap();
10
9
  }
@@ -35,7 +34,5 @@ export default function memoize3(fn) {
35
34
  var newValue = fn(a1, a2, a3);
36
35
  cache2.set(a3, newValue);
37
36
  return newValue;
38
- }
39
-
40
- return memoized;
37
+ };
41
38
  }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = naturalCompare;
7
+
8
+ /**
9
+ * Returns a number indicating whether a reference string comes before, or after,
10
+ * or is the same as the given string in natural sort order.
11
+ *
12
+ * See: https://en.wikipedia.org/wiki/Natural_sort_order
13
+ *
14
+ */
15
+ function naturalCompare(aStr, bStr) {
16
+ var aIdx = 0;
17
+ var bIdx = 0;
18
+
19
+ while (aIdx < aStr.length && bIdx < bStr.length) {
20
+ var aChar = aStr.charCodeAt(aIdx);
21
+ var bChar = bStr.charCodeAt(bIdx);
22
+
23
+ if (isDigit(aChar) && isDigit(bChar)) {
24
+ var aNum = 0;
25
+
26
+ do {
27
+ ++aIdx;
28
+ aNum = aNum * 10 + aChar - DIGIT_0;
29
+ aChar = aStr.charCodeAt(aIdx);
30
+ } while (isDigit(aChar) && aNum > 0);
31
+
32
+ var bNum = 0;
33
+
34
+ do {
35
+ ++bIdx;
36
+ bNum = bNum * 10 + bChar - DIGIT_0;
37
+ bChar = bStr.charCodeAt(bIdx);
38
+ } while (isDigit(bChar) && bNum > 0);
39
+
40
+ if (aNum < bNum) {
41
+ return -1;
42
+ }
43
+
44
+ if (aNum > bNum) {
45
+ return 1;
46
+ }
47
+ } else {
48
+ if (aChar < bChar) {
49
+ return -1;
50
+ }
51
+
52
+ if (aChar > bChar) {
53
+ return 1;
54
+ }
55
+
56
+ ++aIdx;
57
+ ++bIdx;
58
+ }
59
+ }
60
+
61
+ return aStr.length - bStr.length;
62
+ }
63
+
64
+ var DIGIT_0 = 48;
65
+ var DIGIT_9 = 57;
66
+
67
+ function isDigit(code) {
68
+ return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9;
69
+ }
@@ -0,0 +1,59 @@
1
+ // @flow strict
2
+ /**
3
+ * Returns a number indicating whether a reference string comes before, or after,
4
+ * or is the same as the given string in natural sort order.
5
+ *
6
+ * See: https://en.wikipedia.org/wiki/Natural_sort_order
7
+ *
8
+ */
9
+ export default function naturalCompare(aStr: string, bStr: string): number {
10
+ let aIdx = 0;
11
+ let bIdx = 0;
12
+
13
+ while (aIdx < aStr.length && bIdx < bStr.length) {
14
+ let aChar = aStr.charCodeAt(aIdx);
15
+ let bChar = bStr.charCodeAt(bIdx);
16
+
17
+ if (isDigit(aChar) && isDigit(bChar)) {
18
+ let aNum = 0;
19
+ do {
20
+ ++aIdx;
21
+ aNum = aNum * 10 + aChar - DIGIT_0;
22
+ aChar = aStr.charCodeAt(aIdx);
23
+ } while (isDigit(aChar) && aNum > 0);
24
+
25
+ let bNum = 0;
26
+ do {
27
+ ++bIdx;
28
+ bNum = bNum * 10 + bChar - DIGIT_0;
29
+ bChar = bStr.charCodeAt(bIdx);
30
+ } while (isDigit(bChar) && bNum > 0);
31
+
32
+ if (aNum < bNum) {
33
+ return -1;
34
+ }
35
+
36
+ if (aNum > bNum) {
37
+ return 1;
38
+ }
39
+ } else {
40
+ if (aChar < bChar) {
41
+ return -1;
42
+ }
43
+ if (aChar > bChar) {
44
+ return 1;
45
+ }
46
+ ++aIdx;
47
+ ++bIdx;
48
+ }
49
+ }
50
+
51
+ return aStr.length - bStr.length;
52
+ }
53
+
54
+ const DIGIT_0 = 48;
55
+ const DIGIT_9 = 57;
56
+
57
+ function isDigit(code: number): boolean {
58
+ return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9;
59
+ }