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":"definition.js","sourceRoot":"","sources":["../../src/type/definition.ts"],"names":[],"mappings":";;;AA0DA,wBAWC;AAED,gCAKC;AAKD,oCAEC;AAED,4CAKC;AAED,oCAEC;AAED,4CAKC;AAED,0BAEC;AAED,kCAKC;AAED,gCAEC;AAED,wCAKC;AAED,0CAEC;AAED,kDAOC;AAED,kCAEC;AAED,0CAKC;AAED,gCAEC;AAED,wCAKC;AAED,kCAEC;AAED,0CAKC;AAED,8CAIC;AAED,sDAOC;AAED,oCAEC;AAED,4CAKC;AASD,gCAEC;AAED,wCAKC;AAWD,sCAIC;AAED,8CAOC;AAaD,kCAOC;AAED,0CAKC;AAaD,oCASC;AAED,4CAKC;AAOD,gCAEC;AAED,wCAKC;AAUD,0CAEC;AAED,kDAOC;AAOD,wCAEC;AAED,gDAKC;AA8FD,wCAEC;AAED,gDAKC;AAOD,wCAEC;AAED,gDAKC;AASD,0CAMC;AAmBD,kCASC;AAED,0CAKC;AASD,oCAUC;AAkBD,8DAIC;AAED,gDAEC;AAmpBD,gDAQC;AAkwBD,oDAMC;AAn9DD,0DAAoD;AACpD,4DAAsD;AACtD,gEAA0D;AAC1D,sDAAgD;AAChD,4DAAsD;AACtD,oDAA8C;AAC9C,0DAAoD;AACpD,wDAAkD;AAKlD,oEAA8D;AAC9D,wDAA6D;AAE7D,8DAAwD;AAwBxD,mDAA4C;AAC5C,uDAA+C;AAK/C,gFAA0E;AAE1E,mDAAkE;AAWlE,SAAgB,MAAM,CAAC,IAAa;IAClC,OAAO,CACL,YAAY,CAAC,IAAI,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC;QAChB,iBAAiB,CAAC,IAAI,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC;QAChB,aAAa,CAAC,IAAI,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,IAAa;IACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;IACxC,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,YAAY,CAAC,IAAa;IACxC,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,IAAA,0BAAU,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,UAAU,CAAC,GAAY;IACrC,OAAO,IAAA,0BAAU,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,kCAAkC,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,WAAW,CAAC,IAAa;IACvC,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,eAAe,CAAC,IAAa;IAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,UAAU,CAAC,IAAa;IACtC,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,cAAc,CAAC,IAAa;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,IAAA,0BAAU,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,iBAAiB,CAC/B,IAAa;IAEb,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAa;IACjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,qCAAqC,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,IAAA,0BAAU,EAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,SAAgB,UAAU,CAAC,IAAa;IACtC,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAa;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD,SAAgB,aAAa,CAC3B,IAAa;IAEb,OAAO,IAAA,0BAAU,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,iBAAiB,CAC/B,IAAa;IAEb,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAgB,WAAW,CAAC,IAAa;IACvC,OAAO,CACL,YAAY,CAAC,IAAI,CAAC;QAClB,UAAU,CAAC,IAAI,CAAC;QAChB,iBAAiB,CAAC,IAAI,CAAC;QACvB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,IAAa;IAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAgB,YAAY,CAAC,IAAa;IACxC,OAAO,CACL,YAAY,CAAC,IAAI,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC;QAChB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,SAAgB,UAAU,CAAC,IAAa;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,cAAc,CAAC,IAAa;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAUD,SAAgB,eAAe,CAAC,IAAa;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAa;IAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,kCAAkC,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,WAAW;IAKtB,YAAY,MAAS;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AApBD,kCAoBC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,cAAc;IAKzB,YAAY,MAAS;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AApBD,wCAoBC;AAUD,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AASD,SAAgB,eAAe,CAC7B,IAAwB;IAExB,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;AACH,CAAC;AAmBD,SAAgB,WAAW,CAAC,IAAa;IACvC,OAAO,CACL,YAAY,CAAC,IAAI,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC;QAChB,iBAAiB,CAAC,IAAI,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,IAAa;IAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAA,oBAAO,EAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AASD,SAAgB,YAAY,CAC1B,IAAwB;IAExB,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,OAAO,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;QACvC,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC;AAkBD,SAAgB,yBAAyB,CACvC,KAA4B;IAE5B,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,SAAgB,kBAAkB,CAAI,KAAqB;IACzD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,MAAa,iBAAiB;IAoB5B,YAAY,MAA+D;QACzE,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,SAAS;YACZ,MAAM,CAAC,SAAS;gBAChB,MAAM,CAAC,iBAAiB;gBACvB,8BAAmD,CAAC;QACvD,IAAI,CAAC,UAAU;YACb,MAAM,CAAC,UAAU;gBACjB,MAAM,CAAC,gBAAgB;gBACtB,8BAAoD,CAAC;QACxD,IAAI,CAAC,YAAY;YACf,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CACnB,IAAI,CAAC,gBAAgB,CAAC,IAAA,4CAAmB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,CAAC;QACpE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAExD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,CACE,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;gBACrC,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,SAF7C,wBAAS,SAGP,GAAG,IAAI,CAAC,IAAI,+DAA+D,EAC3E;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,CACE,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;gBAC3C,OAAO,MAAM,CAAC,kBAAkB,KAAK,UAAU,SAFnD,wBAAS,SAGP,GAAG,IAAI,CAAC,IAAI,2EAA2E,EACvF;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AA1FD,8CA0FC;AAwFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAa,iBAAiB;IAa5B,YAAY,MAA4D;QACtE,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,CAAC,cAAiC,CAAC,CAAC,IAAI,CACrD,SAAS,EACT,IAAI,EACJ,MAAM,CAAC,MAAM,CACd,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,SAAS;QACP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,aAAa;QACX,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,MAAM,EAAE,IAAA,sBAAQ,EAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAlED,8CAkEC;AAED,SAAS,gBAAgB,CACvB,UAA2D;IAE3D,OAAO,yBAAyB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CACrB,UAE2C,EAC3C,MAA0D;IAE1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,IAAA,sBAAQ,EACb,QAAQ,EACR,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CACzB,IAAI,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CACvD,CAAC;AACJ,CAAC;AAyID,MAAa,YAAY;IAiBvB,YACE,UAGa,EACb,IAAY,EACZ,MAAoD;QAEpD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAExB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,UAAU;YACpB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAC5B,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CACvB,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAChD;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAA,wBAAS,EACb,IAAI,CAAC,IAAI,EACT,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EACjB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACxB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAzED,oCAyEC;AAED,MAAa,eAAe;IAW1B,YACE,MAAuC,EACvC,IAAY,EACZ,MAA6B;QAE7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAlDD,0CAkDC;AAED,SAAgB,kBAAkB,CAChC,GAA+C;IAE/C,OAAO,CACL,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,GAAG,CAAC,OAAO,KAAK,SAAS;QACzB,GAAG,CAAC,YAAY,KAAK,SAAS,CAC/B,CAAC;AACJ,CAAC;AAuBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,oBAAoB;IAa/B,YAAY,MAA+D;QACzE,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,CAAC,cAAiC,CAAC,CAAC,IAAI,CACrD,SAAS,EACT,IAAI,EACJ,MAAM,CAAC,MAAM,CACd,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,SAAS;QACP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,aAAa;QACX,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,MAAM,EAAE,IAAA,sBAAQ,EAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAlED,oDAkEC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,gBAAgB;IAU3B,YAAY,MAAkD;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAExD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAnDD,4CAmDC;AAED,SAAS,WAAW,CAClB,KAA4C;IAE5C,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAqCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,eAAe,CAAC,SAAS;IAcpC,YAAY,MAAiD;QAC3D,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAExD,IAAI,CAAC,OAAO;YACV,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU;gBACjC,CAAC,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAC/B,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAC3B,IAAI,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CACrD,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAC3B,IAAI,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CACrD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,IAAA,kBAAM,EAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,0FAA0F;IAC1F,SAAS,CAAC,WAAoB,CAAC,OAAO;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,iBAAiB,CAAC,WAAoB,CAAC,OAAO;QAC5C,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CACzB,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,8BAAY,CACpB,SAAS,IAAI,CAAC,IAAI,6BAA6B,IAAA,oBAAO,EAAC,WAAW,CAAC,EAAE,CACtE,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,0FAA0F;IAC1F,UAAU,CACR,UAAmB,EACnB,eAAgC;QAEhC,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB,CACd,UAAmB,EACnB,eAAgC;QAEhC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAA,oBAAO,EAAC,UAAU,CAAC,CAAC;YACrC,MAAM,IAAI,8BAAY,CACpB,SAAS,IAAI,CAAC,IAAI,wCAAwC,QAAQ,GAAG;gBACnE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,8BAAY,CACpB,UAAU,UAAU,wBAAwB,IAAI,CAAC,IAAI,SAAS;gBAC5D,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CACjE,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,8FAA8F;IAC9F,YAAY,CACV,SAAoB,EACpB,UAAkC,EAClC,eAAgC;QAEhC,4EAA4E;QAC5E,OAAO,IAAI,CAAC,kBAAkB,CAC5B,SAA2B,EAC3B,eAAe,CAChB,CAAC;IACJ,CAAC;IAED,kBAAkB,CAChB,SAAyB,EACzB,eAAgC;QAEhC,IAAI,SAAS,CAAC,IAAI,KAAK,eAAI,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAA,kBAAK,EAAC,SAAS,CAAC,CAAC;YAClC,MAAM,IAAI,8BAAY,CACpB,SAAS,IAAI,CAAC,IAAI,sCAAsC,QAAQ,GAAG;gBACjE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAC9D,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAA,kBAAK,EAAC,SAAS,CAAC,CAAC;YAClC,MAAM,IAAI,8BAAY,CACpB,UAAU,QAAQ,wBAAwB,IAAI,CAAC,IAAI,SAAS;gBAC1D,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAC9D,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,KAAc;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,eAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAA,wBAAS,EACf,IAAI,CAAC,SAAS,EAAE,EAChB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAC5B;YACD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAzKD,0CAyKC;AAED,SAAS,mBAAmB,CAC1B,QAAyB,EACzB,eAAuB;IAEvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,IAAA,kCAAc,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAElE,OAAO,IAAA,0BAAU,EAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AACvD,CAAC;AAiDD,MAAa,gBAAgB;IAS3B,YACE,UAA2B,EAC3B,IAAY,EACZ,MAA8B;QAE9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAA,mCAAmB,EAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AA5CD,4CA4CC;AAeD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,sBAAsB;IAUjC,YAAY,MAA8C;QACxD,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QAEvC,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,SAAS;QACP,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAA,sBAAQ,EAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/D,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAnDD,wDAmDC;AAED,SAAS,mBAAmB,CAC1B,UAAkC,EAClC,MAA4C;IAE5C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAA,sBAAQ,EACb,QAAQ,EACR,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CACzB,IAAI,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAC5D,CAAC;AACJ,CAAC;AAsDD,MAAa,iBAAiB;IAW5B,YACE,UAAkC,EAClC,IAAY,EACZ,MAA+B;QAE/B,CACE,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,SADxB,wBAAS,SAEP,GAAG,UAAU,IAAI,IAAI,yEAAyE,EAC9F;QAEF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAA,0BAAU,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAvDD,8CAuDC;AAED,SAAgB,oBAAoB,CAAC,KAAwB;IAC3D,OAAO,CACL,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,KAAK,CAAC,YAAY,KAAK,SAAS;QAChC,KAAK,CAAC,OAAO,KAAK,SAAS,CAC5B,CAAC;AACJ,CAAC","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { didYouMean } from '../jsutils/didYouMean.js';\nimport { identityFunc } from '../jsutils/identityFunc.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { instanceOf } from '../jsutils/instanceOf.js';\nimport { keyMap } from '../jsutils/keyMap.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\nimport { mapValue } from '../jsutils/mapValue.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\nimport type { Path } from '../jsutils/Path.js';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.js';\nimport { suggestionList } from '../jsutils/suggestionList.js';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.js';\n\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type {\n ConstValueNode,\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n FieldNode,\n FragmentDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputObjectTypeExtensionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n InterfaceTypeExtensionNode,\n ObjectTypeDefinitionNode,\n ObjectTypeExtensionNode,\n OperationDefinitionNode,\n ScalarTypeDefinitionNode,\n ScalarTypeExtensionNode,\n UnionTypeDefinitionNode,\n UnionTypeExtensionNode,\n ValueNode,\n} from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type { GraphQLVariableSignature } from '../execution/getVariableSignature.js';\nimport type { VariableValues } from '../execution/values.js';\n\nimport { valueFromASTUntyped } from '../utilities/valueFromASTUntyped.js';\n\nimport { assertEnumValueName, assertName } from './assertName.js';\nimport type { GraphQLDirective } from './directives.js';\nimport type { GraphQLSchema } from './schema.js';\n\n// Predicates & Assertions\n\n/**\n * These are all of the possible kinds of types.\n */\nexport type GraphQLType = GraphQLNamedType | GraphQLWrappingType;\n\nexport function isType(type: unknown): type is GraphQLType {\n return (\n isScalarType(type) ||\n isObjectType(type) ||\n isInterfaceType(type) ||\n isUnionType(type) ||\n isEnumType(type) ||\n isInputObjectType(type) ||\n isListType(type) ||\n isNonNullType(type)\n );\n}\n\nexport function assertType(type: unknown): GraphQLType {\n if (!isType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL type.`);\n }\n return type;\n}\n\n/**\n * There are predicates for each GraphQL schema element.\n */\nexport function isScalarType(type: unknown): type is GraphQLScalarType {\n return instanceOf(type, GraphQLScalarType);\n}\n\nexport function assertScalarType(type: unknown): GraphQLScalarType {\n if (!isScalarType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Scalar type.`);\n }\n return type;\n}\n\nexport function isObjectType(type: unknown): type is GraphQLObjectType {\n return instanceOf(type, GraphQLObjectType);\n}\n\nexport function assertObjectType(type: unknown): GraphQLObjectType {\n if (!isObjectType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Object type.`);\n }\n return type;\n}\n\nexport function isField(field: unknown): field is GraphQLField {\n return instanceOf(field, GraphQLField);\n}\n\nexport function assertField(field: unknown): GraphQLField {\n if (!isField(field)) {\n throw new Error(`Expected ${inspect(field)} to be a GraphQL field.`);\n }\n return field;\n}\n\nexport function isArgument(arg: unknown): arg is GraphQLArgument {\n return instanceOf(arg, GraphQLArgument);\n}\n\nexport function assertArgument(arg: unknown): GraphQLArgument {\n if (!isArgument(arg)) {\n throw new Error(`Expected ${inspect(arg)} to be a GraphQL argument.`);\n }\n return arg;\n}\n\nexport function isInterfaceType(type: unknown): type is GraphQLInterfaceType {\n return instanceOf(type, GraphQLInterfaceType);\n}\n\nexport function assertInterfaceType(type: unknown): GraphQLInterfaceType {\n if (!isInterfaceType(type)) {\n throw new Error(\n `Expected ${inspect(type)} to be a GraphQL Interface type.`,\n );\n }\n return type;\n}\n\nexport function isUnionType(type: unknown): type is GraphQLUnionType {\n return instanceOf(type, GraphQLUnionType);\n}\n\nexport function assertUnionType(type: unknown): GraphQLUnionType {\n if (!isUnionType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Union type.`);\n }\n return type;\n}\n\nexport function isEnumType(type: unknown): type is GraphQLEnumType {\n return instanceOf(type, GraphQLEnumType);\n}\n\nexport function assertEnumType(type: unknown): GraphQLEnumType {\n if (!isEnumType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Enum type.`);\n }\n return type;\n}\n\nexport function isEnumValue(value: unknown): value is GraphQLEnumValue {\n return instanceOf(value, GraphQLEnumValue);\n}\n\nexport function assertEnumValue(value: unknown): GraphQLEnumValue {\n if (!isEnumValue(value)) {\n throw new Error(`Expected ${inspect(value)} to be a GraphQL Enum value.`);\n }\n return value;\n}\n\nexport function isInputObjectType(\n type: unknown,\n): type is GraphQLInputObjectType {\n return instanceOf(type, GraphQLInputObjectType);\n}\n\nexport function assertInputObjectType(type: unknown): GraphQLInputObjectType {\n if (!isInputObjectType(type)) {\n throw new Error(\n `Expected ${inspect(type)} to be a GraphQL Input Object type.`,\n );\n }\n return type;\n}\n\nexport function isInputField(field: unknown): field is GraphQLInputField {\n return instanceOf(field, GraphQLInputField);\n}\n\nexport function assertInputField(field: unknown): GraphQLInputField {\n if (!isInputField(field)) {\n throw new Error(`Expected ${inspect(field)} to be a GraphQL input field.`);\n }\n return field;\n}\n\nexport function isListType(\n type: GraphQLInputType,\n): type is GraphQLList<GraphQLInputType>;\nexport function isListType(\n type: GraphQLOutputType,\n): type is GraphQLList<GraphQLOutputType>;\nexport function isListType(type: unknown): type is GraphQLList<GraphQLType>;\nexport function isListType(type: unknown): type is GraphQLList<GraphQLType> {\n return instanceOf(type, GraphQLList);\n}\n\nexport function assertListType(type: unknown): GraphQLList<GraphQLType> {\n if (!isListType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL List type.`);\n }\n return type;\n}\n\nexport function isNonNullType(\n type: GraphQLInputType,\n): type is GraphQLNonNull<GraphQLNullableInputType>;\nexport function isNonNullType(\n type: GraphQLOutputType,\n): type is GraphQLNonNull<GraphQLNullableOutputType>;\nexport function isNonNullType(\n type: unknown,\n): type is GraphQLNonNull<GraphQLNullableType>;\nexport function isNonNullType(\n type: unknown,\n): type is GraphQLNonNull<GraphQLNullableType> {\n return instanceOf(type, GraphQLNonNull);\n}\n\nexport function assertNonNullType(\n type: unknown,\n): GraphQLNonNull<GraphQLNullableType> {\n if (!isNonNullType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Non-Null type.`);\n }\n return type;\n}\n\n/**\n * These types may be used as input types for arguments and directives.\n */\nexport type GraphQLNullableInputType =\n | GraphQLNamedInputType\n | GraphQLList<GraphQLInputType>;\n\nexport type GraphQLInputType =\n | GraphQLNullableInputType\n | GraphQLNonNull<GraphQLNullableInputType>;\n\nexport function isInputType(type: unknown): type is GraphQLInputType {\n return (\n isScalarType(type) ||\n isEnumType(type) ||\n isInputObjectType(type) ||\n (isWrappingType(type) && isInputType(type.ofType))\n );\n}\n\nexport function assertInputType(type: unknown): GraphQLInputType {\n if (!isInputType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL input type.`);\n }\n return type;\n}\n\n/**\n * These types may be used as output types as the result of fields.\n */\nexport type GraphQLNullableOutputType =\n | GraphQLNamedOutputType\n | GraphQLList<GraphQLOutputType>;\n\nexport type GraphQLOutputType =\n | GraphQLNullableOutputType\n | GraphQLNonNull<GraphQLNullableOutputType>;\n\nexport function isOutputType(type: unknown): type is GraphQLOutputType {\n return (\n isScalarType(type) ||\n isObjectType(type) ||\n isInterfaceType(type) ||\n isUnionType(type) ||\n isEnumType(type) ||\n (isWrappingType(type) && isOutputType(type.ofType))\n );\n}\n\nexport function assertOutputType(type: unknown): GraphQLOutputType {\n if (!isOutputType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL output type.`);\n }\n return type;\n}\n\n/**\n * These types may describe types which may be leaf values.\n */\nexport type GraphQLLeafType = GraphQLScalarType | GraphQLEnumType;\n\nexport function isLeafType(type: unknown): type is GraphQLLeafType {\n return isScalarType(type) || isEnumType(type);\n}\n\nexport function assertLeafType(type: unknown): GraphQLLeafType {\n if (!isLeafType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL leaf type.`);\n }\n return type;\n}\n\n/**\n * These types may describe the parent context of a selection set.\n */\nexport type GraphQLCompositeType =\n | GraphQLObjectType\n | GraphQLInterfaceType\n | GraphQLUnionType;\n\nexport function isCompositeType(type: unknown): type is GraphQLCompositeType {\n return isObjectType(type) || isInterfaceType(type) || isUnionType(type);\n}\n\nexport function assertCompositeType(type: unknown): GraphQLCompositeType {\n if (!isCompositeType(type)) {\n throw new Error(\n `Expected ${inspect(type)} to be a GraphQL composite type.`,\n );\n }\n return type;\n}\n\n/**\n * These types may describe the parent context of a selection set.\n */\nexport type GraphQLAbstractType = GraphQLInterfaceType | GraphQLUnionType;\n\nexport function isAbstractType(type: unknown): type is GraphQLAbstractType {\n return isInterfaceType(type) || isUnionType(type);\n}\n\nexport function assertAbstractType(type: unknown): GraphQLAbstractType {\n if (!isAbstractType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL abstract type.`);\n }\n return type;\n}\n\n/**\n * List Type Wrapper\n *\n * A list is a wrapping type which points to another type.\n * Lists are often created within the context of defining the fields of\n * an object type.\n *\n * Example:\n *\n * ```ts\n * const PersonType = new GraphQLObjectType({\n * name: 'Person',\n * fields: () => ({\n * parents: { type: new GraphQLList(PersonType) },\n * children: { type: new GraphQLList(PersonType) },\n * })\n * })\n * ```\n */\nexport class GraphQLList<T extends GraphQLType>\n implements GraphQLSchemaElement\n{\n readonly ofType: T;\n\n constructor(ofType: T) {\n this.ofType = ofType;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLList';\n }\n\n toString(): string {\n return '[' + String(this.ofType) + ']';\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/**\n * Non-Null Type Wrapper\n *\n * A non-null is a wrapping type which points to another type.\n * Non-null types enforce that their values are never null and can ensure\n * an error is raised if this ever occurs during a request. It is useful for\n * fields which you can make a strong guarantee on non-nullability, for example\n * usually the id field of a database row will never be null.\n *\n * Example:\n *\n * ```ts\n * const RowType = new GraphQLObjectType({\n * name: 'Row',\n * fields: () => ({\n * id: { type: new GraphQLNonNull(GraphQLString) },\n * })\n * })\n * ```\n * Note: the enforcement of non-nullability occurs within the executor.\n */\nexport class GraphQLNonNull<T extends GraphQLNullableType>\n implements GraphQLSchemaElement\n{\n readonly ofType: T;\n\n constructor(ofType: T) {\n this.ofType = ofType;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLNonNull';\n }\n\n toString(): string {\n return String(this.ofType) + '!';\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/**\n * These types wrap and modify other types\n */\n\nexport type GraphQLWrappingType =\n | GraphQLList<GraphQLType>\n | GraphQLNonNull<GraphQLNullableType>;\n\nexport function isWrappingType(type: unknown): type is GraphQLWrappingType {\n return isListType(type) || isNonNullType(type);\n}\n\nexport function assertWrappingType(type: unknown): GraphQLWrappingType {\n if (!isWrappingType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL wrapping type.`);\n }\n return type;\n}\n\n/**\n * These types can all accept null as a value.\n */\nexport type GraphQLNullableType = GraphQLNamedType | GraphQLList<GraphQLType>;\n\nexport function isNullableType(type: unknown): type is GraphQLNullableType {\n return isType(type) && !isNonNullType(type);\n}\n\nexport function assertNullableType(type: unknown): GraphQLNullableType {\n if (!isNullableType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL nullable type.`);\n }\n return type;\n}\n\nexport function getNullableType(type: undefined | null): void;\nexport function getNullableType<T extends GraphQLNullableType>(\n type: T | GraphQLNonNull<T>,\n): T;\nexport function getNullableType(\n type: Maybe<GraphQLType>,\n): GraphQLNullableType | undefined;\nexport function getNullableType(\n type: Maybe<GraphQLType>,\n): GraphQLNullableType | undefined {\n if (type) {\n return isNonNullType(type) ? type.ofType : type;\n }\n}\n\n/**\n * These named types do not include modifiers like List or NonNull.\n */\nexport type GraphQLNamedType = GraphQLNamedInputType | GraphQLNamedOutputType;\n\nexport type GraphQLNamedInputType =\n | GraphQLScalarType\n | GraphQLEnumType\n | GraphQLInputObjectType;\n\nexport type GraphQLNamedOutputType =\n | GraphQLScalarType\n | GraphQLObjectType\n | GraphQLInterfaceType\n | GraphQLUnionType\n | GraphQLEnumType;\n\nexport function isNamedType(type: unknown): type is GraphQLNamedType {\n return (\n isScalarType(type) ||\n isObjectType(type) ||\n isInterfaceType(type) ||\n isUnionType(type) ||\n isEnumType(type) ||\n isInputObjectType(type)\n );\n}\n\nexport function assertNamedType(type: unknown): GraphQLNamedType {\n if (!isNamedType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL named type.`);\n }\n return type;\n}\n\nexport function getNamedType(type: undefined | null): void;\nexport function getNamedType(type: GraphQLInputType): GraphQLNamedInputType;\nexport function getNamedType(type: GraphQLOutputType): GraphQLNamedOutputType;\nexport function getNamedType(type: GraphQLType): GraphQLNamedType;\nexport function getNamedType(\n type: Maybe<GraphQLType>,\n): GraphQLNamedType | undefined;\nexport function getNamedType(\n type: Maybe<GraphQLType>,\n): GraphQLNamedType | undefined {\n if (type) {\n let unwrappedType = type;\n while (isWrappingType(unwrappedType)) {\n unwrappedType = unwrappedType.ofType;\n }\n return unwrappedType;\n }\n}\n\n/**\n * An interface for all Schema Elements.\n */\n\nexport interface GraphQLSchemaElement {\n toString: () => string;\n toJSON: () => string;\n}\n\n/**\n * Used while defining GraphQL types to allow for circular references in\n * otherwise immutable type definitions.\n */\nexport type ThunkReadonlyArray<T> = (() => ReadonlyArray<T>) | ReadonlyArray<T>;\nexport type ThunkObjMap<T> = (() => ObjMap<T>) | ObjMap<T>;\n\nexport function resolveReadonlyArrayThunk<T>(\n thunk: ThunkReadonlyArray<T>,\n): ReadonlyArray<T> {\n return typeof thunk === 'function' ? thunk() : thunk;\n}\n\nexport function resolveObjMapThunk<T>(thunk: ThunkObjMap<T>): ObjMap<T> {\n return typeof thunk === 'function' ? thunk() : thunk;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLScalarTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Scalar Type Definition\n *\n * The leaf values of any request and input values to arguments are\n * Scalars (or Enums) and are defined with a name and a series of functions\n * used to parse input from ast or variables and to ensure validity.\n *\n * If a type's coerceOutputValue function returns `null` or does not return a\n * value (i.e. it returns `undefined`) then an error will be raised and a\n * `null` value will be returned in the response. It is always better to\n * validate.\n *\n * Example:\n *\n * ```ts\n * function ensureOdd(value) {\n * if (!Number.isFinite(value)) {\n * throw new Error(\n * `Scalar \"Odd\" cannot represent \"${value}\" since it is not a finite number.`,\n * );\n * }\n *\n * if (value % 2 === 0) {\n * throw new Error(`Scalar \"Odd\" cannot represent \"${value}\" since it is even.`);\n * }\n * }\n *\n * const OddType = new GraphQLScalarType({\n * name: 'Odd',\n * coerceOutputValue(value) {\n * return ensureOdd(value);\n * },\n * coerceInputValue(value) {\n * return ensureOdd(value);\n * }\n * valueToLiteral(value) {\n * return parse(`${ensureOdd(value)`);\n * }\n * });\n * ```\n *\n * Custom scalars behavior is defined via the following functions:\n *\n * - coerceOutputValue(value): Implements \"Result Coercion\". Given an internal value,\n * produces an external value valid for this type. Returns undefined or\n * throws an error to indicate invalid values.\n *\n * - coerceInputValue(value): Implements \"Input Coercion\" for values. Given an\n * external value (for example, variable values), produces an internal value\n * valid for this type. Returns undefined or throws an error to indicate\n * invalid values.\n *\n * - coerceInputLiteral(ast): Implements \"Input Coercion\" for constant literals.\n * Given an GraphQL literal (AST) (for example, an argument value), produces\n * an internal value valid for this type. Returns undefined or throws an\n * error to indicate invalid values.\n *\n * - valueToLiteral(value): Converts an external value to a GraphQL\n * literal (AST). Returns undefined or throws an error to indicate\n * invalid values.\n *\n * Deprecated, to be removed in v18:\n *\n * - serialize(value): Implements \"Result Coercion\". Renamed to\n * `coerceOutputValue()`.\n *\n * - parseValue(value): Implements \"Input Coercion\" for values. Renamed to\n * `coerceInputValue()`.\n *\n * - parseLiteral(ast): Implements \"Input Coercion\" for literals including\n * non-specified replacement of variables embedded within complex scalars.\n * Replaced by the combination of the `replaceVariables()` utility and the\n * `coerceInputLiteral()` method.\n *\n */\nexport class GraphQLScalarType<TInternal = unknown, TExternal = TInternal>\n implements GraphQLSchemaElement\n{\n name: string;\n description: Maybe<string>;\n specifiedByURL: Maybe<string>;\n /** @deprecated use `coerceOutputValue()` instead, `serialize()` will be removed in v18 */\n serialize: GraphQLScalarSerializer<TExternal>;\n /** @deprecated use `coerceInputValue()` instead, `parseValue()` will be removed in v18 */\n parseValue: GraphQLScalarValueParser<TInternal>;\n /** @deprecated use `replaceVariables()` and `coerceInputLiteral()` instead, `parseLiteral()` will be removed in v18 */\n parseLiteral: GraphQLScalarLiteralParser<TInternal>;\n coerceOutputValue: GraphQLScalarOutputValueCoercer<TExternal>;\n coerceInputValue: GraphQLScalarInputValueCoercer<TInternal>;\n coerceInputLiteral: GraphQLScalarInputLiteralCoercer<TInternal> | undefined;\n valueToLiteral: GraphQLScalarValueToLiteral | undefined;\n extensions: Readonly<GraphQLScalarTypeExtensions>;\n astNode: Maybe<ScalarTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<ScalarTypeExtensionNode>;\n\n constructor(config: Readonly<GraphQLScalarTypeConfig<TInternal, TExternal>>) {\n this.name = assertName(config.name);\n this.description = config.description;\n this.specifiedByURL = config.specifiedByURL;\n this.serialize =\n config.serialize ??\n config.coerceOutputValue ??\n (identityFunc as GraphQLScalarSerializer<TExternal>);\n this.parseValue =\n config.parseValue ??\n config.coerceInputValue ??\n (identityFunc as GraphQLScalarValueParser<TInternal>);\n this.parseLiteral =\n config.parseLiteral ??\n ((node, variables) =>\n this.coerceInputValue(valueFromASTUntyped(node, variables)));\n this.coerceOutputValue = config.coerceOutputValue ?? this.serialize;\n this.coerceInputValue = config.coerceInputValue ?? this.parseValue;\n this.coerceInputLiteral = config.coerceInputLiteral;\n this.valueToLiteral = config.valueToLiteral;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n if (config.parseLiteral) {\n devAssert(\n typeof config.parseValue === 'function' &&\n typeof config.parseLiteral === 'function',\n `${this.name} must provide both \"parseValue\" and \"parseLiteral\" functions.`,\n );\n }\n\n if (config.coerceInputLiteral) {\n devAssert(\n typeof config.coerceInputValue === 'function' &&\n typeof config.coerceInputLiteral === 'function',\n `${this.name} must provide both \"coerceInputValue\" and \"coerceInputLiteral\" functions.`,\n );\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLScalarType';\n }\n\n toConfig(): GraphQLScalarTypeNormalizedConfig<TInternal, TExternal> {\n return {\n name: this.name,\n description: this.description,\n specifiedByURL: this.specifiedByURL,\n serialize: this.serialize,\n parseValue: this.parseValue,\n parseLiteral: this.parseLiteral,\n coerceOutputValue: this.coerceOutputValue,\n coerceInputValue: this.coerceInputValue,\n coerceInputLiteral: this.coerceInputLiteral,\n valueToLiteral: this.valueToLiteral,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/* @deprecated in favor of GraphQLScalarOutputValueCoercer, will be removed in v18 */\nexport type GraphQLScalarSerializer<TExternal> = (\n outputValue: unknown,\n) => TExternal;\n\nexport type GraphQLScalarOutputValueCoercer<TExternal> = (\n outputValue: unknown,\n) => TExternal;\n\n/* @deprecated in favor of GraphQLScalarInputValueCoercer, will be removed in v18 */\nexport type GraphQLScalarValueParser<TInternal> = (\n inputValue: unknown,\n) => TInternal;\n\nexport type GraphQLScalarInputValueCoercer<TInternal> = (\n inputValue: unknown,\n) => TInternal;\n\n/* @deprecated in favor of GraphQLScalarInputLiteralCoercer, will be removed in v18 */\nexport type GraphQLScalarLiteralParser<TInternal> = (\n valueNode: ValueNode,\n variables: Maybe<ObjMap<unknown>>,\n) => Maybe<TInternal>;\n\nexport type GraphQLScalarInputLiteralCoercer<TInternal> = (\n valueNode: ConstValueNode,\n) => Maybe<TInternal>;\n\nexport type GraphQLScalarValueToLiteral = (\n inputValue: unknown,\n) => ConstValueNode | undefined;\n\nexport interface GraphQLScalarTypeConfig<TInternal, TExternal> {\n name: string;\n description?: Maybe<string>;\n specifiedByURL?: Maybe<string>;\n /** Serializes an internal value to include in a response. */\n /** @deprecated use `coerceOutputValue()` instead, `serialize()` will be removed in v18 */\n serialize?: GraphQLScalarSerializer<TExternal> | undefined;\n /** Parses an externally provided value to use as an input. */\n /** @deprecated use `coerceInputValue()` instead, `parseValue()` will be removed in v18 */\n parseValue?: GraphQLScalarValueParser<TInternal> | undefined;\n /** Parses an externally provided literal value to use as an input. */\n /** @deprecated use `replaceVariables()` and `coerceInputLiteral()` instead, `parseLiteral()` will be removed in v18 */\n parseLiteral?: GraphQLScalarLiteralParser<TInternal> | undefined;\n /** Coerces an internal value to include in a response. */\n coerceOutputValue?: GraphQLScalarOutputValueCoercer<TExternal> | undefined;\n /** Coerces an externally provided value to use as an input. */\n coerceInputValue?: GraphQLScalarInputValueCoercer<TInternal> | undefined;\n /** Coerces an externally provided const literal value to use as an input. */\n coerceInputLiteral?: GraphQLScalarInputLiteralCoercer<TInternal> | undefined;\n /** Translates an externally provided value to a literal (AST). */\n valueToLiteral?: GraphQLScalarValueToLiteral | undefined;\n extensions?: Maybe<Readonly<GraphQLScalarTypeExtensions>>;\n astNode?: Maybe<ScalarTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<ScalarTypeExtensionNode>>;\n}\n\nexport interface GraphQLScalarTypeNormalizedConfig<TInternal, TExternal>\n extends GraphQLScalarTypeConfig<TInternal, TExternal> {\n serialize: GraphQLScalarSerializer<TExternal>;\n parseValue: GraphQLScalarValueParser<TInternal>;\n parseLiteral: GraphQLScalarLiteralParser<TInternal>;\n coerceOutputValue: GraphQLScalarOutputValueCoercer<TExternal>;\n coerceInputValue: GraphQLScalarInputValueCoercer<TInternal>;\n coerceInputLiteral: GraphQLScalarInputLiteralCoercer<TInternal> | undefined;\n extensions: Readonly<GraphQLScalarTypeExtensions>;\n extensionASTNodes: ReadonlyArray<ScalarTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n *\n * We've provided these template arguments because this is an open type and\n * you may find them useful.\n */\nexport interface GraphQLObjectTypeExtensions<_TSource = any, _TContext = any> {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Object Type Definition\n *\n * Almost all of the GraphQL types you define will be object types. Object types\n * have a name, but most importantly describe their fields.\n *\n * Example:\n *\n * ```ts\n * const AddressType = new GraphQLObjectType({\n * name: 'Address',\n * fields: {\n * street: { type: GraphQLString },\n * number: { type: GraphQLInt },\n * formatted: {\n * type: GraphQLString,\n * resolve(obj) {\n * return obj.number + ' ' + obj.street\n * }\n * }\n * }\n * });\n * ```\n *\n * When two types need to refer to each other, or a type needs to refer to\n * itself in a field, you can use a function expression (aka a closure or a\n * thunk) to supply the fields lazily.\n *\n * Example:\n *\n * ```ts\n * const PersonType = new GraphQLObjectType({\n * name: 'Person',\n * fields: () => ({\n * name: { type: GraphQLString },\n * bestFriend: { type: PersonType },\n * })\n * });\n * ```\n */\nexport class GraphQLObjectType<TSource = any, TContext = any>\n implements GraphQLSchemaElement\n{\n name: string;\n description: Maybe<string>;\n isTypeOf: Maybe<GraphQLIsTypeOfFn<TSource, TContext>>;\n extensions: Readonly<GraphQLObjectTypeExtensions<TSource, TContext>>;\n astNode: Maybe<ObjectTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<ObjectTypeExtensionNode>;\n\n private _fields: ThunkObjMap<GraphQLField<TSource, TContext>>;\n private _interfaces: ThunkReadonlyArray<GraphQLInterfaceType>;\n\n constructor(config: Readonly<GraphQLObjectTypeConfig<TSource, TContext>>) {\n this.name = assertName(config.name);\n this.description = config.description;\n this.isTypeOf = config.isTypeOf;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n this._fields = (defineFieldMap<TSource, TContext>).bind(\n undefined,\n this,\n config.fields,\n );\n this._interfaces = defineInterfaces.bind(undefined, config.interfaces);\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLObjectType';\n }\n\n getFields(): GraphQLFieldMap<TSource, TContext> {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n return this._fields;\n }\n\n getInterfaces(): ReadonlyArray<GraphQLInterfaceType> {\n if (typeof this._interfaces === 'function') {\n this._interfaces = this._interfaces();\n }\n return this._interfaces;\n }\n\n toConfig(): GraphQLObjectTypeNormalizedConfig<TSource, TContext> {\n return {\n name: this.name,\n description: this.description,\n interfaces: this.getInterfaces(),\n fields: mapValue(this.getFields(), (field) => field.toConfig()),\n isTypeOf: this.isTypeOf,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction defineInterfaces(\n interfaces: Maybe<ThunkReadonlyArray<GraphQLInterfaceType>>,\n): ReadonlyArray<GraphQLInterfaceType> {\n return resolveReadonlyArrayThunk(interfaces ?? []);\n}\n\nfunction defineFieldMap<TSource, TContext>(\n parentType:\n | GraphQLObjectType<TSource, TContext>\n | GraphQLInterfaceType<TSource, TContext>,\n fields: ThunkObjMap<GraphQLFieldConfig<TSource, TContext>>,\n): GraphQLFieldMap<TSource, TContext> {\n const fieldMap = resolveObjMapThunk(fields);\n\n return mapValue(\n fieldMap,\n (fieldConfig, fieldName) =>\n new GraphQLField(parentType, fieldName, fieldConfig),\n );\n}\n\nexport interface GraphQLObjectTypeConfig<TSource, TContext> {\n name: string;\n description?: Maybe<string>;\n interfaces?: ThunkReadonlyArray<GraphQLInterfaceType> | undefined;\n fields: ThunkObjMap<GraphQLFieldConfig<TSource, TContext>>;\n isTypeOf?: Maybe<GraphQLIsTypeOfFn<TSource, TContext>>;\n extensions?: Maybe<Readonly<GraphQLObjectTypeExtensions<TSource, TContext>>>;\n astNode?: Maybe<ObjectTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<ObjectTypeExtensionNode>>;\n}\n\nexport interface GraphQLObjectTypeNormalizedConfig<TSource, TContext>\n extends GraphQLObjectTypeConfig<any, any> {\n interfaces: ReadonlyArray<GraphQLInterfaceType>;\n fields: GraphQLFieldNormalizedConfigMap<any, any>;\n extensions: Readonly<GraphQLObjectTypeExtensions<TSource, TContext>>;\n extensionASTNodes: ReadonlyArray<ObjectTypeExtensionNode>;\n}\n\nexport type GraphQLTypeResolver<TSource, TContext> = (\n value: TSource,\n context: TContext,\n info: GraphQLResolveInfo,\n abstractType: GraphQLAbstractType,\n) => PromiseOrValue<string | undefined>;\n\nexport type GraphQLIsTypeOfFn<TSource, TContext> = (\n source: TSource,\n context: TContext,\n info: GraphQLResolveInfo,\n) => PromiseOrValue<boolean>;\n\nexport type GraphQLFieldResolver<\n TSource,\n TContext,\n TArgs = any,\n TResult = unknown,\n> = (\n source: TSource,\n args: TArgs,\n context: TContext,\n info: GraphQLResolveInfo,\n abortSignal: AbortSignal | undefined,\n) => TResult;\n\nexport interface GraphQLResolveInfo {\n readonly fieldName: string;\n readonly fieldNodes: ReadonlyArray<FieldNode>;\n readonly returnType: GraphQLOutputType;\n readonly parentType: GraphQLObjectType;\n readonly path: Path;\n readonly schema: GraphQLSchema;\n readonly fragments: ObjMap<FragmentDefinitionNode>;\n readonly rootValue: unknown;\n readonly operation: OperationDefinitionNode;\n readonly variableValues: VariableValues;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n *\n * We've provided these template arguments because this is an open type and\n * you may find them useful.\n */\nexport interface GraphQLFieldExtensions<_TSource, _TContext, _TArgs = any> {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLFieldConfig<TSource, TContext, TArgs = any> {\n description?: Maybe<string>;\n type: GraphQLOutputType;\n args?: GraphQLFieldConfigArgumentMap | undefined;\n resolve?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n subscribe?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<\n Readonly<GraphQLFieldExtensions<TSource, TContext, TArgs>>\n >;\n astNode?: Maybe<FieldDefinitionNode>;\n}\n\nexport interface GraphQLFieldNormalizedConfig<TSource, TContext, TArgs = any>\n extends GraphQLFieldConfig<TSource, TContext, TArgs> {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n extensions: Readonly<GraphQLFieldExtensions<TSource, TContext, TArgs>>;\n}\n\nexport type GraphQLFieldConfigArgumentMap = ObjMap<GraphQLArgumentConfig>;\n\nexport type GraphQLFieldNormalizedConfigArgumentMap =\n ObjMap<GraphQLArgumentNormalizedConfig>;\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLArgumentExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLArgumentConfig {\n description?: Maybe<string>;\n type: GraphQLInputType;\n /** @deprecated use default instead, defaultValue will be removed in v18 **/\n defaultValue?: unknown;\n default?: GraphQLDefaultInput | undefined;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLArgumentExtensions>>;\n astNode?: Maybe<InputValueDefinitionNode>;\n}\n\nexport interface GraphQLArgumentNormalizedConfig extends GraphQLArgumentConfig {\n default: GraphQLDefaultInput | undefined;\n extensions: Readonly<GraphQLArgumentExtensions>;\n}\n\nexport type GraphQLFieldConfigMap<TSource, TContext> = ObjMap<\n GraphQLFieldConfig<TSource, TContext>\n>;\n\nexport type GraphQLFieldNormalizedConfigMap<TSource, TContext> = ObjMap<\n GraphQLFieldNormalizedConfig<TSource, TContext>\n>;\n\nexport class GraphQLField<TSource = any, TContext = any, TArgs = any>\n implements GraphQLSchemaElement\n{\n parentType:\n | GraphQLObjectType<TSource, TContext>\n | GraphQLInterfaceType<TSource, TContext>\n | undefined;\n name: string;\n description: Maybe<string>;\n type: GraphQLOutputType;\n args: ReadonlyArray<GraphQLArgument>;\n resolve?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n subscribe?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLFieldExtensions<TSource, TContext, TArgs>>;\n astNode: Maybe<FieldDefinitionNode>;\n\n constructor(\n parentType:\n | GraphQLObjectType<TSource, TContext>\n | GraphQLInterfaceType<TSource, TContext>\n | undefined,\n name: string,\n config: GraphQLFieldConfig<TSource, TContext, TArgs>,\n ) {\n this.parentType = parentType;\n this.name = assertName(name);\n this.description = config.description;\n this.type = config.type;\n\n const argsConfig = config.args;\n this.args = argsConfig\n ? Object.entries(argsConfig).map(\n ([argName, argConfig]) =>\n new GraphQLArgument(this, argName, argConfig),\n )\n : [];\n\n this.resolve = config.resolve;\n this.subscribe = config.subscribe;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLField';\n }\n\n toConfig(): GraphQLFieldNormalizedConfig<TSource, TContext, TArgs> {\n return {\n description: this.description,\n type: this.type,\n args: keyValMap(\n this.args,\n (arg) => arg.name,\n (arg) => arg.toConfig(),\n ),\n resolve: this.resolve,\n subscribe: this.subscribe,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parentType ?? '<meta>'}.${this.name}`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport class GraphQLArgument implements GraphQLSchemaElement {\n parent: GraphQLField | GraphQLDirective;\n name: string;\n description: Maybe<string>;\n type: GraphQLInputType;\n defaultValue: unknown;\n default: GraphQLDefaultInput | undefined;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLArgumentExtensions>;\n astNode: Maybe<InputValueDefinitionNode>;\n\n constructor(\n parent: GraphQLField | GraphQLDirective,\n name: string,\n config: GraphQLArgumentConfig,\n ) {\n this.parent = parent;\n this.name = assertName(name);\n this.description = config.description;\n this.type = config.type;\n this.defaultValue = config.defaultValue;\n this.default = config.default;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLArgument';\n }\n\n toConfig(): GraphQLArgumentNormalizedConfig {\n return {\n description: this.description,\n type: this.type,\n defaultValue: this.defaultValue,\n default: this.default,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parent}(${this.name}:)`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport function isRequiredArgument(\n arg: GraphQLArgument | GraphQLVariableSignature,\n): boolean {\n return (\n isNonNullType(arg.type) &&\n arg.default === undefined &&\n arg.defaultValue === undefined\n );\n}\n\nexport type GraphQLFieldMap<TSource, TContext> = ObjMap<\n GraphQLField<TSource, TContext>\n>;\n\nexport type GraphQLDefaultInput =\n | { value: unknown; literal?: never }\n | { literal: ConstValueNode; value?: never };\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLInterfaceTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Interface Type Definition\n *\n * When a field can return one of a heterogeneous set of types, a Interface type\n * is used to describe what types are possible, what fields are in common across\n * all types, as well as a function to determine which type is actually used\n * when the field is resolved.\n *\n * Example:\n *\n * ```ts\n * const EntityType = new GraphQLInterfaceType({\n * name: 'Entity',\n * fields: {\n * name: { type: GraphQLString }\n * }\n * });\n * ```\n */\nexport class GraphQLInterfaceType<TSource = any, TContext = any>\n implements GraphQLSchemaElement\n{\n name: string;\n description: Maybe<string>;\n resolveType: Maybe<GraphQLTypeResolver<TSource, TContext>>;\n extensions: Readonly<GraphQLInterfaceTypeExtensions>;\n astNode: Maybe<InterfaceTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<InterfaceTypeExtensionNode>;\n\n private _fields: ThunkObjMap<GraphQLField<TSource, TContext>>;\n private _interfaces: ThunkReadonlyArray<GraphQLInterfaceType>;\n\n constructor(config: Readonly<GraphQLInterfaceTypeConfig<TSource, TContext>>) {\n this.name = assertName(config.name);\n this.description = config.description;\n this.resolveType = config.resolveType;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n this._fields = (defineFieldMap<TSource, TContext>).bind(\n undefined,\n this,\n config.fields,\n );\n this._interfaces = defineInterfaces.bind(undefined, config.interfaces);\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLInterfaceType';\n }\n\n getFields(): GraphQLFieldMap<TSource, TContext> {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n return this._fields;\n }\n\n getInterfaces(): ReadonlyArray<GraphQLInterfaceType> {\n if (typeof this._interfaces === 'function') {\n this._interfaces = this._interfaces();\n }\n return this._interfaces;\n }\n\n toConfig(): GraphQLInterfaceTypeNormalizedConfig<TSource, TContext> {\n return {\n name: this.name,\n description: this.description,\n interfaces: this.getInterfaces(),\n fields: mapValue(this.getFields(), (field) => field.toConfig()),\n resolveType: this.resolveType,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport interface GraphQLInterfaceTypeConfig<TSource, TContext> {\n name: string;\n description?: Maybe<string>;\n interfaces?: ThunkReadonlyArray<GraphQLInterfaceType> | undefined;\n fields: ThunkObjMap<GraphQLFieldConfig<TSource, TContext>>;\n /**\n * Optionally provide a custom type resolver function. If one is not provided,\n * the default implementation will call `isTypeOf` on each implementing\n * Object type.\n */\n resolveType?: Maybe<GraphQLTypeResolver<TSource, TContext>>;\n extensions?: Maybe<Readonly<GraphQLInterfaceTypeExtensions>>;\n astNode?: Maybe<InterfaceTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<InterfaceTypeExtensionNode>>;\n}\n\nexport interface GraphQLInterfaceTypeNormalizedConfig<TSource, TContext>\n extends GraphQLInterfaceTypeConfig<any, any> {\n interfaces: ReadonlyArray<GraphQLInterfaceType>;\n fields: GraphQLFieldNormalizedConfigMap<TSource, TContext>;\n extensions: Readonly<GraphQLInterfaceTypeExtensions>;\n extensionASTNodes: ReadonlyArray<InterfaceTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLUnionTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Union Type Definition\n *\n * When a field can return one of a heterogeneous set of types, a Union type\n * is used to describe what types are possible as well as providing a function\n * to determine which type is actually used when the field is resolved.\n *\n * Example:\n *\n * ```ts\n * const PetType = new GraphQLUnionType({\n * name: 'Pet',\n * types: [ DogType, CatType ],\n * resolveType(value) {\n * if (value instanceof Dog) {\n * return DogType;\n * }\n * if (value instanceof Cat) {\n * return CatType;\n * }\n * }\n * });\n * ```\n */\nexport class GraphQLUnionType implements GraphQLSchemaElement {\n name: string;\n description: Maybe<string>;\n resolveType: Maybe<GraphQLTypeResolver<any, any>>;\n extensions: Readonly<GraphQLUnionTypeExtensions>;\n astNode: Maybe<UnionTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<UnionTypeExtensionNode>;\n\n private _types: ThunkReadonlyArray<GraphQLObjectType>;\n\n constructor(config: Readonly<GraphQLUnionTypeConfig<any, any>>) {\n this.name = assertName(config.name);\n this.description = config.description;\n this.resolveType = config.resolveType;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n this._types = defineTypes.bind(undefined, config.types);\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLUnionType';\n }\n\n getTypes(): ReadonlyArray<GraphQLObjectType> {\n if (typeof this._types === 'function') {\n this._types = this._types();\n }\n return this._types;\n }\n\n toConfig(): GraphQLUnionTypeNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n types: this.getTypes(),\n resolveType: this.resolveType,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction defineTypes(\n types: ThunkReadonlyArray<GraphQLObjectType>,\n): ReadonlyArray<GraphQLObjectType> {\n return resolveReadonlyArrayThunk(types);\n}\n\nexport interface GraphQLUnionTypeConfig<TSource, TContext> {\n name: string;\n description?: Maybe<string>;\n types: ThunkReadonlyArray<GraphQLObjectType>;\n /**\n * Optionally provide a custom type resolver function. If one is not provided,\n * the default implementation will call `isTypeOf` on each implementing\n * Object type.\n */\n resolveType?: Maybe<GraphQLTypeResolver<TSource, TContext>>;\n extensions?: Maybe<Readonly<GraphQLUnionTypeExtensions>>;\n astNode?: Maybe<UnionTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<UnionTypeExtensionNode>>;\n}\n\nexport interface GraphQLUnionTypeNormalizedConfig\n extends GraphQLUnionTypeConfig<any, any> {\n types: ReadonlyArray<GraphQLObjectType>;\n extensions: Readonly<GraphQLUnionTypeExtensions>;\n extensionASTNodes: ReadonlyArray<UnionTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLEnumTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Enum Type Definition\n *\n * Some leaf values of requests and input values are Enums. GraphQL coerces\n * Enum values as strings, however internally Enums can be represented by any\n * kind of type, often integers.\n *\n * Example:\n *\n * ```ts\n * const RGBType = new GraphQLEnumType({\n * name: 'RGB',\n * values: {\n * RED: { value: 0 },\n * GREEN: { value: 1 },\n * BLUE: { value: 2 }\n * }\n * });\n * ```\n *\n * Note: If a value is not provided in a definition, the name of the enum value\n * will be used as its internal value.\n */\nexport class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {\n name: string;\n description: Maybe<string>;\n extensions: Readonly<GraphQLEnumTypeExtensions>;\n astNode: Maybe<EnumTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<EnumTypeExtensionNode>;\n\n private _values:\n | ReadonlyArray<GraphQLEnumValue /* <T> */>\n | (() => GraphQLEnumValueConfigMap);\n\n private _valueLookup: ReadonlyMap<any /* T */, GraphQLEnumValue> | null;\n private _nameLookup: ObjMap<GraphQLEnumValue> | null;\n\n constructor(config: Readonly<GraphQLEnumTypeConfig /* <T> */>) {\n this.name = assertName(config.name);\n this.description = config.description;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n this._values =\n typeof config.values === 'function'\n ? config.values\n : Object.entries(config.values).map(\n ([valueName, valueConfig]) =>\n new GraphQLEnumValue(this, valueName, valueConfig),\n );\n this._valueLookup = null;\n this._nameLookup = null;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLEnumType';\n }\n\n getValues(): ReadonlyArray<GraphQLEnumValue /* <T> */> {\n if (typeof this._values === 'function') {\n this._values = Object.entries(this._values()).map(\n ([valueName, valueConfig]) =>\n new GraphQLEnumValue(this, valueName, valueConfig),\n );\n }\n return this._values;\n }\n\n getValue(name: string): Maybe<GraphQLEnumValue> {\n if (this._nameLookup === null) {\n this._nameLookup = keyMap(this.getValues(), (value) => value.name);\n }\n return this._nameLookup[name];\n }\n\n /** @deprecated use `coerceOutputValue()` instead, `serialize()` will be removed in v18 */\n serialize(outputValue: unknown /* T */): Maybe<string> {\n return this.coerceOutputValue(outputValue);\n }\n\n coerceOutputValue(outputValue: unknown /* T */): Maybe<string> {\n if (this._valueLookup === null) {\n this._valueLookup = new Map(\n this.getValues().map((enumValue) => [enumValue.value, enumValue]),\n );\n }\n const enumValue = this._valueLookup.get(outputValue);\n if (enumValue === undefined) {\n throw new GraphQLError(\n `Enum \"${this.name}\" cannot represent value: ${inspect(outputValue)}`,\n );\n }\n return enumValue.name;\n }\n\n /** @deprecated use `coerceInputValue()` instead, `parseValue()` will be removed in v18 */\n parseValue(\n inputValue: unknown,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n return this.coerceInputValue(inputValue, hideSuggestions);\n }\n\n coerceInputValue(\n inputValue: unknown,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n if (typeof inputValue !== 'string') {\n const valueStr = inspect(inputValue);\n throw new GraphQLError(\n `Enum \"${this.name}\" cannot represent non-string value: ${valueStr}.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, valueStr)),\n );\n }\n\n const enumValue = this.getValue(inputValue);\n if (enumValue == null) {\n throw new GraphQLError(\n `Value \"${inputValue}\" does not exist in \"${this.name}\" enum.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, inputValue)),\n );\n }\n return enumValue.value;\n }\n\n /** @deprecated use `coerceInputLiteral()` instead, `parseLiteral()` will be removed in v18 */\n parseLiteral(\n valueNode: ValueNode,\n _variables: Maybe<ObjMap<unknown>>,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n // Note: variables will be resolved to a value before calling this function.\n return this.coerceInputLiteral(\n valueNode as ConstValueNode,\n hideSuggestions,\n );\n }\n\n coerceInputLiteral(\n valueNode: ConstValueNode,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n if (valueNode.kind !== Kind.ENUM) {\n const valueStr = print(valueNode);\n throw new GraphQLError(\n `Enum \"${this.name}\" cannot represent non-enum value: ${valueStr}.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, valueStr)),\n { nodes: valueNode },\n );\n }\n\n const enumValue = this.getValue(valueNode.value);\n if (enumValue == null) {\n const valueStr = print(valueNode);\n throw new GraphQLError(\n `Value \"${valueStr}\" does not exist in \"${this.name}\" enum.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, valueStr)),\n { nodes: valueNode },\n );\n }\n return enumValue.value;\n }\n\n valueToLiteral(value: unknown): ConstValueNode | undefined {\n if (typeof value === 'string' && this.getValue(value)) {\n return { kind: Kind.ENUM, value };\n }\n }\n\n toConfig(): GraphQLEnumTypeNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n values: keyValMap(\n this.getValues(),\n (value) => value.name,\n (value) => value.toConfig(),\n ),\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction didYouMeanEnumValue(\n enumType: GraphQLEnumType,\n unknownValueStr: string,\n): string {\n const allNames = enumType.getValues().map((value) => value.name);\n const suggestedValues = suggestionList(unknownValueStr, allNames);\n\n return didYouMean('the enum value', suggestedValues);\n}\n\nexport interface GraphQLEnumTypeConfig {\n name: string;\n description?: Maybe<string>;\n values: ThunkObjMap<GraphQLEnumValueConfig /* <T> */>;\n extensions?: Maybe<Readonly<GraphQLEnumTypeExtensions>>;\n astNode?: Maybe<EnumTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<EnumTypeExtensionNode>>;\n}\n\nexport interface GraphQLEnumTypeNormalizedConfig extends GraphQLEnumTypeConfig {\n values: GraphQLEnumValueNormalizedConfigMap;\n extensions: Readonly<GraphQLEnumTypeExtensions>;\n extensionASTNodes: ReadonlyArray<EnumTypeExtensionNode>;\n}\n\nexport type GraphQLEnumValueConfigMap /* <T> */ =\n ObjMap<GraphQLEnumValueConfig /* <T> */>;\n\nexport type GraphQLEnumValueNormalizedConfigMap /* <T> */ =\n ObjMap<GraphQLEnumValueNormalizedConfig /* <T> */>;\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLEnumValueExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLEnumValueConfig {\n description?: Maybe<string>;\n value?: any /* T */;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLEnumValueExtensions>>;\n astNode?: Maybe<EnumValueDefinitionNode>;\n}\n\nexport interface GraphQLEnumValueNormalizedConfig\n extends GraphQLEnumValueConfig {\n extensions: Readonly<GraphQLEnumValueExtensions>;\n}\n\nexport class GraphQLEnumValue implements GraphQLSchemaElement {\n parentEnum: GraphQLEnumType;\n name: string;\n description: Maybe<string>;\n value: any /* T */;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLEnumValueExtensions>;\n astNode: Maybe<EnumValueDefinitionNode>;\n\n constructor(\n parentEnum: GraphQLEnumType,\n name: string,\n config: GraphQLEnumValueConfig,\n ) {\n this.parentEnum = parentEnum;\n this.name = assertEnumValueName(name);\n this.description = config.description;\n this.value = config.value !== undefined ? config.value : name;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLEnumValue';\n }\n\n toConfig(): GraphQLEnumValueNormalizedConfig {\n return {\n description: this.description,\n value: this.value,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parentEnum.name}.${this.name}`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLInputObjectTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Input Object Type Definition\n *\n * An input object defines a structured collection of fields which may be\n * supplied to a field argument.\n *\n * Using `NonNull` will ensure that a value must be provided by the query\n *\n * Example:\n *\n * ```ts\n * const GeoPoint = new GraphQLInputObjectType({\n * name: 'GeoPoint',\n * fields: {\n * lat: { type: new GraphQLNonNull(GraphQLFloat) },\n * lon: { type: new GraphQLNonNull(GraphQLFloat) },\n * alt: { type: GraphQLFloat, defaultValue: 0 },\n * }\n * });\n * ```\n */\nexport class GraphQLInputObjectType implements GraphQLSchemaElement {\n name: string;\n description: Maybe<string>;\n extensions: Readonly<GraphQLInputObjectTypeExtensions>;\n astNode: Maybe<InputObjectTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<InputObjectTypeExtensionNode>;\n isOneOf: boolean;\n\n private _fields: ThunkObjMap<GraphQLInputField>;\n\n constructor(config: Readonly<GraphQLInputObjectTypeConfig>) {\n this.name = assertName(config.name);\n this.description = config.description;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n this.isOneOf = config.isOneOf ?? false;\n\n this._fields = defineInputFieldMap.bind(undefined, this, config.fields);\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLInputObjectType';\n }\n\n getFields(): GraphQLInputFieldMap {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n return this._fields;\n }\n\n toConfig(): GraphQLInputObjectTypeNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n fields: mapValue(this.getFields(), (field) => field.toConfig()),\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n isOneOf: this.isOneOf,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction defineInputFieldMap(\n parentType: GraphQLInputObjectType,\n fields: ThunkObjMap<GraphQLInputFieldConfig>,\n): GraphQLInputFieldMap {\n const fieldMap = resolveObjMapThunk(fields);\n return mapValue(\n fieldMap,\n (fieldConfig, fieldName) =>\n new GraphQLInputField(parentType, fieldName, fieldConfig),\n );\n}\n\nexport interface GraphQLInputObjectTypeConfig {\n name: string;\n description?: Maybe<string>;\n fields: ThunkObjMap<GraphQLInputFieldConfig>;\n extensions?: Maybe<Readonly<GraphQLInputObjectTypeExtensions>>;\n astNode?: Maybe<InputObjectTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<InputObjectTypeExtensionNode>>;\n isOneOf?: boolean;\n}\n\nexport interface GraphQLInputObjectTypeNormalizedConfig\n extends GraphQLInputObjectTypeConfig {\n fields: GraphQLInputFieldNormalizedConfigMap;\n extensions: Readonly<GraphQLInputObjectTypeExtensions>;\n extensionASTNodes: ReadonlyArray<InputObjectTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLInputFieldExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLInputFieldConfig {\n description?: Maybe<string>;\n type: GraphQLInputType;\n /** @deprecated use default instead, defaultValue will be removed in v18 **/\n defaultValue?: unknown;\n default?: GraphQLDefaultInput | undefined;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLInputFieldExtensions>>;\n astNode?: Maybe<InputValueDefinitionNode>;\n}\n\nexport type GraphQLInputFieldConfigMap = ObjMap<GraphQLInputFieldConfig>;\n\nexport interface GraphQLInputFieldNormalizedConfig\n extends GraphQLInputFieldConfig {\n default: GraphQLDefaultInput | undefined;\n extensions: Readonly<GraphQLInputFieldExtensions>;\n}\n\nexport type GraphQLInputFieldNormalizedConfigMap =\n ObjMap<GraphQLInputFieldNormalizedConfig>;\n\nexport class GraphQLInputField implements GraphQLSchemaElement {\n parentType: GraphQLInputObjectType;\n name: string;\n description: Maybe<string>;\n type: GraphQLInputType;\n defaultValue: unknown;\n default: GraphQLDefaultInput | undefined;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLInputFieldExtensions>;\n astNode: Maybe<InputValueDefinitionNode>;\n\n constructor(\n parentType: GraphQLInputObjectType,\n name: string,\n config: GraphQLInputFieldConfig,\n ) {\n devAssert(\n !('resolve' in config),\n `${parentType}.${name} field has a resolve property, but Input Types cannot define resolvers.`,\n );\n\n this.parentType = parentType;\n this.name = assertName(name);\n this.description = config.description;\n this.type = config.type;\n this.defaultValue = config.defaultValue;\n this.default = config.default;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLInputField';\n }\n\n toConfig(): GraphQLInputFieldNormalizedConfig {\n return {\n description: this.description,\n type: this.type,\n defaultValue: this.defaultValue,\n default: this.default,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parentType}.${this.name}`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport function isRequiredInputField(field: GraphQLInputField): boolean {\n return (\n isNonNullType(field.type) &&\n field.defaultValue === undefined &&\n field.default === undefined\n );\n}\n\nexport type GraphQLInputFieldMap = ObjMap<GraphQLInputField>;\n"]}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/type/definition.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { didYouMean } from '../jsutils/didYouMean.js';\nimport { identityFunc } from '../jsutils/identityFunc.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { instanceOf } from '../jsutils/instanceOf.js';\nimport { keyMap } from '../jsutils/keyMap.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\nimport { mapValue } from '../jsutils/mapValue.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\nimport type { Path } from '../jsutils/Path.js';\nimport type { PromiseOrValue } from '../jsutils/PromiseOrValue.js';\nimport { suggestionList } from '../jsutils/suggestionList.js';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.js';\n\nimport { GraphQLError } from '../error/GraphQLError.js';\n\nimport type {\n ConstValueNode,\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n FieldNode,\n FragmentDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputObjectTypeExtensionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n InterfaceTypeExtensionNode,\n ObjectTypeDefinitionNode,\n ObjectTypeExtensionNode,\n OperationDefinitionNode,\n ScalarTypeDefinitionNode,\n ScalarTypeExtensionNode,\n UnionTypeDefinitionNode,\n UnionTypeExtensionNode,\n ValueNode,\n} from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type { GraphQLVariableSignature } from '../execution/getVariableSignature.js';\nimport type { VariableValues } from '../execution/values.js';\n\nimport { valueFromASTUntyped } from '../utilities/valueFromASTUntyped.js';\n\nimport { assertEnumValueName, assertName } from './assertName.js';\nimport type { GraphQLDirective } from './directives.js';\nimport type { GraphQLSchema } from './schema.js';\n\n// Predicates & Assertions\n\n/**\n * These are all of the possible kinds of types.\n */\nexport type GraphQLType = GraphQLNamedType | GraphQLWrappingType;\n\nexport function isType(type: unknown): type is GraphQLType {\n return (\n isScalarType(type) ||\n isObjectType(type) ||\n isInterfaceType(type) ||\n isUnionType(type) ||\n isEnumType(type) ||\n isInputObjectType(type) ||\n isListType(type) ||\n isNonNullType(type)\n );\n}\n\nexport function assertType(type: unknown): GraphQLType {\n if (!isType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL type.`);\n }\n return type;\n}\n\nconst scalarSymbol: unique symbol = Symbol('Scalar');\n\n/**\n * There are predicates for each GraphQL schema element.\n */\nexport function isScalarType(type: unknown): type is GraphQLScalarType {\n return instanceOf(type, scalarSymbol, GraphQLScalarType);\n}\n\nexport function assertScalarType(type: unknown): GraphQLScalarType {\n if (!isScalarType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Scalar type.`);\n }\n return type;\n}\n\nconst objectSymbol: unique symbol = Symbol('Object');\n\nexport function isObjectType(type: unknown): type is GraphQLObjectType {\n return instanceOf(type, objectSymbol, GraphQLObjectType);\n}\n\nexport function assertObjectType(type: unknown): GraphQLObjectType {\n if (!isObjectType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Object type.`);\n }\n return type;\n}\n\nconst fieldSymbol: unique symbol = Symbol('Field');\n\nexport function isField(field: unknown): field is GraphQLField {\n return instanceOf(field, fieldSymbol, GraphQLField);\n}\n\nexport function assertField(field: unknown): GraphQLField {\n if (!isField(field)) {\n throw new Error(`Expected ${inspect(field)} to be a GraphQL field.`);\n }\n return field;\n}\n\nconst argumentSymbol: unique symbol = Symbol('Argument');\n\nexport function isArgument(arg: unknown): arg is GraphQLArgument {\n return instanceOf(arg, argumentSymbol, GraphQLArgument);\n}\n\nexport function assertArgument(arg: unknown): GraphQLArgument {\n if (!isArgument(arg)) {\n throw new Error(`Expected ${inspect(arg)} to be a GraphQL argument.`);\n }\n return arg;\n}\n\nconst interfaceSymbol: unique symbol = Symbol('Interface');\n\nexport function isInterfaceType(type: unknown): type is GraphQLInterfaceType {\n return instanceOf(type, interfaceSymbol, GraphQLInterfaceType);\n}\n\nexport function assertInterfaceType(type: unknown): GraphQLInterfaceType {\n if (!isInterfaceType(type)) {\n throw new Error(\n `Expected ${inspect(type)} to be a GraphQL Interface type.`,\n );\n }\n return type;\n}\n\nconst unionSymbol: unique symbol = Symbol('Union');\n\nexport function isUnionType(type: unknown): type is GraphQLUnionType {\n return instanceOf(type, unionSymbol, GraphQLUnionType);\n}\n\nexport function assertUnionType(type: unknown): GraphQLUnionType {\n if (!isUnionType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Union type.`);\n }\n return type;\n}\n\nconst enumSymbol: unique symbol = Symbol('Enum');\n\nexport function isEnumType(type: unknown): type is GraphQLEnumType {\n return instanceOf(type, enumSymbol, GraphQLEnumType);\n}\n\nexport function assertEnumType(type: unknown): GraphQLEnumType {\n if (!isEnumType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Enum type.`);\n }\n return type;\n}\n\nconst enumValueSymbol: unique symbol = Symbol('EnumValue');\n\nexport function isEnumValue(value: unknown): value is GraphQLEnumValue {\n return instanceOf(value, enumValueSymbol, GraphQLEnumValue);\n}\n\nexport function assertEnumValue(value: unknown): GraphQLEnumValue {\n if (!isEnumValue(value)) {\n throw new Error(`Expected ${inspect(value)} to be a GraphQL Enum value.`);\n }\n return value;\n}\n\nconst inputObjectSymbol: unique symbol = Symbol('InputObject');\n\nexport function isInputObjectType(\n type: unknown,\n): type is GraphQLInputObjectType {\n return instanceOf(type, inputObjectSymbol, GraphQLInputObjectType);\n}\n\nexport function assertInputObjectType(type: unknown): GraphQLInputObjectType {\n if (!isInputObjectType(type)) {\n throw new Error(\n `Expected ${inspect(type)} to be a GraphQL Input Object type.`,\n );\n }\n return type;\n}\n\nconst inputFieldSymbol: unique symbol = Symbol('InputField');\n\nexport function isInputField(field: unknown): field is GraphQLInputField {\n return instanceOf(field, inputFieldSymbol, GraphQLInputField);\n}\n\nexport function assertInputField(field: unknown): GraphQLInputField {\n if (!isInputField(field)) {\n throw new Error(`Expected ${inspect(field)} to be a GraphQL input field.`);\n }\n return field;\n}\n\nconst listSymbol: unique symbol = Symbol('List');\n\nexport function isListType(\n type: GraphQLInputType,\n): type is GraphQLList<GraphQLInputType>;\nexport function isListType(\n type: GraphQLOutputType,\n): type is GraphQLList<GraphQLOutputType>;\nexport function isListType(type: unknown): type is GraphQLList<GraphQLType>;\nexport function isListType(type: unknown): type is GraphQLList<GraphQLType> {\n return instanceOf(type, listSymbol, GraphQLList);\n}\n\nexport function assertListType(type: unknown): GraphQLList<GraphQLType> {\n if (!isListType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL List type.`);\n }\n return type;\n}\n\nconst nonNullSymbol: unique symbol = Symbol('NonNull');\n\nexport function isNonNullType(\n type: GraphQLInputType,\n): type is GraphQLNonNull<GraphQLNullableInputType>;\nexport function isNonNullType(\n type: GraphQLOutputType,\n): type is GraphQLNonNull<GraphQLNullableOutputType>;\nexport function isNonNullType(\n type: unknown,\n): type is GraphQLNonNull<GraphQLNullableType>;\nexport function isNonNullType(\n type: unknown,\n): type is GraphQLNonNull<GraphQLNullableType> {\n return instanceOf(type, nonNullSymbol, GraphQLNonNull);\n}\n\nexport function assertNonNullType(\n type: unknown,\n): GraphQLNonNull<GraphQLNullableType> {\n if (!isNonNullType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL Non-Null type.`);\n }\n return type;\n}\n\n/**\n * These types may be used as input types for arguments and directives.\n */\nexport type GraphQLNullableInputType =\n | GraphQLNamedInputType\n | GraphQLList<GraphQLInputType>;\n\nexport type GraphQLInputType =\n | GraphQLNullableInputType\n | GraphQLNonNull<GraphQLNullableInputType>;\n\nexport function isInputType(type: unknown): type is GraphQLInputType {\n return (\n isScalarType(type) ||\n isEnumType(type) ||\n isInputObjectType(type) ||\n (isWrappingType(type) && isInputType(type.ofType))\n );\n}\n\nexport function assertInputType(type: unknown): GraphQLInputType {\n if (!isInputType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL input type.`);\n }\n return type;\n}\n\n/**\n * These types may be used as output types as the result of fields.\n */\nexport type GraphQLNullableOutputType =\n | GraphQLNamedOutputType\n | GraphQLList<GraphQLOutputType>;\n\nexport type GraphQLOutputType =\n | GraphQLNullableOutputType\n | GraphQLNonNull<GraphQLNullableOutputType>;\n\nexport function isOutputType(type: unknown): type is GraphQLOutputType {\n return (\n isScalarType(type) ||\n isObjectType(type) ||\n isInterfaceType(type) ||\n isUnionType(type) ||\n isEnumType(type) ||\n (isWrappingType(type) && isOutputType(type.ofType))\n );\n}\n\nexport function assertOutputType(type: unknown): GraphQLOutputType {\n if (!isOutputType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL output type.`);\n }\n return type;\n}\n\n/**\n * These types may describe types which may be leaf values.\n */\nexport type GraphQLLeafType = GraphQLScalarType | GraphQLEnumType;\n\nexport function isLeafType(type: unknown): type is GraphQLLeafType {\n return isScalarType(type) || isEnumType(type);\n}\n\nexport function assertLeafType(type: unknown): GraphQLLeafType {\n if (!isLeafType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL leaf type.`);\n }\n return type;\n}\n\n/**\n * These types may describe the parent context of a selection set.\n */\nexport type GraphQLCompositeType =\n | GraphQLObjectType\n | GraphQLInterfaceType\n | GraphQLUnionType;\n\nexport function isCompositeType(type: unknown): type is GraphQLCompositeType {\n return isObjectType(type) || isInterfaceType(type) || isUnionType(type);\n}\n\nexport function assertCompositeType(type: unknown): GraphQLCompositeType {\n if (!isCompositeType(type)) {\n throw new Error(\n `Expected ${inspect(type)} to be a GraphQL composite type.`,\n );\n }\n return type;\n}\n\n/**\n * These types may describe the parent context of a selection set.\n */\nexport type GraphQLAbstractType = GraphQLInterfaceType | GraphQLUnionType;\n\nexport function isAbstractType(type: unknown): type is GraphQLAbstractType {\n return isInterfaceType(type) || isUnionType(type);\n}\n\nexport function assertAbstractType(type: unknown): GraphQLAbstractType {\n if (!isAbstractType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL abstract type.`);\n }\n return type;\n}\n\n/**\n * List Type Wrapper\n *\n * A list is a wrapping type which points to another type.\n * Lists are often created within the context of defining the fields of\n * an object type.\n *\n * Example:\n *\n * ```ts\n * const PersonType = new GraphQLObjectType({\n * name: 'Person',\n * fields: () => ({\n * parents: { type: new GraphQLList(PersonType) },\n * children: { type: new GraphQLList(PersonType) },\n * })\n * })\n * ```\n */\nexport class GraphQLList<\n T extends GraphQLType,\n> implements GraphQLSchemaElement {\n readonly __kind: symbol;\n readonly ofType: T;\n\n constructor(ofType: T) {\n this.__kind = listSymbol;\n this.ofType = ofType;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLList';\n }\n\n toString(): string {\n return '[' + String(this.ofType) + ']';\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/**\n * Non-Null Type Wrapper\n *\n * A non-null is a wrapping type which points to another type.\n * Non-null types enforce that their values are never null and can ensure\n * an error is raised if this ever occurs during a request. It is useful for\n * fields which you can make a strong guarantee on non-nullability, for example\n * usually the id field of a database row will never be null.\n *\n * Example:\n *\n * ```ts\n * const RowType = new GraphQLObjectType({\n * name: 'Row',\n * fields: () => ({\n * id: { type: new GraphQLNonNull(GraphQLString) },\n * })\n * })\n * ```\n * Note: the enforcement of non-nullability occurs within the executor.\n */\nexport class GraphQLNonNull<\n T extends GraphQLNullableType,\n> implements GraphQLSchemaElement {\n readonly __kind: symbol;\n readonly ofType: T;\n\n constructor(ofType: T) {\n this.__kind = nonNullSymbol;\n this.ofType = ofType;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLNonNull';\n }\n\n toString(): string {\n return String(this.ofType) + '!';\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/**\n * These types wrap and modify other types\n */\n\nexport type GraphQLWrappingType =\n | GraphQLList<GraphQLType>\n | GraphQLNonNull<GraphQLNullableType>;\n\nexport function isWrappingType(type: unknown): type is GraphQLWrappingType {\n return isListType(type) || isNonNullType(type);\n}\n\nexport function assertWrappingType(type: unknown): GraphQLWrappingType {\n if (!isWrappingType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL wrapping type.`);\n }\n return type;\n}\n\n/**\n * These types can all accept null as a value.\n */\nexport type GraphQLNullableType = GraphQLNamedType | GraphQLList<GraphQLType>;\n\nexport function isNullableType(type: unknown): type is GraphQLNullableType {\n return isType(type) && !isNonNullType(type);\n}\n\nexport function assertNullableType(type: unknown): GraphQLNullableType {\n if (!isNullableType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL nullable type.`);\n }\n return type;\n}\n\nexport function getNullableType(type: undefined | null): void;\nexport function getNullableType<T extends GraphQLNullableType>(\n type: T | GraphQLNonNull<T>,\n): T;\nexport function getNullableType(\n type: Maybe<GraphQLType>,\n): GraphQLNullableType | undefined;\nexport function getNullableType(\n type: Maybe<GraphQLType>,\n): GraphQLNullableType | undefined {\n if (type) {\n return isNonNullType(type) ? type.ofType : type;\n }\n}\n\n/**\n * These named types do not include modifiers like List or NonNull.\n */\nexport type GraphQLNamedType = GraphQLNamedInputType | GraphQLNamedOutputType;\n\nexport type GraphQLNamedInputType =\n | GraphQLScalarType\n | GraphQLEnumType\n | GraphQLInputObjectType;\n\nexport type GraphQLNamedOutputType =\n | GraphQLScalarType\n | GraphQLObjectType\n | GraphQLInterfaceType\n | GraphQLUnionType\n | GraphQLEnumType;\n\nexport function isNamedType(type: unknown): type is GraphQLNamedType {\n return (\n isScalarType(type) ||\n isObjectType(type) ||\n isInterfaceType(type) ||\n isUnionType(type) ||\n isEnumType(type) ||\n isInputObjectType(type)\n );\n}\n\nexport function assertNamedType(type: unknown): GraphQLNamedType {\n if (!isNamedType(type)) {\n throw new Error(`Expected ${inspect(type)} to be a GraphQL named type.`);\n }\n return type;\n}\n\nexport function getNamedType(type: undefined | null): void;\nexport function getNamedType(type: GraphQLInputType): GraphQLNamedInputType;\nexport function getNamedType(type: GraphQLOutputType): GraphQLNamedOutputType;\nexport function getNamedType(type: GraphQLType): GraphQLNamedType;\nexport function getNamedType(\n type: Maybe<GraphQLType>,\n): GraphQLNamedType | undefined;\nexport function getNamedType(\n type: Maybe<GraphQLType>,\n): GraphQLNamedType | undefined {\n if (type) {\n let unwrappedType = type;\n while (isWrappingType(unwrappedType)) {\n unwrappedType = unwrappedType.ofType;\n }\n return unwrappedType;\n }\n}\n\n/**\n * An interface for all Schema Elements.\n */\n\nexport interface GraphQLSchemaElement {\n toString: () => string;\n toJSON: () => string;\n}\n\n/**\n * Used while defining GraphQL types to allow for circular references in\n * otherwise immutable type definitions.\n */\nexport type ThunkReadonlyArray<T> = (() => ReadonlyArray<T>) | ReadonlyArray<T>;\nexport type ThunkObjMap<T> = (() => ObjMap<T>) | ObjMap<T>;\n\nexport function resolveReadonlyArrayThunk<T>(\n thunk: ThunkReadonlyArray<T>,\n): ReadonlyArray<T> {\n return typeof thunk === 'function' ? thunk() : thunk;\n}\n\nexport function resolveObjMapThunk<T>(thunk: ThunkObjMap<T>): ObjMap<T> {\n return typeof thunk === 'function' ? thunk() : thunk;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLScalarTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Scalar Type Definition\n *\n * The leaf values of any request and input values to arguments are\n * Scalars (or Enums) and are defined with a name and a series of functions\n * used to parse input from ast or variables and to ensure validity.\n *\n * If a type's coerceOutputValue function returns `null` or does not return a\n * value (i.e. it returns `undefined`) then an error will be raised and a\n * `null` value will be returned in the response. It is always better to\n * validate.\n *\n * Example:\n *\n * ```ts\n * function ensureOdd(value) {\n * if (!Number.isFinite(value)) {\n * throw new Error(\n * `Scalar \"Odd\" cannot represent \"${value}\" since it is not a finite number.`,\n * );\n * }\n *\n * if (value % 2 === 0) {\n * throw new Error(`Scalar \"Odd\" cannot represent \"${value}\" since it is even.`);\n * }\n * }\n *\n * const OddType = new GraphQLScalarType({\n * name: 'Odd',\n * coerceOutputValue(value) {\n * return ensureOdd(value);\n * },\n * coerceInputValue(value) {\n * return ensureOdd(value);\n * }\n * valueToLiteral(value) {\n * return parse(`${ensureOdd(value)`);\n * }\n * });\n * ```\n *\n * Custom scalars behavior is defined via the following functions:\n *\n * - coerceOutputValue(value): Implements \"Result Coercion\". Given an internal value,\n * produces an external value valid for this type. Returns undefined or\n * throws an error to indicate invalid values.\n *\n * - coerceInputValue(value): Implements \"Input Coercion\" for values. Given an\n * external value (for example, variable values), produces an internal value\n * valid for this type. Returns undefined or throws an error to indicate\n * invalid values.\n *\n * - coerceInputLiteral(ast): Implements \"Input Coercion\" for constant literals.\n * Given an GraphQL literal (AST) (for example, an argument value), produces\n * an internal value valid for this type. Returns undefined or throws an\n * error to indicate invalid values.\n *\n * - valueToLiteral(value): Converts an external value to a GraphQL\n * literal (AST). Returns undefined or throws an error to indicate\n * invalid values.\n *\n * Deprecated, to be removed in v18:\n *\n * - serialize(value): Implements \"Result Coercion\". Renamed to\n * `coerceOutputValue()`.\n *\n * - parseValue(value): Implements \"Input Coercion\" for values. Renamed to\n * `coerceInputValue()`.\n *\n * - parseLiteral(ast): Implements \"Input Coercion\" for literals including\n * non-specified replacement of variables embedded within complex scalars.\n * Replaced by the combination of the `replaceVariables()` utility and the\n * `coerceInputLiteral()` method.\n *\n */\nexport class GraphQLScalarType<\n TInternal = unknown,\n TExternal = TInternal,\n> implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n specifiedByURL: Maybe<string>;\n /** @deprecated use `coerceOutputValue()` instead, `serialize()` will be removed in v18 */\n serialize: GraphQLScalarSerializer<TExternal>;\n /** @deprecated use `coerceInputValue()` instead, `parseValue()` will be removed in v18 */\n parseValue: GraphQLScalarValueParser<TInternal>;\n /** @deprecated use `replaceVariables()` and `coerceInputLiteral()` instead, `parseLiteral()` will be removed in v18 */\n parseLiteral: GraphQLScalarLiteralParser<TInternal>;\n coerceOutputValue: GraphQLScalarOutputValueCoercer<TExternal>;\n coerceInputValue: GraphQLScalarInputValueCoercer<TInternal>;\n coerceInputLiteral: GraphQLScalarInputLiteralCoercer<TInternal> | undefined;\n valueToLiteral: GraphQLScalarValueToLiteral | undefined;\n extensions: Readonly<GraphQLScalarTypeExtensions>;\n astNode: Maybe<ScalarTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<ScalarTypeExtensionNode>;\n\n constructor(config: Readonly<GraphQLScalarTypeConfig<TInternal, TExternal>>) {\n this.__kind = scalarSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.specifiedByURL = config.specifiedByURL;\n this.serialize =\n config.serialize ??\n config.coerceOutputValue ??\n (identityFunc as GraphQLScalarSerializer<TExternal>);\n this.parseValue =\n config.parseValue ??\n config.coerceInputValue ??\n (identityFunc as GraphQLScalarValueParser<TInternal>);\n this.parseLiteral =\n config.parseLiteral ??\n ((node, variables) =>\n this.coerceInputValue(valueFromASTUntyped(node, variables)));\n this.coerceOutputValue = config.coerceOutputValue ?? this.serialize;\n this.coerceInputValue = config.coerceInputValue ?? this.parseValue;\n this.coerceInputLiteral = config.coerceInputLiteral;\n this.valueToLiteral = config.valueToLiteral;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n if (config.parseLiteral) {\n devAssert(\n typeof config.parseValue === 'function' &&\n typeof config.parseLiteral === 'function',\n `${this.name} must provide both \"parseValue\" and \"parseLiteral\" functions.`,\n );\n }\n\n if (config.coerceInputLiteral) {\n devAssert(\n typeof config.coerceInputValue === 'function' &&\n typeof config.coerceInputLiteral === 'function',\n `${this.name} must provide both \"coerceInputValue\" and \"coerceInputLiteral\" functions.`,\n );\n }\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLScalarType';\n }\n\n toConfig(): GraphQLScalarTypeNormalizedConfig<TInternal, TExternal> {\n return {\n name: this.name,\n description: this.description,\n specifiedByURL: this.specifiedByURL,\n serialize: this.serialize,\n parseValue: this.parseValue,\n parseLiteral: this.parseLiteral,\n coerceOutputValue: this.coerceOutputValue,\n coerceInputValue: this.coerceInputValue,\n coerceInputLiteral: this.coerceInputLiteral,\n valueToLiteral: this.valueToLiteral,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/* @deprecated in favor of GraphQLScalarOutputValueCoercer, will be removed in v18 */\nexport type GraphQLScalarSerializer<TExternal> = (\n outputValue: unknown,\n) => TExternal;\n\nexport type GraphQLScalarOutputValueCoercer<TExternal> = (\n outputValue: unknown,\n) => TExternal;\n\n/* @deprecated in favor of GraphQLScalarInputValueCoercer, will be removed in v18 */\nexport type GraphQLScalarValueParser<TInternal> = (\n inputValue: unknown,\n) => TInternal;\n\nexport type GraphQLScalarInputValueCoercer<TInternal> = (\n inputValue: unknown,\n) => TInternal;\n\n/* @deprecated in favor of GraphQLScalarInputLiteralCoercer, will be removed in v18 */\nexport type GraphQLScalarLiteralParser<TInternal> = (\n valueNode: ValueNode,\n variables: Maybe<ObjMap<unknown>>,\n) => Maybe<TInternal>;\n\nexport type GraphQLScalarInputLiteralCoercer<TInternal> = (\n valueNode: ConstValueNode,\n) => Maybe<TInternal>;\n\nexport type GraphQLScalarValueToLiteral = (\n inputValue: unknown,\n) => ConstValueNode | undefined;\n\nexport interface GraphQLScalarTypeConfig<TInternal, TExternal> {\n name: string;\n description?: Maybe<string>;\n specifiedByURL?: Maybe<string>;\n /** Serializes an internal value to include in a response. */\n /** @deprecated use `coerceOutputValue()` instead, `serialize()` will be removed in v18 */\n serialize?: GraphQLScalarSerializer<TExternal> | undefined;\n /** Parses an externally provided value to use as an input. */\n /** @deprecated use `coerceInputValue()` instead, `parseValue()` will be removed in v18 */\n parseValue?: GraphQLScalarValueParser<TInternal> | undefined;\n /** Parses an externally provided literal value to use as an input. */\n /** @deprecated use `replaceVariables()` and `coerceInputLiteral()` instead, `parseLiteral()` will be removed in v18 */\n parseLiteral?: GraphQLScalarLiteralParser<TInternal> | undefined;\n /** Coerces an internal value to include in a response. */\n coerceOutputValue?: GraphQLScalarOutputValueCoercer<TExternal> | undefined;\n /** Coerces an externally provided value to use as an input. */\n coerceInputValue?: GraphQLScalarInputValueCoercer<TInternal> | undefined;\n /** Coerces an externally provided const literal value to use as an input. */\n coerceInputLiteral?: GraphQLScalarInputLiteralCoercer<TInternal> | undefined;\n /** Translates an externally provided value to a literal (AST). */\n valueToLiteral?: GraphQLScalarValueToLiteral | undefined;\n extensions?: Maybe<Readonly<GraphQLScalarTypeExtensions>>;\n astNode?: Maybe<ScalarTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<ScalarTypeExtensionNode>>;\n}\n\nexport interface GraphQLScalarTypeNormalizedConfig<\n TInternal,\n TExternal,\n> extends GraphQLScalarTypeConfig<TInternal, TExternal> {\n serialize: GraphQLScalarSerializer<TExternal>;\n parseValue: GraphQLScalarValueParser<TInternal>;\n parseLiteral: GraphQLScalarLiteralParser<TInternal>;\n coerceOutputValue: GraphQLScalarOutputValueCoercer<TExternal>;\n coerceInputValue: GraphQLScalarInputValueCoercer<TInternal>;\n coerceInputLiteral: GraphQLScalarInputLiteralCoercer<TInternal> | undefined;\n extensions: Readonly<GraphQLScalarTypeExtensions>;\n extensionASTNodes: ReadonlyArray<ScalarTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n *\n * We've provided these template arguments because this is an open type and\n * you may find them useful.\n */\nexport interface GraphQLObjectTypeExtensions<_TSource = any, _TContext = any> {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Object Type Definition\n *\n * Almost all of the GraphQL types you define will be object types. Object types\n * have a name, but most importantly describe their fields.\n *\n * Example:\n *\n * ```ts\n * const AddressType = new GraphQLObjectType({\n * name: 'Address',\n * fields: {\n * street: { type: GraphQLString },\n * number: { type: GraphQLInt },\n * formatted: {\n * type: GraphQLString,\n * resolve(obj) {\n * return obj.number + ' ' + obj.street\n * }\n * }\n * }\n * });\n * ```\n *\n * When two types need to refer to each other, or a type needs to refer to\n * itself in a field, you can use a function expression (aka a closure or a\n * thunk) to supply the fields lazily.\n *\n * Example:\n *\n * ```ts\n * const PersonType = new GraphQLObjectType({\n * name: 'Person',\n * fields: () => ({\n * name: { type: GraphQLString },\n * bestFriend: { type: PersonType },\n * })\n * });\n * ```\n */\nexport class GraphQLObjectType<\n TSource = any,\n TContext = any,\n TAbstract = any,\n> implements GraphQLSchemaElement {\n readonly __kind: typeof objectSymbol = objectSymbol;\n name: string;\n description: Maybe<string>;\n isTypeOf: Maybe<GraphQLIsTypeOfFn<TAbstract, TContext>>;\n extensions: Readonly<GraphQLObjectTypeExtensions<TSource, TContext>>;\n astNode: Maybe<ObjectTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<ObjectTypeExtensionNode>;\n\n private _fields: ThunkObjMap<GraphQLField<TSource, TContext>>;\n private _interfaces: ThunkReadonlyArray<GraphQLInterfaceType>;\n\n constructor(\n config: Readonly<GraphQLObjectTypeConfig<TSource, TContext, TAbstract>>,\n ) {\n this.__kind = objectSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.isTypeOf = config.isTypeOf;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n this._fields = (defineFieldMap<TSource, TContext>).bind(\n undefined,\n this,\n config.fields,\n );\n this._interfaces = defineInterfaces.bind(undefined, config.interfaces);\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLObjectType';\n }\n\n getFields(): GraphQLFieldMap<TSource, TContext> {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n return this._fields;\n }\n\n getInterfaces(): ReadonlyArray<GraphQLInterfaceType> {\n if (typeof this._interfaces === 'function') {\n this._interfaces = this._interfaces();\n }\n return this._interfaces;\n }\n\n toConfig(): GraphQLObjectTypeNormalizedConfig<TSource, TContext, TAbstract> {\n return {\n name: this.name,\n description: this.description,\n interfaces: this.getInterfaces(),\n fields: mapValue(this.getFields(), (field) => field.toConfig()),\n isTypeOf: this.isTypeOf,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction defineInterfaces(\n interfaces: Maybe<ThunkReadonlyArray<GraphQLInterfaceType>>,\n): ReadonlyArray<GraphQLInterfaceType> {\n return resolveReadonlyArrayThunk(interfaces ?? []);\n}\n\nfunction defineFieldMap<TSource, TContext>(\n parentType:\n | GraphQLObjectType<TSource, TContext>\n | GraphQLInterfaceType<TSource, TContext>,\n fields: ThunkObjMap<GraphQLFieldConfig<TSource, TContext>>,\n): GraphQLFieldMap<TSource, TContext> {\n const fieldMap = resolveObjMapThunk(fields);\n\n return mapValue(\n fieldMap,\n (fieldConfig, fieldName) =>\n new GraphQLField(parentType, fieldName, fieldConfig),\n );\n}\n\nexport interface GraphQLObjectTypeConfig<\n TSource,\n TContext,\n TAbstract = unknown,\n> {\n name: string;\n description?: Maybe<string>;\n interfaces?: ThunkReadonlyArray<GraphQLInterfaceType> | undefined;\n fields: ThunkObjMap<GraphQLFieldConfig<TSource, TContext>>;\n isTypeOf?: Maybe<GraphQLIsTypeOfFn<TAbstract, TContext>>;\n extensions?: Maybe<Readonly<GraphQLObjectTypeExtensions<TSource, TContext>>>;\n astNode?: Maybe<ObjectTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<ObjectTypeExtensionNode>>;\n}\n\nexport interface GraphQLObjectTypeNormalizedConfig<\n TSource,\n TContext,\n TAbstract = unknown,\n> extends GraphQLObjectTypeConfig<TSource, TContext, TAbstract> {\n interfaces: ReadonlyArray<GraphQLInterfaceType>;\n fields: GraphQLFieldNormalizedConfigMap<TSource, TContext>;\n extensions: Readonly<GraphQLObjectTypeExtensions<TSource, TContext>>;\n extensionASTNodes: ReadonlyArray<ObjectTypeExtensionNode>;\n}\n\nexport type GraphQLTypeResolver<TSource, TContext> = (\n value: TSource,\n context: TContext,\n info: GraphQLResolveInfo,\n abstractType: GraphQLAbstractType,\n) => PromiseOrValue<string | undefined>;\n\nexport type GraphQLIsTypeOfFn<TAbstract, TContext> = (\n value: TAbstract,\n context: TContext,\n info: GraphQLResolveInfo,\n) => PromiseOrValue<boolean>;\n\nexport type GraphQLFieldResolver<\n TSource,\n TContext,\n TArgs = any,\n TResult = unknown,\n> = (\n source: TSource,\n args: TArgs,\n context: TContext,\n info: GraphQLResolveInfo,\n) => TResult;\n\nexport interface GraphQLResolveInfoHelpers {\n /**\n * Promise.all wrapper that allows rejected branches to be tracked\n * as execution async work.\n *\n * Intended use: return or await this promise from resolver work.\n * Un-awaited async side effects are an anti-pattern:\n *\n * const { promiseAll } = info.getAsyncHelpers();\n * promiseAll([someAsyncWork(), someOtherAsyncWork()]).catch(() => undefined);\n *\n * In that anti-pattern, tracking starts only after rejection (on a\n * later microtask), so this work is not guaranteed to delay\n * `hooks.asyncWorkFinished`.\n *\n * Use `track(...)` for un-awaited async side effects:\n *\n * const { track } = info.getAsyncHelpers();\n * track([\n * someAsyncWork().catch(() => undefined),\n * someOtherAsyncWork().catch(() => undefined)\n * ]);\n */\n readonly promiseAll: <T>(\n values: ReadonlyArray<PromiseLike<T> | T>,\n ) => Promise<Array<T>>;\n readonly track: (maybePromises: ReadonlyArray<unknown>) => void;\n}\n\nexport interface GraphQLResolveInfo {\n readonly fieldName: string;\n readonly fieldNodes: ReadonlyArray<FieldNode>;\n readonly returnType: GraphQLOutputType;\n readonly parentType: GraphQLObjectType;\n readonly path: Path;\n readonly schema: GraphQLSchema;\n readonly fragments: ObjMap<FragmentDefinitionNode>;\n readonly rootValue: unknown;\n readonly operation: OperationDefinitionNode;\n readonly variableValues: VariableValues;\n readonly getAbortSignal: () => AbortSignal | undefined;\n readonly getAsyncHelpers: () => GraphQLResolveInfoHelpers;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n *\n * We've provided these template arguments because this is an open type and\n * you may find them useful.\n */\nexport interface GraphQLFieldExtensions<_TSource, _TContext, _TArgs = any> {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLFieldConfig<TSource, TContext, TArgs = any> {\n description?: Maybe<string>;\n type: GraphQLOutputType;\n args?: GraphQLFieldConfigArgumentMap | undefined;\n resolve?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n subscribe?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<\n Readonly<GraphQLFieldExtensions<TSource, TContext, TArgs>>\n >;\n astNode?: Maybe<FieldDefinitionNode>;\n}\n\nexport interface GraphQLFieldNormalizedConfig<\n TSource,\n TContext,\n TArgs = any,\n> extends GraphQLFieldConfig<TSource, TContext, TArgs> {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n extensions: Readonly<GraphQLFieldExtensions<TSource, TContext, TArgs>>;\n}\n\nexport type GraphQLFieldConfigArgumentMap = ObjMap<GraphQLArgumentConfig>;\n\nexport type GraphQLFieldNormalizedConfigArgumentMap =\n ObjMap<GraphQLArgumentNormalizedConfig>;\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLArgumentExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLArgumentConfig {\n description?: Maybe<string>;\n type: GraphQLInputType;\n /** @deprecated use default instead, defaultValue will be removed in v18 **/\n defaultValue?: unknown;\n default?: GraphQLDefaultInput | undefined;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLArgumentExtensions>>;\n astNode?: Maybe<InputValueDefinitionNode>;\n}\n\nexport interface GraphQLArgumentNormalizedConfig extends GraphQLArgumentConfig {\n default: GraphQLDefaultInput | undefined;\n extensions: Readonly<GraphQLArgumentExtensions>;\n}\n\nexport type GraphQLFieldConfigMap<TSource, TContext> = ObjMap<\n GraphQLFieldConfig<TSource, TContext>\n>;\n\nexport type GraphQLFieldNormalizedConfigMap<TSource, TContext> = ObjMap<\n GraphQLFieldNormalizedConfig<TSource, TContext>\n>;\n\nexport class GraphQLField<\n TSource = any,\n TContext = any,\n TArgs = any,\n> implements GraphQLSchemaElement {\n readonly __kind: symbol;\n parentType:\n | GraphQLObjectType<TSource, TContext>\n | GraphQLInterfaceType<TSource, TContext>\n | undefined;\n name: string;\n description: Maybe<string>;\n type: GraphQLOutputType;\n args: ReadonlyArray<GraphQLArgument>;\n resolve?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n subscribe?: GraphQLFieldResolver<TSource, TContext, TArgs> | undefined;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLFieldExtensions<TSource, TContext, TArgs>>;\n astNode: Maybe<FieldDefinitionNode>;\n\n constructor(\n parentType:\n | GraphQLObjectType<TSource, TContext>\n | GraphQLInterfaceType<TSource, TContext>\n | undefined,\n name: string,\n config: GraphQLFieldConfig<TSource, TContext, TArgs>,\n ) {\n this.__kind = fieldSymbol;\n this.parentType = parentType;\n this.name = assertName(name);\n this.description = config.description;\n this.type = config.type;\n\n const argsConfig = config.args;\n this.args = argsConfig\n ? Object.entries(argsConfig).map(\n ([argName, argConfig]) =>\n new GraphQLArgument(this, argName, argConfig),\n )\n : [];\n\n this.resolve = config.resolve;\n this.subscribe = config.subscribe;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLField';\n }\n\n toConfig(): GraphQLFieldNormalizedConfig<TSource, TContext, TArgs> {\n return {\n description: this.description,\n type: this.type,\n args: keyValMap(\n this.args,\n (arg) => arg.name,\n (arg) => arg.toConfig(),\n ),\n resolve: this.resolve,\n subscribe: this.subscribe,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parentType ?? '<meta>'}.${this.name}`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport class GraphQLArgument implements GraphQLSchemaElement {\n readonly __kind: symbol;\n parent: GraphQLField | GraphQLDirective;\n name: string;\n description: Maybe<string>;\n type: GraphQLInputType;\n defaultValue: unknown;\n default: GraphQLDefaultInput | undefined;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLArgumentExtensions>;\n astNode: Maybe<InputValueDefinitionNode>;\n\n constructor(\n parent: GraphQLField | GraphQLDirective,\n name: string,\n config: GraphQLArgumentConfig,\n ) {\n this.__kind = argumentSymbol;\n this.parent = parent;\n this.name = assertName(name);\n this.description = config.description;\n this.type = config.type;\n this.defaultValue = config.defaultValue;\n this.default = config.default;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLArgument';\n }\n\n toConfig(): GraphQLArgumentNormalizedConfig {\n return {\n description: this.description,\n type: this.type,\n defaultValue: this.defaultValue,\n default: this.default,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parent}(${this.name}:)`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport function isRequiredArgument(\n arg: GraphQLArgument | GraphQLVariableSignature,\n): boolean {\n return (\n isNonNullType(arg.type) &&\n arg.default === undefined &&\n arg.defaultValue === undefined\n );\n}\n\nexport type GraphQLFieldMap<TSource, TContext> = ObjMap<\n GraphQLField<TSource, TContext>\n>;\n\nexport type GraphQLDefaultInput =\n | { value: unknown; literal?: never }\n | { literal: ConstValueNode; value?: never };\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLInterfaceTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Interface Type Definition\n *\n * When a field can return one of a heterogeneous set of types, a Interface type\n * is used to describe what types are possible, what fields are in common across\n * all types, as well as a function to determine which type is actually used\n * when the field is resolved.\n *\n * Example:\n *\n * ```ts\n * const EntityType = new GraphQLInterfaceType({\n * name: 'Entity',\n * fields: {\n * name: { type: GraphQLString }\n * }\n * });\n * ```\n */\nexport class GraphQLInterfaceType<\n TSource = any,\n TContext = any,\n> implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n resolveType: Maybe<GraphQLTypeResolver<TSource, TContext>>;\n extensions: Readonly<GraphQLInterfaceTypeExtensions>;\n astNode: Maybe<InterfaceTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<InterfaceTypeExtensionNode>;\n\n private _fields: ThunkObjMap<GraphQLField<TSource, TContext>>;\n private _interfaces: ThunkReadonlyArray<GraphQLInterfaceType>;\n\n constructor(config: Readonly<GraphQLInterfaceTypeConfig<TSource, TContext>>) {\n this.__kind = interfaceSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.resolveType = config.resolveType;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n this._fields = (defineFieldMap<TSource, TContext>).bind(\n undefined,\n this,\n config.fields,\n );\n this._interfaces = defineInterfaces.bind(undefined, config.interfaces);\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLInterfaceType';\n }\n\n getFields(): GraphQLFieldMap<TSource, TContext> {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n return this._fields;\n }\n\n getInterfaces(): ReadonlyArray<GraphQLInterfaceType> {\n if (typeof this._interfaces === 'function') {\n this._interfaces = this._interfaces();\n }\n return this._interfaces;\n }\n\n toConfig(): GraphQLInterfaceTypeNormalizedConfig<TSource, TContext> {\n return {\n name: this.name,\n description: this.description,\n interfaces: this.getInterfaces(),\n fields: mapValue(this.getFields(), (field) => field.toConfig()),\n resolveType: this.resolveType,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport interface GraphQLInterfaceTypeConfig<TSource, TContext> {\n name: string;\n description?: Maybe<string>;\n interfaces?: ThunkReadonlyArray<GraphQLInterfaceType> | undefined;\n fields: ThunkObjMap<GraphQLFieldConfig<TSource, TContext>>;\n /**\n * Optionally provide a custom type resolver function. If one is not provided,\n * the default implementation will call `isTypeOf` on each implementing\n * Object type.\n */\n resolveType?: Maybe<GraphQLTypeResolver<TSource, TContext>>;\n extensions?: Maybe<Readonly<GraphQLInterfaceTypeExtensions>>;\n astNode?: Maybe<InterfaceTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<InterfaceTypeExtensionNode>>;\n}\n\nexport interface GraphQLInterfaceTypeNormalizedConfig<\n TSource,\n TContext,\n> extends GraphQLInterfaceTypeConfig<TSource, TContext> {\n interfaces: ReadonlyArray<GraphQLInterfaceType>;\n fields: GraphQLFieldNormalizedConfigMap<TSource, TContext>;\n extensions: Readonly<GraphQLInterfaceTypeExtensions>;\n extensionASTNodes: ReadonlyArray<InterfaceTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLUnionTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Union Type Definition\n *\n * When a field can return one of a heterogeneous set of types, a Union type\n * is used to describe what types are possible as well as providing a function\n * to determine which type is actually used when the field is resolved.\n *\n * Example:\n *\n * ```ts\n * const PetType = new GraphQLUnionType({\n * name: 'Pet',\n * types: [ DogType, CatType ],\n * resolveType(value) {\n * if (value instanceof Dog) {\n * return DogType;\n * }\n * if (value instanceof Cat) {\n * return CatType;\n * }\n * }\n * });\n * ```\n */\nexport class GraphQLUnionType<\n TSource = any,\n TContext = any,\n> implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n resolveType: Maybe<GraphQLTypeResolver<TSource, TContext>>;\n extensions: Readonly<GraphQLUnionTypeExtensions>;\n astNode: Maybe<UnionTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<UnionTypeExtensionNode>;\n\n private _types: ThunkReadonlyArray<GraphQLObjectType>;\n\n constructor(config: Readonly<GraphQLUnionTypeConfig<TSource, TContext>>) {\n this.__kind = unionSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.resolveType = config.resolveType;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n this._types = defineTypes.bind(undefined, config.types);\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLUnionType';\n }\n\n getTypes(): ReadonlyArray<GraphQLObjectType> {\n if (typeof this._types === 'function') {\n this._types = this._types();\n }\n return this._types;\n }\n\n toConfig(): GraphQLUnionTypeNormalizedConfig<TSource, TContext> {\n return {\n name: this.name,\n description: this.description,\n types: this.getTypes(),\n resolveType: this.resolveType,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction defineTypes(\n types: ThunkReadonlyArray<GraphQLObjectType>,\n): ReadonlyArray<GraphQLObjectType> {\n return resolveReadonlyArrayThunk(types);\n}\n\nexport interface GraphQLUnionTypeConfig<TSource, TContext> {\n name: string;\n description?: Maybe<string>;\n types: ThunkReadonlyArray<GraphQLObjectType>;\n /**\n * Optionally provide a custom type resolver function. If one is not provided,\n * the default implementation will call `isTypeOf` on each implementing\n * Object type.\n */\n resolveType?: Maybe<GraphQLTypeResolver<TSource, TContext>>;\n extensions?: Maybe<Readonly<GraphQLUnionTypeExtensions>>;\n astNode?: Maybe<UnionTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<UnionTypeExtensionNode>>;\n}\n\nexport interface GraphQLUnionTypeNormalizedConfig<\n TSource,\n TContext,\n> extends GraphQLUnionTypeConfig<TSource, TContext> {\n types: ReadonlyArray<GraphQLObjectType>;\n extensions: Readonly<GraphQLUnionTypeExtensions>;\n extensionASTNodes: ReadonlyArray<UnionTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLEnumTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Enum Type Definition\n *\n * Some leaf values of requests and input values are Enums. GraphQL coerces\n * Enum values as strings, however internally Enums can be represented by any\n * kind of type, often integers.\n *\n * Example:\n *\n * ```ts\n * const RGBType = new GraphQLEnumType({\n * name: 'RGB',\n * values: {\n * RED: { value: 0 },\n * GREEN: { value: 1 },\n * BLUE: { value: 2 }\n * }\n * });\n * ```\n *\n * Note: If a value is not provided in a definition, the name of the enum value\n * will be used as its internal value.\n */\nexport class GraphQLEnumType /* <T> */ implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n extensions: Readonly<GraphQLEnumTypeExtensions>;\n astNode: Maybe<EnumTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<EnumTypeExtensionNode>;\n\n private _values:\n | ReadonlyArray<GraphQLEnumValue /* <T> */>\n | (() => ReadonlyArray<GraphQLEnumValue>) /* <T> */;\n\n private _valueLookup: ReadonlyMap<any /* T */, GraphQLEnumValue> | null;\n private _nameLookup: ObjMap<GraphQLEnumValue> | null;\n\n constructor(config: Readonly<GraphQLEnumTypeConfig /* <T> */>) {\n this.__kind = enumSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n this._values = defineEnumValues.bind(undefined, this, config.values);\n this._valueLookup = null;\n this._nameLookup = null;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLEnumType';\n }\n\n getValues(): ReadonlyArray<GraphQLEnumValue /* <T> */> {\n if (typeof this._values === 'function') {\n this._values = this._values();\n }\n return this._values;\n }\n\n getValue(name: string): Maybe<GraphQLEnumValue> {\n this._nameLookup ??= keyMap(this.getValues(), (value) => value.name);\n return this._nameLookup[name];\n }\n\n /** @deprecated use `coerceOutputValue()` instead, `serialize()` will be removed in v18 */\n serialize(outputValue: unknown /* T */): Maybe<string> {\n return this.coerceOutputValue(outputValue);\n }\n\n coerceOutputValue(outputValue: unknown /* T */): Maybe<string> {\n this._valueLookup ??= new Map(\n this.getValues().map((enumValue) => [enumValue.value, enumValue]),\n );\n const enumValue = this._valueLookup.get(outputValue);\n if (enumValue === undefined) {\n throw new GraphQLError(\n `Enum \"${this.name}\" cannot represent value: ${inspect(outputValue)}`,\n );\n }\n return enumValue.name;\n }\n\n /** @deprecated use `coerceInputValue()` instead, `parseValue()` will be removed in v18 */\n parseValue(\n inputValue: unknown,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n return this.coerceInputValue(inputValue, hideSuggestions);\n }\n\n coerceInputValue(\n inputValue: unknown,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n if (typeof inputValue !== 'string') {\n const valueStr = inspect(inputValue);\n throw new GraphQLError(\n `Enum \"${this.name}\" cannot represent non-string value: ${valueStr}.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, valueStr)),\n );\n }\n\n const enumValue = this.getValue(inputValue);\n if (enumValue == null) {\n throw new GraphQLError(\n `Value \"${inputValue}\" does not exist in \"${this.name}\" enum.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, inputValue)),\n );\n }\n return enumValue.value;\n }\n\n /** @deprecated use `coerceInputLiteral()` instead, `parseLiteral()` will be removed in v18 */\n parseLiteral(\n valueNode: ValueNode,\n _variables: Maybe<ObjMap<unknown>>,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n // Note: variables will be resolved to a value before calling this function.\n return this.coerceInputLiteral(\n valueNode as ConstValueNode,\n hideSuggestions,\n );\n }\n\n coerceInputLiteral(\n valueNode: ConstValueNode,\n hideSuggestions?: Maybe<boolean>,\n ): Maybe<any> /* T */ {\n if (valueNode.kind !== Kind.ENUM) {\n const valueStr = print(valueNode);\n throw new GraphQLError(\n `Enum \"${this.name}\" cannot represent non-enum value: ${valueStr}.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, valueStr)),\n { nodes: valueNode },\n );\n }\n\n const enumValue = this.getValue(valueNode.value);\n if (enumValue == null) {\n const valueStr = print(valueNode);\n throw new GraphQLError(\n `Value \"${valueStr}\" does not exist in \"${this.name}\" enum.` +\n (hideSuggestions ? '' : didYouMeanEnumValue(this, valueStr)),\n { nodes: valueNode },\n );\n }\n return enumValue.value;\n }\n\n valueToLiteral(value: unknown): ConstValueNode | undefined {\n if (typeof value === 'string' && this.getValue(value)) {\n return { kind: Kind.ENUM, value };\n }\n }\n\n toConfig(): GraphQLEnumTypeNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n values: keyValMap(\n this.getValues(),\n (value) => value.name,\n (value) => value.toConfig(),\n ),\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction defineEnumValues(\n parentEnum: GraphQLEnumType,\n values: ThunkObjMap<GraphQLEnumValueConfig /* <T> */>,\n): ReadonlyArray<GraphQLEnumValue> {\n const valueMap = resolveObjMapThunk(values);\n\n return Object.entries(valueMap).map(\n ([valueName, valueConfig]) =>\n new GraphQLEnumValue(parentEnum, valueName, valueConfig),\n );\n}\n\nfunction didYouMeanEnumValue(\n enumType: GraphQLEnumType,\n unknownValueStr: string,\n): string {\n const allNames = enumType.getValues().map((value) => value.name);\n const suggestedValues = suggestionList(unknownValueStr, allNames);\n\n return didYouMean('the enum value', suggestedValues);\n}\n\nexport interface GraphQLEnumTypeConfig {\n name: string;\n description?: Maybe<string>;\n values: ThunkObjMap<GraphQLEnumValueConfig /* <T> */>;\n extensions?: Maybe<Readonly<GraphQLEnumTypeExtensions>>;\n astNode?: Maybe<EnumTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<EnumTypeExtensionNode>>;\n}\n\nexport interface GraphQLEnumTypeNormalizedConfig extends GraphQLEnumTypeConfig {\n values: GraphQLEnumValueNormalizedConfigMap;\n extensions: Readonly<GraphQLEnumTypeExtensions>;\n extensionASTNodes: ReadonlyArray<EnumTypeExtensionNode>;\n}\n\nexport type GraphQLEnumValueConfigMap /* <T> */ =\n ObjMap<GraphQLEnumValueConfig /* <T> */>;\n\nexport type GraphQLEnumValueNormalizedConfigMap /* <T> */ =\n ObjMap<GraphQLEnumValueNormalizedConfig /* <T> */>;\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLEnumValueExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLEnumValueConfig {\n description?: Maybe<string>;\n value?: any /* T */;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLEnumValueExtensions>>;\n astNode?: Maybe<EnumValueDefinitionNode>;\n}\n\nexport interface GraphQLEnumValueNormalizedConfig extends GraphQLEnumValueConfig {\n extensions: Readonly<GraphQLEnumValueExtensions>;\n}\n\nexport class GraphQLEnumValue implements GraphQLSchemaElement {\n readonly __kind: symbol;\n parentEnum: GraphQLEnumType;\n name: string;\n description: Maybe<string>;\n value: any /* T */;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLEnumValueExtensions>;\n astNode: Maybe<EnumValueDefinitionNode>;\n\n constructor(\n parentEnum: GraphQLEnumType,\n name: string,\n config: GraphQLEnumValueConfig,\n ) {\n this.__kind = enumValueSymbol;\n this.parentEnum = parentEnum;\n this.name = assertEnumValueName(name);\n this.description = config.description;\n this.value = config.value !== undefined ? config.value : name;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLEnumValue';\n }\n\n toConfig(): GraphQLEnumValueNormalizedConfig {\n return {\n description: this.description,\n value: this.value,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parentEnum.name}.${this.name}`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLInputObjectTypeExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Input Object Type Definition\n *\n * An input object defines a structured collection of fields which may be\n * supplied to a field argument.\n *\n * Using `NonNull` will ensure that a value must be provided by the query\n *\n * Example:\n *\n * ```ts\n * const GeoPoint = new GraphQLInputObjectType({\n * name: 'GeoPoint',\n * fields: {\n * lat: { type: new GraphQLNonNull(GraphQLFloat) },\n * lon: { type: new GraphQLNonNull(GraphQLFloat) },\n * alt: { type: GraphQLFloat, defaultValue: 0 },\n * }\n * });\n * ```\n */\nexport class GraphQLInputObjectType implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n extensions: Readonly<GraphQLInputObjectTypeExtensions>;\n astNode: Maybe<InputObjectTypeDefinitionNode>;\n extensionASTNodes: ReadonlyArray<InputObjectTypeExtensionNode>;\n isOneOf: boolean;\n\n private _fields: ThunkObjMap<GraphQLInputField>;\n\n constructor(config: Readonly<GraphQLInputObjectTypeConfig>) {\n this.__kind = inputObjectSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n this.isOneOf = config.isOneOf ?? false;\n\n this._fields = defineInputFieldMap.bind(undefined, this, config.fields);\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLInputObjectType';\n }\n\n getFields(): GraphQLInputFieldMap {\n if (typeof this._fields === 'function') {\n this._fields = this._fields();\n }\n return this._fields;\n }\n\n toConfig(): GraphQLInputObjectTypeNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n fields: mapValue(this.getFields(), (field) => field.toConfig()),\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n isOneOf: this.isOneOf,\n };\n }\n\n toString(): string {\n return this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nfunction defineInputFieldMap(\n parentType: GraphQLInputObjectType,\n fields: ThunkObjMap<GraphQLInputFieldConfig>,\n): GraphQLInputFieldMap {\n const fieldMap = resolveObjMapThunk(fields);\n return mapValue(\n fieldMap,\n (fieldConfig, fieldName) =>\n new GraphQLInputField(parentType, fieldName, fieldConfig),\n );\n}\n\nexport interface GraphQLInputObjectTypeConfig {\n name: string;\n description?: Maybe<string>;\n fields: ThunkObjMap<GraphQLInputFieldConfig>;\n extensions?: Maybe<Readonly<GraphQLInputObjectTypeExtensions>>;\n astNode?: Maybe<InputObjectTypeDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<InputObjectTypeExtensionNode>>;\n isOneOf?: boolean;\n}\n\nexport interface GraphQLInputObjectTypeNormalizedConfig extends GraphQLInputObjectTypeConfig {\n fields: GraphQLInputFieldNormalizedConfigMap;\n extensions: Readonly<GraphQLInputObjectTypeExtensions>;\n extensionASTNodes: ReadonlyArray<InputObjectTypeExtensionNode>;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLInputFieldExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\nexport interface GraphQLInputFieldConfig {\n description?: Maybe<string>;\n type: GraphQLInputType;\n /** @deprecated use default instead, defaultValue will be removed in v18 **/\n defaultValue?: unknown;\n default?: GraphQLDefaultInput | undefined;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLInputFieldExtensions>>;\n astNode?: Maybe<InputValueDefinitionNode>;\n}\n\nexport type GraphQLInputFieldConfigMap = ObjMap<GraphQLInputFieldConfig>;\n\nexport interface GraphQLInputFieldNormalizedConfig extends GraphQLInputFieldConfig {\n default: GraphQLDefaultInput | undefined;\n extensions: Readonly<GraphQLInputFieldExtensions>;\n}\n\nexport type GraphQLInputFieldNormalizedConfigMap =\n ObjMap<GraphQLInputFieldNormalizedConfig>;\n\nexport class GraphQLInputField implements GraphQLSchemaElement {\n readonly __kind: symbol;\n parentType: GraphQLInputObjectType;\n name: string;\n description: Maybe<string>;\n type: GraphQLInputType;\n defaultValue: unknown;\n default: GraphQLDefaultInput | undefined;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLInputFieldExtensions>;\n astNode: Maybe<InputValueDefinitionNode>;\n\n constructor(\n parentType: GraphQLInputObjectType,\n name: string,\n config: GraphQLInputFieldConfig,\n ) {\n devAssert(\n !('resolve' in config),\n `${parentType}.${name} field has a resolve property, but Input Types cannot define resolvers.`,\n );\n\n this.__kind = inputFieldSymbol;\n this.parentType = parentType;\n this.name = assertName(name);\n this.description = config.description;\n this.type = config.type;\n this.defaultValue = config.defaultValue;\n this.default = config.default;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLInputField';\n }\n\n toConfig(): GraphQLInputFieldNormalizedConfig {\n return {\n description: this.description,\n type: this.type,\n defaultValue: this.defaultValue,\n default: this.default,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return `${this.parentType}.${this.name}`;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport function isRequiredInputField(field: GraphQLInputField): boolean {\n return (\n isNonNullType(field.type) &&\n field.defaultValue === undefined &&\n field.default === undefined\n );\n}\n\nexport type GraphQLInputFieldMap = ObjMap<GraphQLInputField>;\n"]}