graphql 17.0.0-beta.0 → 17.0.0-beta.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 (733) hide show
  1. package/__dev__/execution/buildResolveInfo.d.mts +1 -0
  2. package/__dev__/execution/buildResolveInfo.d.ts +1 -0
  3. package/__dev__/execution/buildResolveInfo.js +3 -0
  4. package/__dev__/execution/buildResolveInfo.mjs +3 -0
  5. package/devMode.js +2 -2
  6. package/devMode.js.map +1 -1
  7. package/devMode.mjs.map +1 -1
  8. package/error/GraphQLError.d.mts +4 -4
  9. package/error/GraphQLError.d.ts +4 -4
  10. package/error/GraphQLError.js +10 -11
  11. package/error/GraphQLError.js.map +1 -1
  12. package/error/GraphQLError.mjs +2 -3
  13. package/error/GraphQLError.mjs.map +1 -1
  14. package/error/ensureGraphQLError.d.mts +1 -1
  15. package/error/ensureGraphQLError.d.ts +1 -1
  16. package/error/ensureGraphQLError.js +5 -5
  17. package/error/ensureGraphQLError.js.map +1 -1
  18. package/error/ensureGraphQLError.mjs.map +1 -1
  19. package/error/index.d.mts +4 -4
  20. package/error/index.d.ts +4 -4
  21. package/error/index.js +6 -6
  22. package/error/index.js.map +1 -1
  23. package/error/index.mjs.map +1 -1
  24. package/error/locatedError.d.mts +3 -3
  25. package/error/locatedError.d.ts +3 -3
  26. package/error/locatedError.js +4 -4
  27. package/error/locatedError.js.map +1 -1
  28. package/error/locatedError.mjs.map +1 -1
  29. package/error/syntaxError.d.mts +2 -2
  30. package/error/syntaxError.d.ts +2 -2
  31. package/error/syntaxError.js +2 -2
  32. package/error/syntaxError.js.map +1 -1
  33. package/error/syntaxError.mjs.map +1 -1
  34. package/execution/AbortedGraphQLExecutionError.d.mts +1 -1
  35. package/execution/AbortedGraphQLExecutionError.d.ts +1 -1
  36. package/execution/AbortedGraphQLExecutionError.js.map +1 -1
  37. package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
  38. package/execution/AsyncWorkTracker.js +2 -2
  39. package/execution/AsyncWorkTracker.js.map +1 -1
  40. package/execution/AsyncWorkTracker.mjs.map +1 -1
  41. package/execution/Executor.d.mts +16 -17
  42. package/execution/Executor.d.ts +16 -17
  43. package/execution/Executor.js +83 -85
  44. package/execution/Executor.js.map +1 -1
  45. package/execution/Executor.mjs +3 -5
  46. package/execution/Executor.mjs.map +1 -1
  47. package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
  48. package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
  49. package/execution/ExecutorThrowingOnIncremental.js +11 -11
  50. package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
  51. package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
  52. package/execution/buildResolveInfo.d.mts +14 -0
  53. package/execution/buildResolveInfo.d.ts +14 -0
  54. package/execution/buildResolveInfo.js +24 -0
  55. package/execution/buildResolveInfo.js.map +1 -0
  56. package/execution/buildResolveInfo.mjs +21 -0
  57. package/execution/buildResolveInfo.mjs.map +1 -0
  58. package/execution/cancellablePromise.js +2 -2
  59. package/execution/cancellablePromise.js.map +1 -1
  60. package/execution/cancellablePromise.mjs.map +1 -1
  61. package/execution/collectFields.d.mts +6 -6
  62. package/execution/collectFields.d.ts +6 -6
  63. package/execution/collectFields.js +19 -19
  64. package/execution/collectFields.js.map +1 -1
  65. package/execution/collectFields.mjs.map +1 -1
  66. package/execution/collectIteratorPromises.js +2 -2
  67. package/execution/collectIteratorPromises.js.map +1 -1
  68. package/execution/collectIteratorPromises.mjs.map +1 -1
  69. package/execution/createSharedExecutionContext.d.mts +2 -2
  70. package/execution/createSharedExecutionContext.d.ts +2 -2
  71. package/execution/createSharedExecutionContext.js +2 -2
  72. package/execution/createSharedExecutionContext.js.map +1 -1
  73. package/execution/createSharedExecutionContext.mjs.map +1 -1
  74. package/execution/execute.d.mts +14 -14
  75. package/execution/execute.d.ts +14 -14
  76. package/execution/execute.js +78 -98
  77. package/execution/execute.js.map +1 -1
  78. package/execution/execute.mjs +17 -37
  79. package/execution/execute.mjs.map +1 -1
  80. package/execution/getStreamUsage.d.mts +2 -2
  81. package/execution/getStreamUsage.d.ts +2 -2
  82. package/execution/getStreamUsage.js +9 -9
  83. package/execution/getStreamUsage.js.map +1 -1
  84. package/execution/getStreamUsage.mjs.map +1 -1
  85. package/execution/getVariableSignature.d.mts +3 -3
  86. package/execution/getVariableSignature.d.ts +3 -3
  87. package/execution/getVariableSignature.js +8 -8
  88. package/execution/getVariableSignature.js.map +1 -1
  89. package/execution/getVariableSignature.mjs.map +1 -1
  90. package/execution/hooks.d.mts +2 -2
  91. package/execution/hooks.d.ts +2 -2
  92. package/execution/hooks.js.map +1 -1
  93. package/execution/hooks.mjs.map +1 -1
  94. package/execution/incremental/Computation.d.mts +1 -1
  95. package/execution/incremental/Computation.d.ts +1 -1
  96. package/execution/incremental/Computation.js +2 -2
  97. package/execution/incremental/Computation.js.map +1 -1
  98. package/execution/incremental/Computation.mjs.map +1 -1
  99. package/execution/incremental/IncrementalExecutor.d.mts +14 -14
  100. package/execution/incremental/IncrementalExecutor.d.ts +14 -14
  101. package/execution/incremental/IncrementalExecutor.js +48 -48
  102. package/execution/incremental/IncrementalExecutor.js.map +1 -1
  103. package/execution/incremental/IncrementalExecutor.mjs +3 -3
  104. package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
  105. package/execution/incremental/IncrementalPublisher.d.mts +3 -3
  106. package/execution/incremental/IncrementalPublisher.d.ts +3 -3
  107. package/execution/incremental/IncrementalPublisher.js +13 -14
  108. package/execution/incremental/IncrementalPublisher.js.map +1 -1
  109. package/execution/incremental/IncrementalPublisher.mjs +1 -2
  110. package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
  111. package/execution/incremental/Queue.d.mts +1 -1
  112. package/execution/incremental/Queue.d.ts +1 -1
  113. package/execution/incremental/Queue.js +26 -22
  114. package/execution/incremental/Queue.js.map +1 -1
  115. package/execution/incremental/Queue.mjs +10 -6
  116. package/execution/incremental/Queue.mjs.map +1 -1
  117. package/execution/incremental/WorkQueue.d.mts +2 -2
  118. package/execution/incremental/WorkQueue.d.ts +2 -2
  119. package/execution/incremental/WorkQueue.js +7 -7
  120. package/execution/incremental/WorkQueue.js.map +1 -1
  121. package/execution/incremental/WorkQueue.mjs.map +1 -1
  122. package/execution/incremental/buildExecutionPlan.d.mts +1 -1
  123. package/execution/incremental/buildExecutionPlan.d.ts +1 -1
  124. package/execution/incremental/buildExecutionPlan.js +4 -4
  125. package/execution/incremental/buildExecutionPlan.js.map +1 -1
  126. package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
  127. package/execution/index.d.mts +8 -8
  128. package/execution/index.d.ts +8 -8
  129. package/execution/index.js +23 -22
  130. package/execution/index.js.map +1 -1
  131. package/execution/index.mjs +1 -1
  132. package/execution/index.mjs.map +1 -1
  133. package/execution/mapAsyncIterable.d.mts +1 -1
  134. package/execution/mapAsyncIterable.d.ts +1 -1
  135. package/execution/mapAsyncIterable.js +4 -4
  136. package/execution/mapAsyncIterable.js.map +1 -1
  137. package/execution/mapAsyncIterable.mjs.map +1 -1
  138. package/execution/returnIteratorCatchingErrors.js +1 -1
  139. package/execution/returnIteratorCatchingErrors.js.map +1 -1
  140. package/execution/returnIteratorCatchingErrors.mjs +1 -1
  141. package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
  142. package/execution/values.d.mts +9 -9
  143. package/execution/values.d.ts +9 -9
  144. package/execution/values.js +34 -34
  145. package/execution/values.js.map +1 -1
  146. package/execution/values.mjs +2 -2
  147. package/execution/values.mjs.map +1 -1
  148. package/execution/withConcurrentAbruptClose.d.mts +1 -1
  149. package/execution/withConcurrentAbruptClose.d.ts +1 -1
  150. package/execution/withConcurrentAbruptClose.js +4 -4
  151. package/execution/withConcurrentAbruptClose.js.map +1 -1
  152. package/execution/withConcurrentAbruptClose.mjs +2 -2
  153. package/execution/withConcurrentAbruptClose.mjs.map +1 -1
  154. package/graphql.d.mts +7 -7
  155. package/graphql.d.ts +7 -7
  156. package/graphql.js +11 -11
  157. package/graphql.js.map +1 -1
  158. package/graphql.mjs.map +1 -1
  159. package/harness.d.mts +4 -4
  160. package/harness.d.ts +4 -4
  161. package/harness.js +7 -7
  162. package/harness.js.map +1 -1
  163. package/harness.mjs.map +1 -1
  164. package/index.d.mts +20 -20
  165. package/index.d.ts +20 -20
  166. package/index.js +253 -252
  167. package/index.js.map +1 -1
  168. package/index.mjs +1 -1
  169. package/index.mjs.map +1 -1
  170. package/jsutils/Path.d.mts +1 -1
  171. package/jsutils/Path.d.ts +1 -1
  172. package/jsutils/Path.js.map +1 -1
  173. package/jsutils/Path.mjs.map +1 -1
  174. package/jsutils/didYouMean.js +2 -2
  175. package/jsutils/didYouMean.js.map +1 -1
  176. package/jsutils/didYouMean.mjs.map +1 -1
  177. package/jsutils/formatList.js +2 -2
  178. package/jsutils/formatList.js.map +1 -1
  179. package/jsutils/formatList.mjs.map +1 -1
  180. package/jsutils/getBySet.js +2 -2
  181. package/jsutils/getBySet.js.map +1 -1
  182. package/jsutils/getBySet.mjs.map +1 -1
  183. package/jsutils/groupBy.js +2 -2
  184. package/jsutils/groupBy.js.map +1 -1
  185. package/jsutils/groupBy.mjs.map +1 -1
  186. package/jsutils/instanceOf.js +2 -2
  187. package/jsutils/instanceOf.js.map +1 -1
  188. package/jsutils/instanceOf.mjs.map +1 -1
  189. package/jsutils/keyMap.d.mts +1 -1
  190. package/jsutils/keyMap.d.ts +1 -1
  191. package/jsutils/keyMap.js.map +1 -1
  192. package/jsutils/keyMap.mjs.map +1 -1
  193. package/jsutils/keyValMap.d.mts +1 -1
  194. package/jsutils/keyValMap.d.ts +1 -1
  195. package/jsutils/keyValMap.js.map +1 -1
  196. package/jsutils/keyValMap.mjs.map +1 -1
  197. package/jsutils/mapValue.d.mts +1 -1
  198. package/jsutils/mapValue.d.ts +1 -1
  199. package/jsutils/mapValue.js.map +1 -1
  200. package/jsutils/mapValue.mjs.map +1 -1
  201. package/jsutils/promiseForObject.d.mts +2 -2
  202. package/jsutils/promiseForObject.d.ts +2 -2
  203. package/jsutils/promiseForObject.js.map +1 -1
  204. package/jsutils/promiseForObject.mjs.map +1 -1
  205. package/jsutils/promiseReduce.d.mts +1 -1
  206. package/jsutils/promiseReduce.d.ts +1 -1
  207. package/jsutils/promiseReduce.js +2 -2
  208. package/jsutils/promiseReduce.js.map +1 -1
  209. package/jsutils/promiseReduce.mjs.map +1 -1
  210. package/jsutils/promiseWithResolvers.d.mts +1 -1
  211. package/jsutils/promiseWithResolvers.d.ts +1 -1
  212. package/jsutils/promiseWithResolvers.js.map +1 -1
  213. package/jsutils/promiseWithResolvers.mjs.map +1 -1
  214. package/jsutils/suggestionList.js +2 -2
  215. package/jsutils/suggestionList.js.map +1 -1
  216. package/jsutils/suggestionList.mjs.map +1 -1
  217. package/jsutils/toError.js +2 -2
  218. package/jsutils/toError.js.map +1 -1
  219. package/jsutils/toError.mjs.map +1 -1
  220. package/jsutils/toObjMap.d.mts +2 -2
  221. package/jsutils/toObjMap.d.ts +2 -2
  222. package/jsutils/toObjMap.js.map +1 -1
  223. package/jsutils/toObjMap.mjs.map +1 -1
  224. package/language/KindTypeMap.d.mts +1 -1
  225. package/language/KindTypeMap.d.ts +1 -1
  226. package/language/KindTypeMap.js.map +1 -1
  227. package/language/KindTypeMap.mjs.map +1 -1
  228. package/language/ast.d.mts +12 -5
  229. package/language/ast.d.ts +12 -5
  230. package/language/ast.js +8 -1
  231. package/language/ast.js.map +1 -1
  232. package/language/ast.mjs +8 -1
  233. package/language/ast.mjs.map +1 -1
  234. package/language/blockString.js +4 -4
  235. package/language/blockString.js.map +1 -1
  236. package/language/blockString.mjs.map +1 -1
  237. package/language/directiveLocation.d.mts +2 -1
  238. package/language/directiveLocation.d.ts +2 -1
  239. package/language/directiveLocation.js +2 -1
  240. package/language/directiveLocation.js.map +1 -1
  241. package/language/directiveLocation.mjs +2 -1
  242. package/language/directiveLocation.mjs.map +1 -1
  243. package/language/index.d.mts +16 -16
  244. package/language/index.d.ts +16 -16
  245. package/language/index.js +45 -45
  246. package/language/index.js.map +1 -1
  247. package/language/index.mjs.map +1 -1
  248. package/language/kinds.d.mts +2 -2
  249. package/language/kinds.d.ts +2 -2
  250. package/language/kinds.js.map +1 -1
  251. package/language/kinds.mjs.map +1 -1
  252. package/language/kinds_.d.mts +2 -0
  253. package/language/kinds_.d.ts +2 -0
  254. package/language/kinds_.js +2 -1
  255. package/language/kinds_.js.map +1 -1
  256. package/language/kinds_.mjs +1 -0
  257. package/language/kinds_.mjs.map +1 -1
  258. package/language/lexer.d.mts +3 -3
  259. package/language/lexer.d.ts +3 -3
  260. package/language/lexer.js +67 -67
  261. package/language/lexer.js.map +1 -1
  262. package/language/lexer.mjs.map +1 -1
  263. package/language/location.d.mts +1 -1
  264. package/language/location.d.ts +1 -1
  265. package/language/location.js +2 -2
  266. package/language/location.js.map +1 -1
  267. package/language/location.mjs.map +1 -1
  268. package/language/parser.d.mts +20 -7
  269. package/language/parser.d.ts +20 -7
  270. package/language/parser.js +185 -155
  271. package/language/parser.js.map +1 -1
  272. package/language/parser.mjs +30 -0
  273. package/language/parser.mjs.map +1 -1
  274. package/language/predicates.d.mts +1 -1
  275. package/language/predicates.d.ts +1 -1
  276. package/language/predicates.js +45 -43
  277. package/language/predicates.js.map +1 -1
  278. package/language/predicates.mjs +3 -1
  279. package/language/predicates.mjs.map +1 -1
  280. package/language/printLocation.d.mts +3 -3
  281. package/language/printLocation.d.ts +3 -3
  282. package/language/printLocation.js +2 -2
  283. package/language/printLocation.js.map +1 -1
  284. package/language/printLocation.mjs.map +1 -1
  285. package/language/printer.d.mts +1 -1
  286. package/language/printer.d.ts +1 -1
  287. package/language/printer.js +10 -6
  288. package/language/printer.js.map +1 -1
  289. package/language/printer.mjs +5 -1
  290. package/language/printer.mjs.map +1 -1
  291. package/language/schemaCoordinateLexer.d.mts +3 -3
  292. package/language/schemaCoordinateLexer.d.ts +3 -3
  293. package/language/schemaCoordinateLexer.js +16 -16
  294. package/language/schemaCoordinateLexer.js.map +1 -1
  295. package/language/schemaCoordinateLexer.mjs.map +1 -1
  296. package/language/source.js +5 -5
  297. package/language/source.js.map +1 -1
  298. package/language/source.mjs.map +1 -1
  299. package/language/visitor.d.mts +2 -2
  300. package/language/visitor.d.ts +2 -2
  301. package/language/visitor.js +10 -10
  302. package/language/visitor.js.map +1 -1
  303. package/language/visitor.mjs.map +1 -1
  304. package/package.json +2 -2
  305. package/type/assertName.js +8 -8
  306. package/type/assertName.js.map +1 -1
  307. package/type/assertName.mjs.map +1 -1
  308. package/type/definition.d.mts +9 -9
  309. package/type/definition.d.ts +9 -9
  310. package/type/definition.js +94 -94
  311. package/type/definition.js.map +1 -1
  312. package/type/definition.mjs.map +1 -1
  313. package/type/directives.d.mts +11 -6
  314. package/type/directives.d.ts +11 -6
  315. package/type/directives.js +51 -46
  316. package/type/directives.js.map +1 -1
  317. package/type/directives.mjs +5 -0
  318. package/type/directives.mjs.map +1 -1
  319. package/type/index.d.mts +12 -12
  320. package/type/index.d.ts +12 -12
  321. package/type/index.js +106 -106
  322. package/type/index.js.map +1 -1
  323. package/type/index.mjs.map +1 -1
  324. package/type/introspection.d.mts +2 -2
  325. package/type/introspection.d.ts +2 -2
  326. package/type/introspection.js +123 -103
  327. package/type/introspection.js.map +1 -1
  328. package/type/introspection.mjs +25 -5
  329. package/type/introspection.mjs.map +1 -1
  330. package/type/scalars.d.mts +2 -2
  331. package/type/scalars.d.ts +2 -2
  332. package/type/scalars.js +61 -61
  333. package/type/scalars.js.map +1 -1
  334. package/type/scalars.mjs.map +1 -1
  335. package/type/schema.d.mts +7 -7
  336. package/type/schema.d.ts +7 -7
  337. package/type/schema.js +32 -32
  338. package/type/schema.js.map +1 -1
  339. package/type/schema.mjs.map +1 -1
  340. package/type/validate.d.mts +4 -4
  341. package/type/validate.d.ts +4 -4
  342. package/type/validate.js +83 -83
  343. package/type/validate.js.map +1 -1
  344. package/type/validate.mjs +1 -1
  345. package/type/validate.mjs.map +1 -1
  346. package/utilities/TypeInfo.d.mts +6 -6
  347. package/utilities/TypeInfo.d.ts +6 -6
  348. package/utilities/TypeInfo.js +61 -61
  349. package/utilities/TypeInfo.js.map +1 -1
  350. package/utilities/TypeInfo.mjs +1 -1
  351. package/utilities/TypeInfo.mjs.map +1 -1
  352. package/utilities/astFromValue.d.mts +3 -3
  353. package/utilities/astFromValue.d.ts +3 -3
  354. package/utilities/astFromValue.js +31 -33
  355. package/utilities/astFromValue.js.map +1 -1
  356. package/utilities/astFromValue.mjs +1 -3
  357. package/utilities/astFromValue.mjs.map +1 -1
  358. package/utilities/buildASTSchema.d.mts +5 -5
  359. package/utilities/buildASTSchema.d.ts +5 -5
  360. package/utilities/buildASTSchema.js +11 -10
  361. package/utilities/buildASTSchema.js.map +1 -1
  362. package/utilities/buildASTSchema.mjs +1 -0
  363. package/utilities/buildASTSchema.mjs.map +1 -1
  364. package/utilities/buildClientSchema.d.mts +3 -3
  365. package/utilities/buildClientSchema.d.ts +3 -3
  366. package/utilities/buildClientSchema.js +53 -52
  367. package/utilities/buildClientSchema.js.map +1 -1
  368. package/utilities/buildClientSchema.mjs +1 -0
  369. package/utilities/buildClientSchema.mjs.map +1 -1
  370. package/utilities/coerceInputValue.d.mts +5 -5
  371. package/utilities/coerceInputValue.d.ts +5 -5
  372. package/utilities/coerceInputValue.js +31 -31
  373. package/utilities/coerceInputValue.js.map +1 -1
  374. package/utilities/coerceInputValue.mjs.map +1 -1
  375. package/utilities/concatAST.d.mts +1 -1
  376. package/utilities/concatAST.d.ts +1 -1
  377. package/utilities/concatAST.js +2 -2
  378. package/utilities/concatAST.js.map +1 -1
  379. package/utilities/concatAST.mjs.map +1 -1
  380. package/utilities/extendSchema.d.mts +3 -3
  381. package/utilities/extendSchema.d.ts +3 -3
  382. package/utilities/extendSchema.js +92 -66
  383. package/utilities/extendSchema.js.map +1 -1
  384. package/utilities/extendSchema.mjs +27 -1
  385. package/utilities/extendSchema.mjs.map +1 -1
  386. package/utilities/findSchemaChanges.d.mts +1 -1
  387. package/utilities/findSchemaChanges.d.ts +1 -1
  388. package/utilities/findSchemaChanges.js +42 -44
  389. package/utilities/findSchemaChanges.js.map +1 -1
  390. package/utilities/findSchemaChanges.mjs +1 -3
  391. package/utilities/findSchemaChanges.mjs.map +1 -1
  392. package/utilities/getDefaultValueAST.d.mts +2 -2
  393. package/utilities/getDefaultValueAST.d.ts +2 -2
  394. package/utilities/getDefaultValueAST.js +9 -7
  395. package/utilities/getDefaultValueAST.js.map +1 -1
  396. package/utilities/getDefaultValueAST.mjs +2 -0
  397. package/utilities/getDefaultValueAST.mjs.map +1 -1
  398. package/utilities/getIntrospectionQuery.d.mts +19 -3
  399. package/utilities/getIntrospectionQuery.d.ts +19 -3
  400. package/utilities/getIntrospectionQuery.js +22 -38
  401. package/utilities/getIntrospectionQuery.js.map +1 -1
  402. package/utilities/getIntrospectionQuery.mjs +22 -38
  403. package/utilities/getIntrospectionQuery.mjs.map +1 -1
  404. package/utilities/getOperationAST.d.mts +2 -2
  405. package/utilities/getOperationAST.d.ts +2 -2
  406. package/utilities/getOperationAST.js +2 -2
  407. package/utilities/getOperationAST.js.map +1 -1
  408. package/utilities/getOperationAST.mjs.map +1 -1
  409. package/utilities/index.d.mts +28 -28
  410. package/utilities/index.d.ts +28 -28
  411. package/utilities/index.js +61 -61
  412. package/utilities/index.js.map +1 -1
  413. package/utilities/index.mjs.map +1 -1
  414. package/utilities/introspectionFromSchema.d.mts +2 -2
  415. package/utilities/introspectionFromSchema.d.ts +2 -2
  416. package/utilities/introspectionFromSchema.js +8 -7
  417. package/utilities/introspectionFromSchema.js.map +1 -1
  418. package/utilities/introspectionFromSchema.mjs +1 -0
  419. package/utilities/introspectionFromSchema.mjs.map +1 -1
  420. package/utilities/lexicographicSortSchema.d.mts +1 -1
  421. package/utilities/lexicographicSortSchema.d.ts +1 -1
  422. package/utilities/lexicographicSortSchema.js +14 -14
  423. package/utilities/lexicographicSortSchema.js.map +1 -1
  424. package/utilities/lexicographicSortSchema.mjs.map +1 -1
  425. package/utilities/mapSchemaConfig.d.mts +3 -3
  426. package/utilities/mapSchemaConfig.d.ts +3 -3
  427. package/utilities/mapSchemaConfig.js +29 -31
  428. package/utilities/mapSchemaConfig.js.map +1 -1
  429. package/utilities/mapSchemaConfig.mjs +1 -3
  430. package/utilities/mapSchemaConfig.mjs.map +1 -1
  431. package/utilities/printSchema.d.mts +3 -3
  432. package/utilities/printSchema.d.ts +3 -3
  433. package/utilities/printSchema.js +31 -32
  434. package/utilities/printSchema.js.map +1 -1
  435. package/utilities/printSchema.mjs +2 -3
  436. package/utilities/printSchema.mjs.map +1 -1
  437. package/utilities/replaceVariables.d.mts +4 -4
  438. package/utilities/replaceVariables.d.ts +4 -4
  439. package/utilities/replaceVariables.js +9 -9
  440. package/utilities/replaceVariables.js.map +1 -1
  441. package/utilities/replaceVariables.mjs.map +1 -1
  442. package/utilities/resolveSchemaCoordinate.d.mts +5 -5
  443. package/utilities/resolveSchemaCoordinate.d.ts +5 -5
  444. package/utilities/resolveSchemaCoordinate.js +23 -23
  445. package/utilities/resolveSchemaCoordinate.js.map +1 -1
  446. package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
  447. package/utilities/separateOperations.d.mts +2 -2
  448. package/utilities/separateOperations.d.ts +2 -2
  449. package/utilities/separateOperations.js +7 -7
  450. package/utilities/separateOperations.js.map +1 -1
  451. package/utilities/separateOperations.mjs.map +1 -1
  452. package/utilities/sortValueNode.d.mts +1 -1
  453. package/utilities/sortValueNode.d.ts +1 -1
  454. package/utilities/sortValueNode.js +12 -12
  455. package/utilities/sortValueNode.js.map +1 -1
  456. package/utilities/sortValueNode.mjs.map +1 -1
  457. package/utilities/stripIgnoredCharacters.d.mts +1 -1
  458. package/utilities/stripIgnoredCharacters.d.ts +1 -1
  459. package/utilities/stripIgnoredCharacters.js +11 -11
  460. package/utilities/stripIgnoredCharacters.js.map +1 -1
  461. package/utilities/stripIgnoredCharacters.mjs.map +1 -1
  462. package/utilities/typeComparators.d.mts +2 -2
  463. package/utilities/typeComparators.d.ts +2 -2
  464. package/utilities/typeComparators.js +14 -14
  465. package/utilities/typeComparators.js.map +1 -1
  466. package/utilities/typeComparators.mjs.map +1 -1
  467. package/utilities/typeFromAST.d.mts +4 -4
  468. package/utilities/typeFromAST.d.ts +4 -4
  469. package/utilities/typeFromAST.js +7 -7
  470. package/utilities/typeFromAST.js.map +1 -1
  471. package/utilities/typeFromAST.mjs.map +1 -1
  472. package/utilities/typedQueryDocumentNode.d.mts +1 -1
  473. package/utilities/typedQueryDocumentNode.d.ts +1 -1
  474. package/utilities/typedQueryDocumentNode.js.map +1 -1
  475. package/utilities/typedQueryDocumentNode.mjs.map +1 -1
  476. package/utilities/validateInputValue.d.mts +6 -6
  477. package/utilities/validateInputValue.d.ts +6 -6
  478. package/utilities/validateInputValue.js +60 -60
  479. package/utilities/validateInputValue.js.map +1 -1
  480. package/utilities/validateInputValue.mjs.map +1 -1
  481. package/utilities/valueFromAST.d.mts +4 -4
  482. package/utilities/valueFromAST.d.ts +4 -4
  483. package/utilities/valueFromAST.js +20 -22
  484. package/utilities/valueFromAST.js.map +1 -1
  485. package/utilities/valueFromAST.mjs +1 -3
  486. package/utilities/valueFromAST.mjs.map +1 -1
  487. package/utilities/valueFromASTUntyped.d.mts +3 -3
  488. package/utilities/valueFromASTUntyped.d.ts +3 -3
  489. package/utilities/valueFromASTUntyped.js +12 -12
  490. package/utilities/valueFromASTUntyped.js.map +1 -1
  491. package/utilities/valueFromASTUntyped.mjs.map +1 -1
  492. package/utilities/valueToLiteral.d.mts +2 -2
  493. package/utilities/valueToLiteral.d.ts +2 -2
  494. package/utilities/valueToLiteral.js +30 -30
  495. package/utilities/valueToLiteral.js.map +1 -1
  496. package/utilities/valueToLiteral.mjs.map +1 -1
  497. package/validation/ValidationContext.d.mts +9 -9
  498. package/validation/ValidationContext.d.ts +9 -9
  499. package/validation/ValidationContext.js +8 -8
  500. package/validation/ValidationContext.js.map +1 -1
  501. package/validation/ValidationContext.mjs.map +1 -1
  502. package/validation/index.d.mts +46 -46
  503. package/validation/index.d.ts +46 -46
  504. package/validation/index.js +91 -91
  505. package/validation/index.js.map +1 -1
  506. package/validation/index.mjs.map +1 -1
  507. package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +2 -2
  508. package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +2 -2
  509. package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -9
  510. package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
  511. package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
  512. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +2 -2
  513. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +2 -2
  514. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -8
  515. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
  516. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
  517. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +2 -2
  518. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +2 -2
  519. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -14
  520. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
  521. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
  522. package/validation/rules/ExecutableDefinitionsRule.d.mts +2 -2
  523. package/validation/rules/ExecutableDefinitionsRule.d.ts +2 -2
  524. package/validation/rules/ExecutableDefinitionsRule.js +7 -7
  525. package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
  526. package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
  527. package/validation/rules/FieldsOnCorrectTypeRule.d.mts +2 -2
  528. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +2 -2
  529. package/validation/rules/FieldsOnCorrectTypeRule.js +14 -14
  530. package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
  531. package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
  532. package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +2 -2
  533. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +2 -2
  534. package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -12
  535. package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
  536. package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
  537. package/validation/rules/KnownArgumentNamesRule.d.mts +2 -2
  538. package/validation/rules/KnownArgumentNamesRule.d.ts +2 -2
  539. package/validation/rules/KnownArgumentNamesRule.js +16 -16
  540. package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
  541. package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
  542. package/validation/rules/KnownDirectivesRule.d.mts +2 -2
  543. package/validation/rules/KnownDirectivesRule.d.ts +2 -2
  544. package/validation/rules/KnownDirectivesRule.js +67 -64
  545. package/validation/rules/KnownDirectivesRule.js.map +1 -1
  546. package/validation/rules/KnownDirectivesRule.mjs +4 -1
  547. package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
  548. package/validation/rules/KnownFragmentNamesRule.d.mts +2 -2
  549. package/validation/rules/KnownFragmentNamesRule.d.ts +2 -2
  550. package/validation/rules/KnownFragmentNamesRule.js +2 -2
  551. package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
  552. package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
  553. package/validation/rules/KnownOperationTypesRule.d.mts +2 -2
  554. package/validation/rules/KnownOperationTypesRule.d.ts +2 -2
  555. package/validation/rules/KnownOperationTypesRule.js +2 -2
  556. package/validation/rules/KnownOperationTypesRule.js.map +1 -1
  557. package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
  558. package/validation/rules/KnownTypeNamesRule.d.mts +2 -2
  559. package/validation/rules/KnownTypeNamesRule.d.ts +2 -2
  560. package/validation/rules/KnownTypeNamesRule.js +11 -11
  561. package/validation/rules/KnownTypeNamesRule.js.map +1 -1
  562. package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
  563. package/validation/rules/LoneAnonymousOperationRule.d.mts +2 -2
  564. package/validation/rules/LoneAnonymousOperationRule.d.ts +2 -2
  565. package/validation/rules/LoneAnonymousOperationRule.js +4 -4
  566. package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
  567. package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
  568. package/validation/rules/LoneSchemaDefinitionRule.d.mts +2 -2
  569. package/validation/rules/LoneSchemaDefinitionRule.d.ts +2 -2
  570. package/validation/rules/LoneSchemaDefinitionRule.js +3 -3
  571. package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
  572. package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
  573. package/validation/rules/MaxIntrospectionDepthRule.d.mts +2 -2
  574. package/validation/rules/MaxIntrospectionDepthRule.d.ts +2 -2
  575. package/validation/rules/MaxIntrospectionDepthRule.js +5 -5
  576. package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
  577. package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
  578. package/validation/rules/NoFragmentCyclesRule.d.mts +2 -2
  579. package/validation/rules/NoFragmentCyclesRule.d.ts +2 -2
  580. package/validation/rules/NoFragmentCyclesRule.js +2 -2
  581. package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
  582. package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
  583. package/validation/rules/NoUndefinedVariablesRule.d.mts +2 -2
  584. package/validation/rules/NoUndefinedVariablesRule.d.ts +2 -2
  585. package/validation/rules/NoUndefinedVariablesRule.js +2 -2
  586. package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
  587. package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
  588. package/validation/rules/NoUnusedFragmentsRule.d.mts +2 -2
  589. package/validation/rules/NoUnusedFragmentsRule.d.ts +2 -2
  590. package/validation/rules/NoUnusedFragmentsRule.js +2 -2
  591. package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
  592. package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
  593. package/validation/rules/NoUnusedVariablesRule.d.mts +2 -2
  594. package/validation/rules/NoUnusedVariablesRule.d.ts +2 -2
  595. package/validation/rules/NoUnusedVariablesRule.js +3 -3
  596. package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
  597. package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
  598. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +2 -2
  599. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +2 -2
  600. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +31 -31
  601. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
  602. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
  603. package/validation/rules/PossibleFragmentSpreadsRule.d.mts +2 -2
  604. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +2 -2
  605. package/validation/rules/PossibleFragmentSpreadsRule.js +17 -17
  606. package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
  607. package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
  608. package/validation/rules/PossibleTypeExtensionsRule.d.mts +2 -2
  609. package/validation/rules/PossibleTypeExtensionsRule.d.ts +2 -2
  610. package/validation/rules/PossibleTypeExtensionsRule.js +40 -42
  611. package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
  612. package/validation/rules/PossibleTypeExtensionsRule.mjs +2 -4
  613. package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
  614. package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +2 -2
  615. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +2 -2
  616. package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -20
  617. package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
  618. package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
  619. package/validation/rules/ScalarLeafsRule.d.mts +2 -2
  620. package/validation/rules/ScalarLeafsRule.d.ts +2 -2
  621. package/validation/rules/ScalarLeafsRule.js +10 -10
  622. package/validation/rules/ScalarLeafsRule.js.map +1 -1
  623. package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
  624. package/validation/rules/SingleFieldSubscriptionsRule.d.mts +2 -2
  625. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +2 -2
  626. package/validation/rules/SingleFieldSubscriptionsRule.js +8 -8
  627. package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
  628. package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
  629. package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +2 -2
  630. package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +2 -2
  631. package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -7
  632. package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
  633. package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
  634. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +2 -2
  635. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +2 -2
  636. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -4
  637. package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
  638. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
  639. package/validation/rules/UniqueArgumentNamesRule.d.mts +2 -2
  640. package/validation/rules/UniqueArgumentNamesRule.d.ts +2 -2
  641. package/validation/rules/UniqueArgumentNamesRule.js +4 -4
  642. package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
  643. package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
  644. package/validation/rules/UniqueDirectiveNamesRule.d.mts +2 -2
  645. package/validation/rules/UniqueDirectiveNamesRule.d.ts +2 -2
  646. package/validation/rules/UniqueDirectiveNamesRule.js +3 -3
  647. package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
  648. package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
  649. package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +2 -2
  650. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +2 -2
  651. package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -10
  652. package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
  653. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -0
  654. package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
  655. package/validation/rules/UniqueEnumValueNamesRule.d.mts +2 -2
  656. package/validation/rules/UniqueEnumValueNamesRule.d.ts +2 -2
  657. package/validation/rules/UniqueEnumValueNamesRule.js +5 -5
  658. package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
  659. package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
  660. package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +2 -2
  661. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +2 -2
  662. package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -5
  663. package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
  664. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
  665. package/validation/rules/UniqueFragmentNamesRule.d.mts +2 -2
  666. package/validation/rules/UniqueFragmentNamesRule.d.ts +2 -2
  667. package/validation/rules/UniqueFragmentNamesRule.js +2 -2
  668. package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
  669. package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
  670. package/validation/rules/UniqueInputFieldNamesRule.d.mts +2 -2
  671. package/validation/rules/UniqueInputFieldNamesRule.d.ts +2 -2
  672. package/validation/rules/UniqueInputFieldNamesRule.js +4 -4
  673. package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
  674. package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
  675. package/validation/rules/UniqueOperationNamesRule.d.mts +2 -2
  676. package/validation/rules/UniqueOperationNamesRule.d.ts +2 -2
  677. package/validation/rules/UniqueOperationNamesRule.js +2 -2
  678. package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
  679. package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
  680. package/validation/rules/UniqueOperationTypesRule.d.mts +2 -2
  681. package/validation/rules/UniqueOperationTypesRule.d.ts +2 -2
  682. package/validation/rules/UniqueOperationTypesRule.js +3 -3
  683. package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
  684. package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
  685. package/validation/rules/UniqueTypeNamesRule.d.mts +2 -2
  686. package/validation/rules/UniqueTypeNamesRule.d.ts +2 -2
  687. package/validation/rules/UniqueTypeNamesRule.js +3 -3
  688. package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
  689. package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
  690. package/validation/rules/UniqueVariableNamesRule.d.mts +2 -2
  691. package/validation/rules/UniqueVariableNamesRule.d.ts +2 -2
  692. package/validation/rules/UniqueVariableNamesRule.js +4 -4
  693. package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
  694. package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
  695. package/validation/rules/ValuesOfCorrectTypeRule.d.mts +2 -2
  696. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +2 -2
  697. package/validation/rules/ValuesOfCorrectTypeRule.js +2 -2
  698. package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
  699. package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
  700. package/validation/rules/VariablesAreInputTypesRule.d.mts +2 -2
  701. package/validation/rules/VariablesAreInputTypesRule.d.ts +2 -2
  702. package/validation/rules/VariablesAreInputTypesRule.js +8 -8
  703. package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
  704. package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
  705. package/validation/rules/VariablesInAllowedPositionRule.d.mts +2 -2
  706. package/validation/rules/VariablesInAllowedPositionRule.d.ts +2 -2
  707. package/validation/rules/VariablesInAllowedPositionRule.js +14 -14
  708. package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
  709. package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
  710. package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +2 -2
  711. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +2 -2
  712. package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -8
  713. package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
  714. package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
  715. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +2 -2
  716. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +2 -2
  717. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -6
  718. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
  719. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
  720. package/validation/specifiedRules.d.mts +1 -1
  721. package/validation/specifiedRules.d.ts +1 -1
  722. package/validation/specifiedRules.js +87 -87
  723. package/validation/specifiedRules.js.map +1 -1
  724. package/validation/specifiedRules.mjs.map +1 -1
  725. package/validation/validate.d.mts +5 -5
  726. package/validation/validate.d.ts +5 -5
  727. package/validation/validate.js +19 -19
  728. package/validation/validate.js.map +1 -1
  729. package/validation/validate.mjs.map +1 -1
  730. package/version.js +2 -2
  731. package/version.js.map +1 -1
  732. package/version.mjs +2 -2
  733. package/version.mjs.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mapAsyncIterable.js","sourceRoot":"","sources":["../../src/execution/mapAsyncIterable.ts"],"names":[],"mappings":";;AASA,4CAqBC;AA9BD,0DAAoD;AAGpD,iFAA2E;AAE3E;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,QAA8C,EAC9C,QAAyC;IAEzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,CAAC,MAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC;IAEb,OAAO,IAAA,wDAAyB,EAC9B,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACxC,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAA0B;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAClC,QAAuD,EACvD,KAAsC;IAEtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAA,wBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,MAAM,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { isPromise } from '../jsutils/isPromise.js';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.js';\n\nimport { withConcurrentAbruptClose } from './withConcurrentAbruptClose.js';\n\n/**\n * Given an AsyncIterable and a callback function, return an AsyncIterator\n * which produces values mapped via calling the callback function.\n */\nexport function mapAsyncIterable<T, U>(\n iterable: AsyncGenerator<T> | AsyncIterable<T>,\n callback: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n const iterator = iterable[Symbol.asyncIterator]();\n const returnFn = iterator.return?.bind(iterator);\n const throwFn = iterator.throw?.bind(iterator);\n\n const onReturn = returnFn\n ? () => callIgnoringErrors(returnFn)\n : () => Promise.resolve();\n\n const onThrow = throwFn\n ? (reason?: unknown) => callIgnoringErrors(() => throwFn(reason))\n : onReturn;\n\n return withConcurrentAbruptClose(\n mapAsyncIterableImpl(iterable, callback),\n onReturn,\n onThrow,\n );\n}\n\nasync function callIgnoringErrors(fn: () => Promise<unknown>): Promise<void> {\n try {\n await fn();\n } catch {\n // ignore error\n }\n}\n\nasync function* mapAsyncIterableImpl<T, U, R = undefined>(\n iterable: AsyncGenerator<T, R, void> | AsyncIterable<T>,\n mapFn: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n for await (const value of iterable) {\n const result = mapFn(value);\n if (isPromise(result)) {\n yield await result;\n continue;\n }\n yield result;\n }\n}\n"]}
1
+ {"version":3,"file":"mapAsyncIterable.js","sourceRoot":"","sources":["../../src/execution/mapAsyncIterable.ts"],"names":[],"mappings":";;AASA,4CAqBC;AA9BD,0DAAoD;AAGpD,iFAA2E;AAE3E;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,QAA8C,EAC9C,QAAyC;IAEzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,CAAC,MAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC;IAEb,OAAO,IAAA,wDAAyB,EAC9B,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACxC,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAA0B;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAClC,QAAuD,EACvD,KAAsC;IAEtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,IAAA,wBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,MAAM,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { isPromise } from '../jsutils/isPromise.ts';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.ts';\n\nimport { withConcurrentAbruptClose } from './withConcurrentAbruptClose.ts';\n\n/**\n * Given an AsyncIterable and a callback function, return an AsyncIterator\n * which produces values mapped via calling the callback function.\n */\nexport function mapAsyncIterable<T, U>(\n iterable: AsyncGenerator<T> | AsyncIterable<T>,\n callback: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n const iterator = iterable[Symbol.asyncIterator]();\n const returnFn = iterator.return?.bind(iterator);\n const throwFn = iterator.throw?.bind(iterator);\n\n const onReturn = returnFn\n ? () => callIgnoringErrors(returnFn)\n : () => Promise.resolve();\n\n const onThrow = throwFn\n ? (reason?: unknown) => callIgnoringErrors(() => throwFn(reason))\n : onReturn;\n\n return withConcurrentAbruptClose(\n mapAsyncIterableImpl(iterable, callback),\n onReturn,\n onThrow,\n );\n}\n\nasync function callIgnoringErrors(fn: () => Promise<unknown>): Promise<void> {\n try {\n await fn();\n } catch {\n // ignore error\n }\n}\n\nasync function* mapAsyncIterableImpl<T, U, R = undefined>(\n iterable: AsyncGenerator<T, R, void> | AsyncIterable<T>,\n mapFn: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n for await (const value of iterable) {\n const result = mapFn(value);\n if (isPromise(result)) {\n yield await result;\n continue;\n }\n yield result;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mapAsyncIterable.js","sourceRoot":"","sources":["../../src/execution/mapAsyncIterable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iCAAgC;AAGpD,OAAO,EAAE,yBAAyB,EAAE,wCAAuC;AAE3E;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA8C,EAC9C,QAAyC;IAEzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,CAAC,MAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC;IAEb,OAAO,yBAAyB,CAC9B,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACxC,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAA0B;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAClC,QAAuD,EACvD,KAAsC;IAEtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,MAAM,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { isPromise } from '../jsutils/isPromise.js';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.js';\n\nimport { withConcurrentAbruptClose } from './withConcurrentAbruptClose.js';\n\n/**\n * Given an AsyncIterable and a callback function, return an AsyncIterator\n * which produces values mapped via calling the callback function.\n */\nexport function mapAsyncIterable<T, U>(\n iterable: AsyncGenerator<T> | AsyncIterable<T>,\n callback: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n const iterator = iterable[Symbol.asyncIterator]();\n const returnFn = iterator.return?.bind(iterator);\n const throwFn = iterator.throw?.bind(iterator);\n\n const onReturn = returnFn\n ? () => callIgnoringErrors(returnFn)\n : () => Promise.resolve();\n\n const onThrow = throwFn\n ? (reason?: unknown) => callIgnoringErrors(() => throwFn(reason))\n : onReturn;\n\n return withConcurrentAbruptClose(\n mapAsyncIterableImpl(iterable, callback),\n onReturn,\n onThrow,\n );\n}\n\nasync function callIgnoringErrors(fn: () => Promise<unknown>): Promise<void> {\n try {\n await fn();\n } catch {\n // ignore error\n }\n}\n\nasync function* mapAsyncIterableImpl<T, U, R = undefined>(\n iterable: AsyncGenerator<T, R, void> | AsyncIterable<T>,\n mapFn: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n for await (const value of iterable) {\n const result = mapFn(value);\n if (isPromise(result)) {\n yield await result;\n continue;\n }\n yield result;\n }\n}\n"]}
1
+ {"version":3,"file":"mapAsyncIterable.js","sourceRoot":"","sources":["../../src/execution/mapAsyncIterable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iCAAgC;AAGpD,OAAO,EAAE,yBAAyB,EAAE,wCAAuC;AAE3E;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA8C,EAC9C,QAAyC;IAEzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,CAAC,MAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC;IAEb,OAAO,yBAAyB,CAC9B,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACxC,QAAQ,EACR,OAAO,CACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAA0B;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAClC,QAAuD,EACvD,KAAsC;IAEtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,MAAM,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { isPromise } from '../jsutils/isPromise.ts';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.ts';\n\nimport { withConcurrentAbruptClose } from './withConcurrentAbruptClose.ts';\n\n/**\n * Given an AsyncIterable and a callback function, return an AsyncIterator\n * which produces values mapped via calling the callback function.\n */\nexport function mapAsyncIterable<T, U>(\n iterable: AsyncGenerator<T> | AsyncIterable<T>,\n callback: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n const iterator = iterable[Symbol.asyncIterator]();\n const returnFn = iterator.return?.bind(iterator);\n const throwFn = iterator.throw?.bind(iterator);\n\n const onReturn = returnFn\n ? () => callIgnoringErrors(returnFn)\n : () => Promise.resolve();\n\n const onThrow = throwFn\n ? (reason?: unknown) => callIgnoringErrors(() => throwFn(reason))\n : onReturn;\n\n return withConcurrentAbruptClose(\n mapAsyncIterableImpl(iterable, callback),\n onReturn,\n onThrow,\n );\n}\n\nasync function callIgnoringErrors(fn: () => Promise<unknown>): Promise<void> {\n try {\n await fn();\n } catch {\n // ignore error\n }\n}\n\nasync function* mapAsyncIterableImpl<T, U, R = undefined>(\n iterable: AsyncGenerator<T, R, void> | AsyncIterable<T>,\n mapFn: (value: T) => PromiseOrValue<U>,\n): AsyncGenerator<U, void, void> {\n for await (const value of iterable) {\n const result = mapFn(value);\n if (isPromise(result)) {\n yield await result;\n continue;\n }\n yield result;\n }\n}\n"]}
@@ -5,7 +5,7 @@ async function returnIteratorCatchingErrors(iterator) {
5
5
  try {
6
6
  await iterator.return?.();
7
7
  }
8
- catch /* c8 ignore next 2 */ {
8
+ catch {
9
9
  // ignore errors
10
10
  }
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"returnIteratorCatchingErrors.js","sourceRoot":"","sources":["../../src/execution/returnIteratorCatchingErrors.ts"],"names":[],"mappings":";;AAAA,oEAQC;AARM,KAAK,UAAU,4BAA4B,CAChD,QAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,sBAAsB,CAAC,CAAC;QAC9B,gBAAgB;IAClB,CAAC;AACH,CAAC","sourcesContent":["export async function returnIteratorCatchingErrors(\n iterator: AsyncIterator<unknown>,\n): Promise<void> {\n try {\n await iterator.return?.();\n } catch /* c8 ignore next 2 */ {\n // ignore errors\n }\n}\n"]}
1
+ {"version":3,"file":"returnIteratorCatchingErrors.js","sourceRoot":"","sources":["../../src/execution/returnIteratorCatchingErrors.ts"],"names":[],"mappings":";;AAAA,oEAQC;AARM,KAAK,UAAU,4BAA4B,CAChD,QAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;AACH,CAAC","sourcesContent":["export async function returnIteratorCatchingErrors(\n iterator: AsyncIterator<unknown>,\n): Promise<void> {\n try {\n await iterator.return?.();\n } catch {\n // ignore errors\n }\n}\n"]}
@@ -2,7 +2,7 @@ export async function returnIteratorCatchingErrors(iterator) {
2
2
  try {
3
3
  await iterator.return?.();
4
4
  }
5
- catch /* c8 ignore next 2 */ {
5
+ catch {
6
6
  // ignore errors
7
7
  }
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"returnIteratorCatchingErrors.js","sourceRoot":"","sources":["../../src/execution/returnIteratorCatchingErrors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,QAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,sBAAsB,CAAC,CAAC;QAC9B,gBAAgB;IAClB,CAAC;AACH,CAAC","sourcesContent":["export async function returnIteratorCatchingErrors(\n iterator: AsyncIterator<unknown>,\n): Promise<void> {\n try {\n await iterator.return?.();\n } catch /* c8 ignore next 2 */ {\n // ignore errors\n }\n}\n"]}
1
+ {"version":3,"file":"returnIteratorCatchingErrors.js","sourceRoot":"","sources":["../../src/execution/returnIteratorCatchingErrors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,QAAgC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;AACH,CAAC","sourcesContent":["export async function returnIteratorCatchingErrors(\n iterator: AsyncIterator<unknown>,\n): Promise<void> {\n try {\n await iterator.return?.();\n } catch {\n // ignore errors\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
- import type { Maybe } from '../jsutils/Maybe.js';
2
- import type { ObjMap, ReadOnlyObjMap } from '../jsutils/ObjMap.js';
3
- import { GraphQLError } from '../error/GraphQLError.js';
4
- import type { DirectiveNode, FieldNode, FragmentSpreadNode, VariableDefinitionNode } from '../language/ast.js';
5
- import type { GraphQLField } from '../type/definition.js';
6
- import type { GraphQLDirective } from '../type/directives.js';
7
- import type { GraphQLSchema } from '../type/schema.js';
8
- import type { FragmentVariableValues } from './collectFields.js';
9
- import type { GraphQLVariableSignature } from './getVariableSignature.js';
1
+ import type { Maybe } from "../jsutils/Maybe.mjs";
2
+ import type { ObjMap, ReadOnlyObjMap } from "../jsutils/ObjMap.mjs";
3
+ import { GraphQLError } from "../error/GraphQLError.mjs";
4
+ import type { DirectiveNode, FieldNode, FragmentSpreadNode, VariableDefinitionNode } from "../language/ast.mjs";
5
+ import type { GraphQLField } from "../type/definition.mjs";
6
+ import type { GraphQLDirective } from "../type/directives.mjs";
7
+ import type { GraphQLSchema } from "../type/schema.mjs";
8
+ import type { FragmentVariableValues } from "./collectFields.mjs";
9
+ import type { GraphQLVariableSignature } from "./getVariableSignature.mjs";
10
10
  export interface VariableValues {
11
11
  readonly sources: ReadOnlyObjMap<VariableValueSource>;
12
12
  readonly coerced: ReadOnlyObjMap<unknown>;
@@ -1,12 +1,12 @@
1
- import type { Maybe } from '../jsutils/Maybe.js';
2
- import type { ObjMap, ReadOnlyObjMap } from '../jsutils/ObjMap.js';
3
- import { GraphQLError } from '../error/GraphQLError.js';
4
- import type { DirectiveNode, FieldNode, FragmentSpreadNode, VariableDefinitionNode } from '../language/ast.js';
5
- import type { GraphQLField } from '../type/definition.js';
6
- import type { GraphQLDirective } from '../type/directives.js';
7
- import type { GraphQLSchema } from '../type/schema.js';
8
- import type { FragmentVariableValues } from './collectFields.js';
9
- import type { GraphQLVariableSignature } from './getVariableSignature.js';
1
+ import type { Maybe } from "../jsutils/Maybe.js";
2
+ import type { ObjMap, ReadOnlyObjMap } from "../jsutils/ObjMap.js";
3
+ import { GraphQLError } from "../error/GraphQLError.js";
4
+ import type { DirectiveNode, FieldNode, FragmentSpreadNode, VariableDefinitionNode } from "../language/ast.js";
5
+ import type { GraphQLField } from "../type/definition.js";
6
+ import type { GraphQLDirective } from "../type/directives.js";
7
+ import type { GraphQLSchema } from "../type/schema.js";
8
+ import type { FragmentVariableValues } from "./collectFields.js";
9
+ import type { GraphQLVariableSignature } from "./getVariableSignature.js";
10
10
  export interface VariableValues {
11
11
  readonly sources: ReadOnlyObjMap<VariableValueSource>;
12
12
  readonly coerced: ReadOnlyObjMap<unknown>;
@@ -4,16 +4,16 @@ exports.getVariableValues = getVariableValues;
4
4
  exports.getFragmentVariableValues = getFragmentVariableValues;
5
5
  exports.getArgumentValues = getArgumentValues;
6
6
  exports.getDirectiveValues = getDirectiveValues;
7
- const invariant_js_1 = require("../jsutils/invariant.js");
8
- const printPathArray_js_1 = require("../jsutils/printPathArray.js");
9
- const ensureGraphQLError_js_1 = require("../error/ensureGraphQLError.js");
10
- const GraphQLError_js_1 = require("../error/GraphQLError.js");
11
- const kinds_js_1 = require("../language/kinds.js");
12
- const definition_js_1 = require("../type/definition.js");
13
- const validate_js_1 = require("../type/validate.js");
14
- const coerceInputValue_js_1 = require("../utilities/coerceInputValue.js");
15
- const validateInputValue_js_1 = require("../utilities/validateInputValue.js");
16
- const getVariableSignature_js_1 = require("./getVariableSignature.js");
7
+ const invariant_ts_1 = require("../jsutils/invariant.js");
8
+ const printPathArray_ts_1 = require("../jsutils/printPathArray.js");
9
+ const ensureGraphQLError_ts_1 = require("../error/ensureGraphQLError.js");
10
+ const GraphQLError_ts_1 = require("../error/GraphQLError.js");
11
+ const kinds_ts_1 = require("../language/kinds.js");
12
+ const definition_ts_1 = require("../type/definition.js");
13
+ const validate_ts_1 = require("../type/validate.js");
14
+ const coerceInputValue_ts_1 = require("../utilities/coerceInputValue.js");
15
+ const validateInputValue_ts_1 = require("../utilities/validateInputValue.js");
16
+ const getVariableSignature_ts_1 = require("./getVariableSignature.js");
17
17
  /**
18
18
  * Prepares an object map of variableValues of the correct type based on the
19
19
  * provided variable definitions and arbitrary input. If the input cannot be
@@ -28,7 +28,7 @@ function getVariableValues(schema, varDefNodes, inputs, options) {
28
28
  try {
29
29
  const variableValues = coerceVariableValues(schema, varDefNodes, inputs, (error) => {
30
30
  if (maxErrors != null && errors.length >= maxErrors) {
31
- throw new GraphQLError_js_1.GraphQLError('Too many errors processing variables, error limit reached. Execution aborted.');
31
+ throw new GraphQLError_ts_1.GraphQLError('Too many errors processing variables, error limit reached. Execution aborted.');
32
32
  }
33
33
  errors.push(error);
34
34
  }, options?.hideSuggestions);
@@ -37,7 +37,7 @@ function getVariableValues(schema, varDefNodes, inputs, options) {
37
37
  }
38
38
  }
39
39
  catch (error) {
40
- errors.push((0, ensureGraphQLError_js_1.ensureGraphQLError)(error));
40
+ errors.push((0, ensureGraphQLError_ts_1.ensureGraphQLError)(error));
41
41
  }
42
42
  return { errors };
43
43
  }
@@ -45,8 +45,8 @@ function coerceVariableValues(schema, varDefNodes, inputs, onError, hideSuggesti
45
45
  const sources = Object.create(null);
46
46
  const coerced = Object.create(null);
47
47
  for (const varDefNode of varDefNodes) {
48
- const varSignature = (0, getVariableSignature_js_1.getVariableSignature)(schema, varDefNode);
49
- if (varSignature instanceof GraphQLError_js_1.GraphQLError) {
48
+ const varSignature = (0, getVariableSignature_ts_1.getVariableSignature)(schema, varDefNode);
49
+ if (varSignature instanceof GraphQLError_ts_1.GraphQLError) {
50
50
  onError(varSignature);
51
51
  continue;
52
52
  }
@@ -56,11 +56,11 @@ function coerceVariableValues(schema, varDefNodes, inputs, onError, hideSuggesti
56
56
  sources[varName] = { signature: varSignature };
57
57
  if (varDefNode.defaultValue) {
58
58
  maybeUseDefaultValue(coerced, varName, varSignature, (error, path) => {
59
- onError(new GraphQLError_js_1.GraphQLError(`Variable "$${varName}" has invalid default value${(0, printPathArray_js_1.printPathArray)(path)}: ${error.message}`, { nodes: varDefNode }));
59
+ onError(new GraphQLError_ts_1.GraphQLError(`Variable "$${varName}" has invalid default value${(0, printPathArray_ts_1.printPathArray)(path)}: ${error.message}`, { nodes: varDefNode }));
60
60
  }, hideSuggestions);
61
61
  continue;
62
62
  }
63
- else if (!(0, definition_js_1.isNonNullType)(varType)) {
63
+ else if (!(0, definition_ts_1.isNonNullType)(varType)) {
64
64
  // Non-provided values for nullable variables are omitted.
65
65
  continue;
66
66
  }
@@ -68,13 +68,13 @@ function coerceVariableValues(schema, varDefNodes, inputs, onError, hideSuggesti
68
68
  else {
69
69
  sources[varName] = { signature: varSignature, value };
70
70
  }
71
- const coercedValue = (0, coerceInputValue_js_1.coerceInputValue)(value, varType);
71
+ const coercedValue = (0, coerceInputValue_ts_1.coerceInputValue)(value, varType);
72
72
  if (coercedValue !== undefined) {
73
73
  coerced[varName] = coercedValue;
74
74
  }
75
75
  else {
76
- (0, validateInputValue_js_1.validateInputValue)(value, varType, (error, path) => {
77
- onError(new GraphQLError_js_1.GraphQLError(`Variable "$${varName}" has invalid value${(0, printPathArray_js_1.printPathArray)(path)}: ${error.message}`, { nodes: varDefNode, originalError: error }));
76
+ (0, validateInputValue_ts_1.validateInputValue)(value, varType, (error, path) => {
77
+ onError(new GraphQLError_ts_1.GraphQLError(`Variable "$${varName}" has invalid value${(0, printPathArray_ts_1.printPathArray)(path)}: ${error.message}`, { nodes: varDefNode, originalError: error }));
78
78
  }, hideSuggestions);
79
79
  }
80
80
  }
@@ -85,7 +85,7 @@ function maybeUseDefaultValue(coercedValues, name, inputValue, onError, hideSugg
85
85
  // coerceDefaultValue assumes validation has already rejected invalid
86
86
  // defaults. If validation was skipped, invalid defaults or nested input
87
87
  // field defaults can throw here; recover with validation-style errors below.
88
- const coercedDefaultValue = (0, coerceInputValue_js_1.coerceDefaultValue)(inputValue);
88
+ const coercedDefaultValue = (0, coerceInputValue_ts_1.coerceDefaultValue)(inputValue);
89
89
  if (coercedDefaultValue !== undefined) {
90
90
  coercedValues[name] = coercedDefaultValue;
91
91
  }
@@ -93,20 +93,20 @@ function maybeUseDefaultValue(coercedValues, name, inputValue, onError, hideSugg
93
93
  catch (error) {
94
94
  const defaultInput = inputValue.default;
95
95
  // Defensive: coerceDefaultValue should only throw while coercing a default.
96
- /* c8 ignore next 3 */
96
+ /* node:coverage ignore next 3 */
97
97
  if (defaultInput === undefined) {
98
98
  throw error;
99
99
  }
100
100
  // Prefer validation's user-facing errors for invalid defaults.
101
101
  let reportedValidationError = false;
102
- (0, validate_js_1.validateDefaultInput)(defaultInput, inputValue.type, (defaultError, path) => {
102
+ (0, validate_ts_1.validateDefaultInput)(defaultInput, inputValue.type, (defaultError, path) => {
103
103
  reportedValidationError = true;
104
104
  onError(defaultError, path);
105
105
  }, hideSuggestions);
106
106
  if (!reportedValidationError) {
107
107
  // The default itself validated, so coercion failed while applying a nested
108
108
  // input field default. Surface the original coercion error.
109
- onError((0, ensureGraphQLError_js_1.ensureGraphQLError)(error), []);
109
+ onError((0, ensureGraphQLError_ts_1.ensureGraphQLError)(error), []);
110
110
  }
111
111
  }
112
112
  }
@@ -150,14 +150,14 @@ function getArgumentValues(def, node, variableValues, fragmentVariableValues, hi
150
150
  function coerceArgument(coercedValues, node, argName, argDef, argumentNode, variableValues, fragmentVariableValues, hideSuggestions) {
151
151
  const argType = argDef.type;
152
152
  const onArgDefaultValueError = (error, path) => {
153
- throw new GraphQLError_js_1.GraphQLError(`${printArgumentOrFragmentVariable(argDef, node)} has invalid default value${(0, printPathArray_js_1.printPathArray)(path)}: ${error.message}`, { nodes: node });
153
+ throw new GraphQLError_ts_1.GraphQLError(`${printArgumentOrFragmentVariable(argDef, node)} has invalid default value${(0, printPathArray_ts_1.printPathArray)(path)}: ${error.message}`, { nodes: node });
154
154
  };
155
155
  if (!argumentNode) {
156
- if ((0, definition_js_1.isRequiredArgument)(argDef)) {
156
+ if ((0, definition_ts_1.isRequiredArgument)(argDef)) {
157
157
  // Note: ProvidedRequiredArgumentsRule validation should catch this before
158
158
  // execution. This is a runtime check to ensure execution does not
159
159
  // continue with an invalid argument value.
160
- throw new GraphQLError_js_1.GraphQLError(
160
+ throw new GraphQLError_ts_1.GraphQLError(
161
161
  // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged
162
162
  `${printArgumentOrFragmentVariable(argDef, node)} of required type "${argType}" was not provided.`, { nodes: node });
163
163
  }
@@ -167,36 +167,36 @@ function coerceArgument(coercedValues, node, argName, argDef, argumentNode, vari
167
167
  const valueNode = argumentNode.value;
168
168
  // Variables without a value are treated as if no argument was provided if
169
169
  // the argument is not required.
170
- if (valueNode.kind === kinds_js_1.Kind.VARIABLE) {
170
+ if (valueNode.kind === kinds_ts_1.Kind.VARIABLE) {
171
171
  const variableName = valueNode.name.value;
172
172
  const scopedVariableValues = fragmentVariableValues?.sources[variableName]
173
173
  ? fragmentVariableValues
174
174
  : variableValues;
175
175
  if ((scopedVariableValues == null ||
176
176
  !Object.hasOwn(scopedVariableValues.coerced, variableName)) &&
177
- !(0, definition_js_1.isRequiredArgument)(argDef)) {
177
+ !(0, definition_ts_1.isRequiredArgument)(argDef)) {
178
178
  maybeUseDefaultValue(coercedValues, argName, argDef, onArgDefaultValueError, hideSuggestions);
179
179
  return;
180
180
  }
181
181
  }
182
- const coercedValue = (0, coerceInputValue_js_1.coerceInputLiteral)(valueNode, argType, variableValues, fragmentVariableValues);
182
+ const coercedValue = (0, coerceInputValue_ts_1.coerceInputLiteral)(valueNode, argType, variableValues, fragmentVariableValues);
183
183
  if (coercedValue === undefined) {
184
184
  // Note: ValuesOfCorrectTypeRule validation should catch this before
185
185
  // execution. This is a runtime check to ensure execution does not
186
186
  // continue with an invalid argument value.
187
- (0, validateInputValue_js_1.validateInputLiteral)(valueNode, argType, (error, path) => {
187
+ (0, validateInputValue_ts_1.validateInputLiteral)(valueNode, argType, (error, path) => {
188
188
  // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged
189
- error.message = `${printArgumentOrFragmentVariable(argDef, node)} has invalid value${(0, printPathArray_js_1.printPathArray)(path)}: ${error.message}`;
189
+ error.message = `${printArgumentOrFragmentVariable(argDef, node)} has invalid value${(0, printPathArray_ts_1.printPathArray)(path)}: ${error.message}`;
190
190
  throw error;
191
191
  }, variableValues, fragmentVariableValues, hideSuggestions);
192
- /* c8 ignore next */
193
- (0, invariant_js_1.invariant)(false, 'Invalid argument');
192
+ /* node:coverage ignore next */
193
+ (0, invariant_ts_1.invariant)(false, 'Invalid argument');
194
194
  }
195
195
  coercedValues[argName] = coercedValue;
196
196
  }
197
197
  // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged
198
198
  function printArgumentOrFragmentVariable(argDef, node) {
199
- return (0, definition_js_1.isArgument)(argDef)
199
+ return (0, definition_ts_1.isArgument)(argDef)
200
200
  ? `Argument "${argDef}"`
201
201
  : `Variable "$${argDef.name}" defined by fragment "${node.name.value}"`;
202
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/execution/values.ts"],"names":[],"mappings":"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","sourcesContent":["import { invariant } from '../jsutils/invariant.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap, ReadOnlyObjMap } from '../jsutils/ObjMap.js';\nimport { printPathArray } from '../jsutils/printPathArray.js';\n\nimport { ensureGraphQLError } from '../error/ensureGraphQLError.js';\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type {\n ArgumentNode,\n DirectiveNode,\n FieldNode,\n FragmentArgumentNode,\n FragmentSpreadNode,\n VariableDefinitionNode,\n} from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLArgument, GraphQLField } from '../type/definition.js';\nimport {\n isArgument,\n isNonNullType,\n isRequiredArgument,\n} from '../type/definition.js';\nimport type { GraphQLDirective } from '../type/directives.js';\nimport type { GraphQLSchema } from '../type/schema.js';\nimport { validateDefaultInput } from '../type/validate.js';\n\nimport {\n coerceDefaultValue,\n coerceInputLiteral,\n coerceInputValue,\n} from '../utilities/coerceInputValue.js';\nimport {\n validateInputLiteral,\n validateInputValue,\n} from '../utilities/validateInputValue.js';\n\nimport type { FragmentVariableValues } from './collectFields.js';\nimport type { GraphQLVariableSignature } from './getVariableSignature.js';\nimport { getVariableSignature } from './getVariableSignature.js';\n\nexport interface VariableValues {\n readonly sources: ReadOnlyObjMap<VariableValueSource>;\n readonly coerced: ReadOnlyObjMap<unknown>;\n}\n\ninterface VariableValueSource {\n readonly signature: GraphQLVariableSignature;\n readonly value?: unknown;\n}\n\ntype VariableValuesOrErrors =\n | { variableValues: VariableValues; errors?: never }\n | { errors: ReadonlyArray<GraphQLError>; variableValues?: never };\n\n/**\n * Prepares an object map of variableValues of the correct type based on the\n * provided variable definitions and arbitrary input. If the input cannot be\n * parsed to match the variable definitions, a GraphQLError will be thrown.\n *\n * Note: The `coerced` and `sources` properties of VariableValues use null\n * prototype to avoid collisions with JavaScript's own property names.\n */\nexport function getVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n options?: { maxErrors?: number; hideSuggestions?: boolean },\n): VariableValuesOrErrors {\n const errors: Array<GraphQLError> = [];\n const maxErrors = options?.maxErrors;\n try {\n const variableValues = coerceVariableValues(\n schema,\n varDefNodes,\n inputs,\n (error) => {\n if (maxErrors != null && errors.length >= maxErrors) {\n throw new GraphQLError(\n 'Too many errors processing variables, error limit reached. Execution aborted.',\n );\n }\n errors.push(error);\n },\n options?.hideSuggestions,\n );\n\n if (errors.length === 0) {\n return { variableValues };\n }\n } catch (error) {\n errors.push(ensureGraphQLError(error));\n }\n\n return { errors };\n}\n\nfunction coerceVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n onError: (error: GraphQLError) => void,\n hideSuggestions?: Maybe<boolean>,\n): VariableValues {\n const sources: ObjMap<VariableValueSource> = Object.create(null);\n const coerced: ObjMap<unknown> = Object.create(null);\n for (const varDefNode of varDefNodes) {\n const varSignature = getVariableSignature(schema, varDefNode);\n\n if (varSignature instanceof GraphQLError) {\n onError(varSignature);\n continue;\n }\n\n const { name: varName, type: varType } = varSignature;\n const value = Object.hasOwn(inputs, varName) ? inputs[varName] : undefined;\n if (value === undefined) {\n sources[varName] = { signature: varSignature };\n if (varDefNode.defaultValue) {\n maybeUseDefaultValue(\n coerced,\n varName,\n varSignature,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: varDefNode },\n ),\n );\n },\n hideSuggestions,\n );\n continue;\n } else if (!isNonNullType(varType)) {\n // Non-provided values for nullable variables are omitted.\n continue;\n }\n } else {\n sources[varName] = { signature: varSignature, value };\n }\n\n const coercedValue = coerceInputValue(value, varType);\n if (coercedValue !== undefined) {\n coerced[varName] = coercedValue;\n } else {\n validateInputValue(\n value,\n varType,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid value${printPathArray(path)}: ${\n error.message\n }`,\n { nodes: varDefNode, originalError: error },\n ),\n );\n },\n hideSuggestions,\n );\n }\n }\n\n return { sources, coerced };\n}\n\nfunction maybeUseDefaultValue(\n coercedValues: ObjMap<unknown>,\n name: string,\n inputValue: GraphQLArgument | GraphQLVariableSignature,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n try {\n // coerceDefaultValue assumes validation has already rejected invalid\n // defaults. If validation was skipped, invalid defaults or nested input\n // field defaults can throw here; recover with validation-style errors below.\n const coercedDefaultValue = coerceDefaultValue(inputValue);\n if (coercedDefaultValue !== undefined) {\n coercedValues[name] = coercedDefaultValue;\n }\n } catch (error) {\n const defaultInput = inputValue.default;\n // Defensive: coerceDefaultValue should only throw while coercing a default.\n /* c8 ignore next 3 */\n if (defaultInput === undefined) {\n throw error;\n }\n\n // Prefer validation's user-facing errors for invalid defaults.\n let reportedValidationError = false;\n validateDefaultInput(\n defaultInput,\n inputValue.type,\n (defaultError, path) => {\n reportedValidationError = true;\n onError(defaultError, path);\n },\n hideSuggestions,\n );\n\n if (!reportedValidationError) {\n // The default itself validated, so coercion failed while applying a nested\n // input field default. Surface the original coercion error.\n onError(ensureGraphQLError(error), []);\n }\n }\n}\n\nexport function getFragmentVariableValues(\n fragmentSpreadNode: FragmentSpreadNode,\n fragmentSignatures: ReadOnlyObjMap<GraphQLVariableSignature>,\n variableValues: VariableValues,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): FragmentVariableValues {\n const argumentNodes = fragmentSpreadNode.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n const sources = Object.create(null);\n const coerced = Object.create(null);\n for (const [varName, varSignature] of Object.entries(fragmentSignatures)) {\n sources[varName] = {\n signature: varSignature,\n };\n const argumentNode = argNodeMap.get(varName);\n if (argumentNode !== undefined) {\n const source = sources[varName];\n source.value = argumentNode.value;\n source.fragmentVariableValues = fragmentVariableValues;\n }\n\n coerceArgument(\n coerced,\n fragmentSpreadNode,\n varName,\n varSignature,\n argumentNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n\n return { sources, coerced };\n}\n\n/**\n * Prepares an object map of argument values given a list of argument\n * definitions and list of argument AST nodes.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getArgumentValues(\n def: GraphQLField<unknown, unknown> | GraphQLDirective,\n node: FieldNode | DirectiveNode,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): ObjMap<unknown> {\n const coercedValues: ObjMap<unknown> = Object.create(null);\n\n const argumentNodes = node.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n\n for (const argDef of def.args) {\n const name = argDef.name;\n coerceArgument(\n coercedValues,\n node,\n name,\n argDef,\n argNodeMap.get(argDef.name),\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n return coercedValues;\n}\n\n// eslint-disable-next-line max-params\nfunction coerceArgument(\n coercedValues: ObjMap<unknown>,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n argName: string,\n argDef: GraphQLArgument | GraphQLVariableSignature,\n argumentNode: ArgumentNode | FragmentArgumentNode | undefined,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const argType = argDef.type;\n const onArgDefaultValueError = (\n error: GraphQLError,\n path: ReadonlyArray<string | number>,\n ): never => {\n throw new GraphQLError(\n `${printArgumentOrFragmentVariable(argDef, node)} has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: node },\n );\n };\n\n if (!argumentNode) {\n if (isRequiredArgument(argDef)) {\n // Note: ProvidedRequiredArgumentsRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n throw new GraphQLError(\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n `${printArgumentOrFragmentVariable(argDef, node)} of required type \"${argType}\" was not provided.`,\n { nodes: node },\n );\n }\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n\n const valueNode = argumentNode.value;\n\n // Variables without a value are treated as if no argument was provided if\n // the argument is not required.\n if (valueNode.kind === Kind.VARIABLE) {\n const variableName = valueNode.name.value;\n const scopedVariableValues = fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variableValues;\n if (\n (scopedVariableValues == null ||\n !Object.hasOwn(scopedVariableValues.coerced, variableName)) &&\n !isRequiredArgument(argDef)\n ) {\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n }\n const coercedValue = coerceInputLiteral(\n valueNode,\n argType,\n variableValues,\n fragmentVariableValues,\n );\n if (coercedValue === undefined) {\n // Note: ValuesOfCorrectTypeRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n validateInputLiteral(\n valueNode,\n argType,\n (error, path) => {\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n error.message = `${printArgumentOrFragmentVariable(argDef, node)} has invalid value${printPathArray(\n path,\n )}: ${error.message}`;\n throw error;\n },\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n /* c8 ignore next */\n invariant(false, 'Invalid argument');\n }\n coercedValues[argName] = coercedValue;\n}\n\n// TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\nfunction printArgumentOrFragmentVariable(\n argDef: GraphQLArgument | GraphQLVariableSignature,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n): string {\n return isArgument(argDef)\n ? `Argument \"${argDef}\"`\n : `Variable \"$${argDef.name}\" defined by fragment \"${node.name.value}\"`;\n}\n\n/**\n * Prepares an object map of argument values given a directive definition\n * and a AST node which may contain directives. Optionally also accepts a map\n * of variable values.\n *\n * If the directive does not exist on the node, returns undefined.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getDirectiveValues(\n directiveDef: GraphQLDirective,\n node: { readonly directives?: ReadonlyArray<DirectiveNode> | undefined },\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): undefined | ObjMap<unknown> {\n const directiveNode = node.directives?.find(\n (directive) => directive.name.value === directiveDef.name,\n );\n\n if (directiveNode) {\n return getArgumentValues(\n directiveDef,\n directiveNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/execution/values.ts"],"names":[],"mappings":"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","sourcesContent":["import { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap, ReadOnlyObjMap } from '../jsutils/ObjMap.ts';\nimport { printPathArray } from '../jsutils/printPathArray.ts';\n\nimport { ensureGraphQLError } from '../error/ensureGraphQLError.ts';\nimport { GraphQLError } from '../error/GraphQLError.ts';\n\nimport type {\n ArgumentNode,\n DirectiveNode,\n FieldNode,\n FragmentArgumentNode,\n FragmentSpreadNode,\n VariableDefinitionNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type { GraphQLArgument, GraphQLField } from '../type/definition.ts';\nimport {\n isArgument,\n isNonNullType,\n isRequiredArgument,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\nimport { validateDefaultInput } from '../type/validate.ts';\n\nimport {\n coerceDefaultValue,\n coerceInputLiteral,\n coerceInputValue,\n} from '../utilities/coerceInputValue.ts';\nimport {\n validateInputLiteral,\n validateInputValue,\n} from '../utilities/validateInputValue.ts';\n\nimport type { FragmentVariableValues } from './collectFields.ts';\nimport type { GraphQLVariableSignature } from './getVariableSignature.ts';\nimport { getVariableSignature } from './getVariableSignature.ts';\n\nexport interface VariableValues {\n readonly sources: ReadOnlyObjMap<VariableValueSource>;\n readonly coerced: ReadOnlyObjMap<unknown>;\n}\n\ninterface VariableValueSource {\n readonly signature: GraphQLVariableSignature;\n readonly value?: unknown;\n}\n\ntype VariableValuesOrErrors =\n | { variableValues: VariableValues; errors?: never }\n | { errors: ReadonlyArray<GraphQLError>; variableValues?: never };\n\n/**\n * Prepares an object map of variableValues of the correct type based on the\n * provided variable definitions and arbitrary input. If the input cannot be\n * parsed to match the variable definitions, a GraphQLError will be thrown.\n *\n * Note: The `coerced` and `sources` properties of VariableValues use null\n * prototype to avoid collisions with JavaScript's own property names.\n */\nexport function getVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n options?: { maxErrors?: number; hideSuggestions?: boolean },\n): VariableValuesOrErrors {\n const errors: Array<GraphQLError> = [];\n const maxErrors = options?.maxErrors;\n try {\n const variableValues = coerceVariableValues(\n schema,\n varDefNodes,\n inputs,\n (error) => {\n if (maxErrors != null && errors.length >= maxErrors) {\n throw new GraphQLError(\n 'Too many errors processing variables, error limit reached. Execution aborted.',\n );\n }\n errors.push(error);\n },\n options?.hideSuggestions,\n );\n\n if (errors.length === 0) {\n return { variableValues };\n }\n } catch (error) {\n errors.push(ensureGraphQLError(error));\n }\n\n return { errors };\n}\n\nfunction coerceVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n onError: (error: GraphQLError) => void,\n hideSuggestions?: Maybe<boolean>,\n): VariableValues {\n const sources: ObjMap<VariableValueSource> = Object.create(null);\n const coerced: ObjMap<unknown> = Object.create(null);\n for (const varDefNode of varDefNodes) {\n const varSignature = getVariableSignature(schema, varDefNode);\n\n if (varSignature instanceof GraphQLError) {\n onError(varSignature);\n continue;\n }\n\n const { name: varName, type: varType } = varSignature;\n const value = Object.hasOwn(inputs, varName) ? inputs[varName] : undefined;\n if (value === undefined) {\n sources[varName] = { signature: varSignature };\n if (varDefNode.defaultValue) {\n maybeUseDefaultValue(\n coerced,\n varName,\n varSignature,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: varDefNode },\n ),\n );\n },\n hideSuggestions,\n );\n continue;\n } else if (!isNonNullType(varType)) {\n // Non-provided values for nullable variables are omitted.\n continue;\n }\n } else {\n sources[varName] = { signature: varSignature, value };\n }\n\n const coercedValue = coerceInputValue(value, varType);\n if (coercedValue !== undefined) {\n coerced[varName] = coercedValue;\n } else {\n validateInputValue(\n value,\n varType,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid value${printPathArray(path)}: ${\n error.message\n }`,\n { nodes: varDefNode, originalError: error },\n ),\n );\n },\n hideSuggestions,\n );\n }\n }\n\n return { sources, coerced };\n}\n\nfunction maybeUseDefaultValue(\n coercedValues: ObjMap<unknown>,\n name: string,\n inputValue: GraphQLArgument | GraphQLVariableSignature,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n try {\n // coerceDefaultValue assumes validation has already rejected invalid\n // defaults. If validation was skipped, invalid defaults or nested input\n // field defaults can throw here; recover with validation-style errors below.\n const coercedDefaultValue = coerceDefaultValue(inputValue);\n if (coercedDefaultValue !== undefined) {\n coercedValues[name] = coercedDefaultValue;\n }\n } catch (error) {\n const defaultInput = inputValue.default;\n // Defensive: coerceDefaultValue should only throw while coercing a default.\n /* node:coverage ignore next 3 */\n if (defaultInput === undefined) {\n throw error;\n }\n\n // Prefer validation's user-facing errors for invalid defaults.\n let reportedValidationError = false;\n validateDefaultInput(\n defaultInput,\n inputValue.type,\n (defaultError, path) => {\n reportedValidationError = true;\n onError(defaultError, path);\n },\n hideSuggestions,\n );\n\n if (!reportedValidationError) {\n // The default itself validated, so coercion failed while applying a nested\n // input field default. Surface the original coercion error.\n onError(ensureGraphQLError(error), []);\n }\n }\n}\n\nexport function getFragmentVariableValues(\n fragmentSpreadNode: FragmentSpreadNode,\n fragmentSignatures: ReadOnlyObjMap<GraphQLVariableSignature>,\n variableValues: VariableValues,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): FragmentVariableValues {\n const argumentNodes = fragmentSpreadNode.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n const sources = Object.create(null);\n const coerced = Object.create(null);\n for (const [varName, varSignature] of Object.entries(fragmentSignatures)) {\n sources[varName] = {\n signature: varSignature,\n };\n const argumentNode = argNodeMap.get(varName);\n if (argumentNode !== undefined) {\n const source = sources[varName];\n source.value = argumentNode.value;\n source.fragmentVariableValues = fragmentVariableValues;\n }\n\n coerceArgument(\n coerced,\n fragmentSpreadNode,\n varName,\n varSignature,\n argumentNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n\n return { sources, coerced };\n}\n\n/**\n * Prepares an object map of argument values given a list of argument\n * definitions and list of argument AST nodes.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getArgumentValues(\n def: GraphQLField<unknown, unknown> | GraphQLDirective,\n node: FieldNode | DirectiveNode,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): ObjMap<unknown> {\n const coercedValues: ObjMap<unknown> = Object.create(null);\n\n const argumentNodes = node.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n\n for (const argDef of def.args) {\n const name = argDef.name;\n coerceArgument(\n coercedValues,\n node,\n name,\n argDef,\n argNodeMap.get(argDef.name),\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n return coercedValues;\n}\n\n// eslint-disable-next-line max-params\nfunction coerceArgument(\n coercedValues: ObjMap<unknown>,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n argName: string,\n argDef: GraphQLArgument | GraphQLVariableSignature,\n argumentNode: ArgumentNode | FragmentArgumentNode | undefined,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const argType = argDef.type;\n const onArgDefaultValueError = (\n error: GraphQLError,\n path: ReadonlyArray<string | number>,\n ): never => {\n throw new GraphQLError(\n `${printArgumentOrFragmentVariable(argDef, node)} has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: node },\n );\n };\n\n if (!argumentNode) {\n if (isRequiredArgument(argDef)) {\n // Note: ProvidedRequiredArgumentsRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n throw new GraphQLError(\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n `${printArgumentOrFragmentVariable(argDef, node)} of required type \"${argType}\" was not provided.`,\n { nodes: node },\n );\n }\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n\n const valueNode = argumentNode.value;\n\n // Variables without a value are treated as if no argument was provided if\n // the argument is not required.\n if (valueNode.kind === Kind.VARIABLE) {\n const variableName = valueNode.name.value;\n const scopedVariableValues = fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variableValues;\n if (\n (scopedVariableValues == null ||\n !Object.hasOwn(scopedVariableValues.coerced, variableName)) &&\n !isRequiredArgument(argDef)\n ) {\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n }\n const coercedValue = coerceInputLiteral(\n valueNode,\n argType,\n variableValues,\n fragmentVariableValues,\n );\n if (coercedValue === undefined) {\n // Note: ValuesOfCorrectTypeRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n validateInputLiteral(\n valueNode,\n argType,\n (error, path) => {\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n error.message = `${printArgumentOrFragmentVariable(argDef, node)} has invalid value${printPathArray(\n path,\n )}: ${error.message}`;\n throw error;\n },\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n /* node:coverage ignore next */\n invariant(false, 'Invalid argument');\n }\n coercedValues[argName] = coercedValue;\n}\n\n// TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\nfunction printArgumentOrFragmentVariable(\n argDef: GraphQLArgument | GraphQLVariableSignature,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n): string {\n return isArgument(argDef)\n ? `Argument \"${argDef}\"`\n : `Variable \"$${argDef.name}\" defined by fragment \"${node.name.value}\"`;\n}\n\n/**\n * Prepares an object map of argument values given a directive definition\n * and a AST node which may contain directives. Optionally also accepts a map\n * of variable values.\n *\n * If the directive does not exist on the node, returns undefined.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getDirectiveValues(\n directiveDef: GraphQLDirective,\n node: { readonly directives?: ReadonlyArray<DirectiveNode> | undefined },\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): undefined | ObjMap<unknown> {\n const directiveNode = node.directives?.find(\n (directive) => directive.name.value === directiveDef.name,\n );\n\n if (directiveNode) {\n return getArgumentValues(\n directiveDef,\n directiveNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n}\n"]}
@@ -87,7 +87,7 @@ function maybeUseDefaultValue(coercedValues, name, inputValue, onError, hideSugg
87
87
  catch (error) {
88
88
  const defaultInput = inputValue.default;
89
89
  // Defensive: coerceDefaultValue should only throw while coercing a default.
90
- /* c8 ignore next 3 */
90
+ /* node:coverage ignore next 3 */
91
91
  if (defaultInput === undefined) {
92
92
  throw error;
93
93
  }
@@ -183,7 +183,7 @@ function coerceArgument(coercedValues, node, argName, argDef, argumentNode, vari
183
183
  error.message = `${printArgumentOrFragmentVariable(argDef, node)} has invalid value${printPathArray(path)}: ${error.message}`;
184
184
  throw error;
185
185
  }, variableValues, fragmentVariableValues, hideSuggestions);
186
- /* c8 ignore next */
186
+ /* node:coverage ignore next */
187
187
  invariant(false, 'Invalid argument');
188
188
  }
189
189
  coercedValues[argName] = coercedValue;
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/execution/values.ts"],"names":[],"mappings":"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","sourcesContent":["import { invariant } from '../jsutils/invariant.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap, ReadOnlyObjMap } from '../jsutils/ObjMap.js';\nimport { printPathArray } from '../jsutils/printPathArray.js';\n\nimport { ensureGraphQLError } from '../error/ensureGraphQLError.js';\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type {\n ArgumentNode,\n DirectiveNode,\n FieldNode,\n FragmentArgumentNode,\n FragmentSpreadNode,\n VariableDefinitionNode,\n} from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLArgument, GraphQLField } from '../type/definition.js';\nimport {\n isArgument,\n isNonNullType,\n isRequiredArgument,\n} from '../type/definition.js';\nimport type { GraphQLDirective } from '../type/directives.js';\nimport type { GraphQLSchema } from '../type/schema.js';\nimport { validateDefaultInput } from '../type/validate.js';\n\nimport {\n coerceDefaultValue,\n coerceInputLiteral,\n coerceInputValue,\n} from '../utilities/coerceInputValue.js';\nimport {\n validateInputLiteral,\n validateInputValue,\n} from '../utilities/validateInputValue.js';\n\nimport type { FragmentVariableValues } from './collectFields.js';\nimport type { GraphQLVariableSignature } from './getVariableSignature.js';\nimport { getVariableSignature } from './getVariableSignature.js';\n\nexport interface VariableValues {\n readonly sources: ReadOnlyObjMap<VariableValueSource>;\n readonly coerced: ReadOnlyObjMap<unknown>;\n}\n\ninterface VariableValueSource {\n readonly signature: GraphQLVariableSignature;\n readonly value?: unknown;\n}\n\ntype VariableValuesOrErrors =\n | { variableValues: VariableValues; errors?: never }\n | { errors: ReadonlyArray<GraphQLError>; variableValues?: never };\n\n/**\n * Prepares an object map of variableValues of the correct type based on the\n * provided variable definitions and arbitrary input. If the input cannot be\n * parsed to match the variable definitions, a GraphQLError will be thrown.\n *\n * Note: The `coerced` and `sources` properties of VariableValues use null\n * prototype to avoid collisions with JavaScript's own property names.\n */\nexport function getVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n options?: { maxErrors?: number; hideSuggestions?: boolean },\n): VariableValuesOrErrors {\n const errors: Array<GraphQLError> = [];\n const maxErrors = options?.maxErrors;\n try {\n const variableValues = coerceVariableValues(\n schema,\n varDefNodes,\n inputs,\n (error) => {\n if (maxErrors != null && errors.length >= maxErrors) {\n throw new GraphQLError(\n 'Too many errors processing variables, error limit reached. Execution aborted.',\n );\n }\n errors.push(error);\n },\n options?.hideSuggestions,\n );\n\n if (errors.length === 0) {\n return { variableValues };\n }\n } catch (error) {\n errors.push(ensureGraphQLError(error));\n }\n\n return { errors };\n}\n\nfunction coerceVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n onError: (error: GraphQLError) => void,\n hideSuggestions?: Maybe<boolean>,\n): VariableValues {\n const sources: ObjMap<VariableValueSource> = Object.create(null);\n const coerced: ObjMap<unknown> = Object.create(null);\n for (const varDefNode of varDefNodes) {\n const varSignature = getVariableSignature(schema, varDefNode);\n\n if (varSignature instanceof GraphQLError) {\n onError(varSignature);\n continue;\n }\n\n const { name: varName, type: varType } = varSignature;\n const value = Object.hasOwn(inputs, varName) ? inputs[varName] : undefined;\n if (value === undefined) {\n sources[varName] = { signature: varSignature };\n if (varDefNode.defaultValue) {\n maybeUseDefaultValue(\n coerced,\n varName,\n varSignature,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: varDefNode },\n ),\n );\n },\n hideSuggestions,\n );\n continue;\n } else if (!isNonNullType(varType)) {\n // Non-provided values for nullable variables are omitted.\n continue;\n }\n } else {\n sources[varName] = { signature: varSignature, value };\n }\n\n const coercedValue = coerceInputValue(value, varType);\n if (coercedValue !== undefined) {\n coerced[varName] = coercedValue;\n } else {\n validateInputValue(\n value,\n varType,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid value${printPathArray(path)}: ${\n error.message\n }`,\n { nodes: varDefNode, originalError: error },\n ),\n );\n },\n hideSuggestions,\n );\n }\n }\n\n return { sources, coerced };\n}\n\nfunction maybeUseDefaultValue(\n coercedValues: ObjMap<unknown>,\n name: string,\n inputValue: GraphQLArgument | GraphQLVariableSignature,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n try {\n // coerceDefaultValue assumes validation has already rejected invalid\n // defaults. If validation was skipped, invalid defaults or nested input\n // field defaults can throw here; recover with validation-style errors below.\n const coercedDefaultValue = coerceDefaultValue(inputValue);\n if (coercedDefaultValue !== undefined) {\n coercedValues[name] = coercedDefaultValue;\n }\n } catch (error) {\n const defaultInput = inputValue.default;\n // Defensive: coerceDefaultValue should only throw while coercing a default.\n /* c8 ignore next 3 */\n if (defaultInput === undefined) {\n throw error;\n }\n\n // Prefer validation's user-facing errors for invalid defaults.\n let reportedValidationError = false;\n validateDefaultInput(\n defaultInput,\n inputValue.type,\n (defaultError, path) => {\n reportedValidationError = true;\n onError(defaultError, path);\n },\n hideSuggestions,\n );\n\n if (!reportedValidationError) {\n // The default itself validated, so coercion failed while applying a nested\n // input field default. Surface the original coercion error.\n onError(ensureGraphQLError(error), []);\n }\n }\n}\n\nexport function getFragmentVariableValues(\n fragmentSpreadNode: FragmentSpreadNode,\n fragmentSignatures: ReadOnlyObjMap<GraphQLVariableSignature>,\n variableValues: VariableValues,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): FragmentVariableValues {\n const argumentNodes = fragmentSpreadNode.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n const sources = Object.create(null);\n const coerced = Object.create(null);\n for (const [varName, varSignature] of Object.entries(fragmentSignatures)) {\n sources[varName] = {\n signature: varSignature,\n };\n const argumentNode = argNodeMap.get(varName);\n if (argumentNode !== undefined) {\n const source = sources[varName];\n source.value = argumentNode.value;\n source.fragmentVariableValues = fragmentVariableValues;\n }\n\n coerceArgument(\n coerced,\n fragmentSpreadNode,\n varName,\n varSignature,\n argumentNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n\n return { sources, coerced };\n}\n\n/**\n * Prepares an object map of argument values given a list of argument\n * definitions and list of argument AST nodes.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getArgumentValues(\n def: GraphQLField<unknown, unknown> | GraphQLDirective,\n node: FieldNode | DirectiveNode,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): ObjMap<unknown> {\n const coercedValues: ObjMap<unknown> = Object.create(null);\n\n const argumentNodes = node.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n\n for (const argDef of def.args) {\n const name = argDef.name;\n coerceArgument(\n coercedValues,\n node,\n name,\n argDef,\n argNodeMap.get(argDef.name),\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n return coercedValues;\n}\n\n// eslint-disable-next-line max-params\nfunction coerceArgument(\n coercedValues: ObjMap<unknown>,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n argName: string,\n argDef: GraphQLArgument | GraphQLVariableSignature,\n argumentNode: ArgumentNode | FragmentArgumentNode | undefined,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const argType = argDef.type;\n const onArgDefaultValueError = (\n error: GraphQLError,\n path: ReadonlyArray<string | number>,\n ): never => {\n throw new GraphQLError(\n `${printArgumentOrFragmentVariable(argDef, node)} has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: node },\n );\n };\n\n if (!argumentNode) {\n if (isRequiredArgument(argDef)) {\n // Note: ProvidedRequiredArgumentsRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n throw new GraphQLError(\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n `${printArgumentOrFragmentVariable(argDef, node)} of required type \"${argType}\" was not provided.`,\n { nodes: node },\n );\n }\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n\n const valueNode = argumentNode.value;\n\n // Variables without a value are treated as if no argument was provided if\n // the argument is not required.\n if (valueNode.kind === Kind.VARIABLE) {\n const variableName = valueNode.name.value;\n const scopedVariableValues = fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variableValues;\n if (\n (scopedVariableValues == null ||\n !Object.hasOwn(scopedVariableValues.coerced, variableName)) &&\n !isRequiredArgument(argDef)\n ) {\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n }\n const coercedValue = coerceInputLiteral(\n valueNode,\n argType,\n variableValues,\n fragmentVariableValues,\n );\n if (coercedValue === undefined) {\n // Note: ValuesOfCorrectTypeRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n validateInputLiteral(\n valueNode,\n argType,\n (error, path) => {\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n error.message = `${printArgumentOrFragmentVariable(argDef, node)} has invalid value${printPathArray(\n path,\n )}: ${error.message}`;\n throw error;\n },\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n /* c8 ignore next */\n invariant(false, 'Invalid argument');\n }\n coercedValues[argName] = coercedValue;\n}\n\n// TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\nfunction printArgumentOrFragmentVariable(\n argDef: GraphQLArgument | GraphQLVariableSignature,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n): string {\n return isArgument(argDef)\n ? `Argument \"${argDef}\"`\n : `Variable \"$${argDef.name}\" defined by fragment \"${node.name.value}\"`;\n}\n\n/**\n * Prepares an object map of argument values given a directive definition\n * and a AST node which may contain directives. Optionally also accepts a map\n * of variable values.\n *\n * If the directive does not exist on the node, returns undefined.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getDirectiveValues(\n directiveDef: GraphQLDirective,\n node: { readonly directives?: ReadonlyArray<DirectiveNode> | undefined },\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): undefined | ObjMap<unknown> {\n const directiveNode = node.directives?.find(\n (directive) => directive.name.value === directiveDef.name,\n );\n\n if (directiveNode) {\n return getArgumentValues(\n directiveDef,\n directiveNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/execution/values.ts"],"names":[],"mappings":"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","sourcesContent":["import { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap, ReadOnlyObjMap } from '../jsutils/ObjMap.ts';\nimport { printPathArray } from '../jsutils/printPathArray.ts';\n\nimport { ensureGraphQLError } from '../error/ensureGraphQLError.ts';\nimport { GraphQLError } from '../error/GraphQLError.ts';\n\nimport type {\n ArgumentNode,\n DirectiveNode,\n FieldNode,\n FragmentArgumentNode,\n FragmentSpreadNode,\n VariableDefinitionNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type { GraphQLArgument, GraphQLField } from '../type/definition.ts';\nimport {\n isArgument,\n isNonNullType,\n isRequiredArgument,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\nimport { validateDefaultInput } from '../type/validate.ts';\n\nimport {\n coerceDefaultValue,\n coerceInputLiteral,\n coerceInputValue,\n} from '../utilities/coerceInputValue.ts';\nimport {\n validateInputLiteral,\n validateInputValue,\n} from '../utilities/validateInputValue.ts';\n\nimport type { FragmentVariableValues } from './collectFields.ts';\nimport type { GraphQLVariableSignature } from './getVariableSignature.ts';\nimport { getVariableSignature } from './getVariableSignature.ts';\n\nexport interface VariableValues {\n readonly sources: ReadOnlyObjMap<VariableValueSource>;\n readonly coerced: ReadOnlyObjMap<unknown>;\n}\n\ninterface VariableValueSource {\n readonly signature: GraphQLVariableSignature;\n readonly value?: unknown;\n}\n\ntype VariableValuesOrErrors =\n | { variableValues: VariableValues; errors?: never }\n | { errors: ReadonlyArray<GraphQLError>; variableValues?: never };\n\n/**\n * Prepares an object map of variableValues of the correct type based on the\n * provided variable definitions and arbitrary input. If the input cannot be\n * parsed to match the variable definitions, a GraphQLError will be thrown.\n *\n * Note: The `coerced` and `sources` properties of VariableValues use null\n * prototype to avoid collisions with JavaScript's own property names.\n */\nexport function getVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n options?: { maxErrors?: number; hideSuggestions?: boolean },\n): VariableValuesOrErrors {\n const errors: Array<GraphQLError> = [];\n const maxErrors = options?.maxErrors;\n try {\n const variableValues = coerceVariableValues(\n schema,\n varDefNodes,\n inputs,\n (error) => {\n if (maxErrors != null && errors.length >= maxErrors) {\n throw new GraphQLError(\n 'Too many errors processing variables, error limit reached. Execution aborted.',\n );\n }\n errors.push(error);\n },\n options?.hideSuggestions,\n );\n\n if (errors.length === 0) {\n return { variableValues };\n }\n } catch (error) {\n errors.push(ensureGraphQLError(error));\n }\n\n return { errors };\n}\n\nfunction coerceVariableValues(\n schema: GraphQLSchema,\n varDefNodes: ReadonlyArray<VariableDefinitionNode>,\n inputs: { readonly [variable: string]: unknown },\n onError: (error: GraphQLError) => void,\n hideSuggestions?: Maybe<boolean>,\n): VariableValues {\n const sources: ObjMap<VariableValueSource> = Object.create(null);\n const coerced: ObjMap<unknown> = Object.create(null);\n for (const varDefNode of varDefNodes) {\n const varSignature = getVariableSignature(schema, varDefNode);\n\n if (varSignature instanceof GraphQLError) {\n onError(varSignature);\n continue;\n }\n\n const { name: varName, type: varType } = varSignature;\n const value = Object.hasOwn(inputs, varName) ? inputs[varName] : undefined;\n if (value === undefined) {\n sources[varName] = { signature: varSignature };\n if (varDefNode.defaultValue) {\n maybeUseDefaultValue(\n coerced,\n varName,\n varSignature,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: varDefNode },\n ),\n );\n },\n hideSuggestions,\n );\n continue;\n } else if (!isNonNullType(varType)) {\n // Non-provided values for nullable variables are omitted.\n continue;\n }\n } else {\n sources[varName] = { signature: varSignature, value };\n }\n\n const coercedValue = coerceInputValue(value, varType);\n if (coercedValue !== undefined) {\n coerced[varName] = coercedValue;\n } else {\n validateInputValue(\n value,\n varType,\n (error, path) => {\n onError(\n new GraphQLError(\n `Variable \"$${varName}\" has invalid value${printPathArray(path)}: ${\n error.message\n }`,\n { nodes: varDefNode, originalError: error },\n ),\n );\n },\n hideSuggestions,\n );\n }\n }\n\n return { sources, coerced };\n}\n\nfunction maybeUseDefaultValue(\n coercedValues: ObjMap<unknown>,\n name: string,\n inputValue: GraphQLArgument | GraphQLVariableSignature,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n try {\n // coerceDefaultValue assumes validation has already rejected invalid\n // defaults. If validation was skipped, invalid defaults or nested input\n // field defaults can throw here; recover with validation-style errors below.\n const coercedDefaultValue = coerceDefaultValue(inputValue);\n if (coercedDefaultValue !== undefined) {\n coercedValues[name] = coercedDefaultValue;\n }\n } catch (error) {\n const defaultInput = inputValue.default;\n // Defensive: coerceDefaultValue should only throw while coercing a default.\n /* node:coverage ignore next 3 */\n if (defaultInput === undefined) {\n throw error;\n }\n\n // Prefer validation's user-facing errors for invalid defaults.\n let reportedValidationError = false;\n validateDefaultInput(\n defaultInput,\n inputValue.type,\n (defaultError, path) => {\n reportedValidationError = true;\n onError(defaultError, path);\n },\n hideSuggestions,\n );\n\n if (!reportedValidationError) {\n // The default itself validated, so coercion failed while applying a nested\n // input field default. Surface the original coercion error.\n onError(ensureGraphQLError(error), []);\n }\n }\n}\n\nexport function getFragmentVariableValues(\n fragmentSpreadNode: FragmentSpreadNode,\n fragmentSignatures: ReadOnlyObjMap<GraphQLVariableSignature>,\n variableValues: VariableValues,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): FragmentVariableValues {\n const argumentNodes = fragmentSpreadNode.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n const sources = Object.create(null);\n const coerced = Object.create(null);\n for (const [varName, varSignature] of Object.entries(fragmentSignatures)) {\n sources[varName] = {\n signature: varSignature,\n };\n const argumentNode = argNodeMap.get(varName);\n if (argumentNode !== undefined) {\n const source = sources[varName];\n source.value = argumentNode.value;\n source.fragmentVariableValues = fragmentVariableValues;\n }\n\n coerceArgument(\n coerced,\n fragmentSpreadNode,\n varName,\n varSignature,\n argumentNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n\n return { sources, coerced };\n}\n\n/**\n * Prepares an object map of argument values given a list of argument\n * definitions and list of argument AST nodes.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getArgumentValues(\n def: GraphQLField<unknown, unknown> | GraphQLDirective,\n node: FieldNode | DirectiveNode,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): ObjMap<unknown> {\n const coercedValues: ObjMap<unknown> = Object.create(null);\n\n const argumentNodes = node.arguments ?? [];\n const argNodeMap = new Map(argumentNodes.map((arg) => [arg.name.value, arg]));\n\n for (const argDef of def.args) {\n const name = argDef.name;\n coerceArgument(\n coercedValues,\n node,\n name,\n argDef,\n argNodeMap.get(argDef.name),\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n return coercedValues;\n}\n\n// eslint-disable-next-line max-params\nfunction coerceArgument(\n coercedValues: ObjMap<unknown>,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n argName: string,\n argDef: GraphQLArgument | GraphQLVariableSignature,\n argumentNode: ArgumentNode | FragmentArgumentNode | undefined,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const argType = argDef.type;\n const onArgDefaultValueError = (\n error: GraphQLError,\n path: ReadonlyArray<string | number>,\n ): never => {\n throw new GraphQLError(\n `${printArgumentOrFragmentVariable(argDef, node)} has invalid default value${printPathArray(path)}: ${error.message}`,\n { nodes: node },\n );\n };\n\n if (!argumentNode) {\n if (isRequiredArgument(argDef)) {\n // Note: ProvidedRequiredArgumentsRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n throw new GraphQLError(\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n `${printArgumentOrFragmentVariable(argDef, node)} of required type \"${argType}\" was not provided.`,\n { nodes: node },\n );\n }\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n\n const valueNode = argumentNode.value;\n\n // Variables without a value are treated as if no argument was provided if\n // the argument is not required.\n if (valueNode.kind === Kind.VARIABLE) {\n const variableName = valueNode.name.value;\n const scopedVariableValues = fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variableValues;\n if (\n (scopedVariableValues == null ||\n !Object.hasOwn(scopedVariableValues.coerced, variableName)) &&\n !isRequiredArgument(argDef)\n ) {\n maybeUseDefaultValue(\n coercedValues,\n argName,\n argDef,\n onArgDefaultValueError,\n hideSuggestions,\n );\n return;\n }\n }\n const coercedValue = coerceInputLiteral(\n valueNode,\n argType,\n variableValues,\n fragmentVariableValues,\n );\n if (coercedValue === undefined) {\n // Note: ValuesOfCorrectTypeRule validation should catch this before\n // execution. This is a runtime check to ensure execution does not\n // continue with an invalid argument value.\n validateInputLiteral(\n valueNode,\n argType,\n (error, path) => {\n // TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\n error.message = `${printArgumentOrFragmentVariable(argDef, node)} has invalid value${printPathArray(\n path,\n )}: ${error.message}`;\n throw error;\n },\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n /* node:coverage ignore next */\n invariant(false, 'Invalid argument');\n }\n coercedValues[argName] = coercedValue;\n}\n\n// TODO: clean up the naming of isRequiredArgument(), isArgument(), and argDef if/when experimental fragment variables are merged\nfunction printArgumentOrFragmentVariable(\n argDef: GraphQLArgument | GraphQLVariableSignature,\n node: FieldNode | DirectiveNode | FragmentSpreadNode,\n): string {\n return isArgument(argDef)\n ? `Argument \"${argDef}\"`\n : `Variable \"$${argDef.name}\" defined by fragment \"${node.name.value}\"`;\n}\n\n/**\n * Prepares an object map of argument values given a directive definition\n * and a AST node which may contain directives. Optionally also accepts a map\n * of variable values.\n *\n * If the directive does not exist on the node, returns undefined.\n *\n * Note: The returned value uses a null prototype to avoid collisions with\n * JavaScript's own property names.\n */\nexport function getDirectiveValues(\n directiveDef: GraphQLDirective,\n node: { readonly directives?: ReadonlyArray<DirectiveNode> | undefined },\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): undefined | ObjMap<unknown> {\n const directiveNode = node.directives?.find(\n (directive) => directive.name.value === directiveDef.name,\n );\n\n if (directiveNode) {\n return getArgumentValues(\n directiveDef,\n directiveNode,\n variableValues,\n fragmentVariableValues,\n hideSuggestions,\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { PromiseOrValue } from '../jsutils/PromiseOrValue.js';
1
+ import type { PromiseOrValue } from "../jsutils/PromiseOrValue.mjs";
2
2
  /**
3
3
  * Given an AsyncGenerator and provided functions, return an AsyncGenerator
4
4
  * which calls the given functions when the generator is abruptly closed,
@@ -1,4 +1,4 @@
1
- import type { PromiseOrValue } from '../jsutils/PromiseOrValue.js';
1
+ import type { PromiseOrValue } from "../jsutils/PromiseOrValue.js";
2
2
  /**
3
3
  * Given an AsyncGenerator and provided functions, return an AsyncGenerator
4
4
  * which calls the given functions when the generator is abruptly closed,
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withConcurrentAbruptClose = withConcurrentAbruptClose;
4
- const isPromise_js_1 = require("../jsutils/isPromise.js");
5
- const asyncDispose = Symbol.asyncDispose /* c8 ignore start */ ??
6
- Symbol.for('Symbol.asyncDispose'); /* c8 ignore stop */
4
+ const isPromise_ts_1 = require("../jsutils/isPromise.js");
5
+ /* node:coverage ignore next 2 */
6
+ const asyncDispose = Symbol.asyncDispose ?? Symbol.for('Symbol.asyncDispose');
7
7
  /**
8
8
  * Given an AsyncGenerator and provided functions, return an AsyncGenerator
9
9
  * which calls the given functions when the generator is abruptly closed,
@@ -59,7 +59,7 @@ function withConcurrentAbruptClose(generator, beforeReturn, beforeThrow = before
59
59
  function ignoreErrors(fn) {
60
60
  try {
61
61
  const result = fn();
62
- if ((0, isPromise_js_1.isPromise)(result)) {
62
+ if ((0, isPromise_ts_1.isPromise)(result)) {
63
63
  return result.catch(() => {
64
64
  // ignore error
65
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"withConcurrentAbruptClose.js","sourceRoot":"","sources":["../../src/execution/withConcurrentAbruptClose.ts"],"names":[],"mappings":";;AAkBA,8DA8CC;AAhED,0DAAoD;AAGpD,MAAM,YAAY,GAChB,MAAM,CAAC,YAAY,CAAC,qBAAqB;IACzC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB;AAEzD;;;;;;;;;;GAUG;AACH,SAAgB,yBAAyB,CACvC,SAAwC,EACxC,YAAwC,EACxC,cAAyD,YAAY;IAErE,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,MAAM,gBAAgB,GAAG,CAAC,EAA8B,EAAE,EAAE;QAC1D,IAAI,SAAS,IAAI,oBAAoB,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,oBAAoB,GAAG,IAAI,CAAC;QAC5B,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI;YACF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM;iBACH,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACrC,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAe;YACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC;YAClB,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACrC,IAAI,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClD,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,EAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,IAAI,IAAA,wBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvB,eAAe;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC","sourcesContent":["import { isPromise } from '../jsutils/isPromise.js';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.js';\n\nconst asyncDispose: typeof Symbol.asyncDispose =\n Symbol.asyncDispose /* c8 ignore start */ ??\n Symbol.for('Symbol.asyncDispose'); /* c8 ignore stop */\n\n/**\n * Given an AsyncGenerator and provided functions, return an AsyncGenerator\n * which calls the given functions when the generator is abruptly closed,\n * calling the functions immediately even if the generator is paused.\n *\n * This is useful for allowing return and throw to trigger logic even if the\n * generator is paused on a pending await within a `next()` call (including\n * if that logic can cause that hanging `next()` call to return early).\n *\n * Errors from the provided functions are ignored.\n */\nexport function withConcurrentAbruptClose<T>(\n generator: AsyncGenerator<T, void, void>,\n beforeReturn: () => PromiseOrValue<void>,\n beforeThrow: (error?: unknown) => PromiseOrValue<void> = beforeReturn,\n): AsyncGenerator<T, void, void> {\n let completed = false;\n let abruptCloseRequested = false;\n\n const runAbruptCloseFn = (fn: () => PromiseOrValue<void>) => {\n if (completed || abruptCloseRequested) {\n return;\n }\n abruptCloseRequested = true;\n return ignoreErrors(fn);\n };\n\n return {\n [Symbol.asyncIterator]() {\n return this;\n },\n next() {\n const result = generator.next();\n result\n .then((iteration) => {\n if (iteration.done) {\n completed = true;\n }\n })\n .catch(() => undefined);\n return result;\n },\n async return() {\n await runAbruptCloseFn(beforeReturn);\n return generator.return();\n },\n async throw(error?: unknown) {\n await runAbruptCloseFn(() => beforeThrow(error));\n return generator.throw(error);\n },\n async [asyncDispose]() {\n await runAbruptCloseFn(beforeReturn);\n if (typeof generator[asyncDispose] === 'function') {\n await generator[asyncDispose]();\n }\n },\n };\n}\n\nfunction ignoreErrors(\n fn: () => PromiseOrValue<unknown>,\n): PromiseOrValue<unknown> {\n try {\n const result = fn();\n if (isPromise(result)) {\n return result.catch(() => {\n // ignore error\n });\n }\n } catch {\n // ignore error\n }\n}\n"]}
1
+ {"version":3,"file":"withConcurrentAbruptClose.js","sourceRoot":"","sources":["../../src/execution/withConcurrentAbruptClose.ts"],"names":[],"mappings":";;AAkBA,8DA8CC;AAhED,0DAAoD;AAGpD,iCAAiC;AACjC,MAAM,YAAY,GAChB,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,SAAgB,yBAAyB,CACvC,SAAwC,EACxC,YAAwC,EACxC,cAAyD,YAAY;IAErE,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,MAAM,gBAAgB,GAAG,CAAC,EAA8B,EAAE,EAAE;QAC1D,IAAI,SAAS,IAAI,oBAAoB,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,oBAAoB,GAAG,IAAI,CAAC;QAC5B,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI;YACF,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM;iBACH,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACrC,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAe;YACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC;YAClB,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACrC,IAAI,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,UAAU,EAAE,CAAC;gBAClD,MAAM,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,EAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,IAAI,IAAA,wBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvB,eAAe;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC","sourcesContent":["import { isPromise } from '../jsutils/isPromise.ts';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.ts';\n\n/* node:coverage ignore next 2 */\nconst asyncDispose: typeof Symbol.asyncDispose =\n Symbol.asyncDispose ?? Symbol.for('Symbol.asyncDispose');\n\n/**\n * Given an AsyncGenerator and provided functions, return an AsyncGenerator\n * which calls the given functions when the generator is abruptly closed,\n * calling the functions immediately even if the generator is paused.\n *\n * This is useful for allowing return and throw to trigger logic even if the\n * generator is paused on a pending await within a `next()` call (including\n * if that logic can cause that hanging `next()` call to return early).\n *\n * Errors from the provided functions are ignored.\n */\nexport function withConcurrentAbruptClose<T>(\n generator: AsyncGenerator<T, void, void>,\n beforeReturn: () => PromiseOrValue<void>,\n beforeThrow: (error?: unknown) => PromiseOrValue<void> = beforeReturn,\n): AsyncGenerator<T, void, void> {\n let completed = false;\n let abruptCloseRequested = false;\n\n const runAbruptCloseFn = (fn: () => PromiseOrValue<void>) => {\n if (completed || abruptCloseRequested) {\n return;\n }\n abruptCloseRequested = true;\n return ignoreErrors(fn);\n };\n\n return {\n [Symbol.asyncIterator]() {\n return this;\n },\n next() {\n const result = generator.next();\n result\n .then((iteration) => {\n if (iteration.done) {\n completed = true;\n }\n })\n .catch(() => undefined);\n return result;\n },\n async return() {\n await runAbruptCloseFn(beforeReturn);\n return generator.return();\n },\n async throw(error?: unknown) {\n await runAbruptCloseFn(() => beforeThrow(error));\n return generator.throw(error);\n },\n async [asyncDispose]() {\n await runAbruptCloseFn(beforeReturn);\n if (typeof generator[asyncDispose] === 'function') {\n await generator[asyncDispose]();\n }\n },\n };\n}\n\nfunction ignoreErrors(\n fn: () => PromiseOrValue<unknown>,\n): PromiseOrValue<unknown> {\n try {\n const result = fn();\n if (isPromise(result)) {\n return result.catch(() => {\n // ignore error\n });\n }\n } catch {\n // ignore error\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { isPromise } from "../jsutils/isPromise.mjs";
2
- const asyncDispose = Symbol.asyncDispose /* c8 ignore start */ ??
3
- Symbol.for('Symbol.asyncDispose'); /* c8 ignore stop */
2
+ /* node:coverage ignore next 2 */
3
+ const asyncDispose = Symbol.asyncDispose ?? Symbol.for('Symbol.asyncDispose');
4
4
  /**
5
5
  * Given an AsyncGenerator and provided functions, return an AsyncGenerator
6
6
  * which calls the given functions when the generator is abruptly closed,