graphql 17.0.0-alpha.8 → 17.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1267) hide show
  1. package/README.md +54 -10
  2. package/__dev__/devMode.d.mts +1 -0
  3. package/__dev__/devMode.d.ts +1 -0
  4. package/__dev__/devMode.js +3 -0
  5. package/__dev__/devMode.mjs +3 -0
  6. package/__dev__/error/GraphQLError.d.mts +1 -0
  7. package/__dev__/error/GraphQLError.d.ts +1 -0
  8. package/__dev__/error/GraphQLError.js +3 -0
  9. package/__dev__/error/GraphQLError.mjs +3 -0
  10. package/__dev__/error/ensureGraphQLError.d.mts +1 -0
  11. package/__dev__/error/ensureGraphQLError.d.ts +1 -0
  12. package/__dev__/error/ensureGraphQLError.js +3 -0
  13. package/__dev__/error/ensureGraphQLError.mjs +3 -0
  14. package/__dev__/error/index.d.mts +1 -0
  15. package/__dev__/error/index.d.ts +1 -0
  16. package/__dev__/error/index.js +3 -0
  17. package/__dev__/error/index.mjs +3 -0
  18. package/__dev__/error/locatedError.d.mts +1 -0
  19. package/__dev__/error/locatedError.d.ts +1 -0
  20. package/__dev__/error/locatedError.js +3 -0
  21. package/__dev__/error/locatedError.mjs +3 -0
  22. package/__dev__/error/syntaxError.d.mts +1 -0
  23. package/__dev__/error/syntaxError.d.ts +1 -0
  24. package/__dev__/error/syntaxError.js +3 -0
  25. package/__dev__/error/syntaxError.mjs +3 -0
  26. package/__dev__/execution/AbortedGraphQLExecutionError.d.mts +1 -0
  27. package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -0
  28. package/__dev__/execution/AbortedGraphQLExecutionError.js +3 -0
  29. package/__dev__/execution/AbortedGraphQLExecutionError.mjs +3 -0
  30. package/__dev__/execution/AsyncWorkTracker.d.mts +1 -0
  31. package/__dev__/execution/AsyncWorkTracker.d.ts +1 -0
  32. package/__dev__/execution/AsyncWorkTracker.js +3 -0
  33. package/__dev__/execution/AsyncWorkTracker.mjs +3 -0
  34. package/__dev__/execution/Executor.d.mts +1 -0
  35. package/__dev__/execution/Executor.d.ts +1 -0
  36. package/__dev__/execution/Executor.js +3 -0
  37. package/__dev__/execution/Executor.mjs +3 -0
  38. package/__dev__/execution/ExecutorThrowingOnIncremental.d.mts +1 -0
  39. package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -0
  40. package/__dev__/execution/ExecutorThrowingOnIncremental.js +3 -0
  41. package/__dev__/execution/ExecutorThrowingOnIncremental.mjs +3 -0
  42. package/__dev__/execution/cancellablePromise.d.mts +1 -0
  43. package/__dev__/execution/cancellablePromise.d.ts +1 -0
  44. package/__dev__/execution/cancellablePromise.js +3 -0
  45. package/__dev__/execution/cancellablePromise.mjs +3 -0
  46. package/__dev__/execution/collectFields.d.mts +1 -0
  47. package/__dev__/execution/collectFields.d.ts +1 -0
  48. package/__dev__/execution/collectFields.js +3 -0
  49. package/__dev__/execution/collectFields.mjs +3 -0
  50. package/__dev__/execution/collectIteratorPromises.d.mts +1 -0
  51. package/__dev__/execution/collectIteratorPromises.d.ts +1 -0
  52. package/__dev__/execution/collectIteratorPromises.js +3 -0
  53. package/__dev__/execution/collectIteratorPromises.mjs +3 -0
  54. package/__dev__/execution/createSharedExecutionContext.d.mts +1 -0
  55. package/__dev__/execution/createSharedExecutionContext.d.ts +1 -0
  56. package/__dev__/execution/createSharedExecutionContext.js +3 -0
  57. package/__dev__/execution/createSharedExecutionContext.mjs +3 -0
  58. package/__dev__/execution/execute.d.mts +1 -0
  59. package/__dev__/execution/execute.d.ts +1 -0
  60. package/__dev__/execution/execute.js +3 -0
  61. package/__dev__/execution/execute.mjs +3 -0
  62. package/__dev__/execution/getStreamUsage.d.mts +1 -0
  63. package/__dev__/execution/getStreamUsage.d.ts +1 -0
  64. package/__dev__/execution/getStreamUsage.js +3 -0
  65. package/__dev__/execution/getStreamUsage.mjs +3 -0
  66. package/__dev__/execution/getVariableSignature.d.mts +1 -0
  67. package/__dev__/execution/getVariableSignature.d.ts +1 -0
  68. package/__dev__/execution/getVariableSignature.js +3 -0
  69. package/__dev__/execution/getVariableSignature.mjs +3 -0
  70. package/__dev__/execution/hooks.d.mts +1 -0
  71. package/__dev__/execution/hooks.d.ts +1 -0
  72. package/__dev__/execution/hooks.js +3 -0
  73. package/__dev__/execution/hooks.mjs +3 -0
  74. package/__dev__/execution/incremental/Computation.d.mts +1 -0
  75. package/__dev__/execution/incremental/Computation.d.ts +1 -0
  76. package/__dev__/execution/incremental/Computation.js +3 -0
  77. package/__dev__/execution/incremental/Computation.mjs +3 -0
  78. package/__dev__/execution/incremental/IncrementalExecutor.d.mts +1 -0
  79. package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -0
  80. package/__dev__/execution/incremental/IncrementalExecutor.js +3 -0
  81. package/__dev__/execution/incremental/IncrementalExecutor.mjs +3 -0
  82. package/__dev__/execution/incremental/IncrementalPublisher.d.mts +1 -0
  83. package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -0
  84. package/__dev__/execution/incremental/IncrementalPublisher.js +3 -0
  85. package/__dev__/execution/incremental/IncrementalPublisher.mjs +3 -0
  86. package/__dev__/execution/incremental/Queue.d.mts +1 -0
  87. package/__dev__/execution/incremental/Queue.d.ts +1 -0
  88. package/__dev__/execution/incremental/Queue.js +3 -0
  89. package/__dev__/execution/incremental/Queue.mjs +3 -0
  90. package/__dev__/execution/incremental/WorkQueue.d.mts +1 -0
  91. package/__dev__/execution/incremental/WorkQueue.d.ts +1 -0
  92. package/__dev__/execution/incremental/WorkQueue.js +3 -0
  93. package/__dev__/execution/incremental/WorkQueue.mjs +3 -0
  94. package/__dev__/execution/incremental/buildExecutionPlan.d.mts +1 -0
  95. package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -0
  96. package/__dev__/execution/incremental/buildExecutionPlan.js +3 -0
  97. package/__dev__/execution/incremental/buildExecutionPlan.mjs +3 -0
  98. package/__dev__/execution/index.d.mts +1 -0
  99. package/__dev__/execution/index.d.ts +1 -0
  100. package/__dev__/execution/index.js +3 -0
  101. package/__dev__/execution/index.mjs +3 -0
  102. package/__dev__/execution/mapAsyncIterable.d.mts +1 -0
  103. package/__dev__/execution/mapAsyncIterable.d.ts +1 -0
  104. package/__dev__/execution/mapAsyncIterable.js +3 -0
  105. package/__dev__/execution/mapAsyncIterable.mjs +3 -0
  106. package/__dev__/execution/returnIteratorCatchingErrors.d.mts +1 -0
  107. package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -0
  108. package/__dev__/execution/returnIteratorCatchingErrors.js +3 -0
  109. package/__dev__/execution/returnIteratorCatchingErrors.mjs +3 -0
  110. package/__dev__/execution/values.d.mts +1 -0
  111. package/__dev__/execution/values.d.ts +1 -0
  112. package/__dev__/execution/values.js +3 -0
  113. package/__dev__/execution/values.mjs +3 -0
  114. package/__dev__/execution/withConcurrentAbruptClose.d.mts +1 -0
  115. package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -0
  116. package/__dev__/execution/withConcurrentAbruptClose.js +3 -0
  117. package/__dev__/execution/withConcurrentAbruptClose.mjs +3 -0
  118. package/__dev__/graphql.d.mts +1 -0
  119. package/__dev__/graphql.d.ts +1 -0
  120. package/__dev__/graphql.js +3 -0
  121. package/__dev__/graphql.mjs +3 -0
  122. package/__dev__/harness.d.mts +1 -0
  123. package/__dev__/harness.d.ts +1 -0
  124. package/__dev__/harness.js +3 -0
  125. package/__dev__/harness.mjs +3 -0
  126. package/__dev__/index.d.mts +1 -0
  127. package/__dev__/index.d.ts +1 -0
  128. package/__dev__/index.js +3 -0
  129. package/__dev__/index.mjs +3 -0
  130. package/__dev__/jsutils/AccumulatorMap.d.mts +1 -0
  131. package/__dev__/jsutils/AccumulatorMap.d.ts +1 -0
  132. package/__dev__/jsutils/AccumulatorMap.js +3 -0
  133. package/__dev__/jsutils/AccumulatorMap.mjs +3 -0
  134. package/__dev__/jsutils/Maybe.d.mts +1 -0
  135. package/__dev__/jsutils/Maybe.d.ts +1 -0
  136. package/__dev__/jsutils/Maybe.js +3 -0
  137. package/__dev__/jsutils/Maybe.mjs +3 -0
  138. package/__dev__/jsutils/ObjMap.d.mts +1 -0
  139. package/__dev__/jsutils/ObjMap.d.ts +1 -0
  140. package/__dev__/jsutils/ObjMap.js +3 -0
  141. package/__dev__/jsutils/ObjMap.mjs +3 -0
  142. package/__dev__/jsutils/Path.d.mts +1 -0
  143. package/__dev__/jsutils/Path.d.ts +1 -0
  144. package/__dev__/jsutils/Path.js +3 -0
  145. package/__dev__/jsutils/Path.mjs +3 -0
  146. package/__dev__/jsutils/PromiseOrValue.d.mts +1 -0
  147. package/__dev__/jsutils/PromiseOrValue.d.ts +1 -0
  148. package/__dev__/jsutils/PromiseOrValue.js +3 -0
  149. package/__dev__/jsutils/PromiseOrValue.mjs +3 -0
  150. package/__dev__/jsutils/capitalize.d.mts +1 -0
  151. package/__dev__/jsutils/capitalize.d.ts +1 -0
  152. package/__dev__/jsutils/capitalize.js +3 -0
  153. package/__dev__/jsutils/capitalize.mjs +3 -0
  154. package/__dev__/jsutils/devAssert.d.mts +1 -0
  155. package/__dev__/jsutils/devAssert.d.ts +1 -0
  156. package/__dev__/jsutils/devAssert.js +3 -0
  157. package/__dev__/jsutils/devAssert.mjs +3 -0
  158. package/__dev__/jsutils/didYouMean.d.mts +1 -0
  159. package/__dev__/jsutils/didYouMean.d.ts +1 -0
  160. package/__dev__/jsutils/didYouMean.js +3 -0
  161. package/__dev__/jsutils/didYouMean.mjs +3 -0
  162. package/__dev__/jsutils/formatList.d.mts +1 -0
  163. package/__dev__/jsutils/formatList.d.ts +1 -0
  164. package/__dev__/jsutils/formatList.js +3 -0
  165. package/__dev__/jsutils/formatList.mjs +3 -0
  166. package/__dev__/jsutils/getBySet.d.mts +1 -0
  167. package/__dev__/jsutils/getBySet.d.ts +1 -0
  168. package/__dev__/jsutils/getBySet.js +3 -0
  169. package/__dev__/jsutils/getBySet.mjs +3 -0
  170. package/__dev__/jsutils/groupBy.d.mts +1 -0
  171. package/__dev__/jsutils/groupBy.d.ts +1 -0
  172. package/__dev__/jsutils/groupBy.js +3 -0
  173. package/__dev__/jsutils/groupBy.mjs +3 -0
  174. package/__dev__/jsutils/identityFunc.d.mts +1 -0
  175. package/__dev__/jsutils/identityFunc.d.ts +1 -0
  176. package/__dev__/jsutils/identityFunc.js +3 -0
  177. package/__dev__/jsutils/identityFunc.mjs +3 -0
  178. package/__dev__/jsutils/inspect.d.mts +1 -0
  179. package/__dev__/jsutils/inspect.d.ts +1 -0
  180. package/__dev__/jsutils/inspect.js +3 -0
  181. package/__dev__/jsutils/inspect.mjs +3 -0
  182. package/__dev__/jsutils/instanceOf.d.mts +1 -0
  183. package/__dev__/jsutils/instanceOf.d.ts +1 -0
  184. package/__dev__/jsutils/instanceOf.js +3 -0
  185. package/__dev__/jsutils/instanceOf.mjs +3 -0
  186. package/__dev__/jsutils/invariant.d.mts +1 -0
  187. package/__dev__/jsutils/invariant.d.ts +1 -0
  188. package/__dev__/jsutils/invariant.js +3 -0
  189. package/__dev__/jsutils/invariant.mjs +3 -0
  190. package/__dev__/jsutils/isAsyncIterable.d.mts +1 -0
  191. package/__dev__/jsutils/isAsyncIterable.d.ts +1 -0
  192. package/__dev__/jsutils/isAsyncIterable.js +3 -0
  193. package/__dev__/jsutils/isAsyncIterable.mjs +3 -0
  194. package/__dev__/jsutils/isIterableObject.d.mts +1 -0
  195. package/__dev__/jsutils/isIterableObject.d.ts +1 -0
  196. package/__dev__/jsutils/isIterableObject.js +3 -0
  197. package/__dev__/jsutils/isIterableObject.mjs +3 -0
  198. package/__dev__/jsutils/isObjectLike.d.mts +1 -0
  199. package/__dev__/jsutils/isObjectLike.d.ts +1 -0
  200. package/__dev__/jsutils/isObjectLike.js +3 -0
  201. package/__dev__/jsutils/isObjectLike.mjs +3 -0
  202. package/__dev__/jsutils/isPromise.d.mts +1 -0
  203. package/__dev__/jsutils/isPromise.d.ts +1 -0
  204. package/__dev__/jsutils/isPromise.js +3 -0
  205. package/__dev__/jsutils/isPromise.mjs +3 -0
  206. package/__dev__/jsutils/isSameSet.d.mts +1 -0
  207. package/__dev__/jsutils/isSameSet.d.ts +1 -0
  208. package/__dev__/jsutils/isSameSet.js +3 -0
  209. package/__dev__/jsutils/isSameSet.mjs +3 -0
  210. package/__dev__/jsutils/keyMap.d.mts +1 -0
  211. package/__dev__/jsutils/keyMap.d.ts +1 -0
  212. package/__dev__/jsutils/keyMap.js +3 -0
  213. package/__dev__/jsutils/keyMap.mjs +3 -0
  214. package/__dev__/jsutils/keyValMap.d.mts +1 -0
  215. package/__dev__/jsutils/keyValMap.d.ts +1 -0
  216. package/__dev__/jsutils/keyValMap.js +3 -0
  217. package/__dev__/jsutils/keyValMap.mjs +3 -0
  218. package/__dev__/jsutils/mapValue.d.mts +1 -0
  219. package/__dev__/jsutils/mapValue.d.ts +1 -0
  220. package/__dev__/jsutils/mapValue.js +3 -0
  221. package/__dev__/jsutils/mapValue.mjs +3 -0
  222. package/__dev__/jsutils/memoize1.d.mts +1 -0
  223. package/__dev__/jsutils/memoize1.d.ts +1 -0
  224. package/__dev__/jsutils/memoize1.js +3 -0
  225. package/__dev__/jsutils/memoize1.mjs +3 -0
  226. package/__dev__/jsutils/memoize2.d.mts +1 -0
  227. package/__dev__/jsutils/memoize2.d.ts +1 -0
  228. package/__dev__/jsutils/memoize2.js +3 -0
  229. package/__dev__/jsutils/memoize2.mjs +3 -0
  230. package/__dev__/jsutils/memoize3.d.mts +1 -0
  231. package/__dev__/jsutils/memoize3.d.ts +1 -0
  232. package/__dev__/jsutils/memoize3.js +3 -0
  233. package/__dev__/jsutils/memoize3.mjs +3 -0
  234. package/__dev__/jsutils/naturalCompare.d.mts +1 -0
  235. package/__dev__/jsutils/naturalCompare.d.ts +1 -0
  236. package/__dev__/jsutils/naturalCompare.js +3 -0
  237. package/__dev__/jsutils/naturalCompare.mjs +3 -0
  238. package/__dev__/jsutils/printPathArray.d.mts +1 -0
  239. package/__dev__/jsutils/printPathArray.d.ts +1 -0
  240. package/__dev__/jsutils/printPathArray.js +3 -0
  241. package/__dev__/jsutils/printPathArray.mjs +3 -0
  242. package/__dev__/jsutils/promiseForObject.d.mts +1 -0
  243. package/__dev__/jsutils/promiseForObject.d.ts +1 -0
  244. package/__dev__/jsutils/promiseForObject.js +3 -0
  245. package/__dev__/jsutils/promiseForObject.mjs +3 -0
  246. package/__dev__/jsutils/promiseReduce.d.mts +1 -0
  247. package/__dev__/jsutils/promiseReduce.d.ts +1 -0
  248. package/__dev__/jsutils/promiseReduce.js +3 -0
  249. package/__dev__/jsutils/promiseReduce.mjs +3 -0
  250. package/__dev__/jsutils/promiseWithResolvers.d.mts +1 -0
  251. package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -0
  252. package/__dev__/jsutils/promiseWithResolvers.js +3 -0
  253. package/__dev__/jsutils/promiseWithResolvers.mjs +3 -0
  254. package/__dev__/jsutils/suggestionList.d.mts +1 -0
  255. package/__dev__/jsutils/suggestionList.d.ts +1 -0
  256. package/__dev__/jsutils/suggestionList.js +3 -0
  257. package/__dev__/jsutils/suggestionList.mjs +3 -0
  258. package/__dev__/jsutils/toError.d.mts +1 -0
  259. package/__dev__/jsutils/toError.d.ts +1 -0
  260. package/__dev__/jsutils/toError.js +3 -0
  261. package/__dev__/jsutils/toError.mjs +3 -0
  262. package/__dev__/jsutils/toObjMap.d.mts +1 -0
  263. package/__dev__/jsutils/toObjMap.d.ts +1 -0
  264. package/__dev__/jsutils/toObjMap.js +3 -0
  265. package/__dev__/jsutils/toObjMap.mjs +3 -0
  266. package/__dev__/language/KindTypeMap.d.mts +1 -0
  267. package/__dev__/language/KindTypeMap.d.ts +1 -0
  268. package/__dev__/language/KindTypeMap.js +3 -0
  269. package/__dev__/language/KindTypeMap.mjs +3 -0
  270. package/__dev__/language/ast.d.mts +1 -0
  271. package/__dev__/language/ast.d.ts +1 -0
  272. package/__dev__/language/ast.js +3 -0
  273. package/__dev__/language/ast.mjs +3 -0
  274. package/__dev__/language/blockString.d.mts +1 -0
  275. package/__dev__/language/blockString.d.ts +1 -0
  276. package/__dev__/language/blockString.js +3 -0
  277. package/__dev__/language/blockString.mjs +3 -0
  278. package/__dev__/language/characterClasses.d.mts +1 -0
  279. package/__dev__/language/characterClasses.d.ts +1 -0
  280. package/__dev__/language/characterClasses.js +3 -0
  281. package/__dev__/language/characterClasses.mjs +3 -0
  282. package/__dev__/language/directiveLocation.d.mts +1 -0
  283. package/__dev__/language/directiveLocation.d.ts +1 -0
  284. package/__dev__/language/directiveLocation.js +3 -0
  285. package/__dev__/language/directiveLocation.mjs +3 -0
  286. package/__dev__/language/index.d.mts +1 -0
  287. package/__dev__/language/index.d.ts +1 -0
  288. package/__dev__/language/index.js +3 -0
  289. package/__dev__/language/index.mjs +3 -0
  290. package/__dev__/language/kinds.d.mts +1 -0
  291. package/__dev__/language/kinds.d.ts +1 -0
  292. package/__dev__/language/kinds.js +3 -0
  293. package/__dev__/language/kinds.mjs +3 -0
  294. package/__dev__/language/kinds_.d.mts +1 -0
  295. package/__dev__/language/kinds_.d.ts +1 -0
  296. package/__dev__/language/kinds_.js +3 -0
  297. package/__dev__/language/kinds_.mjs +3 -0
  298. package/__dev__/language/lexer.d.mts +1 -0
  299. package/__dev__/language/lexer.d.ts +1 -0
  300. package/__dev__/language/lexer.js +3 -0
  301. package/__dev__/language/lexer.mjs +3 -0
  302. package/__dev__/language/location.d.mts +1 -0
  303. package/__dev__/language/location.d.ts +1 -0
  304. package/__dev__/language/location.js +3 -0
  305. package/__dev__/language/location.mjs +3 -0
  306. package/__dev__/language/parser.d.mts +1 -0
  307. package/__dev__/language/parser.d.ts +1 -0
  308. package/__dev__/language/parser.js +3 -0
  309. package/__dev__/language/parser.mjs +3 -0
  310. package/__dev__/language/predicates.d.mts +1 -0
  311. package/__dev__/language/predicates.d.ts +1 -0
  312. package/__dev__/language/predicates.js +3 -0
  313. package/__dev__/language/predicates.mjs +3 -0
  314. package/__dev__/language/printLocation.d.mts +1 -0
  315. package/__dev__/language/printLocation.d.ts +1 -0
  316. package/__dev__/language/printLocation.js +3 -0
  317. package/__dev__/language/printLocation.mjs +3 -0
  318. package/__dev__/language/printString.d.mts +1 -0
  319. package/__dev__/language/printString.d.ts +1 -0
  320. package/__dev__/language/printString.js +3 -0
  321. package/__dev__/language/printString.mjs +3 -0
  322. package/__dev__/language/printer.d.mts +1 -0
  323. package/__dev__/language/printer.d.ts +1 -0
  324. package/__dev__/language/printer.js +3 -0
  325. package/__dev__/language/printer.mjs +3 -0
  326. package/__dev__/language/schemaCoordinateLexer.d.mts +1 -0
  327. package/__dev__/language/schemaCoordinateLexer.d.ts +1 -0
  328. package/__dev__/language/schemaCoordinateLexer.js +3 -0
  329. package/__dev__/language/schemaCoordinateLexer.mjs +3 -0
  330. package/__dev__/language/source.d.mts +1 -0
  331. package/__dev__/language/source.d.ts +1 -0
  332. package/__dev__/language/source.js +3 -0
  333. package/__dev__/language/source.mjs +3 -0
  334. package/__dev__/language/tokenKind.d.mts +1 -0
  335. package/__dev__/language/tokenKind.d.ts +1 -0
  336. package/__dev__/language/tokenKind.js +3 -0
  337. package/__dev__/language/tokenKind.mjs +3 -0
  338. package/__dev__/language/visitor.d.mts +1 -0
  339. package/__dev__/language/visitor.d.ts +1 -0
  340. package/__dev__/language/visitor.js +3 -0
  341. package/__dev__/language/visitor.mjs +3 -0
  342. package/__dev__/type/assertName.d.mts +1 -0
  343. package/__dev__/type/assertName.d.ts +1 -0
  344. package/__dev__/type/assertName.js +3 -0
  345. package/__dev__/type/assertName.mjs +3 -0
  346. package/__dev__/type/definition.d.mts +1 -0
  347. package/__dev__/type/definition.d.ts +1 -0
  348. package/__dev__/type/definition.js +3 -0
  349. package/__dev__/type/definition.mjs +3 -0
  350. package/__dev__/type/directives.d.mts +1 -0
  351. package/__dev__/type/directives.d.ts +1 -0
  352. package/__dev__/type/directives.js +3 -0
  353. package/__dev__/type/directives.mjs +3 -0
  354. package/__dev__/type/index.d.mts +1 -0
  355. package/__dev__/type/index.d.ts +1 -0
  356. package/__dev__/type/index.js +3 -0
  357. package/__dev__/type/index.mjs +3 -0
  358. package/__dev__/type/introspection.d.mts +1 -0
  359. package/__dev__/type/introspection.d.ts +1 -0
  360. package/__dev__/type/introspection.js +3 -0
  361. package/__dev__/type/introspection.mjs +3 -0
  362. package/__dev__/type/scalars.d.mts +1 -0
  363. package/__dev__/type/scalars.d.ts +1 -0
  364. package/__dev__/type/scalars.js +3 -0
  365. package/__dev__/type/scalars.mjs +3 -0
  366. package/__dev__/type/schema.d.mts +1 -0
  367. package/__dev__/type/schema.d.ts +1 -0
  368. package/__dev__/type/schema.js +3 -0
  369. package/__dev__/type/schema.mjs +3 -0
  370. package/__dev__/type/validate.d.mts +1 -0
  371. package/__dev__/type/validate.d.ts +1 -0
  372. package/__dev__/type/validate.js +3 -0
  373. package/__dev__/type/validate.mjs +3 -0
  374. package/__dev__/utilities/TypeInfo.d.mts +1 -0
  375. package/__dev__/utilities/TypeInfo.d.ts +1 -0
  376. package/__dev__/utilities/TypeInfo.js +3 -0
  377. package/__dev__/utilities/TypeInfo.mjs +3 -0
  378. package/__dev__/utilities/astFromValue.d.mts +1 -0
  379. package/__dev__/utilities/astFromValue.d.ts +1 -0
  380. package/__dev__/utilities/astFromValue.js +3 -0
  381. package/__dev__/utilities/astFromValue.mjs +3 -0
  382. package/__dev__/utilities/buildASTSchema.d.mts +1 -0
  383. package/__dev__/utilities/buildASTSchema.d.ts +1 -0
  384. package/__dev__/utilities/buildASTSchema.js +3 -0
  385. package/__dev__/utilities/buildASTSchema.mjs +3 -0
  386. package/__dev__/utilities/buildClientSchema.d.mts +1 -0
  387. package/__dev__/utilities/buildClientSchema.d.ts +1 -0
  388. package/__dev__/utilities/buildClientSchema.js +3 -0
  389. package/__dev__/utilities/buildClientSchema.mjs +3 -0
  390. package/__dev__/utilities/coerceInputValue.d.mts +1 -0
  391. package/__dev__/utilities/coerceInputValue.d.ts +1 -0
  392. package/__dev__/utilities/coerceInputValue.js +3 -0
  393. package/__dev__/utilities/coerceInputValue.mjs +3 -0
  394. package/__dev__/utilities/concatAST.d.mts +1 -0
  395. package/__dev__/utilities/concatAST.d.ts +1 -0
  396. package/__dev__/utilities/concatAST.js +3 -0
  397. package/__dev__/utilities/concatAST.mjs +3 -0
  398. package/__dev__/utilities/extendSchema.d.mts +1 -0
  399. package/__dev__/utilities/extendSchema.d.ts +1 -0
  400. package/__dev__/utilities/extendSchema.js +3 -0
  401. package/__dev__/utilities/extendSchema.mjs +3 -0
  402. package/__dev__/utilities/findSchemaChanges.d.mts +1 -0
  403. package/__dev__/utilities/findSchemaChanges.d.ts +1 -0
  404. package/__dev__/utilities/findSchemaChanges.js +3 -0
  405. package/__dev__/utilities/findSchemaChanges.mjs +3 -0
  406. package/__dev__/utilities/getDefaultValueAST.d.mts +1 -0
  407. package/__dev__/utilities/getDefaultValueAST.d.ts +1 -0
  408. package/__dev__/utilities/getDefaultValueAST.js +3 -0
  409. package/__dev__/utilities/getDefaultValueAST.mjs +3 -0
  410. package/__dev__/utilities/getIntrospectionQuery.d.mts +1 -0
  411. package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -0
  412. package/__dev__/utilities/getIntrospectionQuery.js +3 -0
  413. package/__dev__/utilities/getIntrospectionQuery.mjs +3 -0
  414. package/__dev__/utilities/getOperationAST.d.mts +1 -0
  415. package/__dev__/utilities/getOperationAST.d.ts +1 -0
  416. package/__dev__/utilities/getOperationAST.js +3 -0
  417. package/__dev__/utilities/getOperationAST.mjs +3 -0
  418. package/__dev__/utilities/index.d.mts +1 -0
  419. package/__dev__/utilities/index.d.ts +1 -0
  420. package/__dev__/utilities/index.js +3 -0
  421. package/__dev__/utilities/index.mjs +3 -0
  422. package/__dev__/utilities/introspectionFromSchema.d.mts +1 -0
  423. package/__dev__/utilities/introspectionFromSchema.d.ts +1 -0
  424. package/__dev__/utilities/introspectionFromSchema.js +3 -0
  425. package/__dev__/utilities/introspectionFromSchema.mjs +3 -0
  426. package/__dev__/utilities/lexicographicSortSchema.d.mts +1 -0
  427. package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -0
  428. package/__dev__/utilities/lexicographicSortSchema.js +3 -0
  429. package/__dev__/utilities/lexicographicSortSchema.mjs +3 -0
  430. package/__dev__/utilities/mapSchemaConfig.d.mts +1 -0
  431. package/__dev__/utilities/mapSchemaConfig.d.ts +1 -0
  432. package/__dev__/utilities/mapSchemaConfig.js +3 -0
  433. package/__dev__/utilities/mapSchemaConfig.mjs +3 -0
  434. package/__dev__/utilities/printSchema.d.mts +1 -0
  435. package/__dev__/utilities/printSchema.d.ts +1 -0
  436. package/__dev__/utilities/printSchema.js +3 -0
  437. package/__dev__/utilities/printSchema.mjs +3 -0
  438. package/__dev__/utilities/replaceVariables.d.mts +1 -0
  439. package/__dev__/utilities/replaceVariables.d.ts +1 -0
  440. package/__dev__/utilities/replaceVariables.js +3 -0
  441. package/__dev__/utilities/replaceVariables.mjs +3 -0
  442. package/__dev__/utilities/resolveSchemaCoordinate.d.mts +1 -0
  443. package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -0
  444. package/__dev__/utilities/resolveSchemaCoordinate.js +3 -0
  445. package/__dev__/utilities/resolveSchemaCoordinate.mjs +3 -0
  446. package/__dev__/utilities/separateOperations.d.mts +1 -0
  447. package/__dev__/utilities/separateOperations.d.ts +1 -0
  448. package/__dev__/utilities/separateOperations.js +3 -0
  449. package/__dev__/utilities/separateOperations.mjs +3 -0
  450. package/__dev__/utilities/sortValueNode.d.mts +1 -0
  451. package/__dev__/utilities/sortValueNode.d.ts +1 -0
  452. package/__dev__/utilities/sortValueNode.js +3 -0
  453. package/__dev__/utilities/sortValueNode.mjs +3 -0
  454. package/__dev__/utilities/stripIgnoredCharacters.d.mts +1 -0
  455. package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -0
  456. package/__dev__/utilities/stripIgnoredCharacters.js +3 -0
  457. package/__dev__/utilities/stripIgnoredCharacters.mjs +3 -0
  458. package/__dev__/utilities/typeComparators.d.mts +1 -0
  459. package/__dev__/utilities/typeComparators.d.ts +1 -0
  460. package/__dev__/utilities/typeComparators.js +3 -0
  461. package/__dev__/utilities/typeComparators.mjs +3 -0
  462. package/__dev__/utilities/typeFromAST.d.mts +1 -0
  463. package/__dev__/utilities/typeFromAST.d.ts +1 -0
  464. package/__dev__/utilities/typeFromAST.js +3 -0
  465. package/__dev__/utilities/typeFromAST.mjs +3 -0
  466. package/__dev__/utilities/typedQueryDocumentNode.d.mts +1 -0
  467. package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -0
  468. package/__dev__/utilities/typedQueryDocumentNode.js +3 -0
  469. package/__dev__/utilities/typedQueryDocumentNode.mjs +3 -0
  470. package/__dev__/utilities/validateInputValue.d.mts +1 -0
  471. package/__dev__/utilities/validateInputValue.d.ts +1 -0
  472. package/__dev__/utilities/validateInputValue.js +3 -0
  473. package/__dev__/utilities/validateInputValue.mjs +3 -0
  474. package/__dev__/utilities/valueFromAST.d.mts +1 -0
  475. package/__dev__/utilities/valueFromAST.d.ts +1 -0
  476. package/__dev__/utilities/valueFromAST.js +3 -0
  477. package/__dev__/utilities/valueFromAST.mjs +3 -0
  478. package/__dev__/utilities/valueFromASTUntyped.d.mts +1 -0
  479. package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -0
  480. package/__dev__/utilities/valueFromASTUntyped.js +3 -0
  481. package/__dev__/utilities/valueFromASTUntyped.mjs +3 -0
  482. package/__dev__/utilities/valueToLiteral.d.mts +1 -0
  483. package/__dev__/utilities/valueToLiteral.d.ts +1 -0
  484. package/__dev__/utilities/valueToLiteral.js +3 -0
  485. package/__dev__/utilities/valueToLiteral.mjs +3 -0
  486. package/__dev__/validation/ValidationContext.d.mts +1 -0
  487. package/__dev__/validation/ValidationContext.d.ts +1 -0
  488. package/__dev__/validation/ValidationContext.js +3 -0
  489. package/__dev__/validation/ValidationContext.mjs +3 -0
  490. package/__dev__/validation/index.d.mts +1 -0
  491. package/__dev__/validation/index.d.ts +1 -0
  492. package/__dev__/validation/index.js +3 -0
  493. package/__dev__/validation/index.mjs +3 -0
  494. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.mts +1 -0
  495. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -0
  496. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.js +3 -0
  497. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.mjs +3 -0
  498. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +1 -0
  499. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -0
  500. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +3 -0
  501. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +3 -0
  502. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +1 -0
  503. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -0
  504. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +3 -0
  505. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +3 -0
  506. package/__dev__/validation/rules/ExecutableDefinitionsRule.d.mts +1 -0
  507. package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -0
  508. package/__dev__/validation/rules/ExecutableDefinitionsRule.js +3 -0
  509. package/__dev__/validation/rules/ExecutableDefinitionsRule.mjs +3 -0
  510. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.mts +1 -0
  511. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -0
  512. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.js +3 -0
  513. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.mjs +3 -0
  514. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.mts +1 -0
  515. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -0
  516. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.js +3 -0
  517. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.mjs +3 -0
  518. package/__dev__/validation/rules/KnownArgumentNamesRule.d.mts +1 -0
  519. package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -0
  520. package/__dev__/validation/rules/KnownArgumentNamesRule.js +3 -0
  521. package/__dev__/validation/rules/KnownArgumentNamesRule.mjs +3 -0
  522. package/__dev__/validation/rules/KnownDirectivesRule.d.mts +1 -0
  523. package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -0
  524. package/__dev__/validation/rules/KnownDirectivesRule.js +3 -0
  525. package/__dev__/validation/rules/KnownDirectivesRule.mjs +3 -0
  526. package/__dev__/validation/rules/KnownFragmentNamesRule.d.mts +1 -0
  527. package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -0
  528. package/__dev__/validation/rules/KnownFragmentNamesRule.js +3 -0
  529. package/__dev__/validation/rules/KnownFragmentNamesRule.mjs +3 -0
  530. package/__dev__/validation/rules/KnownOperationTypesRule.d.mts +1 -0
  531. package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -0
  532. package/__dev__/validation/rules/KnownOperationTypesRule.js +3 -0
  533. package/__dev__/validation/rules/KnownOperationTypesRule.mjs +3 -0
  534. package/__dev__/validation/rules/KnownTypeNamesRule.d.mts +1 -0
  535. package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -0
  536. package/__dev__/validation/rules/KnownTypeNamesRule.js +3 -0
  537. package/__dev__/validation/rules/KnownTypeNamesRule.mjs +3 -0
  538. package/__dev__/validation/rules/LoneAnonymousOperationRule.d.mts +1 -0
  539. package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -0
  540. package/__dev__/validation/rules/LoneAnonymousOperationRule.js +3 -0
  541. package/__dev__/validation/rules/LoneAnonymousOperationRule.mjs +3 -0
  542. package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.mts +1 -0
  543. package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -0
  544. package/__dev__/validation/rules/LoneSchemaDefinitionRule.js +3 -0
  545. package/__dev__/validation/rules/LoneSchemaDefinitionRule.mjs +3 -0
  546. package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.mts +1 -0
  547. package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -0
  548. package/__dev__/validation/rules/MaxIntrospectionDepthRule.js +3 -0
  549. package/__dev__/validation/rules/MaxIntrospectionDepthRule.mjs +3 -0
  550. package/__dev__/validation/rules/NoFragmentCyclesRule.d.mts +1 -0
  551. package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -0
  552. package/__dev__/validation/rules/NoFragmentCyclesRule.js +3 -0
  553. package/__dev__/validation/rules/NoFragmentCyclesRule.mjs +3 -0
  554. package/__dev__/validation/rules/NoUndefinedVariablesRule.d.mts +1 -0
  555. package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -0
  556. package/__dev__/validation/rules/NoUndefinedVariablesRule.js +3 -0
  557. package/__dev__/validation/rules/NoUndefinedVariablesRule.mjs +3 -0
  558. package/__dev__/validation/rules/NoUnusedFragmentsRule.d.mts +1 -0
  559. package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -0
  560. package/__dev__/validation/rules/NoUnusedFragmentsRule.js +3 -0
  561. package/__dev__/validation/rules/NoUnusedFragmentsRule.mjs +3 -0
  562. package/__dev__/validation/rules/NoUnusedVariablesRule.d.mts +1 -0
  563. package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -0
  564. package/__dev__/validation/rules/NoUnusedVariablesRule.js +3 -0
  565. package/__dev__/validation/rules/NoUnusedVariablesRule.mjs +3 -0
  566. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +1 -0
  567. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -0
  568. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.js +3 -0
  569. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +3 -0
  570. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.mts +1 -0
  571. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -0
  572. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.js +3 -0
  573. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.mjs +3 -0
  574. package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.mts +1 -0
  575. package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -0
  576. package/__dev__/validation/rules/PossibleTypeExtensionsRule.js +3 -0
  577. package/__dev__/validation/rules/PossibleTypeExtensionsRule.mjs +3 -0
  578. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.mts +1 -0
  579. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -0
  580. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.js +3 -0
  581. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.mjs +3 -0
  582. package/__dev__/validation/rules/ScalarLeafsRule.d.mts +1 -0
  583. package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -0
  584. package/__dev__/validation/rules/ScalarLeafsRule.js +3 -0
  585. package/__dev__/validation/rules/ScalarLeafsRule.mjs +3 -0
  586. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.mts +1 -0
  587. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -0
  588. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.js +3 -0
  589. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.mjs +3 -0
  590. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.mts +1 -0
  591. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -0
  592. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.js +3 -0
  593. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.mjs +3 -0
  594. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +1 -0
  595. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -0
  596. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.js +3 -0
  597. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +3 -0
  598. package/__dev__/validation/rules/UniqueArgumentNamesRule.d.mts +1 -0
  599. package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -0
  600. package/__dev__/validation/rules/UniqueArgumentNamesRule.js +3 -0
  601. package/__dev__/validation/rules/UniqueArgumentNamesRule.mjs +3 -0
  602. package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.mts +1 -0
  603. package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -0
  604. package/__dev__/validation/rules/UniqueDirectiveNamesRule.js +3 -0
  605. package/__dev__/validation/rules/UniqueDirectiveNamesRule.mjs +3 -0
  606. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.mts +1 -0
  607. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -0
  608. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.js +3 -0
  609. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.mjs +3 -0
  610. package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.mts +1 -0
  611. package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -0
  612. package/__dev__/validation/rules/UniqueEnumValueNamesRule.js +3 -0
  613. package/__dev__/validation/rules/UniqueEnumValueNamesRule.mjs +3 -0
  614. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +1 -0
  615. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -0
  616. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -0
  617. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.mjs +3 -0
  618. package/__dev__/validation/rules/UniqueFragmentNamesRule.d.mts +1 -0
  619. package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -0
  620. package/__dev__/validation/rules/UniqueFragmentNamesRule.js +3 -0
  621. package/__dev__/validation/rules/UniqueFragmentNamesRule.mjs +3 -0
  622. package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.mts +1 -0
  623. package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -0
  624. package/__dev__/validation/rules/UniqueInputFieldNamesRule.js +3 -0
  625. package/__dev__/validation/rules/UniqueInputFieldNamesRule.mjs +3 -0
  626. package/__dev__/validation/rules/UniqueOperationNamesRule.d.mts +1 -0
  627. package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -0
  628. package/__dev__/validation/rules/UniqueOperationNamesRule.js +3 -0
  629. package/__dev__/validation/rules/UniqueOperationNamesRule.mjs +3 -0
  630. package/__dev__/validation/rules/UniqueOperationTypesRule.d.mts +1 -0
  631. package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -0
  632. package/__dev__/validation/rules/UniqueOperationTypesRule.js +3 -0
  633. package/__dev__/validation/rules/UniqueOperationTypesRule.mjs +3 -0
  634. package/__dev__/validation/rules/UniqueTypeNamesRule.d.mts +1 -0
  635. package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -0
  636. package/__dev__/validation/rules/UniqueTypeNamesRule.js +3 -0
  637. package/__dev__/validation/rules/UniqueTypeNamesRule.mjs +3 -0
  638. package/__dev__/validation/rules/UniqueVariableNamesRule.d.mts +1 -0
  639. package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -0
  640. package/__dev__/validation/rules/UniqueVariableNamesRule.js +3 -0
  641. package/__dev__/validation/rules/UniqueVariableNamesRule.mjs +3 -0
  642. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.mts +1 -0
  643. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -0
  644. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.js +3 -0
  645. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.mjs +3 -0
  646. package/__dev__/validation/rules/VariablesAreInputTypesRule.d.mts +1 -0
  647. package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -0
  648. package/__dev__/validation/rules/VariablesAreInputTypesRule.js +3 -0
  649. package/__dev__/validation/rules/VariablesAreInputTypesRule.mjs +3 -0
  650. package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.mts +1 -0
  651. package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -0
  652. package/__dev__/validation/rules/VariablesInAllowedPositionRule.js +3 -0
  653. package/__dev__/validation/rules/VariablesInAllowedPositionRule.mjs +3 -0
  654. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.mts +1 -0
  655. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -0
  656. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.js +3 -0
  657. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.mjs +3 -0
  658. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +1 -0
  659. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -0
  660. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -0
  661. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +3 -0
  662. package/__dev__/validation/specifiedRules.d.mts +1 -0
  663. package/__dev__/validation/specifiedRules.d.ts +1 -0
  664. package/__dev__/validation/specifiedRules.js +3 -0
  665. package/__dev__/validation/specifiedRules.mjs +3 -0
  666. package/__dev__/validation/validate.d.mts +1 -0
  667. package/__dev__/validation/validate.d.ts +1 -0
  668. package/__dev__/validation/validate.js +3 -0
  669. package/__dev__/validation/validate.mjs +3 -0
  670. package/__dev__/version.d.mts +1 -0
  671. package/__dev__/version.d.ts +1 -0
  672. package/__dev__/version.js +3 -0
  673. package/__dev__/version.mjs +3 -0
  674. package/devMode.d.mts +2 -0
  675. package/devMode.d.ts +2 -0
  676. package/devMode.js +14 -0
  677. package/devMode.js.map +1 -0
  678. package/devMode.mjs +10 -0
  679. package/devMode.mjs.map +1 -0
  680. package/error/GraphQLError.d.mts +120 -0
  681. package/error/ensureGraphQLError.d.mts +5 -0
  682. package/error/ensureGraphQLError.d.ts +5 -0
  683. package/error/ensureGraphQLError.js +16 -0
  684. package/error/ensureGraphQLError.js.map +1 -0
  685. package/error/ensureGraphQLError.mjs +13 -0
  686. package/error/ensureGraphQLError.mjs.map +1 -0
  687. package/error/index.d.mts +4 -0
  688. package/error/locatedError.d.mts +9 -0
  689. package/error/syntaxError.d.mts +7 -0
  690. package/execution/AbortedGraphQLExecutionError.d.mts +6 -0
  691. package/execution/AbortedGraphQLExecutionError.d.ts +6 -0
  692. package/execution/AbortedGraphQLExecutionError.js +27 -0
  693. package/execution/AbortedGraphQLExecutionError.js.map +1 -0
  694. package/execution/AbortedGraphQLExecutionError.mjs +23 -0
  695. package/execution/AbortedGraphQLExecutionError.mjs.map +1 -0
  696. package/execution/AsyncWorkTracker.d.mts +10 -0
  697. package/execution/AsyncWorkTracker.d.ts +10 -0
  698. package/execution/AsyncWorkTracker.js +49 -0
  699. package/execution/AsyncWorkTracker.js.map +1 -0
  700. package/execution/AsyncWorkTracker.mjs +45 -0
  701. package/execution/AsyncWorkTracker.mjs.map +1 -0
  702. package/execution/Executor.d.mts +212 -0
  703. package/execution/Executor.d.ts +212 -0
  704. package/execution/Executor.js +655 -0
  705. package/execution/Executor.js.map +1 -0
  706. package/execution/Executor.mjs +651 -0
  707. package/execution/Executor.mjs.map +1 -0
  708. package/execution/ExecutorThrowingOnIncremental.d.mts +12 -0
  709. package/execution/ExecutorThrowingOnIncremental.d.ts +12 -0
  710. package/execution/ExecutorThrowingOnIncremental.js +47 -0
  711. package/execution/ExecutorThrowingOnIncremental.js.map +1 -0
  712. package/execution/ExecutorThrowingOnIncremental.mjs +43 -0
  713. package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -0
  714. package/execution/cancellablePromise.d.mts +6 -0
  715. package/execution/cancellablePromise.d.ts +6 -0
  716. package/execution/cancellablePromise.js +49 -0
  717. package/execution/cancellablePromise.js.map +1 -0
  718. package/execution/cancellablePromise.mjs +45 -0
  719. package/execution/cancellablePromise.mjs.map +1 -0
  720. package/execution/collectFields.d.mts +59 -0
  721. package/execution/collectFields.d.ts +15 -4
  722. package/execution/collectFields.js +57 -22
  723. package/execution/collectFields.js.map +1 -1
  724. package/execution/collectFields.mjs +58 -23
  725. package/execution/collectFields.mjs.map +1 -1
  726. package/execution/collectIteratorPromises.d.mts +5 -0
  727. package/execution/collectIteratorPromises.d.ts +5 -0
  728. package/execution/collectIteratorPromises.js +27 -0
  729. package/execution/collectIteratorPromises.js.map +1 -0
  730. package/execution/collectIteratorPromises.mjs +24 -0
  731. package/execution/collectIteratorPromises.mjs.map +1 -0
  732. package/execution/createSharedExecutionContext.d.mts +10 -0
  733. package/execution/createSharedExecutionContext.d.ts +10 -0
  734. package/execution/createSharedExecutionContext.js +20 -0
  735. package/execution/createSharedExecutionContext.js.map +1 -0
  736. package/execution/createSharedExecutionContext.mjs +17 -0
  737. package/execution/createSharedExecutionContext.mjs.map +1 -0
  738. package/execution/execute.d.mts +180 -0
  739. package/execution/execute.d.ts +73 -118
  740. package/execution/execute.js +218 -1121
  741. package/execution/execute.js.map +1 -1
  742. package/execution/execute.mjs +213 -1119
  743. package/execution/execute.mjs.map +1 -1
  744. package/execution/getStreamUsage.d.mts +13 -0
  745. package/execution/getStreamUsage.d.ts +13 -0
  746. package/execution/getStreamUsage.js +41 -0
  747. package/execution/getStreamUsage.js.map +1 -0
  748. package/execution/getStreamUsage.mjs +38 -0
  749. package/execution/getStreamUsage.mjs.map +1 -0
  750. package/execution/getVariableSignature.d.mts +18 -0
  751. package/execution/hooks.d.mts +9 -0
  752. package/execution/hooks.d.ts +9 -0
  753. package/execution/hooks.js +24 -0
  754. package/execution/hooks.js.map +1 -0
  755. package/execution/hooks.mjs +21 -0
  756. package/execution/hooks.mjs.map +1 -0
  757. package/execution/incremental/Computation.d.mts +22 -0
  758. package/execution/incremental/Computation.d.ts +22 -0
  759. package/execution/incremental/Computation.js +68 -0
  760. package/execution/incremental/Computation.js.map +1 -0
  761. package/execution/incremental/Computation.mjs +64 -0
  762. package/execution/incremental/Computation.mjs.map +1 -0
  763. package/execution/incremental/IncrementalExecutor.d.mts +182 -0
  764. package/execution/incremental/IncrementalExecutor.d.ts +182 -0
  765. package/execution/incremental/IncrementalExecutor.js +390 -0
  766. package/execution/incremental/IncrementalExecutor.js.map +1 -0
  767. package/execution/incremental/IncrementalExecutor.mjs +386 -0
  768. package/execution/incremental/IncrementalExecutor.mjs.map +1 -0
  769. package/execution/incremental/IncrementalPublisher.d.mts +17 -0
  770. package/execution/incremental/IncrementalPublisher.d.ts +17 -0
  771. package/execution/incremental/IncrementalPublisher.js +201 -0
  772. package/execution/incremental/IncrementalPublisher.js.map +1 -0
  773. package/execution/incremental/IncrementalPublisher.mjs +197 -0
  774. package/execution/incremental/IncrementalPublisher.mjs.map +1 -0
  775. package/execution/incremental/Queue.d.mts +86 -0
  776. package/execution/incremental/Queue.d.ts +86 -0
  777. package/execution/incremental/Queue.js +330 -0
  778. package/execution/incremental/Queue.js.map +1 -0
  779. package/execution/incremental/Queue.mjs +325 -0
  780. package/execution/incremental/Queue.mjs.map +1 -0
  781. package/execution/incremental/WorkQueue.d.mts +67 -0
  782. package/execution/incremental/WorkQueue.d.ts +67 -0
  783. package/execution/incremental/WorkQueue.js +396 -0
  784. package/execution/incremental/WorkQueue.js.map +1 -0
  785. package/execution/incremental/WorkQueue.mjs +393 -0
  786. package/execution/incremental/WorkQueue.mjs.map +1 -0
  787. package/execution/incremental/buildExecutionPlan.d.mts +7 -0
  788. package/execution/{buildExecutionPlan.d.ts → incremental/buildExecutionPlan.d.ts} +1 -1
  789. package/execution/{buildExecutionPlan.js → incremental/buildExecutionPlan.js} +2 -2
  790. package/execution/incremental/buildExecutionPlan.js.map +1 -0
  791. package/execution/{buildExecutionPlan.mjs → incremental/buildExecutionPlan.mjs} +2 -2
  792. package/execution/incremental/buildExecutionPlan.mjs.map +1 -0
  793. package/execution/index.d.mts +8 -0
  794. package/execution/index.d.ts +6 -3
  795. package/execution/index.js +8 -4
  796. package/execution/index.js.map +1 -1
  797. package/execution/index.mjs +2 -1
  798. package/execution/index.mjs.map +1 -1
  799. package/execution/mapAsyncIterable.d.mts +6 -0
  800. package/execution/mapAsyncIterable.d.ts +1 -1
  801. package/execution/mapAsyncIterable.js +28 -51
  802. package/execution/mapAsyncIterable.js.map +1 -1
  803. package/execution/mapAsyncIterable.mjs +28 -51
  804. package/execution/mapAsyncIterable.mjs.map +1 -1
  805. package/execution/returnIteratorCatchingErrors.d.mts +1 -0
  806. package/execution/returnIteratorCatchingErrors.d.ts +1 -0
  807. package/execution/returnIteratorCatchingErrors.js +12 -0
  808. package/execution/returnIteratorCatchingErrors.js.map +1 -0
  809. package/execution/returnIteratorCatchingErrors.mjs +9 -0
  810. package/execution/returnIteratorCatchingErrors.mjs.map +1 -0
  811. package/execution/values.d.mts +61 -0
  812. package/execution/values.d.ts +12 -21
  813. package/execution/values.js +111 -74
  814. package/execution/values.js.map +1 -1
  815. package/execution/values.mjs +111 -73
  816. package/execution/values.mjs.map +1 -1
  817. package/execution/withConcurrentAbruptClose.d.mts +13 -0
  818. package/execution/withConcurrentAbruptClose.d.ts +13 -0
  819. package/execution/withConcurrentAbruptClose.js +72 -0
  820. package/execution/withConcurrentAbruptClose.js.map +1 -0
  821. package/execution/withConcurrentAbruptClose.mjs +69 -0
  822. package/execution/withConcurrentAbruptClose.mjs.map +1 -0
  823. package/graphql.d.mts +61 -0
  824. package/graphql.d.ts +9 -16
  825. package/graphql.js +22 -22
  826. package/graphql.js.map +1 -1
  827. package/graphql.mjs +22 -22
  828. package/graphql.mjs.map +1 -1
  829. package/harness.d.mts +15 -0
  830. package/harness.d.ts +15 -0
  831. package/harness.js +13 -0
  832. package/harness.js.map +1 -0
  833. package/harness.mjs +10 -0
  834. package/harness.mjs.map +1 -0
  835. package/index.d.mts +51 -0
  836. package/index.d.ts +10 -7
  837. package/index.js +25 -8
  838. package/index.js.map +1 -1
  839. package/index.mjs +11 -5
  840. package/index.mjs.map +1 -1
  841. package/jsutils/AccumulatorMap.d.mts +7 -0
  842. package/jsutils/AccumulatorMap.js +1 -0
  843. package/jsutils/AccumulatorMap.js.map +1 -1
  844. package/jsutils/AccumulatorMap.mjs +1 -0
  845. package/jsutils/AccumulatorMap.mjs.map +1 -1
  846. package/jsutils/Maybe.d.mts +2 -0
  847. package/jsutils/ObjMap.d.mts +18 -0
  848. package/jsutils/Path.d.mts +14 -0
  849. package/jsutils/PromiseOrValue.d.mts +1 -0
  850. package/jsutils/capitalize.d.mts +4 -0
  851. package/jsutils/devAssert.d.mts +1 -0
  852. package/jsutils/didYouMean.d.mts +5 -0
  853. package/jsutils/formatList.d.mts +8 -0
  854. package/jsutils/formatList.js +2 -1
  855. package/jsutils/formatList.js.map +1 -1
  856. package/jsutils/formatList.mjs +2 -1
  857. package/jsutils/formatList.mjs.map +1 -1
  858. package/jsutils/getBySet.d.mts +1 -0
  859. package/jsutils/groupBy.d.mts +4 -0
  860. package/jsutils/identityFunc.d.mts +4 -0
  861. package/jsutils/inspect.d.mts +4 -0
  862. package/jsutils/instanceOf.d.mts +15 -0
  863. package/jsutils/instanceOf.d.ts +8 -7
  864. package/jsutils/instanceOf.js +29 -30
  865. package/jsutils/instanceOf.js.map +1 -1
  866. package/jsutils/instanceOf.mjs +28 -30
  867. package/jsutils/instanceOf.mjs.map +1 -1
  868. package/jsutils/invariant.d.mts +1 -0
  869. package/jsutils/isAsyncIterable.d.mts +5 -0
  870. package/jsutils/isIterableObject.d.mts +18 -0
  871. package/jsutils/isObjectLike.d.mts +7 -0
  872. package/jsutils/isPromise.d.mts +6 -0
  873. package/jsutils/isPromise.d.ts +2 -1
  874. package/jsutils/isPromise.js +5 -1
  875. package/jsutils/isPromise.js.map +1 -1
  876. package/jsutils/isPromise.mjs +4 -1
  877. package/jsutils/isPromise.mjs.map +1 -1
  878. package/jsutils/isSameSet.d.mts +1 -0
  879. package/jsutils/keyMap.d.mts +29 -0
  880. package/jsutils/keyValMap.d.mts +19 -0
  881. package/jsutils/mapValue.d.mts +6 -0
  882. package/jsutils/memoize1.d.mts +4 -0
  883. package/jsutils/memoize1.d.ts +4 -0
  884. package/jsutils/memoize1.js +19 -0
  885. package/jsutils/memoize1.js.map +1 -0
  886. package/jsutils/memoize1.mjs +16 -0
  887. package/jsutils/memoize1.mjs.map +1 -0
  888. package/jsutils/memoize2.d.mts +4 -0
  889. package/jsutils/memoize2.d.ts +4 -0
  890. package/jsutils/memoize2.js +24 -0
  891. package/jsutils/memoize2.js.map +1 -0
  892. package/jsutils/memoize2.mjs +21 -0
  893. package/jsutils/memoize2.mjs.map +1 -0
  894. package/jsutils/memoize3.d.mts +4 -0
  895. package/jsutils/memoize3.js +1 -3
  896. package/jsutils/memoize3.js.map +1 -1
  897. package/jsutils/memoize3.mjs +1 -3
  898. package/jsutils/memoize3.mjs.map +1 -1
  899. package/jsutils/naturalCompare.d.mts +8 -0
  900. package/jsutils/printPathArray.d.mts +4 -0
  901. package/jsutils/promiseForObject.d.mts +10 -0
  902. package/jsutils/promiseForObject.d.ts +2 -1
  903. package/jsutils/promiseForObject.js +8 -7
  904. package/jsutils/promiseForObject.js.map +1 -1
  905. package/jsutils/promiseForObject.mjs +8 -7
  906. package/jsutils/promiseForObject.mjs.map +1 -1
  907. package/jsutils/promiseReduce.d.mts +9 -0
  908. package/jsutils/promiseWithResolvers.d.mts +10 -0
  909. package/jsutils/suggestionList.d.mts +5 -0
  910. package/jsutils/toError.d.mts +4 -0
  911. package/jsutils/toObjMap.d.mts +4 -0
  912. package/language/KindTypeMap.d.mts +2 -0
  913. package/language/KindTypeMap.d.ts +2 -0
  914. package/language/KindTypeMap.js +3 -0
  915. package/language/KindTypeMap.js.map +1 -0
  916. package/language/KindTypeMap.mjs +2 -0
  917. package/language/KindTypeMap.mjs.map +1 -0
  918. package/language/ast.d.mts +495 -0
  919. package/language/ast.d.ts +94 -51
  920. package/language/ast.js +15 -2
  921. package/language/ast.js.map +1 -1
  922. package/language/ast.mjs +15 -2
  923. package/language/ast.mjs.map +1 -1
  924. package/language/blockString.d.mts +23 -0
  925. package/language/characterClasses.d.mts +47 -0
  926. package/language/directiveLocation.d.mts +28 -0
  927. package/language/index.d.mts +16 -0
  928. package/language/index.d.ts +3 -3
  929. package/language/index.js +7 -2
  930. package/language/index.js.map +1 -1
  931. package/language/index.mjs +5 -3
  932. package/language/index.mjs.map +1 -1
  933. package/language/kinds.d.mts +3 -0
  934. package/language/kinds.js +34 -1
  935. package/language/kinds.js.map +1 -1
  936. package/language/kinds_.d.mts +109 -0
  937. package/language/kinds_.d.ts +11 -0
  938. package/language/kinds_.js +7 -1
  939. package/language/kinds_.js.map +1 -1
  940. package/language/kinds_.mjs +6 -0
  941. package/language/kinds_.mjs.map +1 -1
  942. package/language/lexer.d.mts +87 -0
  943. package/language/lexer.d.ts +43 -1
  944. package/language/lexer.js +10 -0
  945. package/language/lexer.js.map +1 -1
  946. package/language/lexer.mjs +10 -3
  947. package/language/lexer.mjs.map +1 -1
  948. package/language/location.d.mts +13 -0
  949. package/language/location.js +2 -1
  950. package/language/location.js.map +1 -1
  951. package/language/location.mjs +2 -1
  952. package/language/location.mjs.map +1 -1
  953. package/language/parser.d.mts +522 -0
  954. package/language/parser.d.ts +28 -4
  955. package/language/parser.js +101 -6
  956. package/language/parser.js.map +1 -1
  957. package/language/parser.mjs +100 -6
  958. package/language/parser.mjs.map +1 -1
  959. package/language/predicates.d.mts +19 -0
  960. package/language/predicates.d.ts +9 -1
  961. package/language/predicates.js +19 -0
  962. package/language/predicates.js.map +1 -1
  963. package/language/predicates.mjs +17 -0
  964. package/language/predicates.mjs.map +1 -1
  965. package/language/printLocation.d.mts +11 -0
  966. package/language/printString.d.mts +5 -0
  967. package/language/printer.d.mts +6 -0
  968. package/language/printer.js +28 -12
  969. package/language/printer.js.map +1 -1
  970. package/language/printer.mjs +28 -12
  971. package/language/printer.mjs.map +1 -1
  972. package/language/schemaCoordinateLexer.d.mts +43 -0
  973. package/language/schemaCoordinateLexer.d.ts +43 -0
  974. package/language/schemaCoordinateLexer.js +93 -0
  975. package/language/schemaCoordinateLexer.js.map +1 -0
  976. package/language/schemaCoordinateLexer.mjs +89 -0
  977. package/language/schemaCoordinateLexer.mjs.map +1 -0
  978. package/language/source.d.mts +26 -0
  979. package/language/source.d.ts +1 -0
  980. package/language/source.js +7 -3
  981. package/language/source.js.map +1 -1
  982. package/language/source.mjs +7 -3
  983. package/language/source.mjs.map +1 -1
  984. package/language/tokenKind.d.mts +30 -0
  985. package/language/tokenKind.d.ts +1 -0
  986. package/language/tokenKind.js +1 -0
  987. package/language/tokenKind.js.map +1 -1
  988. package/language/tokenKind.mjs +1 -0
  989. package/language/tokenKind.mjs.map +1 -1
  990. package/language/visitor.d.mts +160 -0
  991. package/language/visitor.js +3 -2
  992. package/language/visitor.js.map +1 -1
  993. package/language/visitor.mjs +3 -2
  994. package/language/visitor.mjs.map +1 -1
  995. package/package.json +174 -7
  996. package/type/assertName.d.mts +10 -0
  997. package/type/definition.d.mts +933 -0
  998. package/type/definition.d.ts +58 -16
  999. package/type/definition.js +53 -28
  1000. package/type/definition.js.map +1 -1
  1001. package/type/definition.mjs +53 -28
  1002. package/type/definition.mjs.map +1 -1
  1003. package/type/directives.d.mts +97 -0
  1004. package/type/directives.d.ts +5 -0
  1005. package/type/directives.js +20 -4
  1006. package/type/directives.js.map +1 -1
  1007. package/type/directives.mjs +19 -3
  1008. package/type/directives.mjs.map +1 -1
  1009. package/type/index.d.mts +12 -0
  1010. package/type/index.d.ts +1 -1
  1011. package/type/index.js.map +1 -1
  1012. package/type/index.mjs.map +1 -1
  1013. package/type/introspection.d.mts +26 -0
  1014. package/type/introspection.d.ts +3 -3
  1015. package/type/introspection.js +9 -7
  1016. package/type/introspection.js.map +1 -1
  1017. package/type/introspection.mjs +9 -7
  1018. package/type/introspection.mjs.map +1 -1
  1019. package/type/scalars.d.mts +19 -0
  1020. package/type/scalars.d.ts +5 -5
  1021. package/type/scalars.js +130 -38
  1022. package/type/scalars.js.map +1 -1
  1023. package/type/scalars.mjs +130 -38
  1024. package/type/scalars.mjs.map +1 -1
  1025. package/type/schema.d.mts +172 -0
  1026. package/type/schema.d.ts +2 -0
  1027. package/type/schema.js +11 -13
  1028. package/type/schema.js.map +1 -1
  1029. package/type/schema.mjs +11 -13
  1030. package/type/schema.mjs.map +1 -1
  1031. package/type/validate.d.mts +21 -0
  1032. package/type/validate.d.ts +6 -0
  1033. package/type/validate.js +48 -30
  1034. package/type/validate.js.map +1 -1
  1035. package/type/validate.mjs +47 -30
  1036. package/type/validate.mjs.map +1 -1
  1037. package/utilities/TypeInfo.d.mts +55 -0
  1038. package/utilities/TypeInfo.js +3 -1
  1039. package/utilities/TypeInfo.js.map +1 -1
  1040. package/utilities/TypeInfo.mjs +3 -1
  1041. package/utilities/TypeInfo.mjs.map +1 -1
  1042. package/utilities/astFromValue.d.mts +27 -0
  1043. package/utilities/astFromValue.d.ts +1 -0
  1044. package/utilities/astFromValue.js +8 -2
  1045. package/utilities/astFromValue.js.map +1 -1
  1046. package/utilities/astFromValue.mjs +8 -2
  1047. package/utilities/astFromValue.mjs.map +1 -1
  1048. package/utilities/buildASTSchema.d.mts +29 -0
  1049. package/utilities/buildClientSchema.d.mts +16 -0
  1050. package/utilities/buildClientSchema.js +10 -6
  1051. package/utilities/buildClientSchema.js.map +1 -1
  1052. package/utilities/buildClientSchema.mjs +9 -6
  1053. package/utilities/buildClientSchema.mjs.map +1 -1
  1054. package/utilities/coerceInputValue.d.mts +34 -0
  1055. package/utilities/coerceInputValue.d.ts +7 -1
  1056. package/utilities/coerceInputValue.js +36 -13
  1057. package/utilities/coerceInputValue.js.map +1 -1
  1058. package/utilities/coerceInputValue.mjs +36 -13
  1059. package/utilities/coerceInputValue.mjs.map +1 -1
  1060. package/utilities/concatAST.d.mts +7 -0
  1061. package/utilities/extendSchema.d.mts +29 -0
  1062. package/utilities/extendSchema.js +2 -1
  1063. package/utilities/extendSchema.js.map +1 -1
  1064. package/utilities/extendSchema.mjs +2 -1
  1065. package/utilities/extendSchema.mjs.map +1 -1
  1066. package/utilities/findSchemaChanges.d.mts +72 -0
  1067. package/utilities/findSchemaChanges.d.ts +18 -18
  1068. package/utilities/findSchemaChanges.js +4 -2
  1069. package/utilities/findSchemaChanges.js.map +1 -1
  1070. package/utilities/findSchemaChanges.mjs +4 -2
  1071. package/utilities/findSchemaChanges.mjs.map +1 -1
  1072. package/utilities/getDefaultValueAST.d.mts +3 -0
  1073. package/utilities/getDefaultValueAST.js +4 -2
  1074. package/utilities/getDefaultValueAST.js.map +1 -1
  1075. package/utilities/getDefaultValueAST.mjs +4 -2
  1076. package/utilities/getDefaultValueAST.mjs.map +1 -1
  1077. package/utilities/getIntrospectionQuery.d.mts +138 -0
  1078. package/utilities/getOperationAST.d.mts +8 -0
  1079. package/utilities/index.d.mts +32 -0
  1080. package/utilities/index.d.ts +2 -0
  1081. package/utilities/index.js +5 -1
  1082. package/utilities/index.js.map +1 -1
  1083. package/utilities/index.mjs +2 -0
  1084. package/utilities/index.mjs.map +1 -1
  1085. package/utilities/introspectionFromSchema.d.mts +12 -0
  1086. package/utilities/introspectionFromSchema.js +2 -1
  1087. package/utilities/introspectionFromSchema.js.map +1 -1
  1088. package/utilities/introspectionFromSchema.mjs +2 -1
  1089. package/utilities/introspectionFromSchema.mjs.map +1 -1
  1090. package/utilities/lexicographicSortSchema.d.mts +7 -0
  1091. package/utilities/mapSchemaConfig.d.mts +66 -0
  1092. package/utilities/mapSchemaConfig.d.ts +1 -1
  1093. package/utilities/mapSchemaConfig.js +6 -3
  1094. package/utilities/mapSchemaConfig.js.map +1 -1
  1095. package/utilities/mapSchemaConfig.mjs +6 -3
  1096. package/utilities/mapSchemaConfig.mjs.map +1 -1
  1097. package/utilities/printSchema.d.mts +7 -0
  1098. package/utilities/printSchema.js +4 -2
  1099. package/utilities/printSchema.js.map +1 -1
  1100. package/utilities/printSchema.mjs +4 -2
  1101. package/utilities/printSchema.mjs.map +1 -1
  1102. package/utilities/replaceVariables.d.mts +13 -0
  1103. package/utilities/replaceVariables.d.ts +2 -1
  1104. package/utilities/replaceVariables.js +17 -8
  1105. package/utilities/replaceVariables.js.map +1 -1
  1106. package/utilities/replaceVariables.mjs +17 -8
  1107. package/utilities/replaceVariables.mjs.map +1 -1
  1108. package/utilities/resolveSchemaCoordinate.d.mts +57 -0
  1109. package/utilities/resolveSchemaCoordinate.d.ts +57 -0
  1110. package/utilities/resolveSchemaCoordinate.js +167 -0
  1111. package/utilities/resolveSchemaCoordinate.js.map +1 -0
  1112. package/utilities/resolveSchemaCoordinate.mjs +163 -0
  1113. package/utilities/resolveSchemaCoordinate.mjs.map +1 -0
  1114. package/utilities/separateOperations.d.mts +9 -0
  1115. package/utilities/sortValueNode.d.mts +9 -0
  1116. package/utilities/stripIgnoredCharacters.d.mts +62 -0
  1117. package/utilities/typeComparators.d.mts +21 -0
  1118. package/utilities/typeFromAST.d.mts +15 -0
  1119. package/utilities/typedQueryDocumentNode.d.mts +17 -0
  1120. package/utilities/validateInputValue.d.mts +19 -0
  1121. package/utilities/validateInputValue.d.ts +2 -1
  1122. package/utilities/validateInputValue.js +42 -17
  1123. package/utilities/validateInputValue.js.map +1 -1
  1124. package/utilities/validateInputValue.mjs +42 -17
  1125. package/utilities/validateInputValue.mjs.map +1 -1
  1126. package/utilities/valueFromAST.d.mts +26 -0
  1127. package/utilities/valueFromAST.js +24 -9
  1128. package/utilities/valueFromAST.js.map +1 -1
  1129. package/utilities/valueFromAST.mjs +24 -9
  1130. package/utilities/valueFromAST.mjs.map +1 -1
  1131. package/utilities/valueFromASTUntyped.d.mts +20 -0
  1132. package/utilities/valueToLiteral.d.mts +31 -0
  1133. package/utilities/valueToLiteral.d.ts +1 -0
  1134. package/utilities/valueToLiteral.js +4 -1
  1135. package/utilities/valueToLiteral.js.map +1 -1
  1136. package/utilities/valueToLiteral.mjs +4 -1
  1137. package/utilities/valueToLiteral.mjs.map +1 -1
  1138. package/validation/ValidationContext.d.mts +70 -0
  1139. package/validation/ValidationContext.js +2 -0
  1140. package/validation/ValidationContext.js.map +1 -1
  1141. package/validation/ValidationContext.mjs +2 -0
  1142. package/validation/ValidationContext.mjs.map +1 -1
  1143. package/validation/index.d.mts +46 -0
  1144. package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +8 -0
  1145. package/validation/rules/DeferStreamDirectiveLabelRule.js +1 -1
  1146. package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
  1147. package/validation/rules/DeferStreamDirectiveLabelRule.mjs +1 -1
  1148. package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
  1149. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +8 -0
  1150. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +8 -0
  1151. package/validation/rules/ExecutableDefinitionsRule.d.mts +11 -0
  1152. package/validation/rules/FieldsOnCorrectTypeRule.d.mts +11 -0
  1153. package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +12 -0
  1154. package/validation/rules/KnownArgumentNamesRule.d.mts +16 -0
  1155. package/validation/rules/KnownDirectivesRule.d.mts +11 -0
  1156. package/validation/rules/KnownDirectivesRule.js +7 -4
  1157. package/validation/rules/KnownDirectivesRule.js.map +1 -1
  1158. package/validation/rules/KnownDirectivesRule.mjs +7 -4
  1159. package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
  1160. package/validation/rules/KnownFragmentNamesRule.d.mts +11 -0
  1161. package/validation/rules/KnownOperationTypesRule.d.mts +11 -0
  1162. package/validation/rules/KnownTypeNamesRule.d.mts +11 -0
  1163. package/validation/rules/LoneAnonymousOperationRule.d.mts +11 -0
  1164. package/validation/rules/LoneSchemaDefinitionRule.d.mts +8 -0
  1165. package/validation/rules/MaxIntrospectionDepthRule.d.mts +3 -0
  1166. package/validation/rules/MaxIntrospectionDepthRule.d.ts +2 -2
  1167. package/validation/rules/MaxIntrospectionDepthRule.js +1 -2
  1168. package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
  1169. package/validation/rules/MaxIntrospectionDepthRule.mjs +1 -2
  1170. package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
  1171. package/validation/rules/NoFragmentCyclesRule.d.mts +11 -0
  1172. package/validation/rules/NoUndefinedVariablesRule.d.mts +11 -0
  1173. package/validation/rules/NoUnusedFragmentsRule.d.mts +11 -0
  1174. package/validation/rules/NoUnusedVariablesRule.d.mts +11 -0
  1175. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +12 -0
  1176. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +15 -14
  1177. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
  1178. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +15 -14
  1179. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
  1180. package/validation/rules/PossibleFragmentSpreadsRule.d.mts +10 -0
  1181. package/validation/rules/PossibleTypeExtensionsRule.d.mts +8 -0
  1182. package/validation/rules/PossibleTypeExtensionsRule.js +5 -3
  1183. package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
  1184. package/validation/rules/PossibleTypeExtensionsRule.mjs +5 -3
  1185. package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
  1186. package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +13 -0
  1187. package/validation/rules/ScalarLeafsRule.d.mts +9 -0
  1188. package/validation/rules/SingleFieldSubscriptionsRule.d.mts +12 -0
  1189. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +2 -1
  1190. package/validation/rules/SingleFieldSubscriptionsRule.js +9 -2
  1191. package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
  1192. package/validation/rules/SingleFieldSubscriptionsRule.mjs +9 -2
  1193. package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
  1194. package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +8 -0
  1195. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +9 -0
  1196. package/validation/rules/UniqueArgumentNamesRule.d.mts +11 -0
  1197. package/validation/rules/UniqueDirectiveNamesRule.d.mts +8 -0
  1198. package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +11 -0
  1199. package/validation/rules/UniqueEnumValueNamesRule.d.mts +8 -0
  1200. package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +8 -0
  1201. package/validation/rules/UniqueFragmentNamesRule.d.mts +10 -0
  1202. package/validation/rules/UniqueInputFieldNamesRule.d.mts +11 -0
  1203. package/validation/rules/UniqueInputFieldNamesRule.js +2 -1
  1204. package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
  1205. package/validation/rules/UniqueInputFieldNamesRule.mjs +2 -1
  1206. package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
  1207. package/validation/rules/UniqueOperationNamesRule.d.mts +10 -0
  1208. package/validation/rules/UniqueOperationTypesRule.d.mts +8 -0
  1209. package/validation/rules/UniqueTypeNamesRule.d.mts +8 -0
  1210. package/validation/rules/UniqueVariableNamesRule.d.mts +8 -0
  1211. package/validation/rules/ValuesOfCorrectTypeRule.d.mts +11 -0
  1212. package/validation/rules/ValuesOfCorrectTypeRule.js +5 -0
  1213. package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
  1214. package/validation/rules/ValuesOfCorrectTypeRule.mjs +5 -0
  1215. package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
  1216. package/validation/rules/VariablesAreInputTypesRule.d.mts +11 -0
  1217. package/validation/rules/VariablesInAllowedPositionRule.d.mts +10 -0
  1218. package/validation/rules/VariablesInAllowedPositionRule.js +1 -3
  1219. package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
  1220. package/validation/rules/VariablesInAllowedPositionRule.mjs +1 -3
  1221. package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
  1222. package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +13 -0
  1223. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +13 -0
  1224. package/validation/specifiedRules.d.mts +17 -0
  1225. package/validation/specifiedRules.d.ts +1 -2
  1226. package/validation/specifiedRules.js +3 -1
  1227. package/validation/specifiedRules.js.map +1 -1
  1228. package/validation/specifiedRules.mjs +3 -1
  1229. package/validation/specifiedRules.mjs.map +1 -1
  1230. package/validation/validate.d.mts +48 -0
  1231. package/validation/validate.d.ts +5 -4
  1232. package/validation/validate.js +10 -5
  1233. package/validation/validate.js.map +1 -1
  1234. package/validation/validate.mjs +10 -5
  1235. package/validation/validate.mjs.map +1 -1
  1236. package/version.d.mts +13 -0
  1237. package/version.js +2 -2
  1238. package/version.js.map +1 -1
  1239. package/version.mjs +2 -2
  1240. package/version.mjs.map +1 -1
  1241. package/execution/AbortSignalListener.d.ts +0 -17
  1242. package/execution/AbortSignalListener.js +0 -71
  1243. package/execution/AbortSignalListener.js.map +0 -1
  1244. package/execution/AbortSignalListener.mjs +0 -65
  1245. package/execution/AbortSignalListener.mjs.map +0 -1
  1246. package/execution/IncrementalGraph.d.ts +0 -29
  1247. package/execution/IncrementalGraph.js +0 -232
  1248. package/execution/IncrementalGraph.js.map +0 -1
  1249. package/execution/IncrementalGraph.mjs +0 -228
  1250. package/execution/IncrementalGraph.mjs.map +0 -1
  1251. package/execution/IncrementalPublisher.d.ts +0 -10
  1252. package/execution/IncrementalPublisher.js +0 -259
  1253. package/execution/IncrementalPublisher.js.map +0 -1
  1254. package/execution/IncrementalPublisher.mjs +0 -256
  1255. package/execution/IncrementalPublisher.mjs.map +0 -1
  1256. package/execution/buildExecutionPlan.js.map +0 -1
  1257. package/execution/buildExecutionPlan.mjs.map +0 -1
  1258. package/execution/types.d.ts +0 -161
  1259. package/execution/types.js +0 -36
  1260. package/execution/types.js.map +0 -1
  1261. package/execution/types.mjs +0 -27
  1262. package/execution/types.mjs.map +0 -1
  1263. package/jsutils/BoxedPromiseOrValue.d.ts +0 -15
  1264. package/jsutils/BoxedPromiseOrValue.js +0 -27
  1265. package/jsutils/BoxedPromiseOrValue.js.map +0 -1
  1266. package/jsutils/BoxedPromiseOrValue.mjs +0 -23
  1267. package/jsutils/BoxedPromiseOrValue.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validateInputValue.js","sourceRoot":"","sources":["../../src/utilities/validateInputValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { didYouMean } from '../jsutils/didYouMean.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyMap } from '../jsutils/keyMap.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { Path } from '../jsutils/Path.js';\nimport { addPath, pathToArray } from '../jsutils/Path.js';\nimport { suggestionList } from '../jsutils/suggestionList.js';\n\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type { ASTNode, ValueNode, VariableNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n assertLeafType,\n isInputObjectType,\n isListType,\n isNonNullType,\n isRequiredInputField,\n} from '../type/definition.js';\n\nimport type { VariableValues } from '../execution/values.js';\n\nimport { replaceVariables } from './replaceVariables.js';\n\n/**\n * Validate that the provided input value is allowed for this type, collecting\n * all errors via a callback function.\n */\nexport function validateInputValue(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n return validateInputValueImpl(\n inputValue,\n type,\n onError,\n hideSuggestions,\n undefined,\n );\n}\n\nfunction validateInputValueImpl(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (isNonNullType(type)) {\n if (inputValue === undefined) {\n reportInvalidValue(\n onError,\n `Expected a value of non-null type \"${type}\" to be provided.`,\n path,\n );\n return;\n }\n if (inputValue === null) {\n reportInvalidValue(\n onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n path,\n );\n return;\n }\n return validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n }\n\n if (inputValue == null) {\n return;\n }\n\n if (isListType(type)) {\n if (!isIterableObject(inputValue)) {\n // Lists accept a non-list value as a list of one.\n validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemValue of inputValue) {\n validateInputValueImpl(\n itemValue,\n type.ofType,\n onError,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (!isObjectLike(inputValue)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to be an object, found: ${inspect(\n inputValue,\n )}.`,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n\n for (const field of Object.values(fieldDefs)) {\n const fieldValue = inputValue[field.name];\n if (fieldValue === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${inspect(inputValue)}.`,\n path,\n );\n }\n } else {\n validateInputValueImpl(\n fieldValue,\n field.type,\n onError,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields = Object.keys(inputValue);\n // Ensure every provided field is defined.\n for (const fieldName of fields) {\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n );\n }\n }\n\n if (type.isOneOf) {\n if (fields.length !== 1) {\n reportInvalidValue(\n onError,\n `Exactly one key must be specified for OneOf type \"${type}\".`,\n path,\n );\n }\n\n const field = fields[0];\n const value = inputValue[field];\n if (value === null) {\n reportInvalidValue(\n onError,\n `Field \"${field}\" for OneOf type \"${type}\" must be non-null.`,\n path,\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError;\n\n try {\n result = type.coerceInputValue(inputValue, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${caughtError.message != null && caughtError.message !== '' ? caughtError.message : caughtError}\"; found`\n : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n caughtError,\n );\n }\n }\n}\n\nfunction reportInvalidValue(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(new GraphQLError(message, { originalError }), pathToArray(path));\n}\n\n/**\n * Validate that the provided input literal is allowed for this type, collecting\n * all errors via a callback function.\n *\n * If variable values are not provided, the literal is validated statically\n * (not assuming that those variables are missing runtime values).\n */\n// eslint-disable-next-line @typescript-eslint/max-params\nexport function validateInputLiteral(\n valueNode: ValueNode,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n variables?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<VariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const context: ValidationContext = {\n static: !variables && !fragmentVariableValues,\n onError,\n variables,\n fragmentVariableValues,\n };\n return validateInputLiteralImpl(\n context,\n valueNode,\n type,\n hideSuggestions,\n undefined,\n );\n}\n\ninterface ValidationContext {\n static: boolean;\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void;\n variables?: Maybe<VariableValues>;\n fragmentVariableValues?: Maybe<VariableValues>;\n}\n\nfunction validateInputLiteralImpl(\n context: ValidationContext,\n valueNode: ValueNode,\n type: GraphQLInputType,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (valueNode.kind === Kind.VARIABLE) {\n if (context.static) {\n // If no variable values are provided, this is being validated statically,\n // and cannot yet produce any validation errors for variables.\n return;\n }\n const scopedVariableValues = getScopedVariableValues(context, valueNode);\n const value = scopedVariableValues?.coerced[valueNode.name.value];\n if (isNonNullType(type)) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes this variable usage has already been validated.\n return;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n return;\n }\n return validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n }\n\n if (valueNode.kind === Kind.NULL) {\n return;\n }\n\n if (isListType(type)) {\n if (valueNode.kind !== Kind.LIST) {\n // Lists accept a non-list value as a list of one.\n validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemNode of valueNode.values) {\n validateInputLiteralImpl(\n context,\n itemNode,\n type.ofType,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to be an object, found: ${print(\n valueNode,\n )}.`,\n valueNode,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n const fieldNodes = keyMap(valueNode.fields, (field) => field.name.value);\n\n for (const field of Object.values(fieldDefs)) {\n const fieldNode = fieldNodes[field.name];\n if (fieldNode === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${print(valueNode)}.`,\n valueNode,\n path,\n );\n }\n } else {\n const fieldValueNode = fieldNode.value;\n if (fieldValueNode.kind === Kind.VARIABLE && !context.static) {\n const scopedVariableValues = getScopedVariableValues(\n context,\n fieldValueNode,\n );\n const variableName = fieldValueNode.name.value;\n const value = scopedVariableValues?.coerced[variableName];\n if (type.isOneOf) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n } else if (value === undefined && !isRequiredInputField(field)) {\n continue;\n }\n }\n\n validateInputLiteralImpl(\n context,\n fieldValueNode,\n field.type,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields = valueNode.fields;\n // Ensure every provided field is defined.\n for (const fieldNode of fields) {\n const fieldName = fieldNode.name.value;\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${print(valueNode)}.`,\n fieldNode,\n path,\n );\n }\n }\n\n if (type.isOneOf) {\n const isNotExactlyOneField = fields.length !== 1;\n if (isNotExactlyOneField) {\n reportInvalidLiteral(\n context.onError,\n `OneOf Input Object \"${type}\" must specify exactly one key.`,\n valueNode,\n path,\n );\n return;\n }\n\n const fieldValueNode = fields[0].value;\n if (fieldValueNode.kind === Kind.NULL) {\n const fieldName = fields[0].name.value;\n reportInvalidLiteral(\n context.onError,\n `Field \"${type}.${fieldName}\" used for OneOf Input Object must be non-null.`,\n valueNode,\n addPath(path, fieldName, undefined),\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError;\n try {\n result = type.coerceInputLiteral\n ? type.coerceInputLiteral(replaceVariables(valueNode), hideSuggestions)\n : type.parseLiteral(valueNode, undefined, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n context.onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${caughtError.message != null && caughtError.message !== '' ? caughtError.message : caughtError}\"; found`\n : ', found'\n }: ${print(valueNode)}.`,\n valueNode,\n path,\n caughtError,\n );\n }\n }\n}\n\nfunction getScopedVariableValues(\n context: ValidationContext,\n valueNode: VariableNode,\n): Maybe<VariableValues> {\n const variableName = valueNode.name.value;\n const { fragmentVariableValues, variables } = context;\n return fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variables;\n}\n\nfunction reportInvalidLiteral(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n valueNode: ASTNode,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(\n new GraphQLError(message, { nodes: valueNode, originalError }),\n pathToArray(path),\n );\n}\n"]}
1
+ {"version":3,"file":"validateInputValue.js","sourceRoot":"","sources":["../../src/utilities/validateInputValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { didYouMean } from '../jsutils/didYouMean.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyMap } from '../jsutils/keyMap.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { Path } from '../jsutils/Path.js';\nimport { addPath, pathToArray } from '../jsutils/Path.js';\nimport { suggestionList } from '../jsutils/suggestionList.js';\n\nimport { ensureGraphQLError } from '../error/ensureGraphQLError.js';\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type { ASTNode, ValueNode, VariableNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n assertLeafType,\n isInputObjectType,\n isListType,\n isNonNullType,\n isRequiredInputField,\n} from '../type/definition.js';\n\nimport type { FragmentVariableValues } from '../execution/collectFields.js';\nimport type { VariableValues } from '../execution/values.js';\n\nimport { replaceVariables } from './replaceVariables.js';\n\n/**\n * Validate that the provided input value is allowed for this type, collecting\n * all errors via a callback function.\n */\nexport function validateInputValue(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n return validateInputValueImpl(\n inputValue,\n type,\n onError,\n hideSuggestions,\n undefined,\n );\n}\n\nfunction validateInputValueImpl(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (isNonNullType(type)) {\n if (inputValue === undefined) {\n reportInvalidValue(\n onError,\n `Expected a value of non-null type \"${type}\" to be provided.`,\n path,\n );\n return;\n }\n if (inputValue === null) {\n reportInvalidValue(\n onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n path,\n );\n return;\n }\n return validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n }\n\n if (inputValue == null) {\n return;\n }\n\n if (isListType(type)) {\n if (!isIterableObject(inputValue)) {\n // Lists accept a non-list value as a list of one.\n validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemValue of inputValue) {\n validateInputValueImpl(\n itemValue,\n type.ofType,\n onError,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (!isObjectLike(inputValue) || Array.isArray(inputValue)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to be an object, found: ${inspect(\n inputValue,\n )}.`,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n\n for (const field of Object.values(fieldDefs)) {\n const fieldValue = inputValue[field.name];\n if (fieldValue === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${inspect(inputValue)}.`,\n path,\n );\n }\n } else {\n validateInputValueImpl(\n fieldValue,\n field.type,\n onError,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields: Array<string> = [];\n // Ensure every provided field is defined.\n for (const fieldName of Object.keys(inputValue)) {\n if (inputValue[fieldName] === undefined) {\n continue;\n }\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n );\n continue;\n }\n fields.push(fieldName);\n }\n\n if (type.isOneOf) {\n if (fields.length !== 1) {\n reportInvalidValue(\n onError,\n getOneOfInputObjectErrorMessage(type),\n path,\n );\n }\n\n const field = fields[0];\n const value = inputValue[field];\n if (value === null) {\n reportInvalidValue(\n onError,\n getOneOfInputObjectErrorMessage(type),\n addPath(path, field, type.name),\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError: unknown;\n\n try {\n result = type.coerceInputValue(inputValue, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${getCaughtErrorMessage(caughtError)}\"; found`\n : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n ensureGraphQLError(caughtError),\n );\n }\n }\n}\n\nfunction reportInvalidValue(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(new GraphQLError(message, { originalError }), pathToArray(path));\n}\n\n/**\n * Validate that the provided input literal is allowed for this type, collecting\n * all errors via a callback function.\n *\n * If variable values are not provided, the literal is validated statically\n * (not assuming that those variables are missing runtime values).\n */\n// eslint-disable-next-line max-params\nexport function validateInputLiteral(\n valueNode: ValueNode,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n variables?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const context: ValidationContext = {\n static: !variables && !fragmentVariableValues,\n onError,\n variables,\n fragmentVariableValues,\n };\n return validateInputLiteralImpl(\n context,\n valueNode,\n type,\n hideSuggestions,\n undefined,\n );\n}\n\ninterface ValidationContext {\n static: boolean;\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void;\n variables?: Maybe<VariableValues>;\n fragmentVariableValues?: Maybe<FragmentVariableValues>;\n}\n\nfunction validateInputLiteralImpl(\n context: ValidationContext,\n valueNode: ValueNode,\n type: GraphQLInputType,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (valueNode.kind === Kind.VARIABLE) {\n if (context.static) {\n // If no variable values are provided, this is being validated statically,\n // and cannot yet produce any validation errors for variables.\n return;\n }\n const scopedVariableValues = getScopedVariableValues(context, valueNode);\n const value = scopedVariableValues?.coerced[valueNode.name.value];\n if (isNonNullType(type)) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes this variable usage has already been validated.\n return;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n return;\n }\n return validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n }\n\n if (valueNode.kind === Kind.NULL) {\n return;\n }\n\n if (isListType(type)) {\n if (valueNode.kind !== Kind.LIST) {\n // Lists accept a non-list value as a list of one.\n validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemNode of valueNode.values) {\n validateInputLiteralImpl(\n context,\n itemNode,\n type.ofType,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to be an object, found: ${print(\n valueNode,\n )}.`,\n valueNode,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n const fieldNodes = keyMap(valueNode.fields, (field) => field.name.value);\n\n for (const field of Object.values(fieldDefs)) {\n const fieldNode = fieldNodes[field.name];\n if (fieldNode === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${print(valueNode)}.`,\n valueNode,\n path,\n );\n }\n } else {\n const fieldValueNode = fieldNode.value;\n if (fieldValueNode.kind === Kind.VARIABLE && !context.static) {\n const scopedVariableValues = getScopedVariableValues(\n context,\n fieldValueNode,\n );\n const variableName = fieldValueNode.name.value;\n const value = scopedVariableValues?.coerced[variableName];\n if (type.isOneOf) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n } else if (value === undefined && !isRequiredInputField(field)) {\n continue;\n }\n }\n\n validateInputLiteralImpl(\n context,\n fieldValueNode,\n field.type,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields = valueNode.fields;\n const knownFields: Array<(typeof fields)[number]> = [];\n // Ensure every provided field is defined.\n for (const fieldNode of fields) {\n const fieldName = fieldNode.name.value;\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${print(valueNode)}.`,\n fieldNode,\n path,\n );\n } else {\n knownFields.push(fieldNode);\n }\n }\n\n if (type.isOneOf) {\n const isNotExactlyOneField = knownFields.length !== 1;\n if (isNotExactlyOneField) {\n reportInvalidLiteral(\n context.onError,\n getOneOfInputObjectErrorMessage(type),\n valueNode,\n path,\n );\n return;\n }\n\n const fieldValueNode = knownFields[0].value;\n if (fieldValueNode.kind === Kind.NULL) {\n const fieldName = knownFields[0].name.value;\n reportInvalidLiteral(\n context.onError,\n getOneOfInputObjectErrorMessage(type),\n valueNode,\n addPath(path, fieldName, undefined),\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError: unknown;\n try {\n result = type.coerceInputLiteral\n ? type.coerceInputLiteral(\n replaceVariables(\n valueNode,\n context.variables,\n context.fragmentVariableValues,\n ),\n hideSuggestions,\n )\n : type.parseLiteral(valueNode, undefined, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n context.onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${getCaughtErrorMessage(caughtError)}\"; found`\n : ', found'\n }: ${print(valueNode)}.`,\n valueNode,\n path,\n ensureGraphQLError(caughtError),\n );\n }\n }\n}\n\nfunction getScopedVariableValues(\n context: ValidationContext,\n valueNode: VariableNode,\n): Maybe<VariableValues> {\n const variableName = valueNode.name.value;\n const { fragmentVariableValues, variables } = context;\n return fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variables;\n}\n\nfunction reportInvalidLiteral(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n valueNode: ASTNode,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(\n new GraphQLError(message, {\n nodes: valueNode,\n originalError,\n }),\n pathToArray(path),\n );\n}\n\nfunction getCaughtErrorMessage(caughtError: unknown): string {\n if (isObjectLike(caughtError)) {\n const message = caughtError.message;\n if (typeof message === 'string' && message !== '') {\n return message;\n }\n }\n\n return String(caughtError);\n}\n\nfunction getOneOfInputObjectErrorMessage(type: GraphQLInputType): string {\n return `Within OneOf Input Object type \"${type}\", exactly one field must be specified, and the value for that field must be non-null.`;\n}\n"]}
@@ -5,6 +5,7 @@ import { isObjectLike } from "../jsutils/isObjectLike.mjs";
5
5
  import { keyMap } from "../jsutils/keyMap.mjs";
6
6
  import { addPath, pathToArray } from "../jsutils/Path.mjs";
7
7
  import { suggestionList } from "../jsutils/suggestionList.mjs";
8
+ import { ensureGraphQLError } from "../error/ensureGraphQLError.mjs";
8
9
  import { GraphQLError } from "../error/GraphQLError.mjs";
9
10
  import { Kind } from "../language/kinds.mjs";
10
11
  import { print } from "../language/printer.mjs";
@@ -45,7 +46,7 @@ function validateInputValueImpl(inputValue, type, onError, hideSuggestions, path
45
46
  }
46
47
  }
47
48
  else if (isInputObjectType(type)) {
48
- if (!isObjectLike(inputValue)) {
49
+ if (!isObjectLike(inputValue) || Array.isArray(inputValue)) {
49
50
  reportInvalidValue(onError, `Expected value of type "${type}" to be an object, found: ${inspect(inputValue)}.`, path);
50
51
  return;
51
52
  }
@@ -61,24 +62,29 @@ function validateInputValueImpl(inputValue, type, onError, hideSuggestions, path
61
62
  validateInputValueImpl(fieldValue, field.type, onError, hideSuggestions, addPath(path, field.name, type.name));
62
63
  }
63
64
  }
64
- const fields = Object.keys(inputValue);
65
+ const fields = [];
65
66
  // Ensure every provided field is defined.
66
- for (const fieldName of fields) {
67
+ for (const fieldName of Object.keys(inputValue)) {
68
+ if (inputValue[fieldName] === undefined) {
69
+ continue;
70
+ }
67
71
  if (!Object.hasOwn(fieldDefs, fieldName)) {
68
72
  const suggestion = hideSuggestions
69
73
  ? ''
70
74
  : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));
71
75
  reportInvalidValue(onError, `Expected value of type "${type}" not to include unknown field "${fieldName}"${suggestion ? `.${suggestion} Found` : ', found'}: ${inspect(inputValue)}.`, path);
76
+ continue;
72
77
  }
78
+ fields.push(fieldName);
73
79
  }
74
80
  if (type.isOneOf) {
75
81
  if (fields.length !== 1) {
76
- reportInvalidValue(onError, `Exactly one key must be specified for OneOf type "${type}".`, path);
82
+ reportInvalidValue(onError, getOneOfInputObjectErrorMessage(type), path);
77
83
  }
78
84
  const field = fields[0];
79
85
  const value = inputValue[field];
80
86
  if (value === null) {
81
- reportInvalidValue(onError, `Field "${field}" for OneOf type "${type}" must be non-null.`, path);
87
+ reportInvalidValue(onError, getOneOfInputObjectErrorMessage(type), addPath(path, field, type.name));
82
88
  }
83
89
  }
84
90
  }
@@ -98,8 +104,8 @@ function validateInputValueImpl(inputValue, type, onError, hideSuggestions, path
98
104
  }
99
105
  if (result === undefined) {
100
106
  reportInvalidValue(onError, `Expected value of type "${type}"${caughtError != null
101
- ? `, but encountered error "${caughtError.message != null && caughtError.message !== '' ? caughtError.message : caughtError}"; found`
102
- : ', found'}: ${inspect(inputValue)}.`, path, caughtError);
107
+ ? `, but encountered error "${getCaughtErrorMessage(caughtError)}"; found`
108
+ : ', found'}: ${inspect(inputValue)}.`, path, ensureGraphQLError(caughtError));
103
109
  }
104
110
  }
105
111
  }
@@ -113,7 +119,7 @@ function reportInvalidValue(onError, message, path, originalError) {
113
119
  * If variable values are not provided, the literal is validated statically
114
120
  * (not assuming that those variables are missing runtime values).
115
121
  */
116
- // eslint-disable-next-line @typescript-eslint/max-params
122
+ // eslint-disable-next-line max-params
117
123
  export function validateInputLiteral(valueNode, type, onError, variables, fragmentVariableValues, hideSuggestions) {
118
124
  const context = {
119
125
  static: !variables && !fragmentVariableValues,
@@ -202,6 +208,7 @@ function validateInputLiteralImpl(context, valueNode, type, hideSuggestions, pat
202
208
  }
203
209
  }
204
210
  const fields = valueNode.fields;
211
+ const knownFields = [];
205
212
  // Ensure every provided field is defined.
206
213
  for (const fieldNode of fields) {
207
214
  const fieldName = fieldNode.name.value;
@@ -211,17 +218,20 @@ function validateInputLiteralImpl(context, valueNode, type, hideSuggestions, pat
211
218
  : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));
212
219
  reportInvalidLiteral(context.onError, `Expected value of type "${type}" not to include unknown field "${fieldName}"${suggestion ? `.${suggestion} Found` : ', found'}: ${print(valueNode)}.`, fieldNode, path);
213
220
  }
221
+ else {
222
+ knownFields.push(fieldNode);
223
+ }
214
224
  }
215
225
  if (type.isOneOf) {
216
- const isNotExactlyOneField = fields.length !== 1;
226
+ const isNotExactlyOneField = knownFields.length !== 1;
217
227
  if (isNotExactlyOneField) {
218
- reportInvalidLiteral(context.onError, `OneOf Input Object "${type}" must specify exactly one key.`, valueNode, path);
228
+ reportInvalidLiteral(context.onError, getOneOfInputObjectErrorMessage(type), valueNode, path);
219
229
  return;
220
230
  }
221
- const fieldValueNode = fields[0].value;
231
+ const fieldValueNode = knownFields[0].value;
222
232
  if (fieldValueNode.kind === Kind.NULL) {
223
- const fieldName = fields[0].name.value;
224
- reportInvalidLiteral(context.onError, `Field "${type}.${fieldName}" used for OneOf Input Object must be non-null.`, valueNode, addPath(path, fieldName, undefined));
233
+ const fieldName = knownFields[0].name.value;
234
+ reportInvalidLiteral(context.onError, getOneOfInputObjectErrorMessage(type), valueNode, addPath(path, fieldName, undefined));
225
235
  }
226
236
  }
227
237
  }
@@ -231,7 +241,7 @@ function validateInputLiteralImpl(context, valueNode, type, hideSuggestions, pat
231
241
  let caughtError;
232
242
  try {
233
243
  result = type.coerceInputLiteral
234
- ? type.coerceInputLiteral(replaceVariables(valueNode), hideSuggestions)
244
+ ? type.coerceInputLiteral(replaceVariables(valueNode, context.variables, context.fragmentVariableValues), hideSuggestions)
235
245
  : type.parseLiteral(valueNode, undefined, hideSuggestions);
236
246
  }
237
247
  catch (error) {
@@ -243,8 +253,8 @@ function validateInputLiteralImpl(context, valueNode, type, hideSuggestions, pat
243
253
  }
244
254
  if (result === undefined) {
245
255
  reportInvalidLiteral(context.onError, `Expected value of type "${type}"${caughtError != null
246
- ? `, but encountered error "${caughtError.message != null && caughtError.message !== '' ? caughtError.message : caughtError}"; found`
247
- : ', found'}: ${print(valueNode)}.`, valueNode, path, caughtError);
256
+ ? `, but encountered error "${getCaughtErrorMessage(caughtError)}"; found`
257
+ : ', found'}: ${print(valueNode)}.`, valueNode, path, ensureGraphQLError(caughtError));
248
258
  }
249
259
  }
250
260
  }
@@ -256,6 +266,21 @@ function getScopedVariableValues(context, valueNode) {
256
266
  : variables;
257
267
  }
258
268
  function reportInvalidLiteral(onError, message, valueNode, path, originalError) {
259
- onError(new GraphQLError(message, { nodes: valueNode, originalError }), pathToArray(path));
269
+ onError(new GraphQLError(message, {
270
+ nodes: valueNode,
271
+ originalError,
272
+ }), pathToArray(path));
273
+ }
274
+ function getCaughtErrorMessage(caughtError) {
275
+ if (isObjectLike(caughtError)) {
276
+ const message = caughtError.message;
277
+ if (typeof message === 'string' && message !== '') {
278
+ return message;
279
+ }
280
+ }
281
+ return String(caughtError);
282
+ }
283
+ function getOneOfInputObjectErrorMessage(type) {
284
+ return `Within OneOf Input Object type "${type}", exactly one field must be specified, and the value for that field must be non-null.`;
260
285
  }
261
286
  //# sourceMappingURL=validateInputValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateInputValue.js","sourceRoot":"","sources":["../../src/utilities/validateInputValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { didYouMean } from '../jsutils/didYouMean.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyMap } from '../jsutils/keyMap.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { Path } from '../jsutils/Path.js';\nimport { addPath, pathToArray } from '../jsutils/Path.js';\nimport { suggestionList } from '../jsutils/suggestionList.js';\n\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type { ASTNode, ValueNode, VariableNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n assertLeafType,\n isInputObjectType,\n isListType,\n isNonNullType,\n isRequiredInputField,\n} from '../type/definition.js';\n\nimport type { VariableValues } from '../execution/values.js';\n\nimport { replaceVariables } from './replaceVariables.js';\n\n/**\n * Validate that the provided input value is allowed for this type, collecting\n * all errors via a callback function.\n */\nexport function validateInputValue(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n return validateInputValueImpl(\n inputValue,\n type,\n onError,\n hideSuggestions,\n undefined,\n );\n}\n\nfunction validateInputValueImpl(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (isNonNullType(type)) {\n if (inputValue === undefined) {\n reportInvalidValue(\n onError,\n `Expected a value of non-null type \"${type}\" to be provided.`,\n path,\n );\n return;\n }\n if (inputValue === null) {\n reportInvalidValue(\n onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n path,\n );\n return;\n }\n return validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n }\n\n if (inputValue == null) {\n return;\n }\n\n if (isListType(type)) {\n if (!isIterableObject(inputValue)) {\n // Lists accept a non-list value as a list of one.\n validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemValue of inputValue) {\n validateInputValueImpl(\n itemValue,\n type.ofType,\n onError,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (!isObjectLike(inputValue)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to be an object, found: ${inspect(\n inputValue,\n )}.`,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n\n for (const field of Object.values(fieldDefs)) {\n const fieldValue = inputValue[field.name];\n if (fieldValue === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${inspect(inputValue)}.`,\n path,\n );\n }\n } else {\n validateInputValueImpl(\n fieldValue,\n field.type,\n onError,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields = Object.keys(inputValue);\n // Ensure every provided field is defined.\n for (const fieldName of fields) {\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n );\n }\n }\n\n if (type.isOneOf) {\n if (fields.length !== 1) {\n reportInvalidValue(\n onError,\n `Exactly one key must be specified for OneOf type \"${type}\".`,\n path,\n );\n }\n\n const field = fields[0];\n const value = inputValue[field];\n if (value === null) {\n reportInvalidValue(\n onError,\n `Field \"${field}\" for OneOf type \"${type}\" must be non-null.`,\n path,\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError;\n\n try {\n result = type.coerceInputValue(inputValue, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${caughtError.message != null && caughtError.message !== '' ? caughtError.message : caughtError}\"; found`\n : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n caughtError,\n );\n }\n }\n}\n\nfunction reportInvalidValue(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(new GraphQLError(message, { originalError }), pathToArray(path));\n}\n\n/**\n * Validate that the provided input literal is allowed for this type, collecting\n * all errors via a callback function.\n *\n * If variable values are not provided, the literal is validated statically\n * (not assuming that those variables are missing runtime values).\n */\n// eslint-disable-next-line @typescript-eslint/max-params\nexport function validateInputLiteral(\n valueNode: ValueNode,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n variables?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<VariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const context: ValidationContext = {\n static: !variables && !fragmentVariableValues,\n onError,\n variables,\n fragmentVariableValues,\n };\n return validateInputLiteralImpl(\n context,\n valueNode,\n type,\n hideSuggestions,\n undefined,\n );\n}\n\ninterface ValidationContext {\n static: boolean;\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void;\n variables?: Maybe<VariableValues>;\n fragmentVariableValues?: Maybe<VariableValues>;\n}\n\nfunction validateInputLiteralImpl(\n context: ValidationContext,\n valueNode: ValueNode,\n type: GraphQLInputType,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (valueNode.kind === Kind.VARIABLE) {\n if (context.static) {\n // If no variable values are provided, this is being validated statically,\n // and cannot yet produce any validation errors for variables.\n return;\n }\n const scopedVariableValues = getScopedVariableValues(context, valueNode);\n const value = scopedVariableValues?.coerced[valueNode.name.value];\n if (isNonNullType(type)) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes this variable usage has already been validated.\n return;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n return;\n }\n return validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n }\n\n if (valueNode.kind === Kind.NULL) {\n return;\n }\n\n if (isListType(type)) {\n if (valueNode.kind !== Kind.LIST) {\n // Lists accept a non-list value as a list of one.\n validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemNode of valueNode.values) {\n validateInputLiteralImpl(\n context,\n itemNode,\n type.ofType,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to be an object, found: ${print(\n valueNode,\n )}.`,\n valueNode,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n const fieldNodes = keyMap(valueNode.fields, (field) => field.name.value);\n\n for (const field of Object.values(fieldDefs)) {\n const fieldNode = fieldNodes[field.name];\n if (fieldNode === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${print(valueNode)}.`,\n valueNode,\n path,\n );\n }\n } else {\n const fieldValueNode = fieldNode.value;\n if (fieldValueNode.kind === Kind.VARIABLE && !context.static) {\n const scopedVariableValues = getScopedVariableValues(\n context,\n fieldValueNode,\n );\n const variableName = fieldValueNode.name.value;\n const value = scopedVariableValues?.coerced[variableName];\n if (type.isOneOf) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n } else if (value === undefined && !isRequiredInputField(field)) {\n continue;\n }\n }\n\n validateInputLiteralImpl(\n context,\n fieldValueNode,\n field.type,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields = valueNode.fields;\n // Ensure every provided field is defined.\n for (const fieldNode of fields) {\n const fieldName = fieldNode.name.value;\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${print(valueNode)}.`,\n fieldNode,\n path,\n );\n }\n }\n\n if (type.isOneOf) {\n const isNotExactlyOneField = fields.length !== 1;\n if (isNotExactlyOneField) {\n reportInvalidLiteral(\n context.onError,\n `OneOf Input Object \"${type}\" must specify exactly one key.`,\n valueNode,\n path,\n );\n return;\n }\n\n const fieldValueNode = fields[0].value;\n if (fieldValueNode.kind === Kind.NULL) {\n const fieldName = fields[0].name.value;\n reportInvalidLiteral(\n context.onError,\n `Field \"${type}.${fieldName}\" used for OneOf Input Object must be non-null.`,\n valueNode,\n addPath(path, fieldName, undefined),\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError;\n try {\n result = type.coerceInputLiteral\n ? type.coerceInputLiteral(replaceVariables(valueNode), hideSuggestions)\n : type.parseLiteral(valueNode, undefined, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n context.onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${caughtError.message != null && caughtError.message !== '' ? caughtError.message : caughtError}\"; found`\n : ', found'\n }: ${print(valueNode)}.`,\n valueNode,\n path,\n caughtError,\n );\n }\n }\n}\n\nfunction getScopedVariableValues(\n context: ValidationContext,\n valueNode: VariableNode,\n): Maybe<VariableValues> {\n const variableName = valueNode.name.value;\n const { fragmentVariableValues, variables } = context;\n return fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variables;\n}\n\nfunction reportInvalidLiteral(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n valueNode: ASTNode,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(\n new GraphQLError(message, { nodes: valueNode, originalError }),\n pathToArray(path),\n );\n}\n"]}
1
+ {"version":3,"file":"validateInputValue.js","sourceRoot":"","sources":["../../src/utilities/validateInputValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { didYouMean } from '../jsutils/didYouMean.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyMap } from '../jsutils/keyMap.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { Path } from '../jsutils/Path.js';\nimport { addPath, pathToArray } from '../jsutils/Path.js';\nimport { suggestionList } from '../jsutils/suggestionList.js';\n\nimport { ensureGraphQLError } from '../error/ensureGraphQLError.js';\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type { ASTNode, ValueNode, VariableNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n assertLeafType,\n isInputObjectType,\n isListType,\n isNonNullType,\n isRequiredInputField,\n} from '../type/definition.js';\n\nimport type { FragmentVariableValues } from '../execution/collectFields.js';\nimport type { VariableValues } from '../execution/values.js';\n\nimport { replaceVariables } from './replaceVariables.js';\n\n/**\n * Validate that the provided input value is allowed for this type, collecting\n * all errors via a callback function.\n */\nexport function validateInputValue(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions?: Maybe<boolean>,\n): void {\n return validateInputValueImpl(\n inputValue,\n type,\n onError,\n hideSuggestions,\n undefined,\n );\n}\n\nfunction validateInputValueImpl(\n inputValue: unknown,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (isNonNullType(type)) {\n if (inputValue === undefined) {\n reportInvalidValue(\n onError,\n `Expected a value of non-null type \"${type}\" to be provided.`,\n path,\n );\n return;\n }\n if (inputValue === null) {\n reportInvalidValue(\n onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n path,\n );\n return;\n }\n return validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n }\n\n if (inputValue == null) {\n return;\n }\n\n if (isListType(type)) {\n if (!isIterableObject(inputValue)) {\n // Lists accept a non-list value as a list of one.\n validateInputValueImpl(\n inputValue,\n type.ofType,\n onError,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemValue of inputValue) {\n validateInputValueImpl(\n itemValue,\n type.ofType,\n onError,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (!isObjectLike(inputValue) || Array.isArray(inputValue)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to be an object, found: ${inspect(\n inputValue,\n )}.`,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n\n for (const field of Object.values(fieldDefs)) {\n const fieldValue = inputValue[field.name];\n if (fieldValue === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${inspect(inputValue)}.`,\n path,\n );\n }\n } else {\n validateInputValueImpl(\n fieldValue,\n field.type,\n onError,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields: Array<string> = [];\n // Ensure every provided field is defined.\n for (const fieldName of Object.keys(inputValue)) {\n if (inputValue[fieldName] === undefined) {\n continue;\n }\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n );\n continue;\n }\n fields.push(fieldName);\n }\n\n if (type.isOneOf) {\n if (fields.length !== 1) {\n reportInvalidValue(\n onError,\n getOneOfInputObjectErrorMessage(type),\n path,\n );\n }\n\n const field = fields[0];\n const value = inputValue[field];\n if (value === null) {\n reportInvalidValue(\n onError,\n getOneOfInputObjectErrorMessage(type),\n addPath(path, field, type.name),\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError: unknown;\n\n try {\n result = type.coerceInputValue(inputValue, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidValue(\n onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${getCaughtErrorMessage(caughtError)}\"; found`\n : ', found'\n }: ${inspect(inputValue)}.`,\n path,\n ensureGraphQLError(caughtError),\n );\n }\n }\n}\n\nfunction reportInvalidValue(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(new GraphQLError(message, { originalError }), pathToArray(path));\n}\n\n/**\n * Validate that the provided input literal is allowed for this type, collecting\n * all errors via a callback function.\n *\n * If variable values are not provided, the literal is validated statically\n * (not assuming that those variables are missing runtime values).\n */\n// eslint-disable-next-line max-params\nexport function validateInputLiteral(\n valueNode: ValueNode,\n type: GraphQLInputType,\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n variables?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n hideSuggestions?: Maybe<boolean>,\n): void {\n const context: ValidationContext = {\n static: !variables && !fragmentVariableValues,\n onError,\n variables,\n fragmentVariableValues,\n };\n return validateInputLiteralImpl(\n context,\n valueNode,\n type,\n hideSuggestions,\n undefined,\n );\n}\n\ninterface ValidationContext {\n static: boolean;\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void;\n variables?: Maybe<VariableValues>;\n fragmentVariableValues?: Maybe<FragmentVariableValues>;\n}\n\nfunction validateInputLiteralImpl(\n context: ValidationContext,\n valueNode: ValueNode,\n type: GraphQLInputType,\n hideSuggestions: Maybe<boolean>,\n path: Path | undefined,\n): void {\n if (valueNode.kind === Kind.VARIABLE) {\n if (context.static) {\n // If no variable values are provided, this is being validated statically,\n // and cannot yet produce any validation errors for variables.\n return;\n }\n const scopedVariableValues = getScopedVariableValues(context, valueNode);\n const value = scopedVariableValues?.coerced[valueNode.name.value];\n if (isNonNullType(type)) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${valueNode.name.value}\" provided to non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes this variable usage has already been validated.\n return;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of non-null type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n return;\n }\n return validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n }\n\n if (valueNode.kind === Kind.NULL) {\n return;\n }\n\n if (isListType(type)) {\n if (valueNode.kind !== Kind.LIST) {\n // Lists accept a non-list value as a list of one.\n validateInputLiteralImpl(\n context,\n valueNode,\n type.ofType,\n hideSuggestions,\n path,\n );\n } else {\n let index = 0;\n for (const itemNode of valueNode.values) {\n validateInputLiteralImpl(\n context,\n itemNode,\n type.ofType,\n hideSuggestions,\n addPath(path, index++, undefined),\n );\n }\n }\n } else if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to be an object, found: ${print(\n valueNode,\n )}.`,\n valueNode,\n path,\n );\n return;\n }\n\n const fieldDefs = type.getFields();\n const fieldNodes = keyMap(valueNode.fields, (field) => field.name.value);\n\n for (const field of Object.values(fieldDefs)) {\n const fieldNode = fieldNodes[field.name];\n if (fieldNode === undefined) {\n if (isRequiredInputField(field)) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" to include required field \"${\n field.name\n }\", found: ${print(valueNode)}.`,\n valueNode,\n path,\n );\n }\n } else {\n const fieldValueNode = fieldNode.value;\n if (fieldValueNode.kind === Kind.VARIABLE && !context.static) {\n const scopedVariableValues = getScopedVariableValues(\n context,\n fieldValueNode,\n );\n const variableName = fieldValueNode.name.value;\n const value = scopedVariableValues?.coerced[variableName];\n if (type.isOneOf) {\n if (value === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" to provide a runtime value.`,\n valueNode,\n path,\n );\n } else if (value === null) {\n reportInvalidLiteral(\n context.onError,\n `Expected variable \"$${variableName}\" provided to field \"${field.name}\" for OneOf Input Object type \"${type}\" not to be null.`,\n valueNode,\n path,\n );\n }\n } else if (value === undefined && !isRequiredInputField(field)) {\n continue;\n }\n }\n\n validateInputLiteralImpl(\n context,\n fieldValueNode,\n field.type,\n hideSuggestions,\n addPath(path, field.name, type.name),\n );\n }\n }\n\n const fields = valueNode.fields;\n const knownFields: Array<(typeof fields)[number]> = [];\n // Ensure every provided field is defined.\n for (const fieldNode of fields) {\n const fieldName = fieldNode.name.value;\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n const suggestion = hideSuggestions\n ? ''\n : didYouMean(suggestionList(fieldName, Object.keys(fieldDefs)));\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\" not to include unknown field \"${fieldName}\"${\n suggestion ? `.${suggestion} Found` : ', found'\n }: ${print(valueNode)}.`,\n fieldNode,\n path,\n );\n } else {\n knownFields.push(fieldNode);\n }\n }\n\n if (type.isOneOf) {\n const isNotExactlyOneField = knownFields.length !== 1;\n if (isNotExactlyOneField) {\n reportInvalidLiteral(\n context.onError,\n getOneOfInputObjectErrorMessage(type),\n valueNode,\n path,\n );\n return;\n }\n\n const fieldValueNode = knownFields[0].value;\n if (fieldValueNode.kind === Kind.NULL) {\n const fieldName = knownFields[0].name.value;\n reportInvalidLiteral(\n context.onError,\n getOneOfInputObjectErrorMessage(type),\n valueNode,\n addPath(path, fieldName, undefined),\n );\n }\n }\n } else {\n assertLeafType(type);\n\n let result;\n let caughtError: unknown;\n try {\n result = type.coerceInputLiteral\n ? type.coerceInputLiteral(\n replaceVariables(\n valueNode,\n context.variables,\n context.fragmentVariableValues,\n ),\n hideSuggestions,\n )\n : type.parseLiteral(valueNode, undefined, hideSuggestions);\n } catch (error) {\n if (error instanceof GraphQLError) {\n context.onError(error, pathToArray(path));\n return;\n }\n caughtError = error;\n }\n\n if (result === undefined) {\n reportInvalidLiteral(\n context.onError,\n `Expected value of type \"${type}\"${\n caughtError != null\n ? `, but encountered error \"${getCaughtErrorMessage(caughtError)}\"; found`\n : ', found'\n }: ${print(valueNode)}.`,\n valueNode,\n path,\n ensureGraphQLError(caughtError),\n );\n }\n }\n}\n\nfunction getScopedVariableValues(\n context: ValidationContext,\n valueNode: VariableNode,\n): Maybe<VariableValues> {\n const variableName = valueNode.name.value;\n const { fragmentVariableValues, variables } = context;\n return fragmentVariableValues?.sources[variableName]\n ? fragmentVariableValues\n : variables;\n}\n\nfunction reportInvalidLiteral(\n onError: (error: GraphQLError, path: ReadonlyArray<string | number>) => void,\n message: string,\n valueNode: ASTNode,\n path: Path | undefined,\n originalError?: GraphQLError,\n): void {\n onError(\n new GraphQLError(message, {\n nodes: valueNode,\n originalError,\n }),\n pathToArray(path),\n );\n}\n\nfunction getCaughtErrorMessage(caughtError: unknown): string {\n if (isObjectLike(caughtError)) {\n const message = caughtError.message;\n if (typeof message === 'string' && message !== '') {\n return message;\n }\n }\n\n return String(caughtError);\n}\n\nfunction getOneOfInputObjectErrorMessage(type: GraphQLInputType): string {\n return `Within OneOf Input Object type \"${type}\", exactly one field must be specified, and the value for that field must be non-null.`;\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import type { Maybe } from '../jsutils/Maybe.js';
2
+ import type { ObjMap } from '../jsutils/ObjMap.js';
3
+ import type { ValueNode } from '../language/ast.js';
4
+ import type { GraphQLInputType } from '../type/definition.js';
5
+ /**
6
+ * Produces a JavaScript value given a GraphQL Value AST.
7
+ *
8
+ * A GraphQL type must be provided, which will be used to interpret different
9
+ * GraphQL Value literals.
10
+ *
11
+ * Returns `undefined` when the value could not be validly coerced according to
12
+ * the provided type.
13
+ *
14
+ * | GraphQL Value | JSON Value |
15
+ * | -------------------- | ------------- |
16
+ * | Input Object | Object |
17
+ * | List | Array |
18
+ * | Boolean | Boolean |
19
+ * | String | String |
20
+ * | Int / Float | Number |
21
+ * | Enum Value | Unknown |
22
+ * | NullValue | null |
23
+ *
24
+ * @deprecated use `coerceInputLiteral()` instead - will be removed in v18
25
+ */
26
+ export declare function valueFromAST(valueNode: Maybe<ValueNode>, type: GraphQLInputType, variables?: Maybe<ObjMap<unknown>>): unknown;
@@ -34,7 +34,11 @@ function valueFromAST(valueNode, type, variables) {
34
34
  }
35
35
  if (valueNode.kind === kinds_js_1.Kind.VARIABLE) {
36
36
  const variableName = valueNode.name.value;
37
- const variableValue = variables?.[variableName];
37
+ if (variables == null || !Object.hasOwn(variables, variableName)) {
38
+ // No valid return value.
39
+ return;
40
+ }
41
+ const variableValue = variables[variableName];
38
42
  if (variableValue === undefined) {
39
43
  // No valid return value.
40
44
  return;
@@ -91,8 +95,13 @@ function valueFromAST(valueNode, type, variables) {
91
95
  return; // Invalid: intentionally return no value.
92
96
  }
93
97
  const coercedObj = Object.create(null);
98
+ const fieldDefs = type.getFields();
99
+ const hasUnknownField = valueNode.fields.some((field) => !Object.hasOwn(fieldDefs, field.name.value));
100
+ if (hasUnknownField) {
101
+ return; // Invalid: intentionally return no value.
102
+ }
94
103
  const fieldNodes = new Map(valueNode.fields.map((field) => [field.name.value, field]));
95
- for (const field of Object.values(type.getFields())) {
104
+ for (const field of Object.values(fieldDefs)) {
96
105
  const fieldNode = fieldNodes.get(field.name);
97
106
  if (fieldNode == null || isMissingVariable(fieldNode.value, variables)) {
98
107
  if (field.defaultValue !== undefined) {
@@ -110,12 +119,15 @@ function valueFromAST(valueNode, type, variables) {
110
119
  coercedObj[field.name] = fieldValue;
111
120
  }
112
121
  if (type.isOneOf) {
113
- const keys = Object.keys(coercedObj);
114
- if (keys.length !== 1) {
122
+ const coercedKeys = Object.keys(coercedObj);
123
+ if (fieldNodes.size !== 1 || coercedKeys.length !== 1) {
115
124
  return; // Invalid: not exactly one key, intentionally return no value.
116
125
  }
117
- if (coercedObj[keys[0]] === null) {
118
- return; // Invalid: value not non-null, intentionally return no value.
126
+ for (const [fieldName, fieldNode] of fieldNodes) {
127
+ if (fieldNode.value.kind === kinds_js_1.Kind.NULL ||
128
+ coercedObj[fieldName] === null) {
129
+ return; // Invalid: value not non-null, intentionally return no value.
130
+ }
119
131
  }
120
132
  }
121
133
  return coercedObj;
@@ -135,15 +147,18 @@ function valueFromAST(valueNode, type, variables) {
135
147
  return; // Invalid: intentionally return no value.
136
148
  }
137
149
  return result;
150
+ // c8 control statement technically placed a line early secondary to
151
+ // slight swc source mapping error (at least as compared to ts-node without swc)
152
+ /* c8 ignore next 4 */
138
153
  }
139
- /* c8 ignore next 3 */
140
154
  // Not reachable, all possible input types have been considered.
141
- (false) || (0, invariant_js_1.invariant)(false, 'Unexpected input type: ' + (0, inspect_js_1.inspect)(type));
155
+ (0, invariant_js_1.invariant)(false, 'Unexpected input type: ' + (0, inspect_js_1.inspect)(type));
142
156
  }
143
157
  // Returns true if the provided valueNode is a variable which is not defined
144
158
  // in the set of variables.
145
159
  function isMissingVariable(valueNode, variables) {
146
160
  return (valueNode.kind === kinds_js_1.Kind.VARIABLE &&
147
- (variables == null || variables[valueNode.name.value] === undefined));
161
+ (variables?.[valueNode.name.value] === undefined ||
162
+ !Object.hasOwn(variables, valueNode.name.value)));
148
163
  }
149
164
  //# sourceMappingURL=valueFromAST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valueFromAST.js","sourceRoot":"","sources":["../../src/utilities/valueFromAST.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\n\nimport type { ValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\n\n/**\n * Produces a JavaScript value given a GraphQL Value AST.\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * GraphQL Value literals.\n *\n * Returns `undefined` when the value could not be validly coerced according to\n * the provided type.\n *\n * | GraphQL Value | JSON Value |\n * | -------------------- | ------------- |\n * | Input Object | Object |\n * | List | Array |\n * | Boolean | Boolean |\n * | String | String |\n * | Int / Float | Number |\n * | Enum Value | Unknown |\n * | NullValue | null |\n *\n * @deprecated use `coerceInputLiteral()` instead - will be removed in v18\n */\nexport function valueFromAST(\n valueNode: Maybe<ValueNode>,\n type: GraphQLInputType,\n variables?: Maybe<ObjMap<unknown>>,\n): unknown {\n if (!valueNode) {\n // When there is no node, then there is also no value.\n // Importantly, this is different from returning the value null.\n return;\n }\n\n if (valueNode.kind === Kind.VARIABLE) {\n const variableName = valueNode.name.value;\n const variableValue = variables?.[variableName];\n if (variableValue === undefined) {\n // No valid return value.\n return;\n }\n if (variableValue === null && isNonNullType(type)) {\n return; // Invalid: intentionally return no value.\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes that this query has been validated and the variable\n // usage here is of the correct type.\n return variableValue;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n return; // Invalid: intentionally return no value.\n }\n return valueFromAST(valueNode, type.ofType, variables);\n }\n\n if (valueNode.kind === Kind.NULL) {\n // This is explicitly returning the value null.\n return null;\n }\n\n if (isListType(type)) {\n const itemType = type.ofType;\n if (valueNode.kind === Kind.LIST) {\n const coercedValues = [];\n for (const itemNode of valueNode.values) {\n if (isMissingVariable(itemNode, variables)) {\n // If an array contains a missing variable, it is either coerced to\n // null or if the item type is non-null, it considered invalid.\n if (isNonNullType(itemType)) {\n return; // Invalid: intentionally return no value.\n }\n coercedValues.push(null);\n } else {\n const itemValue = valueFromAST(itemNode, itemType, variables);\n if (itemValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValues.push(itemValue);\n }\n }\n return coercedValues;\n }\n const coercedValue = valueFromAST(valueNode, itemType, variables);\n if (coercedValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return [coercedValue];\n }\n\n if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n return; // Invalid: intentionally return no value.\n }\n const coercedObj = Object.create(null);\n const fieldNodes = new Map(\n valueNode.fields.map((field) => [field.name.value, field]),\n );\n for (const field of Object.values(type.getFields())) {\n const fieldNode = fieldNodes.get(field.name);\n if (fieldNode == null || isMissingVariable(fieldNode.value, variables)) {\n if (field.defaultValue !== undefined) {\n coercedObj[field.name] = field.defaultValue;\n } else if (isNonNullType(field.type)) {\n return; // Invalid: intentionally return no value.\n }\n continue;\n }\n const fieldValue = valueFromAST(fieldNode.value, field.type, variables);\n if (fieldValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedObj[field.name] = fieldValue;\n }\n\n if (type.isOneOf) {\n const keys = Object.keys(coercedObj);\n if (keys.length !== 1) {\n return; // Invalid: not exactly one key, intentionally return no value.\n }\n\n if (coercedObj[keys[0]] === null) {\n return; // Invalid: value not non-null, intentionally return no value.\n }\n }\n\n return coercedObj;\n }\n\n if (isLeafType(type)) {\n // Scalars and Enums fulfill parsing a literal value via parseLiteral().\n // Invalid values represent a failure to parse correctly, in which case\n // no value is returned.\n let result;\n try {\n result = type.parseLiteral(valueNode, variables);\n } catch (_error) {\n return; // Invalid: intentionally return no value.\n }\n if (result === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return result;\n }\n /* c8 ignore next 3 */\n // Not reachable, all possible input types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n// Returns true if the provided valueNode is a variable which is not defined\n// in the set of variables.\nfunction isMissingVariable(\n valueNode: ValueNode,\n variables: Maybe<ObjMap<unknown>>,\n): boolean {\n return (\n valueNode.kind === Kind.VARIABLE &&\n (variables == null || variables[valueNode.name.value] === undefined)\n );\n}\n"]}
1
+ {"version":3,"file":"valueFromAST.js","sourceRoot":"","sources":["../../src/utilities/valueFromAST.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\n\nimport type { ValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\n\n/**\n * Produces a JavaScript value given a GraphQL Value AST.\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * GraphQL Value literals.\n *\n * Returns `undefined` when the value could not be validly coerced according to\n * the provided type.\n *\n * | GraphQL Value | JSON Value |\n * | -------------------- | ------------- |\n * | Input Object | Object |\n * | List | Array |\n * | Boolean | Boolean |\n * | String | String |\n * | Int / Float | Number |\n * | Enum Value | Unknown |\n * | NullValue | null |\n *\n * @deprecated use `coerceInputLiteral()` instead - will be removed in v18\n */\nexport function valueFromAST(\n valueNode: Maybe<ValueNode>,\n type: GraphQLInputType,\n variables?: Maybe<ObjMap<unknown>>,\n): unknown {\n if (!valueNode) {\n // When there is no node, then there is also no value.\n // Importantly, this is different from returning the value null.\n return;\n }\n\n if (valueNode.kind === Kind.VARIABLE) {\n const variableName = valueNode.name.value;\n if (variables == null || !Object.hasOwn(variables, variableName)) {\n // No valid return value.\n return;\n }\n const variableValue = variables[variableName];\n if (variableValue === undefined) {\n // No valid return value.\n return;\n }\n if (variableValue === null && isNonNullType(type)) {\n return; // Invalid: intentionally return no value.\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes that this query has been validated and the variable\n // usage here is of the correct type.\n return variableValue;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n return; // Invalid: intentionally return no value.\n }\n return valueFromAST(valueNode, type.ofType, variables);\n }\n\n if (valueNode.kind === Kind.NULL) {\n // This is explicitly returning the value null.\n return null;\n }\n\n if (isListType(type)) {\n const itemType = type.ofType;\n if (valueNode.kind === Kind.LIST) {\n const coercedValues = [];\n for (const itemNode of valueNode.values) {\n if (isMissingVariable(itemNode, variables)) {\n // If an array contains a missing variable, it is either coerced to\n // null or if the item type is non-null, it considered invalid.\n if (isNonNullType(itemType)) {\n return; // Invalid: intentionally return no value.\n }\n coercedValues.push(null);\n } else {\n const itemValue = valueFromAST(itemNode, itemType, variables);\n if (itemValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValues.push(itemValue);\n }\n }\n return coercedValues;\n }\n const coercedValue = valueFromAST(valueNode, itemType, variables);\n if (coercedValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return [coercedValue];\n }\n\n if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n return; // Invalid: intentionally return no value.\n }\n const coercedObj = Object.create(null);\n const fieldDefs = type.getFields();\n const hasUnknownField = valueNode.fields.some(\n (field) => !Object.hasOwn(fieldDefs, field.name.value),\n );\n if (hasUnknownField) {\n return; // Invalid: intentionally return no value.\n }\n const fieldNodes = new Map(\n valueNode.fields.map((field) => [field.name.value, field]),\n );\n for (const field of Object.values(fieldDefs)) {\n const fieldNode = fieldNodes.get(field.name);\n if (fieldNode == null || isMissingVariable(fieldNode.value, variables)) {\n if (field.defaultValue !== undefined) {\n coercedObj[field.name] = field.defaultValue;\n } else if (isNonNullType(field.type)) {\n return; // Invalid: intentionally return no value.\n }\n continue;\n }\n const fieldValue = valueFromAST(fieldNode.value, field.type, variables);\n if (fieldValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedObj[field.name] = fieldValue;\n }\n\n if (type.isOneOf) {\n const coercedKeys = Object.keys(coercedObj);\n if (fieldNodes.size !== 1 || coercedKeys.length !== 1) {\n return; // Invalid: not exactly one key, intentionally return no value.\n }\n\n for (const [fieldName, fieldNode] of fieldNodes) {\n if (\n fieldNode.value.kind === Kind.NULL ||\n coercedObj[fieldName] === null\n ) {\n return; // Invalid: value not non-null, intentionally return no value.\n }\n }\n }\n\n return coercedObj;\n }\n\n if (isLeafType(type)) {\n // Scalars and Enums fulfill parsing a literal value via parseLiteral().\n // Invalid values represent a failure to parse correctly, in which case\n // no value is returned.\n let result;\n try {\n result = type.parseLiteral(valueNode, variables);\n } catch (_error) {\n return; // Invalid: intentionally return no value.\n }\n if (result === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return result;\n // c8 control statement technically placed a line early secondary to\n // slight swc source mapping error (at least as compared to ts-node without swc)\n /* c8 ignore next 4 */\n }\n // Not reachable, all possible input types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n// Returns true if the provided valueNode is a variable which is not defined\n// in the set of variables.\nfunction isMissingVariable(\n valueNode: ValueNode,\n variables: Maybe<ObjMap<unknown>>,\n): boolean {\n return (\n valueNode.kind === Kind.VARIABLE &&\n (variables?.[valueNode.name.value] === undefined ||\n !Object.hasOwn(variables, valueNode.name.value))\n );\n}\n"]}
@@ -31,7 +31,11 @@ export function valueFromAST(valueNode, type, variables) {
31
31
  }
32
32
  if (valueNode.kind === Kind.VARIABLE) {
33
33
  const variableName = valueNode.name.value;
34
- const variableValue = variables?.[variableName];
34
+ if (variables == null || !Object.hasOwn(variables, variableName)) {
35
+ // No valid return value.
36
+ return;
37
+ }
38
+ const variableValue = variables[variableName];
35
39
  if (variableValue === undefined) {
36
40
  // No valid return value.
37
41
  return;
@@ -88,8 +92,13 @@ export function valueFromAST(valueNode, type, variables) {
88
92
  return; // Invalid: intentionally return no value.
89
93
  }
90
94
  const coercedObj = Object.create(null);
95
+ const fieldDefs = type.getFields();
96
+ const hasUnknownField = valueNode.fields.some((field) => !Object.hasOwn(fieldDefs, field.name.value));
97
+ if (hasUnknownField) {
98
+ return; // Invalid: intentionally return no value.
99
+ }
91
100
  const fieldNodes = new Map(valueNode.fields.map((field) => [field.name.value, field]));
92
- for (const field of Object.values(type.getFields())) {
101
+ for (const field of Object.values(fieldDefs)) {
93
102
  const fieldNode = fieldNodes.get(field.name);
94
103
  if (fieldNode == null || isMissingVariable(fieldNode.value, variables)) {
95
104
  if (field.defaultValue !== undefined) {
@@ -107,12 +116,15 @@ export function valueFromAST(valueNode, type, variables) {
107
116
  coercedObj[field.name] = fieldValue;
108
117
  }
109
118
  if (type.isOneOf) {
110
- const keys = Object.keys(coercedObj);
111
- if (keys.length !== 1) {
119
+ const coercedKeys = Object.keys(coercedObj);
120
+ if (fieldNodes.size !== 1 || coercedKeys.length !== 1) {
112
121
  return; // Invalid: not exactly one key, intentionally return no value.
113
122
  }
114
- if (coercedObj[keys[0]] === null) {
115
- return; // Invalid: value not non-null, intentionally return no value.
123
+ for (const [fieldName, fieldNode] of fieldNodes) {
124
+ if (fieldNode.value.kind === Kind.NULL ||
125
+ coercedObj[fieldName] === null) {
126
+ return; // Invalid: value not non-null, intentionally return no value.
127
+ }
116
128
  }
117
129
  }
118
130
  return coercedObj;
@@ -132,15 +144,18 @@ export function valueFromAST(valueNode, type, variables) {
132
144
  return; // Invalid: intentionally return no value.
133
145
  }
134
146
  return result;
147
+ // c8 control statement technically placed a line early secondary to
148
+ // slight swc source mapping error (at least as compared to ts-node without swc)
149
+ /* c8 ignore next 4 */
135
150
  }
136
- /* c8 ignore next 3 */
137
151
  // Not reachable, all possible input types have been considered.
138
- (false) || invariant(false, 'Unexpected input type: ' + inspect(type));
152
+ invariant(false, 'Unexpected input type: ' + inspect(type));
139
153
  }
140
154
  // Returns true if the provided valueNode is a variable which is not defined
141
155
  // in the set of variables.
142
156
  function isMissingVariable(valueNode, variables) {
143
157
  return (valueNode.kind === Kind.VARIABLE &&
144
- (variables == null || variables[valueNode.name.value] === undefined));
158
+ (variables?.[valueNode.name.value] === undefined ||
159
+ !Object.hasOwn(variables, valueNode.name.value)));
145
160
  }
146
161
  //# sourceMappingURL=valueFromAST.js.map