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
@@ -18,6 +18,7 @@ import type { GraphQLInputType } from '../type/definition.js';
18
18
  * | Boolean | Boolean |
19
19
  * | String | String / Enum Value |
20
20
  * | Number | Int / Float |
21
+ * | BigInt | Int |
21
22
  * | Unknown | Enum Value |
22
23
  * | null | NullValue |
23
24
  *
@@ -25,6 +25,7 @@ const scalars_js_1 = require("../type/scalars.js");
25
25
  * | Boolean | Boolean |
26
26
  * | String | String / Enum Value |
27
27
  * | Number | Int / Float |
28
+ * | BigInt | Int |
28
29
  * | Unknown | Enum Value |
29
30
  * | null | NullValue |
30
31
  *
@@ -99,6 +100,9 @@ function astFromValue(value, type) {
99
100
  ? { kind: kinds_js_1.Kind.INT, value: stringNum }
100
101
  : { kind: kinds_js_1.Kind.FLOAT, value: stringNum };
101
102
  }
103
+ if (typeof coerced === 'bigint') {
104
+ return { kind: kinds_js_1.Kind.INT, value: String(coerced) };
105
+ }
102
106
  if (typeof coerced === 'string') {
103
107
  // Enum types use Enum literals.
104
108
  if ((0, definition_js_1.isEnumType)(type)) {
@@ -114,10 +118,12 @@ function astFromValue(value, type) {
114
118
  };
115
119
  }
116
120
  throw new TypeError(`Cannot convert value to AST: ${(0, inspect_js_1.inspect)(coerced)}.`);
121
+ // c8 control statement technically placed a line early secondary to
122
+ // slight swc source mapping error (at least as compared to ts-node without swc)
123
+ /* c8 ignore next 4 */
117
124
  }
118
- /* c8 ignore next 3 */
119
125
  // Not reachable, all possible types have been considered.
120
- (false) || (0, invariant_js_1.invariant)(false, 'Unexpected input type: ' + (0, inspect_js_1.inspect)(type));
126
+ (0, invariant_js_1.invariant)(false, 'Unexpected input type: ' + (0, inspect_js_1.inspect)(type));
121
127
  }
122
128
  /**
123
129
  * IntValue:
@@ -1 +1 @@
1
- {"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport type { ConstObjectFieldNode, ConstValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\nimport { GraphQLID } from '../type/scalars.js';\n\n/**\n * Produces a GraphQL Value AST given a JavaScript object.\n * Function will match JavaScript/JSON values to GraphQL AST schema format\n * by using suggested GraphQLInputType. For example:\n *\n * astFromValue(\"value\", GraphQLString)\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * JavaScript values.\n *\n * | JSON Value | GraphQL Value |\n * | ------------- | -------------------- |\n * | Object | Input Object |\n * | Array | List |\n * | Boolean | Boolean |\n * | String | String / Enum Value |\n * | Number | Int / Float |\n * | Unknown | Enum Value |\n * | null | NullValue |\n *\n * @deprecated use `valueToLiteral()` instead with care to operate on external values - `astFromValue()` will be removed in v18\n */\nexport function astFromValue(\n value: unknown,\n type: GraphQLInputType,\n): Maybe<ConstValueNode> {\n if (isNonNullType(type)) {\n const astValue = astFromValue(value, type.ofType);\n if (astValue?.kind === Kind.NULL) {\n return null;\n }\n return astValue;\n }\n\n // only explicit null, not undefined, NaN\n if (value === null) {\n return { kind: Kind.NULL };\n }\n\n // undefined\n if (value === undefined) {\n return null;\n }\n\n // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\n // the value is not an array, convert the value using the list's item type.\n if (isListType(type)) {\n const itemType = type.ofType;\n if (isIterableObject(value)) {\n const valuesNodes = [];\n for (const item of value) {\n const itemNode = astFromValue(item, itemType);\n if (itemNode != null) {\n valuesNodes.push(itemNode);\n }\n }\n return { kind: Kind.LIST, values: valuesNodes };\n }\n return astFromValue(value, itemType);\n }\n\n // Populate the fields of the input object by creating ASTs from each value\n // in the JavaScript object according to the fields in the input type.\n if (isInputObjectType(type)) {\n if (!isObjectLike(value)) {\n return null;\n }\n const fieldNodes: Array<ConstObjectFieldNode> = [];\n for (const field of Object.values(type.getFields())) {\n const fieldValue = astFromValue(value[field.name], field.type);\n if (fieldValue) {\n fieldNodes.push({\n kind: Kind.OBJECT_FIELD,\n name: { kind: Kind.NAME, value: field.name },\n value: fieldValue,\n });\n }\n }\n return { kind: Kind.OBJECT, fields: fieldNodes };\n }\n\n if (isLeafType(type)) {\n // Since value is an internally represented value, it must be coerced\n // to an externally represented value before converting into an AST.\n const coerced = type.coerceOutputValue(value);\n if (coerced == null) {\n return null;\n }\n\n // Others coerce based on their corresponding JavaScript scalar types.\n if (typeof coerced === 'boolean') {\n return { kind: Kind.BOOLEAN, value: coerced };\n }\n\n // JavaScript numbers can be Int or Float values.\n if (typeof coerced === 'number' && Number.isFinite(coerced)) {\n const stringNum = String(coerced);\n return integerStringRegExp.test(stringNum)\n ? { kind: Kind.INT, value: stringNum }\n : { kind: Kind.FLOAT, value: stringNum };\n }\n\n if (typeof coerced === 'string') {\n // Enum types use Enum literals.\n if (isEnumType(type)) {\n return { kind: Kind.ENUM, value: coerced };\n }\n\n // ID types can use Int literals.\n if (type === GraphQLID && integerStringRegExp.test(coerced)) {\n return { kind: Kind.INT, value: coerced };\n }\n\n return {\n kind: Kind.STRING,\n value: coerced,\n };\n }\n\n throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);\n }\n /* c8 ignore next 3 */\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n/**\n * IntValue:\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit ( Digit+ )?\n */\nconst integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\n"]}
1
+ {"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport type { ConstObjectFieldNode, ConstValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\nimport { GraphQLID } from '../type/scalars.js';\n\n/**\n * Produces a GraphQL Value AST given a JavaScript object.\n * Function will match JavaScript/JSON values to GraphQL AST schema format\n * by using suggested GraphQLInputType. For example:\n *\n * astFromValue(\"value\", GraphQLString)\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * JavaScript values.\n *\n * | JSON Value | GraphQL Value |\n * | ------------- | -------------------- |\n * | Object | Input Object |\n * | Array | List |\n * | Boolean | Boolean |\n * | String | String / Enum Value |\n * | Number | Int / Float |\n * | BigInt | Int |\n * | Unknown | Enum Value |\n * | null | NullValue |\n *\n * @deprecated use `valueToLiteral()` instead with care to operate on external values - `astFromValue()` will be removed in v18\n */\nexport function astFromValue(\n value: unknown,\n type: GraphQLInputType,\n): Maybe<ConstValueNode> {\n if (isNonNullType(type)) {\n const astValue = astFromValue(value, type.ofType);\n if (astValue?.kind === Kind.NULL) {\n return null;\n }\n return astValue;\n }\n\n // only explicit null, not undefined, NaN\n if (value === null) {\n return { kind: Kind.NULL };\n }\n\n // undefined\n if (value === undefined) {\n return null;\n }\n\n // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\n // the value is not an array, convert the value using the list's item type.\n if (isListType(type)) {\n const itemType = type.ofType;\n if (isIterableObject(value)) {\n const valuesNodes = [];\n for (const item of value) {\n const itemNode = astFromValue(item, itemType);\n if (itemNode != null) {\n valuesNodes.push(itemNode);\n }\n }\n return { kind: Kind.LIST, values: valuesNodes };\n }\n return astFromValue(value, itemType);\n }\n\n // Populate the fields of the input object by creating ASTs from each value\n // in the JavaScript object according to the fields in the input type.\n if (isInputObjectType(type)) {\n if (!isObjectLike(value)) {\n return null;\n }\n const fieldNodes: Array<ConstObjectFieldNode> = [];\n for (const field of Object.values(type.getFields())) {\n const fieldValue = astFromValue(value[field.name], field.type);\n if (fieldValue) {\n fieldNodes.push({\n kind: Kind.OBJECT_FIELD,\n name: { kind: Kind.NAME, value: field.name },\n value: fieldValue,\n });\n }\n }\n return { kind: Kind.OBJECT, fields: fieldNodes };\n }\n\n if (isLeafType(type)) {\n // Since value is an internally represented value, it must be coerced\n // to an externally represented value before converting into an AST.\n const coerced = type.coerceOutputValue(value);\n if (coerced == null) {\n return null;\n }\n\n // Others coerce based on their corresponding JavaScript scalar types.\n if (typeof coerced === 'boolean') {\n return { kind: Kind.BOOLEAN, value: coerced };\n }\n\n // JavaScript numbers can be Int or Float values.\n if (typeof coerced === 'number' && Number.isFinite(coerced)) {\n const stringNum = String(coerced);\n return integerStringRegExp.test(stringNum)\n ? { kind: Kind.INT, value: stringNum }\n : { kind: Kind.FLOAT, value: stringNum };\n }\n\n if (typeof coerced === 'bigint') {\n return { kind: Kind.INT, value: String(coerced) };\n }\n\n if (typeof coerced === 'string') {\n // Enum types use Enum literals.\n if (isEnumType(type)) {\n return { kind: Kind.ENUM, value: coerced };\n }\n\n // ID types can use Int literals.\n if (type === GraphQLID && integerStringRegExp.test(coerced)) {\n return { kind: Kind.INT, value: coerced };\n }\n\n return {\n kind: Kind.STRING,\n value: coerced,\n };\n }\n\n throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);\n // c8 control statement technically placed a line early secondary to\n // slight swc source mapping error (at least as compared to ts-node without swc)\n /* c8 ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n/**\n * IntValue:\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit ( Digit+ )?\n */\nconst integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\n"]}
@@ -22,6 +22,7 @@ import { GraphQLID } from "../type/scalars.mjs";
22
22
  * | Boolean | Boolean |
23
23
  * | String | String / Enum Value |
24
24
  * | Number | Int / Float |
25
+ * | BigInt | Int |
25
26
  * | Unknown | Enum Value |
26
27
  * | null | NullValue |
27
28
  *
@@ -96,6 +97,9 @@ export function astFromValue(value, type) {
96
97
  ? { kind: Kind.INT, value: stringNum }
97
98
  : { kind: Kind.FLOAT, value: stringNum };
98
99
  }
100
+ if (typeof coerced === 'bigint') {
101
+ return { kind: Kind.INT, value: String(coerced) };
102
+ }
99
103
  if (typeof coerced === 'string') {
100
104
  // Enum types use Enum literals.
101
105
  if (isEnumType(type)) {
@@ -111,10 +115,12 @@ export function astFromValue(value, type) {
111
115
  };
112
116
  }
113
117
  throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);
118
+ // c8 control statement technically placed a line early secondary to
119
+ // slight swc source mapping error (at least as compared to ts-node without swc)
120
+ /* c8 ignore next 4 */
114
121
  }
115
- /* c8 ignore next 3 */
116
122
  // Not reachable, all possible types have been considered.
117
- (false) || invariant(false, 'Unexpected input type: ' + inspect(type));
123
+ invariant(false, 'Unexpected input type: ' + inspect(type));
118
124
  }
119
125
  /**
120
126
  * IntValue:
@@ -1 +1 @@
1
- {"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport type { ConstObjectFieldNode, ConstValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\nimport { GraphQLID } from '../type/scalars.js';\n\n/**\n * Produces a GraphQL Value AST given a JavaScript object.\n * Function will match JavaScript/JSON values to GraphQL AST schema format\n * by using suggested GraphQLInputType. For example:\n *\n * astFromValue(\"value\", GraphQLString)\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * JavaScript values.\n *\n * | JSON Value | GraphQL Value |\n * | ------------- | -------------------- |\n * | Object | Input Object |\n * | Array | List |\n * | Boolean | Boolean |\n * | String | String / Enum Value |\n * | Number | Int / Float |\n * | Unknown | Enum Value |\n * | null | NullValue |\n *\n * @deprecated use `valueToLiteral()` instead with care to operate on external values - `astFromValue()` will be removed in v18\n */\nexport function astFromValue(\n value: unknown,\n type: GraphQLInputType,\n): Maybe<ConstValueNode> {\n if (isNonNullType(type)) {\n const astValue = astFromValue(value, type.ofType);\n if (astValue?.kind === Kind.NULL) {\n return null;\n }\n return astValue;\n }\n\n // only explicit null, not undefined, NaN\n if (value === null) {\n return { kind: Kind.NULL };\n }\n\n // undefined\n if (value === undefined) {\n return null;\n }\n\n // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\n // the value is not an array, convert the value using the list's item type.\n if (isListType(type)) {\n const itemType = type.ofType;\n if (isIterableObject(value)) {\n const valuesNodes = [];\n for (const item of value) {\n const itemNode = astFromValue(item, itemType);\n if (itemNode != null) {\n valuesNodes.push(itemNode);\n }\n }\n return { kind: Kind.LIST, values: valuesNodes };\n }\n return astFromValue(value, itemType);\n }\n\n // Populate the fields of the input object by creating ASTs from each value\n // in the JavaScript object according to the fields in the input type.\n if (isInputObjectType(type)) {\n if (!isObjectLike(value)) {\n return null;\n }\n const fieldNodes: Array<ConstObjectFieldNode> = [];\n for (const field of Object.values(type.getFields())) {\n const fieldValue = astFromValue(value[field.name], field.type);\n if (fieldValue) {\n fieldNodes.push({\n kind: Kind.OBJECT_FIELD,\n name: { kind: Kind.NAME, value: field.name },\n value: fieldValue,\n });\n }\n }\n return { kind: Kind.OBJECT, fields: fieldNodes };\n }\n\n if (isLeafType(type)) {\n // Since value is an internally represented value, it must be coerced\n // to an externally represented value before converting into an AST.\n const coerced = type.coerceOutputValue(value);\n if (coerced == null) {\n return null;\n }\n\n // Others coerce based on their corresponding JavaScript scalar types.\n if (typeof coerced === 'boolean') {\n return { kind: Kind.BOOLEAN, value: coerced };\n }\n\n // JavaScript numbers can be Int or Float values.\n if (typeof coerced === 'number' && Number.isFinite(coerced)) {\n const stringNum = String(coerced);\n return integerStringRegExp.test(stringNum)\n ? { kind: Kind.INT, value: stringNum }\n : { kind: Kind.FLOAT, value: stringNum };\n }\n\n if (typeof coerced === 'string') {\n // Enum types use Enum literals.\n if (isEnumType(type)) {\n return { kind: Kind.ENUM, value: coerced };\n }\n\n // ID types can use Int literals.\n if (type === GraphQLID && integerStringRegExp.test(coerced)) {\n return { kind: Kind.INT, value: coerced };\n }\n\n return {\n kind: Kind.STRING,\n value: coerced,\n };\n }\n\n throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);\n }\n /* c8 ignore next 3 */\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n/**\n * IntValue:\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit ( Digit+ )?\n */\nconst integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\n"]}
1
+ {"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport type { ConstObjectFieldNode, ConstValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\nimport { GraphQLID } from '../type/scalars.js';\n\n/**\n * Produces a GraphQL Value AST given a JavaScript object.\n * Function will match JavaScript/JSON values to GraphQL AST schema format\n * by using suggested GraphQLInputType. For example:\n *\n * astFromValue(\"value\", GraphQLString)\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * JavaScript values.\n *\n * | JSON Value | GraphQL Value |\n * | ------------- | -------------------- |\n * | Object | Input Object |\n * | Array | List |\n * | Boolean | Boolean |\n * | String | String / Enum Value |\n * | Number | Int / Float |\n * | BigInt | Int |\n * | Unknown | Enum Value |\n * | null | NullValue |\n *\n * @deprecated use `valueToLiteral()` instead with care to operate on external values - `astFromValue()` will be removed in v18\n */\nexport function astFromValue(\n value: unknown,\n type: GraphQLInputType,\n): Maybe<ConstValueNode> {\n if (isNonNullType(type)) {\n const astValue = astFromValue(value, type.ofType);\n if (astValue?.kind === Kind.NULL) {\n return null;\n }\n return astValue;\n }\n\n // only explicit null, not undefined, NaN\n if (value === null) {\n return { kind: Kind.NULL };\n }\n\n // undefined\n if (value === undefined) {\n return null;\n }\n\n // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\n // the value is not an array, convert the value using the list's item type.\n if (isListType(type)) {\n const itemType = type.ofType;\n if (isIterableObject(value)) {\n const valuesNodes = [];\n for (const item of value) {\n const itemNode = astFromValue(item, itemType);\n if (itemNode != null) {\n valuesNodes.push(itemNode);\n }\n }\n return { kind: Kind.LIST, values: valuesNodes };\n }\n return astFromValue(value, itemType);\n }\n\n // Populate the fields of the input object by creating ASTs from each value\n // in the JavaScript object according to the fields in the input type.\n if (isInputObjectType(type)) {\n if (!isObjectLike(value)) {\n return null;\n }\n const fieldNodes: Array<ConstObjectFieldNode> = [];\n for (const field of Object.values(type.getFields())) {\n const fieldValue = astFromValue(value[field.name], field.type);\n if (fieldValue) {\n fieldNodes.push({\n kind: Kind.OBJECT_FIELD,\n name: { kind: Kind.NAME, value: field.name },\n value: fieldValue,\n });\n }\n }\n return { kind: Kind.OBJECT, fields: fieldNodes };\n }\n\n if (isLeafType(type)) {\n // Since value is an internally represented value, it must be coerced\n // to an externally represented value before converting into an AST.\n const coerced = type.coerceOutputValue(value);\n if (coerced == null) {\n return null;\n }\n\n // Others coerce based on their corresponding JavaScript scalar types.\n if (typeof coerced === 'boolean') {\n return { kind: Kind.BOOLEAN, value: coerced };\n }\n\n // JavaScript numbers can be Int or Float values.\n if (typeof coerced === 'number' && Number.isFinite(coerced)) {\n const stringNum = String(coerced);\n return integerStringRegExp.test(stringNum)\n ? { kind: Kind.INT, value: stringNum }\n : { kind: Kind.FLOAT, value: stringNum };\n }\n\n if (typeof coerced === 'bigint') {\n return { kind: Kind.INT, value: String(coerced) };\n }\n\n if (typeof coerced === 'string') {\n // Enum types use Enum literals.\n if (isEnumType(type)) {\n return { kind: Kind.ENUM, value: coerced };\n }\n\n // ID types can use Int literals.\n if (type === GraphQLID && integerStringRegExp.test(coerced)) {\n return { kind: Kind.INT, value: coerced };\n }\n\n return {\n kind: Kind.STRING,\n value: coerced,\n };\n }\n\n throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);\n // c8 control statement technically placed a line early secondary to\n // slight swc source mapping error (at least as compared to ts-node without swc)\n /* c8 ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n/**\n * IntValue:\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit ( Digit+ )?\n */\nconst integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\n"]}
@@ -0,0 +1,29 @@
1
+ import type { DocumentNode } from '../language/ast.js';
2
+ import type { ParseOptions } from '../language/parser.js';
3
+ import type { Source } from '../language/source.js';
4
+ import type { GraphQLSchemaValidationOptions } from '../type/schema.js';
5
+ import { GraphQLSchema } from '../type/schema.js';
6
+ export interface BuildSchemaOptions extends GraphQLSchemaValidationOptions {
7
+ /**
8
+ * Set to true to assume the SDL is valid.
9
+ *
10
+ * Default: false
11
+ */
12
+ assumeValidSDL?: boolean | undefined;
13
+ }
14
+ /**
15
+ * This takes the ast of a schema document produced by the parse function in
16
+ * src/language/parser.js.
17
+ *
18
+ * If no schema definition is provided, then it will look for types named Query,
19
+ * Mutation and Subscription.
20
+ *
21
+ * Given that AST it constructs a GraphQLSchema. The resulting schema
22
+ * has no resolve methods, so execution will use default resolvers.
23
+ */
24
+ export declare function buildASTSchema(documentAST: DocumentNode, options?: BuildSchemaOptions): GraphQLSchema;
25
+ /**
26
+ * A helper function to build a GraphQLSchema directly from a source
27
+ * document.
28
+ */
29
+ export declare function buildSchema(source: string | Source, options?: BuildSchemaOptions & ParseOptions): GraphQLSchema;
@@ -0,0 +1,16 @@
1
+ import type { GraphQLSchemaValidationOptions } from '../type/schema.js';
2
+ import { GraphQLSchema } from '../type/schema.js';
3
+ import type { IntrospectionQuery } from './getIntrospectionQuery.js';
4
+ /**
5
+ * Build a GraphQLSchema for use by client tools.
6
+ *
7
+ * Given the result of a client running the introspection query, creates and
8
+ * returns a GraphQLSchema instance which can be then used with all graphql-js
9
+ * tools, but cannot be used to execute a query, as introspection does not
10
+ * represent the "resolver", "coerceInputValue" or "coerceOutputValue"
11
+ * functions or any other server-internal mechanisms.
12
+ *
13
+ * This function expects a complete introspection result. Don't forget to check
14
+ * the "errors" field of a server response before calling this function.
15
+ */
16
+ export declare function buildClientSchema(introspection: IntrospectionQuery, options?: GraphQLSchemaValidationOptions): GraphQLSchema;
@@ -24,9 +24,11 @@ const schema_js_1 = require("../type/schema.js");
24
24
  * the "errors" field of a server response before calling this function.
25
25
  */
26
26
  function buildClientSchema(introspection, options) {
27
- // Even though the `introspection` argument is typed, in most cases it's received
28
- // as an untyped value from the server, so we will do an additional check here.
29
- ((0, isObjectLike_js_1.isObjectLike)(introspection) && (0, isObjectLike_js_1.isObjectLike)(introspection.__schema)) || (0, devAssert_js_1.devAssert)(false, `Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${(0, inspect_js_1.inspect)(introspection)}.`);
27
+ if (!((0, isObjectLike_js_1.isObjectLike)(introspection) && (0, isObjectLike_js_1.isObjectLike)(introspection.__schema)))
28
+ (0,
29
+ // Even though the `introspection` argument is typed, in most cases it's received
30
+ // as an untyped value from the server, so we will do an additional check here.
31
+ devAssert_js_1.devAssert)(false, `Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${(0, inspect_js_1.inspect)(introspection)}.`);
30
32
  // Get the schema from the introspection result.
31
33
  const schemaIntrospection = introspection.__schema;
32
34
  // Iterate through all types, getting the type definition for each.
@@ -118,10 +120,12 @@ function buildClientSchema(introspection, options) {
118
120
  return buildEnumDef(type);
119
121
  case introspection_js_1.TypeKind.INPUT_OBJECT:
120
122
  return buildInputObjectDef(type);
123
+ default:
124
+ // TypeScript considers this unreachable, but invalid runtime input can reach it.
125
+ // Note: we include a default case rather than throwing after the switch to avoid
126
+ // the use of a @ts-expect-error statement.
127
+ throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${(0, inspect_js_1.inspect)(type)}.`);
121
128
  }
122
- // Unreachable.
123
- // @ts-expect-error
124
- throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${(0, inspect_js_1.inspect)(type)}.`);
125
129
  }
126
130
  function buildScalarDef(scalarIntrospection) {
127
131
  return new definition_js_1.GraphQLScalarType({
@@ -1 +1 @@
1
- {"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n }\n // Unreachable.\n // @ts-expect-error\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
1
+ {"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n default:\n // TypeScript considers this unreachable, but invalid runtime input can reach it.\n // Note: we include a default case rather than throwing after the switch to avoid\n // the use of a @ts-expect-error statement.\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
@@ -21,9 +21,10 @@ import { GraphQLSchema } from "../type/schema.mjs";
21
21
  * the "errors" field of a server response before calling this function.
22
22
  */
23
23
  export function buildClientSchema(introspection, options) {
24
- // Even though the `introspection` argument is typed, in most cases it's received
25
- // as an untyped value from the server, so we will do an additional check here.
26
- (isObjectLike(introspection) && isObjectLike(introspection.__schema)) || devAssert(false, `Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${inspect(introspection)}.`);
24
+ if (!(isObjectLike(introspection) && isObjectLike(introspection.__schema)))
25
+ // Even though the `introspection` argument is typed, in most cases it's received
26
+ // as an untyped value from the server, so we will do an additional check here.
27
+ devAssert(false, `Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${inspect(introspection)}.`);
27
28
  // Get the schema from the introspection result.
28
29
  const schemaIntrospection = introspection.__schema;
29
30
  // Iterate through all types, getting the type definition for each.
@@ -115,10 +116,12 @@ export function buildClientSchema(introspection, options) {
115
116
  return buildEnumDef(type);
116
117
  case TypeKind.INPUT_OBJECT:
117
118
  return buildInputObjectDef(type);
119
+ default:
120
+ // TypeScript considers this unreachable, but invalid runtime input can reach it.
121
+ // Note: we include a default case rather than throwing after the switch to avoid
122
+ // the use of a @ts-expect-error statement.
123
+ throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(type)}.`);
118
124
  }
119
- // Unreachable.
120
- // @ts-expect-error
121
- throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(type)}.`);
122
125
  }
123
126
  function buildScalarDef(scalarIntrospection) {
124
127
  return new GraphQLScalarType({
@@ -1 +1 @@
1
- {"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n }\n // Unreachable.\n // @ts-expect-error\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
1
+ {"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n default:\n // TypeScript considers this unreachable, but invalid runtime input can reach it.\n // Note: we include a default case rather than throwing after the switch to avoid\n // the use of a @ts-expect-error statement.\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
@@ -0,0 +1,34 @@
1
+ import type { Maybe } from '../jsutils/Maybe.js';
2
+ import type { ValueNode } from '../language/ast.js';
3
+ import type { GraphQLDefaultInput, GraphQLInputType } from '../type/definition.js';
4
+ import type { FragmentVariableValues } from '../execution/collectFields.js';
5
+ import type { VariableValues } from '../execution/values.js';
6
+ /**
7
+ * Coerces a JavaScript value given a GraphQL Input Type.
8
+ *
9
+ * Returns `undefined` when the value could not be validly coerced according to
10
+ * the provided type.
11
+ */
12
+ export declare function coerceInputValue(inputValue: unknown, type: GraphQLInputType): unknown;
13
+ /**
14
+ * Produces a coerced "internal" JavaScript value given a GraphQL Value AST.
15
+ *
16
+ * Returns `undefined` when the value could not be validly coerced according to
17
+ * the provided type.
18
+ */
19
+ export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<FragmentVariableValues>): unknown;
20
+ interface InputValue {
21
+ type: GraphQLInputType;
22
+ default?: GraphQLDefaultInput | undefined;
23
+ defaultValue?: unknown;
24
+ }
25
+ /**
26
+ * Returns the coerced default value for an input value definition, if it exists.
27
+ *
28
+ * If the default value is invalid, this will throw an error. Invalid default
29
+ * values should be caught during validation, however, so this function assumes
30
+ * that the default value is valid.
31
+ * @internal
32
+ */
33
+ export declare function coerceDefaultValue(inputValue: InputValue): unknown;
34
+ export {};
@@ -1,6 +1,7 @@
1
1
  import type { Maybe } from '../jsutils/Maybe.js';
2
2
  import type { ValueNode } from '../language/ast.js';
3
3
  import type { GraphQLDefaultInput, GraphQLInputType } from '../type/definition.js';
4
+ import type { FragmentVariableValues } from '../execution/collectFields.js';
4
5
  import type { VariableValues } from '../execution/values.js';
5
6
  /**
6
7
  * Coerces a JavaScript value given a GraphQL Input Type.
@@ -15,13 +16,18 @@ export declare function coerceInputValue(inputValue: unknown, type: GraphQLInput
15
16
  * Returns `undefined` when the value could not be validly coerced according to
16
17
  * the provided type.
17
18
  */
18
- export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<VariableValues>): unknown;
19
+ export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<FragmentVariableValues>): unknown;
19
20
  interface InputValue {
20
21
  type: GraphQLInputType;
21
22
  default?: GraphQLDefaultInput | undefined;
22
23
  defaultValue?: unknown;
23
24
  }
24
25
  /**
26
+ * Returns the coerced default value for an input value definition, if it exists.
27
+ *
28
+ * If the default value is invalid, this will throw an error. Invalid default
29
+ * values should be caught during validation, however, so this function assumes
30
+ * that the default value is valid.
25
31
  * @internal
26
32
  */
27
33
  export declare function coerceDefaultValue(inputValue: InputValue): unknown;