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
@@ -3,15 +3,16 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
3
3
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
4
4
 
5
5
  import { SYMBOL_TO_STRING_TAG } from "../polyfills/symbols.mjs";
6
+ import inspect from "../jsutils/inspect.mjs";
6
7
  import devAssert from "../jsutils/devAssert.mjs";
8
+ import instanceOf from "../jsutils/instanceOf.mjs";
7
9
 
8
10
  /**
9
- * A representation of source input to GraphQL.
10
- * `name` and `locationOffset` are optional. They are useful for clients who
11
- * store GraphQL documents in source files; for example, if the GraphQL input
12
- * starts at line 40 in a file named Foo.graphql, it might be useful for name to
13
- * be "Foo.graphql" and location to be `{ line: 40, column: 0 }`.
14
- * line and column in locationOffset are 1-indexed
11
+ * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are
12
+ * optional, but they are useful for clients who store GraphQL documents in source files.
13
+ * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might
14
+ * be useful for `name` to be `"Foo.graphql"` and location to be `{ line: 40, column: 1 }`.
15
+ * The `line` and `column` properties in `locationOffset` are 1-indexed.
15
16
  */
16
17
  export var Source = /*#__PURE__*/function () {
17
18
  function Source(body) {
@@ -20,12 +21,13 @@ export var Source = /*#__PURE__*/function () {
20
21
  line: 1,
21
22
  column: 1
22
23
  };
24
+ typeof body === 'string' || devAssert(0, "Body must be a string. Received: ".concat(inspect(body), "."));
23
25
  this.body = body;
24
26
  this.name = name;
25
27
  this.locationOffset = locationOffset;
26
28
  this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');
27
29
  this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');
28
- } // $FlowFixMe Flow doesn't support computed properties yet
30
+ } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet
29
31
 
30
32
 
31
33
  _createClass(Source, [{
@@ -37,3 +39,13 @@ export var Source = /*#__PURE__*/function () {
37
39
 
38
40
  return Source;
39
41
  }();
42
+ /**
43
+ * Test if the given value is a Source object.
44
+ *
45
+ * @internal
46
+ */
47
+
48
+ // eslint-disable-next-line no-redeclare
49
+ export function isSource(source) {
50
+ return instanceOf(source, Source);
51
+ }
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * An exported enum describing the different kinds of tokens that the
5
4
  * lexer emits.
@@ -151,7 +151,7 @@ export const QueryDocumentKeys: {
151
151
  export const BREAK: any;
152
152
 
153
153
  /**
154
- * visit() will walk through an AST using a depth first traversal, calling
154
+ * visit() will walk through an AST using a depth-first traversal, calling
155
155
  * the visitor's enter function at each node in the traversal, and calling the
156
156
  * leave function after visiting that node and all of its child nodes.
157
157
  *
@@ -185,10 +185,10 @@ export const BREAK: any;
185
185
  *
186
186
  * Alternatively to providing enter() and leave() functions, a visitor can
187
187
  * instead provide functions named the same as the kinds of AST nodes, or
188
- * enter/leave visitors at a named key, leading to four permutations of
188
+ * enter/leave visitors at a named key, leading to four permutations of the
189
189
  * visitor API:
190
190
  *
191
- * 1) Named visitors triggered when entering a node a specific kind.
191
+ * 1) Named visitors triggered when entering a node of a specific kind.
192
192
  *
193
193
  * visit(ast, {
194
194
  * Kind(node) {
@@ -8,9 +8,9 @@ exports.visitInParallel = visitInParallel;
8
8
  exports.getVisitFn = getVisitFn;
9
9
  exports.BREAK = exports.QueryDocumentKeys = void 0;
10
10
 
11
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
11
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
12
12
 
13
- var _ast = require("./ast");
13
+ var _ast = require("./ast.js");
14
14
 
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
 
@@ -64,7 +64,7 @@ var QueryDocumentKeys = {
64
64
  exports.QueryDocumentKeys = QueryDocumentKeys;
65
65
  var BREAK = Object.freeze({});
66
66
  /**
67
- * visit() will walk through an AST using a depth first traversal, calling
67
+ * visit() will walk through an AST using a depth-first traversal, calling
68
68
  * the visitor's enter function at each node in the traversal, and calling the
69
69
  * leave function after visiting that node and all of its child nodes.
70
70
  *
@@ -98,10 +98,10 @@ var BREAK = Object.freeze({});
98
98
  *
99
99
  * Alternatively to providing enter() and leave() functions, a visitor can
100
100
  * instead provide functions named the same as the kinds of AST nodes, or
101
- * enter/leave visitors at a named key, leading to four permutations of
101
+ * enter/leave visitors at a named key, leading to four permutations of the
102
102
  * visitor API:
103
103
  *
104
- * 1) Named visitors triggered when entering a node a specific kind.
104
+ * 1) Named visitors triggered when entering a node of a specific kind.
105
105
  *
106
106
  * visit(ast, {
107
107
  * Kind(node) {
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import inspect from '../jsutils/inspect';
4
3
 
5
4
  import type { ASTNode, ASTKindToNode } from './ast';
@@ -139,7 +138,7 @@ export const QueryDocumentKeys: VisitorKeyMap<ASTKindToNode> = {
139
138
  export const BREAK: { ... } = Object.freeze({});
140
139
 
141
140
  /**
142
- * visit() will walk through an AST using a depth first traversal, calling
141
+ * visit() will walk through an AST using a depth-first traversal, calling
143
142
  * the visitor's enter function at each node in the traversal, and calling the
144
143
  * leave function after visiting that node and all of its child nodes.
145
144
  *
@@ -173,10 +172,10 @@ export const BREAK: { ... } = Object.freeze({});
173
172
  *
174
173
  * Alternatively to providing enter() and leave() functions, a visitor can
175
174
  * instead provide functions named the same as the kinds of AST nodes, or
176
- * enter/leave visitors at a named key, leading to four permutations of
175
+ * enter/leave visitors at a named key, leading to four permutations of the
177
176
  * visitor API:
178
177
  *
179
- * 1) Named visitors triggered when entering a node a specific kind.
178
+ * 1) Named visitors triggered when entering a node of a specific kind.
180
179
  *
181
180
  * visit(ast, {
182
181
  * Kind(node) {
@@ -54,7 +54,7 @@ export var QueryDocumentKeys = {
54
54
  };
55
55
  export var BREAK = Object.freeze({});
56
56
  /**
57
- * visit() will walk through an AST using a depth first traversal, calling
57
+ * visit() will walk through an AST using a depth-first traversal, calling
58
58
  * the visitor's enter function at each node in the traversal, and calling the
59
59
  * leave function after visiting that node and all of its child nodes.
60
60
  *
@@ -88,10 +88,10 @@ export var BREAK = Object.freeze({});
88
88
  *
89
89
  * Alternatively to providing enter() and leave() functions, a visitor can
90
90
  * instead provide functions named the same as the kinds of AST nodes, or
91
- * enter/leave visitors at a named key, leading to four permutations of
91
+ * enter/leave visitors at a named key, leading to four permutations of the
92
92
  * visitor API:
93
93
  *
94
- * 1) Named visitors triggered when entering a node a specific kind.
94
+ * 1) Named visitors triggered when entering a node of a specific kind.
95
95
  *
96
96
  * visit(ast, {
97
97
  * Kind(node) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphql",
3
- "version": "15.2.0",
3
+ "version": "15.5.0",
4
4
  "description": "A Query Language and Runtime which can target any service.",
5
5
  "license": "MIT",
6
6
  "main": "index",
@@ -21,6 +21,5 @@
21
21
  ],
22
22
  "engines": {
23
23
  "node": ">= 10.x"
24
- },
25
- "dependencies": {}
24
+ }
26
25
  }
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _symbols = require("./symbols");
8
+ var _symbols = require("./symbols.js");
9
9
 
10
10
  /* eslint-disable no-redeclare */
11
- // $FlowFixMe
11
+ // $FlowFixMe[name-already-bound]
12
12
  var arrayFrom = Array.from || function (obj, mapFn, thisArg) {
13
13
  if (obj == null) {
14
14
  throw new TypeError('Array.from requires an array-like object - not null or undefined');
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { SYMBOL_ITERATOR } from './symbols';
4
3
 
5
4
  declare function arrayFrom<T>(arrayLike: Iterable<T>): Array<T>;
@@ -11,7 +10,7 @@ declare function arrayFrom<T: mixed>(
11
10
  ): Array<T>;
12
11
 
13
12
  /* eslint-disable no-redeclare */
14
- // $FlowFixMe
13
+ // $FlowFixMe[name-already-bound]
15
14
  const arrayFrom =
16
15
  Array.from ||
17
16
  function (obj, mapFn, thisArg) {
@@ -1,7 +1,7 @@
1
1
  import { SYMBOL_ITERATOR } from "./symbols.mjs";
2
2
 
3
3
  /* eslint-disable no-redeclare */
4
- // $FlowFixMe
4
+ // $FlowFixMe[name-already-bound]
5
5
  var arrayFrom = Array.from || function (obj, mapFn, thisArg) {
6
6
  if (obj == null) {
7
7
  throw new TypeError('Array.from requires an array-like object - not null or undefined');
package/polyfills/find.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
 
8
8
  /* eslint-disable no-redeclare */
9
- // $FlowFixMe
9
+ // $FlowFixMe[name-already-bound]
10
10
  var find = Array.prototype.find ? function (list, predicate) {
11
11
  return Array.prototype.find.call(list, predicate);
12
12
  } : function (list, predicate) {
@@ -1,12 +1,11 @@
1
1
  // @flow strict
2
-
3
2
  declare function find<T>(
4
3
  list: $ReadOnlyArray<T>,
5
4
  predicate: (item: T) => boolean,
6
5
  ): T | void;
7
6
 
8
7
  /* eslint-disable no-redeclare */
9
- // $FlowFixMe
8
+ // $FlowFixMe[name-already-bound]
10
9
  const find = Array.prototype.find
11
10
  ? function (list, predicate) {
12
11
  return Array.prototype.find.call(list, predicate);
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-redeclare */
2
- // $FlowFixMe
2
+ // $FlowFixMe[name-already-bound]
3
3
  var find = Array.prototype.find ? function (list, predicate) {
4
4
  return Array.prototype.find.call(list, predicate);
5
5
  } : function (list, predicate) {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
 
8
8
  /* eslint-disable no-redeclare */
9
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
9
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
10
10
  var isFinitePolyfill = Number.isFinite || function (value) {
11
11
  return typeof value === 'number' && isFinite(value);
12
12
  };
@@ -1,11 +1,10 @@
1
1
  // @flow strict
2
-
3
2
  declare function isFinitePolyfill(
4
3
  value: mixed,
5
4
  ): boolean %checks(typeof value === 'number');
6
5
 
7
6
  /* eslint-disable no-redeclare */
8
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
7
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
9
8
  const isFinitePolyfill =
10
9
  Number.isFinite ||
11
10
  function (value) {
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-redeclare */
2
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
2
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
3
3
  var isFinitePolyfill = Number.isFinite || function (value) {
4
4
  return typeof value === 'number' && isFinite(value);
5
5
  };
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
 
8
8
  /* eslint-disable no-redeclare */
9
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
9
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
10
10
  var isInteger = Number.isInteger || function (value) {
11
11
  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
12
12
  };
@@ -1,10 +1,9 @@
1
1
  // @flow strict
2
-
3
2
  declare function isInteger(value: mixed): boolean %checks(typeof value ===
4
3
  'number');
5
4
 
6
5
  /* eslint-disable no-redeclare */
7
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
6
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
8
7
  const isInteger =
9
8
  Number.isInteger ||
10
9
  function (value) {
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-redeclare */
2
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/4441
2
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
3
3
  var isInteger = Number.isInteger || function (value) {
4
4
  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
5
5
  };
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
 
8
8
  /* eslint-disable no-redeclare */
9
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/5838
9
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
10
10
  var objectEntries = Object.entries || function (obj) {
11
11
  return Object.keys(obj).map(function (key) {
12
12
  return [key, obj[key]];
@@ -1,11 +1,10 @@
1
1
  // @flow strict
2
-
3
2
  import type { ObjMap } from '../jsutils/ObjMap';
4
3
 
5
4
  declare function objectEntries<T>(obj: ObjMap<T>): Array<[string, T]>;
6
5
 
7
6
  /* eslint-disable no-redeclare */
8
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/5838
7
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
9
8
  const objectEntries =
10
9
  Object.entries || ((obj) => Object.keys(obj).map((key) => [key, obj[key]]));
11
10
 
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-redeclare */
2
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/5838
2
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
3
3
  var objectEntries = Object.entries || function (obj) {
4
4
  return Object.keys(obj).map(function (key) {
5
5
  return [key, obj[key]];
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
 
8
8
  /* eslint-disable no-redeclare */
9
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/2221
9
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
10
10
  var objectValues = Object.values || function (obj) {
11
11
  return Object.keys(obj).map(function (key) {
12
12
  return obj[key];
@@ -1,11 +1,10 @@
1
1
  // @flow strict
2
-
3
2
  import type { ObjMap } from '../jsutils/ObjMap';
4
3
 
5
4
  declare function objectValues<T>(obj: ObjMap<T>): Array<T>;
6
5
 
7
6
  /* eslint-disable no-redeclare */
8
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/2221
7
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
9
8
  const objectValues =
10
9
  Object.values || ((obj) => Object.keys(obj).map((key) => obj[key]));
11
10
  export default objectValues;
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-redeclare */
2
- // $FlowFixMe workaround for: https://github.com/facebook/flow/issues/2221
2
+ // $FlowFixMe[name-already-bound] workaround for: https://github.com/facebook/flow/issues/4441
3
3
  var objectValues = Object.values || function (obj) {
4
4
  return Object.keys(obj).map(function (key) {
5
5
  return obj[key];
@@ -6,14 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.SYMBOL_TO_STRING_TAG = exports.SYMBOL_ASYNC_ITERATOR = exports.SYMBOL_ITERATOR = void 0;
7
7
  // In ES2015 (or a polyfilled) environment, this will be Symbol.iterator
8
8
  // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
9
- var SYMBOL_ITERATOR = typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
9
+ var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
10
10
  // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
11
11
 
12
12
  exports.SYMBOL_ITERATOR = SYMBOL_ITERATOR;
13
- var SYMBOL_ASYNC_ITERATOR = // $FlowFixMe Flow doesn't define `Symbol.asyncIterator` yet
14
- typeof Symbol === 'function' ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
13
+ var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
15
14
 
16
15
  exports.SYMBOL_ASYNC_ITERATOR = SYMBOL_ASYNC_ITERATOR;
17
- var SYMBOL_TO_STRING_TAG = // $FlowFixMe Flow doesn't define `Symbol.toStringTag` yet
18
- typeof Symbol === 'function' ? Symbol.toStringTag : '@@toStringTag';
16
+ var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';
19
17
  exports.SYMBOL_TO_STRING_TAG = SYMBOL_TO_STRING_TAG;
@@ -1,17 +1,20 @@
1
1
  // @flow strict
2
-
3
2
  // In ES2015 (or a polyfilled) environment, this will be Symbol.iterator
4
3
  // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
5
4
  export const SYMBOL_ITERATOR: string =
6
- typeof Symbol === 'function' ? Symbol.iterator : '@@iterator';
5
+ typeof Symbol === 'function' && Symbol.iterator != null
6
+ ? Symbol.iterator
7
+ : '@@iterator';
7
8
 
8
9
  // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
9
10
  // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
10
11
  export const SYMBOL_ASYNC_ITERATOR: string =
11
- // $FlowFixMe Flow doesn't define `Symbol.asyncIterator` yet
12
- typeof Symbol === 'function' ? Symbol.asyncIterator : '@@asyncIterator';
12
+ typeof Symbol === 'function' && Symbol.asyncIterator != null
13
+ ? Symbol.asyncIterator
14
+ : '@@asyncIterator';
13
15
 
14
16
  // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
15
17
  export const SYMBOL_TO_STRING_TAG: string =
16
- // $FlowFixMe Flow doesn't define `Symbol.toStringTag` yet
17
- typeof Symbol === 'function' ? Symbol.toStringTag : '@@toStringTag';
18
+ typeof Symbol === 'function' && Symbol.toStringTag != null
19
+ ? Symbol.toStringTag
20
+ : '@@toStringTag';
@@ -1,10 +1,8 @@
1
1
  // In ES2015 (or a polyfilled) environment, this will be Symbol.iterator
2
2
  // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
3
- export var SYMBOL_ITERATOR = typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
3
+ export var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator
4
4
  // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
5
5
 
6
- export var SYMBOL_ASYNC_ITERATOR = // $FlowFixMe Flow doesn't define `Symbol.asyncIterator` yet
7
- typeof Symbol === 'function' ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
6
+ export var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
8
7
 
9
- export var SYMBOL_TO_STRING_TAG = // $FlowFixMe Flow doesn't define `Symbol.toStringTag` yet
10
- typeof Symbol === 'function' ? Symbol.toStringTag : '@@toStringTag';
8
+ export var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';
@@ -16,4 +16,4 @@ Object.defineProperty(exports, "createSourceEventStream", {
16
16
  }
17
17
  });
18
18
 
19
- var _subscribe = require("./subscribe");
19
+ var _subscribe = require("./subscribe.js");
@@ -1,4 +1,3 @@
1
1
  // @flow strict
2
-
3
2
  export { subscribe, createSourceEventStream } from './subscribe';
4
3
  export type { SubscriptionArgs } from './subscribe';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = mapAsyncIterator;
7
7
 
8
- var _symbols = require("../polyfills/symbols");
8
+ var _symbols = require("../polyfills/symbols.js");
9
9
 
10
10
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
 
@@ -14,7 +14,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
14
14
  * which produces values mapped via calling the callback function.
15
15
  */
16
16
  function mapAsyncIterator(iterable, callback, rejectCallback) {
17
- // $FlowFixMe
17
+ // $FlowFixMe[prop-missing]
18
18
  var iteratorMethod = iterable[_symbols.SYMBOL_ASYNC_ITERATOR];
19
19
  var iterator = iteratorMethod.call(iterable);
20
20
  var $return;
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import { SYMBOL_ASYNC_ITERATOR } from '../polyfills/symbols';
4
3
 
5
4
  import type { PromiseOrValue } from '../jsutils/PromiseOrValue';
@@ -9,24 +8,24 @@ import type { PromiseOrValue } from '../jsutils/PromiseOrValue';
9
8
  * which produces values mapped via calling the callback function.
10
9
  */
11
10
  export default function mapAsyncIterator<T, U>(
12
- iterable: AsyncIterable<T>,
11
+ iterable: AsyncIterable<T> | AsyncGenerator<T, void, void>,
13
12
  callback: (T) => PromiseOrValue<U>,
14
13
  rejectCallback?: (any) => PromiseOrValue<U>,
15
14
  ): AsyncGenerator<U, void, void> {
16
- // $FlowFixMe
15
+ // $FlowFixMe[prop-missing]
17
16
  const iteratorMethod = iterable[SYMBOL_ASYNC_ITERATOR];
18
17
  const iterator: any = iteratorMethod.call(iterable);
19
18
  let $return: any;
20
19
  let abruptClose;
21
20
  if (typeof iterator.return === 'function') {
22
21
  $return = iterator.return;
23
- abruptClose = (error) => {
22
+ abruptClose = (error: mixed) => {
24
23
  const rethrow = () => Promise.reject(error);
25
24
  return $return.call(iterator).then(rethrow, rethrow);
26
25
  };
27
26
  }
28
27
 
29
- function mapResult(result) {
28
+ function mapResult(result: IteratorResult<T, void>) {
30
29
  return result.done
31
30
  ? result
32
31
  : asyncMapValue(result.value, callback).then(iteratorResult, abruptClose);
@@ -36,14 +35,14 @@ export default function mapAsyncIterator<T, U>(
36
35
  if (rejectCallback) {
37
36
  // Capture rejectCallback to ensure it cannot be null.
38
37
  const reject = rejectCallback;
39
- mapReject = (error) =>
38
+ mapReject = (error: mixed) =>
40
39
  asyncMapValue(error, reject).then(iteratorResult, abruptClose);
41
40
  }
42
41
 
43
42
  /* TODO: Flow doesn't support symbols as keys:
44
43
  https://github.com/facebook/flow/issues/3258 */
45
44
  return ({
46
- next() {
45
+ next(): Promise<IteratorResult<U, void>> {
47
46
  return iterator.next().then(mapResult, mapReject);
48
47
  },
49
48
  return() {
@@ -51,7 +50,7 @@ export default function mapAsyncIterator<T, U>(
51
50
  ? $return.call(iterator).then(mapResult, mapReject)
52
51
  : Promise.resolve({ value: undefined, done: true });
53
52
  },
54
- throw(error) {
53
+ throw(error?: mixed): Promise<IteratorResult<U, void>> {
55
54
  if (typeof iterator.throw === 'function') {
56
55
  return iterator.throw(error).then(mapResult, mapReject);
57
56
  }
@@ -60,7 +59,7 @@ export default function mapAsyncIterator<T, U>(
60
59
  [SYMBOL_ASYNC_ITERATOR]() {
61
60
  return this;
62
61
  },
63
- }: any);
62
+ }: $FlowFixMe);
64
63
  }
65
64
 
66
65
  function asyncMapValue<T, U>(
@@ -7,7 +7,7 @@ import { SYMBOL_ASYNC_ITERATOR } from "../polyfills/symbols.mjs";
7
7
  * which produces values mapped via calling the callback function.
8
8
  */
9
9
  export default function mapAsyncIterator(iterable, callback, rejectCallback) {
10
- // $FlowFixMe
10
+ // $FlowFixMe[prop-missing]
11
11
  var iteratorMethod = iterable[SYMBOL_ASYNC_ITERATOR];
12
12
  var iterator = iteratorMethod.call(iterable);
13
13
  var $return;