graphql 17.0.0-beta.0 → 17.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (733) hide show
  1. package/__dev__/execution/buildResolveInfo.d.mts +1 -0
  2. package/__dev__/execution/buildResolveInfo.d.ts +1 -0
  3. package/__dev__/execution/buildResolveInfo.js +3 -0
  4. package/__dev__/execution/buildResolveInfo.mjs +3 -0
  5. package/devMode.js +2 -2
  6. package/devMode.js.map +1 -1
  7. package/devMode.mjs.map +1 -1
  8. package/error/GraphQLError.d.mts +4 -4
  9. package/error/GraphQLError.d.ts +4 -4
  10. package/error/GraphQLError.js +10 -11
  11. package/error/GraphQLError.js.map +1 -1
  12. package/error/GraphQLError.mjs +2 -3
  13. package/error/GraphQLError.mjs.map +1 -1
  14. package/error/ensureGraphQLError.d.mts +1 -1
  15. package/error/ensureGraphQLError.d.ts +1 -1
  16. package/error/ensureGraphQLError.js +5 -5
  17. package/error/ensureGraphQLError.js.map +1 -1
  18. package/error/ensureGraphQLError.mjs.map +1 -1
  19. package/error/index.d.mts +4 -4
  20. package/error/index.d.ts +4 -4
  21. package/error/index.js +6 -6
  22. package/error/index.js.map +1 -1
  23. package/error/index.mjs.map +1 -1
  24. package/error/locatedError.d.mts +3 -3
  25. package/error/locatedError.d.ts +3 -3
  26. package/error/locatedError.js +4 -4
  27. package/error/locatedError.js.map +1 -1
  28. package/error/locatedError.mjs.map +1 -1
  29. package/error/syntaxError.d.mts +2 -2
  30. package/error/syntaxError.d.ts +2 -2
  31. package/error/syntaxError.js +2 -2
  32. package/error/syntaxError.js.map +1 -1
  33. package/error/syntaxError.mjs.map +1 -1
  34. package/execution/AbortedGraphQLExecutionError.d.mts +1 -1
  35. package/execution/AbortedGraphQLExecutionError.d.ts +1 -1
  36. package/execution/AbortedGraphQLExecutionError.js.map +1 -1
  37. package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
  38. package/execution/AsyncWorkTracker.js +2 -2
  39. package/execution/AsyncWorkTracker.js.map +1 -1
  40. package/execution/AsyncWorkTracker.mjs.map +1 -1
  41. package/execution/Executor.d.mts +16 -17
  42. package/execution/Executor.d.ts +16 -17
  43. package/execution/Executor.js +83 -85
  44. package/execution/Executor.js.map +1 -1
  45. package/execution/Executor.mjs +3 -5
  46. package/execution/Executor.mjs.map +1 -1
  47. package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
  48. package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
  49. package/execution/ExecutorThrowingOnIncremental.js +11 -11
  50. package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
  51. package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
  52. package/execution/buildResolveInfo.d.mts +14 -0
  53. package/execution/buildResolveInfo.d.ts +14 -0
  54. package/execution/buildResolveInfo.js +24 -0
  55. package/execution/buildResolveInfo.js.map +1 -0
  56. package/execution/buildResolveInfo.mjs +21 -0
  57. package/execution/buildResolveInfo.mjs.map +1 -0
  58. package/execution/cancellablePromise.js +2 -2
  59. package/execution/cancellablePromise.js.map +1 -1
  60. package/execution/cancellablePromise.mjs.map +1 -1
  61. package/execution/collectFields.d.mts +6 -6
  62. package/execution/collectFields.d.ts +6 -6
  63. package/execution/collectFields.js +19 -19
  64. package/execution/collectFields.js.map +1 -1
  65. package/execution/collectFields.mjs.map +1 -1
  66. package/execution/collectIteratorPromises.js +2 -2
  67. package/execution/collectIteratorPromises.js.map +1 -1
  68. package/execution/collectIteratorPromises.mjs.map +1 -1
  69. package/execution/createSharedExecutionContext.d.mts +2 -2
  70. package/execution/createSharedExecutionContext.d.ts +2 -2
  71. package/execution/createSharedExecutionContext.js +2 -2
  72. package/execution/createSharedExecutionContext.js.map +1 -1
  73. package/execution/createSharedExecutionContext.mjs.map +1 -1
  74. package/execution/execute.d.mts +14 -14
  75. package/execution/execute.d.ts +14 -14
  76. package/execution/execute.js +78 -98
  77. package/execution/execute.js.map +1 -1
  78. package/execution/execute.mjs +17 -37
  79. package/execution/execute.mjs.map +1 -1
  80. package/execution/getStreamUsage.d.mts +2 -2
  81. package/execution/getStreamUsage.d.ts +2 -2
  82. package/execution/getStreamUsage.js +9 -9
  83. package/execution/getStreamUsage.js.map +1 -1
  84. package/execution/getStreamUsage.mjs.map +1 -1
  85. package/execution/getVariableSignature.d.mts +3 -3
  86. package/execution/getVariableSignature.d.ts +3 -3
  87. package/execution/getVariableSignature.js +8 -8
  88. package/execution/getVariableSignature.js.map +1 -1
  89. package/execution/getVariableSignature.mjs.map +1 -1
  90. package/execution/hooks.d.mts +2 -2
  91. package/execution/hooks.d.ts +2 -2
  92. package/execution/hooks.js.map +1 -1
  93. package/execution/hooks.mjs.map +1 -1
  94. package/execution/incremental/Computation.d.mts +1 -1
  95. package/execution/incremental/Computation.d.ts +1 -1
  96. package/execution/incremental/Computation.js +2 -2
  97. package/execution/incremental/Computation.js.map +1 -1
  98. package/execution/incremental/Computation.mjs.map +1 -1
  99. package/execution/incremental/IncrementalExecutor.d.mts +14 -14
  100. package/execution/incremental/IncrementalExecutor.d.ts +14 -14
  101. package/execution/incremental/IncrementalExecutor.js +48 -48
  102. package/execution/incremental/IncrementalExecutor.js.map +1 -1
  103. package/execution/incremental/IncrementalExecutor.mjs +3 -3
  104. package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
  105. package/execution/incremental/IncrementalPublisher.d.mts +3 -3
  106. package/execution/incremental/IncrementalPublisher.d.ts +3 -3
  107. package/execution/incremental/IncrementalPublisher.js +13 -14
  108. package/execution/incremental/IncrementalPublisher.js.map +1 -1
  109. package/execution/incremental/IncrementalPublisher.mjs +1 -2
  110. package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
  111. package/execution/incremental/Queue.d.mts +1 -1
  112. package/execution/incremental/Queue.d.ts +1 -1
  113. package/execution/incremental/Queue.js +26 -22
  114. package/execution/incremental/Queue.js.map +1 -1
  115. package/execution/incremental/Queue.mjs +10 -6
  116. package/execution/incremental/Queue.mjs.map +1 -1
  117. package/execution/incremental/WorkQueue.d.mts +2 -2
  118. package/execution/incremental/WorkQueue.d.ts +2 -2
  119. package/execution/incremental/WorkQueue.js +7 -7
  120. package/execution/incremental/WorkQueue.js.map +1 -1
  121. package/execution/incremental/WorkQueue.mjs.map +1 -1
  122. package/execution/incremental/buildExecutionPlan.d.mts +1 -1
  123. package/execution/incremental/buildExecutionPlan.d.ts +1 -1
  124. package/execution/incremental/buildExecutionPlan.js +4 -4
  125. package/execution/incremental/buildExecutionPlan.js.map +1 -1
  126. package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
  127. package/execution/index.d.mts +8 -8
  128. package/execution/index.d.ts +8 -8
  129. package/execution/index.js +23 -22
  130. package/execution/index.js.map +1 -1
  131. package/execution/index.mjs +1 -1
  132. package/execution/index.mjs.map +1 -1
  133. package/execution/mapAsyncIterable.d.mts +1 -1
  134. package/execution/mapAsyncIterable.d.ts +1 -1
  135. package/execution/mapAsyncIterable.js +4 -4
  136. package/execution/mapAsyncIterable.js.map +1 -1
  137. package/execution/mapAsyncIterable.mjs.map +1 -1
  138. package/execution/returnIteratorCatchingErrors.js +1 -1
  139. package/execution/returnIteratorCatchingErrors.js.map +1 -1
  140. package/execution/returnIteratorCatchingErrors.mjs +1 -1
  141. package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
  142. package/execution/values.d.mts +9 -9
  143. package/execution/values.d.ts +9 -9
  144. package/execution/values.js +34 -34
  145. package/execution/values.js.map +1 -1
  146. package/execution/values.mjs +2 -2
  147. package/execution/values.mjs.map +1 -1
  148. package/execution/withConcurrentAbruptClose.d.mts +1 -1
  149. package/execution/withConcurrentAbruptClose.d.ts +1 -1
  150. package/execution/withConcurrentAbruptClose.js +4 -4
  151. package/execution/withConcurrentAbruptClose.js.map +1 -1
  152. package/execution/withConcurrentAbruptClose.mjs +2 -2
  153. package/execution/withConcurrentAbruptClose.mjs.map +1 -1
  154. package/graphql.d.mts +7 -7
  155. package/graphql.d.ts +7 -7
  156. package/graphql.js +11 -11
  157. package/graphql.js.map +1 -1
  158. package/graphql.mjs.map +1 -1
  159. package/harness.d.mts +4 -4
  160. package/harness.d.ts +4 -4
  161. package/harness.js +7 -7
  162. package/harness.js.map +1 -1
  163. package/harness.mjs.map +1 -1
  164. package/index.d.mts +20 -20
  165. package/index.d.ts +20 -20
  166. package/index.js +253 -252
  167. package/index.js.map +1 -1
  168. package/index.mjs +1 -1
  169. package/index.mjs.map +1 -1
  170. package/jsutils/Path.d.mts +1 -1
  171. package/jsutils/Path.d.ts +1 -1
  172. package/jsutils/Path.js.map +1 -1
  173. package/jsutils/Path.mjs.map +1 -1
  174. package/jsutils/didYouMean.js +2 -2
  175. package/jsutils/didYouMean.js.map +1 -1
  176. package/jsutils/didYouMean.mjs.map +1 -1
  177. package/jsutils/formatList.js +2 -2
  178. package/jsutils/formatList.js.map +1 -1
  179. package/jsutils/formatList.mjs.map +1 -1
  180. package/jsutils/getBySet.js +2 -2
  181. package/jsutils/getBySet.js.map +1 -1
  182. package/jsutils/getBySet.mjs.map +1 -1
  183. package/jsutils/groupBy.js +2 -2
  184. package/jsutils/groupBy.js.map +1 -1
  185. package/jsutils/groupBy.mjs.map +1 -1
  186. package/jsutils/instanceOf.js +2 -2
  187. package/jsutils/instanceOf.js.map +1 -1
  188. package/jsutils/instanceOf.mjs.map +1 -1
  189. package/jsutils/keyMap.d.mts +1 -1
  190. package/jsutils/keyMap.d.ts +1 -1
  191. package/jsutils/keyMap.js.map +1 -1
  192. package/jsutils/keyMap.mjs.map +1 -1
  193. package/jsutils/keyValMap.d.mts +1 -1
  194. package/jsutils/keyValMap.d.ts +1 -1
  195. package/jsutils/keyValMap.js.map +1 -1
  196. package/jsutils/keyValMap.mjs.map +1 -1
  197. package/jsutils/mapValue.d.mts +1 -1
  198. package/jsutils/mapValue.d.ts +1 -1
  199. package/jsutils/mapValue.js.map +1 -1
  200. package/jsutils/mapValue.mjs.map +1 -1
  201. package/jsutils/promiseForObject.d.mts +2 -2
  202. package/jsutils/promiseForObject.d.ts +2 -2
  203. package/jsutils/promiseForObject.js.map +1 -1
  204. package/jsutils/promiseForObject.mjs.map +1 -1
  205. package/jsutils/promiseReduce.d.mts +1 -1
  206. package/jsutils/promiseReduce.d.ts +1 -1
  207. package/jsutils/promiseReduce.js +2 -2
  208. package/jsutils/promiseReduce.js.map +1 -1
  209. package/jsutils/promiseReduce.mjs.map +1 -1
  210. package/jsutils/promiseWithResolvers.d.mts +1 -1
  211. package/jsutils/promiseWithResolvers.d.ts +1 -1
  212. package/jsutils/promiseWithResolvers.js.map +1 -1
  213. package/jsutils/promiseWithResolvers.mjs.map +1 -1
  214. package/jsutils/suggestionList.js +2 -2
  215. package/jsutils/suggestionList.js.map +1 -1
  216. package/jsutils/suggestionList.mjs.map +1 -1
  217. package/jsutils/toError.js +2 -2
  218. package/jsutils/toError.js.map +1 -1
  219. package/jsutils/toError.mjs.map +1 -1
  220. package/jsutils/toObjMap.d.mts +2 -2
  221. package/jsutils/toObjMap.d.ts +2 -2
  222. package/jsutils/toObjMap.js.map +1 -1
  223. package/jsutils/toObjMap.mjs.map +1 -1
  224. package/language/KindTypeMap.d.mts +1 -1
  225. package/language/KindTypeMap.d.ts +1 -1
  226. package/language/KindTypeMap.js.map +1 -1
  227. package/language/KindTypeMap.mjs.map +1 -1
  228. package/language/ast.d.mts +12 -5
  229. package/language/ast.d.ts +12 -5
  230. package/language/ast.js +8 -1
  231. package/language/ast.js.map +1 -1
  232. package/language/ast.mjs +8 -1
  233. package/language/ast.mjs.map +1 -1
  234. package/language/blockString.js +4 -4
  235. package/language/blockString.js.map +1 -1
  236. package/language/blockString.mjs.map +1 -1
  237. package/language/directiveLocation.d.mts +2 -1
  238. package/language/directiveLocation.d.ts +2 -1
  239. package/language/directiveLocation.js +2 -1
  240. package/language/directiveLocation.js.map +1 -1
  241. package/language/directiveLocation.mjs +2 -1
  242. package/language/directiveLocation.mjs.map +1 -1
  243. package/language/index.d.mts +16 -16
  244. package/language/index.d.ts +16 -16
  245. package/language/index.js +45 -45
  246. package/language/index.js.map +1 -1
  247. package/language/index.mjs.map +1 -1
  248. package/language/kinds.d.mts +2 -2
  249. package/language/kinds.d.ts +2 -2
  250. package/language/kinds.js.map +1 -1
  251. package/language/kinds.mjs.map +1 -1
  252. package/language/kinds_.d.mts +2 -0
  253. package/language/kinds_.d.ts +2 -0
  254. package/language/kinds_.js +2 -1
  255. package/language/kinds_.js.map +1 -1
  256. package/language/kinds_.mjs +1 -0
  257. package/language/kinds_.mjs.map +1 -1
  258. package/language/lexer.d.mts +3 -3
  259. package/language/lexer.d.ts +3 -3
  260. package/language/lexer.js +67 -67
  261. package/language/lexer.js.map +1 -1
  262. package/language/lexer.mjs.map +1 -1
  263. package/language/location.d.mts +1 -1
  264. package/language/location.d.ts +1 -1
  265. package/language/location.js +2 -2
  266. package/language/location.js.map +1 -1
  267. package/language/location.mjs.map +1 -1
  268. package/language/parser.d.mts +20 -7
  269. package/language/parser.d.ts +20 -7
  270. package/language/parser.js +185 -155
  271. package/language/parser.js.map +1 -1
  272. package/language/parser.mjs +30 -0
  273. package/language/parser.mjs.map +1 -1
  274. package/language/predicates.d.mts +1 -1
  275. package/language/predicates.d.ts +1 -1
  276. package/language/predicates.js +45 -43
  277. package/language/predicates.js.map +1 -1
  278. package/language/predicates.mjs +3 -1
  279. package/language/predicates.mjs.map +1 -1
  280. package/language/printLocation.d.mts +3 -3
  281. package/language/printLocation.d.ts +3 -3
  282. package/language/printLocation.js +2 -2
  283. package/language/printLocation.js.map +1 -1
  284. package/language/printLocation.mjs.map +1 -1
  285. package/language/printer.d.mts +1 -1
  286. package/language/printer.d.ts +1 -1
  287. package/language/printer.js +10 -6
  288. package/language/printer.js.map +1 -1
  289. package/language/printer.mjs +5 -1
  290. package/language/printer.mjs.map +1 -1
  291. package/language/schemaCoordinateLexer.d.mts +3 -3
  292. package/language/schemaCoordinateLexer.d.ts +3 -3
  293. package/language/schemaCoordinateLexer.js +16 -16
  294. package/language/schemaCoordinateLexer.js.map +1 -1
  295. package/language/schemaCoordinateLexer.mjs.map +1 -1
  296. package/language/source.js +5 -5
  297. package/language/source.js.map +1 -1
  298. package/language/source.mjs.map +1 -1
  299. package/language/visitor.d.mts +2 -2
  300. package/language/visitor.d.ts +2 -2
  301. package/language/visitor.js +10 -10
  302. package/language/visitor.js.map +1 -1
  303. package/language/visitor.mjs.map +1 -1
  304. package/package.json +2 -2
  305. package/type/assertName.js +8 -8
  306. package/type/assertName.js.map +1 -1
  307. package/type/assertName.mjs.map +1 -1
  308. package/type/definition.d.mts +9 -9
  309. package/type/definition.d.ts +9 -9
  310. package/type/definition.js +94 -94
  311. package/type/definition.js.map +1 -1
  312. package/type/definition.mjs.map +1 -1
  313. package/type/directives.d.mts +11 -6
  314. package/type/directives.d.ts +11 -6
  315. package/type/directives.js +51 -46
  316. package/type/directives.js.map +1 -1
  317. package/type/directives.mjs +5 -0
  318. package/type/directives.mjs.map +1 -1
  319. package/type/index.d.mts +12 -12
  320. package/type/index.d.ts +12 -12
  321. package/type/index.js +106 -106
  322. package/type/index.js.map +1 -1
  323. package/type/index.mjs.map +1 -1
  324. package/type/introspection.d.mts +2 -2
  325. package/type/introspection.d.ts +2 -2
  326. package/type/introspection.js +123 -103
  327. package/type/introspection.js.map +1 -1
  328. package/type/introspection.mjs +25 -5
  329. package/type/introspection.mjs.map +1 -1
  330. package/type/scalars.d.mts +2 -2
  331. package/type/scalars.d.ts +2 -2
  332. package/type/scalars.js +61 -61
  333. package/type/scalars.js.map +1 -1
  334. package/type/scalars.mjs.map +1 -1
  335. package/type/schema.d.mts +7 -7
  336. package/type/schema.d.ts +7 -7
  337. package/type/schema.js +32 -32
  338. package/type/schema.js.map +1 -1
  339. package/type/schema.mjs.map +1 -1
  340. package/type/validate.d.mts +4 -4
  341. package/type/validate.d.ts +4 -4
  342. package/type/validate.js +83 -83
  343. package/type/validate.js.map +1 -1
  344. package/type/validate.mjs +1 -1
  345. package/type/validate.mjs.map +1 -1
  346. package/utilities/TypeInfo.d.mts +6 -6
  347. package/utilities/TypeInfo.d.ts +6 -6
  348. package/utilities/TypeInfo.js +61 -61
  349. package/utilities/TypeInfo.js.map +1 -1
  350. package/utilities/TypeInfo.mjs +1 -1
  351. package/utilities/TypeInfo.mjs.map +1 -1
  352. package/utilities/astFromValue.d.mts +3 -3
  353. package/utilities/astFromValue.d.ts +3 -3
  354. package/utilities/astFromValue.js +31 -33
  355. package/utilities/astFromValue.js.map +1 -1
  356. package/utilities/astFromValue.mjs +1 -3
  357. package/utilities/astFromValue.mjs.map +1 -1
  358. package/utilities/buildASTSchema.d.mts +5 -5
  359. package/utilities/buildASTSchema.d.ts +5 -5
  360. package/utilities/buildASTSchema.js +11 -10
  361. package/utilities/buildASTSchema.js.map +1 -1
  362. package/utilities/buildASTSchema.mjs +1 -0
  363. package/utilities/buildASTSchema.mjs.map +1 -1
  364. package/utilities/buildClientSchema.d.mts +3 -3
  365. package/utilities/buildClientSchema.d.ts +3 -3
  366. package/utilities/buildClientSchema.js +53 -52
  367. package/utilities/buildClientSchema.js.map +1 -1
  368. package/utilities/buildClientSchema.mjs +1 -0
  369. package/utilities/buildClientSchema.mjs.map +1 -1
  370. package/utilities/coerceInputValue.d.mts +5 -5
  371. package/utilities/coerceInputValue.d.ts +5 -5
  372. package/utilities/coerceInputValue.js +31 -31
  373. package/utilities/coerceInputValue.js.map +1 -1
  374. package/utilities/coerceInputValue.mjs.map +1 -1
  375. package/utilities/concatAST.d.mts +1 -1
  376. package/utilities/concatAST.d.ts +1 -1
  377. package/utilities/concatAST.js +2 -2
  378. package/utilities/concatAST.js.map +1 -1
  379. package/utilities/concatAST.mjs.map +1 -1
  380. package/utilities/extendSchema.d.mts +3 -3
  381. package/utilities/extendSchema.d.ts +3 -3
  382. package/utilities/extendSchema.js +92 -66
  383. package/utilities/extendSchema.js.map +1 -1
  384. package/utilities/extendSchema.mjs +27 -1
  385. package/utilities/extendSchema.mjs.map +1 -1
  386. package/utilities/findSchemaChanges.d.mts +1 -1
  387. package/utilities/findSchemaChanges.d.ts +1 -1
  388. package/utilities/findSchemaChanges.js +42 -44
  389. package/utilities/findSchemaChanges.js.map +1 -1
  390. package/utilities/findSchemaChanges.mjs +1 -3
  391. package/utilities/findSchemaChanges.mjs.map +1 -1
  392. package/utilities/getDefaultValueAST.d.mts +2 -2
  393. package/utilities/getDefaultValueAST.d.ts +2 -2
  394. package/utilities/getDefaultValueAST.js +9 -7
  395. package/utilities/getDefaultValueAST.js.map +1 -1
  396. package/utilities/getDefaultValueAST.mjs +2 -0
  397. package/utilities/getDefaultValueAST.mjs.map +1 -1
  398. package/utilities/getIntrospectionQuery.d.mts +19 -3
  399. package/utilities/getIntrospectionQuery.d.ts +19 -3
  400. package/utilities/getIntrospectionQuery.js +22 -38
  401. package/utilities/getIntrospectionQuery.js.map +1 -1
  402. package/utilities/getIntrospectionQuery.mjs +22 -38
  403. package/utilities/getIntrospectionQuery.mjs.map +1 -1
  404. package/utilities/getOperationAST.d.mts +2 -2
  405. package/utilities/getOperationAST.d.ts +2 -2
  406. package/utilities/getOperationAST.js +2 -2
  407. package/utilities/getOperationAST.js.map +1 -1
  408. package/utilities/getOperationAST.mjs.map +1 -1
  409. package/utilities/index.d.mts +28 -28
  410. package/utilities/index.d.ts +28 -28
  411. package/utilities/index.js +61 -61
  412. package/utilities/index.js.map +1 -1
  413. package/utilities/index.mjs.map +1 -1
  414. package/utilities/introspectionFromSchema.d.mts +2 -2
  415. package/utilities/introspectionFromSchema.d.ts +2 -2
  416. package/utilities/introspectionFromSchema.js +8 -7
  417. package/utilities/introspectionFromSchema.js.map +1 -1
  418. package/utilities/introspectionFromSchema.mjs +1 -0
  419. package/utilities/introspectionFromSchema.mjs.map +1 -1
  420. package/utilities/lexicographicSortSchema.d.mts +1 -1
  421. package/utilities/lexicographicSortSchema.d.ts +1 -1
  422. package/utilities/lexicographicSortSchema.js +14 -14
  423. package/utilities/lexicographicSortSchema.js.map +1 -1
  424. package/utilities/lexicographicSortSchema.mjs.map +1 -1
  425. package/utilities/mapSchemaConfig.d.mts +3 -3
  426. package/utilities/mapSchemaConfig.d.ts +3 -3
  427. package/utilities/mapSchemaConfig.js +29 -31
  428. package/utilities/mapSchemaConfig.js.map +1 -1
  429. package/utilities/mapSchemaConfig.mjs +1 -3
  430. package/utilities/mapSchemaConfig.mjs.map +1 -1
  431. package/utilities/printSchema.d.mts +3 -3
  432. package/utilities/printSchema.d.ts +3 -3
  433. package/utilities/printSchema.js +31 -32
  434. package/utilities/printSchema.js.map +1 -1
  435. package/utilities/printSchema.mjs +2 -3
  436. package/utilities/printSchema.mjs.map +1 -1
  437. package/utilities/replaceVariables.d.mts +4 -4
  438. package/utilities/replaceVariables.d.ts +4 -4
  439. package/utilities/replaceVariables.js +9 -9
  440. package/utilities/replaceVariables.js.map +1 -1
  441. package/utilities/replaceVariables.mjs.map +1 -1
  442. package/utilities/resolveSchemaCoordinate.d.mts +5 -5
  443. package/utilities/resolveSchemaCoordinate.d.ts +5 -5
  444. package/utilities/resolveSchemaCoordinate.js +23 -23
  445. package/utilities/resolveSchemaCoordinate.js.map +1 -1
  446. package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
  447. package/utilities/separateOperations.d.mts +2 -2
  448. package/utilities/separateOperations.d.ts +2 -2
  449. package/utilities/separateOperations.js +7 -7
  450. package/utilities/separateOperations.js.map +1 -1
  451. package/utilities/separateOperations.mjs.map +1 -1
  452. package/utilities/sortValueNode.d.mts +1 -1
  453. package/utilities/sortValueNode.d.ts +1 -1
  454. package/utilities/sortValueNode.js +12 -12
  455. package/utilities/sortValueNode.js.map +1 -1
  456. package/utilities/sortValueNode.mjs.map +1 -1
  457. package/utilities/stripIgnoredCharacters.d.mts +1 -1
  458. package/utilities/stripIgnoredCharacters.d.ts +1 -1
  459. package/utilities/stripIgnoredCharacters.js +11 -11
  460. package/utilities/stripIgnoredCharacters.js.map +1 -1
  461. package/utilities/stripIgnoredCharacters.mjs.map +1 -1
  462. package/utilities/typeComparators.d.mts +2 -2
  463. package/utilities/typeComparators.d.ts +2 -2
  464. package/utilities/typeComparators.js +14 -14
  465. package/utilities/typeComparators.js.map +1 -1
  466. package/utilities/typeComparators.mjs.map +1 -1
  467. package/utilities/typeFromAST.d.mts +4 -4
  468. package/utilities/typeFromAST.d.ts +4 -4
  469. package/utilities/typeFromAST.js +7 -7
  470. package/utilities/typeFromAST.js.map +1 -1
  471. package/utilities/typeFromAST.mjs.map +1 -1
  472. package/utilities/typedQueryDocumentNode.d.mts +1 -1
  473. package/utilities/typedQueryDocumentNode.d.ts +1 -1
  474. package/utilities/typedQueryDocumentNode.js.map +1 -1
  475. package/utilities/typedQueryDocumentNode.mjs.map +1 -1
  476. package/utilities/validateInputValue.d.mts +6 -6
  477. package/utilities/validateInputValue.d.ts +6 -6
  478. package/utilities/validateInputValue.js +60 -60
  479. package/utilities/validateInputValue.js.map +1 -1
  480. package/utilities/validateInputValue.mjs.map +1 -1
  481. package/utilities/valueFromAST.d.mts +4 -4
  482. package/utilities/valueFromAST.d.ts +4 -4
  483. package/utilities/valueFromAST.js +20 -22
  484. package/utilities/valueFromAST.js.map +1 -1
  485. package/utilities/valueFromAST.mjs +1 -3
  486. package/utilities/valueFromAST.mjs.map +1 -1
  487. package/utilities/valueFromASTUntyped.d.mts +3 -3
  488. package/utilities/valueFromASTUntyped.d.ts +3 -3
  489. package/utilities/valueFromASTUntyped.js +12 -12
  490. package/utilities/valueFromASTUntyped.js.map +1 -1
  491. package/utilities/valueFromASTUntyped.mjs.map +1 -1
  492. package/utilities/valueToLiteral.d.mts +2 -2
  493. package/utilities/valueToLiteral.d.ts +2 -2
  494. package/utilities/valueToLiteral.js +30 -30
  495. package/utilities/valueToLiteral.js.map +1 -1
  496. package/utilities/valueToLiteral.mjs.map +1 -1
  497. package/validation/ValidationContext.d.mts +9 -9
  498. package/validation/ValidationContext.d.ts +9 -9
  499. package/validation/ValidationContext.js +8 -8
  500. package/validation/ValidationContext.js.map +1 -1
  501. package/validation/ValidationContext.mjs.map +1 -1
  502. package/validation/index.d.mts +46 -46
  503. package/validation/index.d.ts +46 -46
  504. package/validation/index.js +91 -91
  505. package/validation/index.js.map +1 -1
  506. package/validation/index.mjs.map +1 -1
  507. package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +2 -2
  508. package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +2 -2
  509. package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -9
  510. package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
  511. package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
  512. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +2 -2
  513. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +2 -2
  514. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -8
  515. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
  516. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
  517. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +2 -2
  518. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +2 -2
  519. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -14
  520. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
  521. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
  522. package/validation/rules/ExecutableDefinitionsRule.d.mts +2 -2
  523. package/validation/rules/ExecutableDefinitionsRule.d.ts +2 -2
  524. package/validation/rules/ExecutableDefinitionsRule.js +7 -7
  525. package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
  526. package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
  527. package/validation/rules/FieldsOnCorrectTypeRule.d.mts +2 -2
  528. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +2 -2
  529. package/validation/rules/FieldsOnCorrectTypeRule.js +14 -14
  530. package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
  531. package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
  532. package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +2 -2
  533. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +2 -2
  534. package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -12
  535. package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
  536. package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
  537. package/validation/rules/KnownArgumentNamesRule.d.mts +2 -2
  538. package/validation/rules/KnownArgumentNamesRule.d.ts +2 -2
  539. package/validation/rules/KnownArgumentNamesRule.js +16 -16
  540. package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
  541. package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
  542. package/validation/rules/KnownDirectivesRule.d.mts +2 -2
  543. package/validation/rules/KnownDirectivesRule.d.ts +2 -2
  544. package/validation/rules/KnownDirectivesRule.js +67 -64
  545. package/validation/rules/KnownDirectivesRule.js.map +1 -1
  546. package/validation/rules/KnownDirectivesRule.mjs +4 -1
  547. package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
  548. package/validation/rules/KnownFragmentNamesRule.d.mts +2 -2
  549. package/validation/rules/KnownFragmentNamesRule.d.ts +2 -2
  550. package/validation/rules/KnownFragmentNamesRule.js +2 -2
  551. package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
  552. package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
  553. package/validation/rules/KnownOperationTypesRule.d.mts +2 -2
  554. package/validation/rules/KnownOperationTypesRule.d.ts +2 -2
  555. package/validation/rules/KnownOperationTypesRule.js +2 -2
  556. package/validation/rules/KnownOperationTypesRule.js.map +1 -1
  557. package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
  558. package/validation/rules/KnownTypeNamesRule.d.mts +2 -2
  559. package/validation/rules/KnownTypeNamesRule.d.ts +2 -2
  560. package/validation/rules/KnownTypeNamesRule.js +11 -11
  561. package/validation/rules/KnownTypeNamesRule.js.map +1 -1
  562. package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
  563. package/validation/rules/LoneAnonymousOperationRule.d.mts +2 -2
  564. package/validation/rules/LoneAnonymousOperationRule.d.ts +2 -2
  565. package/validation/rules/LoneAnonymousOperationRule.js +4 -4
  566. package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
  567. package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
  568. package/validation/rules/LoneSchemaDefinitionRule.d.mts +2 -2
  569. package/validation/rules/LoneSchemaDefinitionRule.d.ts +2 -2
  570. package/validation/rules/LoneSchemaDefinitionRule.js +3 -3
  571. package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
  572. package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
  573. package/validation/rules/MaxIntrospectionDepthRule.d.mts +2 -2
  574. package/validation/rules/MaxIntrospectionDepthRule.d.ts +2 -2
  575. package/validation/rules/MaxIntrospectionDepthRule.js +5 -5
  576. package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
  577. package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
  578. package/validation/rules/NoFragmentCyclesRule.d.mts +2 -2
  579. package/validation/rules/NoFragmentCyclesRule.d.ts +2 -2
  580. package/validation/rules/NoFragmentCyclesRule.js +2 -2
  581. package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
  582. package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
  583. package/validation/rules/NoUndefinedVariablesRule.d.mts +2 -2
  584. package/validation/rules/NoUndefinedVariablesRule.d.ts +2 -2
  585. package/validation/rules/NoUndefinedVariablesRule.js +2 -2
  586. package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
  587. package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
  588. package/validation/rules/NoUnusedFragmentsRule.d.mts +2 -2
  589. package/validation/rules/NoUnusedFragmentsRule.d.ts +2 -2
  590. package/validation/rules/NoUnusedFragmentsRule.js +2 -2
  591. package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
  592. package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
  593. package/validation/rules/NoUnusedVariablesRule.d.mts +2 -2
  594. package/validation/rules/NoUnusedVariablesRule.d.ts +2 -2
  595. package/validation/rules/NoUnusedVariablesRule.js +3 -3
  596. package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
  597. package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
  598. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +2 -2
  599. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +2 -2
  600. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +31 -31
  601. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
  602. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
  603. package/validation/rules/PossibleFragmentSpreadsRule.d.mts +2 -2
  604. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +2 -2
  605. package/validation/rules/PossibleFragmentSpreadsRule.js +17 -17
  606. package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
  607. package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
  608. package/validation/rules/PossibleTypeExtensionsRule.d.mts +2 -2
  609. package/validation/rules/PossibleTypeExtensionsRule.d.ts +2 -2
  610. package/validation/rules/PossibleTypeExtensionsRule.js +40 -42
  611. package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
  612. package/validation/rules/PossibleTypeExtensionsRule.mjs +2 -4
  613. package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
  614. package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +2 -2
  615. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +2 -2
  616. package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -20
  617. package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
  618. package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
  619. package/validation/rules/ScalarLeafsRule.d.mts +2 -2
  620. package/validation/rules/ScalarLeafsRule.d.ts +2 -2
  621. package/validation/rules/ScalarLeafsRule.js +10 -10
  622. package/validation/rules/ScalarLeafsRule.js.map +1 -1
  623. package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
  624. package/validation/rules/SingleFieldSubscriptionsRule.d.mts +2 -2
  625. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +2 -2
  626. package/validation/rules/SingleFieldSubscriptionsRule.js +8 -8
  627. package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
  628. package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
  629. package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +2 -2
  630. package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +2 -2
  631. package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -7
  632. package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
  633. package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
  634. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +2 -2
  635. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +2 -2
  636. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -4
  637. package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
  638. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
  639. package/validation/rules/UniqueArgumentNamesRule.d.mts +2 -2
  640. package/validation/rules/UniqueArgumentNamesRule.d.ts +2 -2
  641. package/validation/rules/UniqueArgumentNamesRule.js +4 -4
  642. package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
  643. package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
  644. package/validation/rules/UniqueDirectiveNamesRule.d.mts +2 -2
  645. package/validation/rules/UniqueDirectiveNamesRule.d.ts +2 -2
  646. package/validation/rules/UniqueDirectiveNamesRule.js +3 -3
  647. package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
  648. package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
  649. package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +2 -2
  650. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +2 -2
  651. package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -10
  652. package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
  653. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -0
  654. package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
  655. package/validation/rules/UniqueEnumValueNamesRule.d.mts +2 -2
  656. package/validation/rules/UniqueEnumValueNamesRule.d.ts +2 -2
  657. package/validation/rules/UniqueEnumValueNamesRule.js +5 -5
  658. package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
  659. package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
  660. package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +2 -2
  661. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +2 -2
  662. package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -5
  663. package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
  664. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
  665. package/validation/rules/UniqueFragmentNamesRule.d.mts +2 -2
  666. package/validation/rules/UniqueFragmentNamesRule.d.ts +2 -2
  667. package/validation/rules/UniqueFragmentNamesRule.js +2 -2
  668. package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
  669. package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
  670. package/validation/rules/UniqueInputFieldNamesRule.d.mts +2 -2
  671. package/validation/rules/UniqueInputFieldNamesRule.d.ts +2 -2
  672. package/validation/rules/UniqueInputFieldNamesRule.js +4 -4
  673. package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
  674. package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
  675. package/validation/rules/UniqueOperationNamesRule.d.mts +2 -2
  676. package/validation/rules/UniqueOperationNamesRule.d.ts +2 -2
  677. package/validation/rules/UniqueOperationNamesRule.js +2 -2
  678. package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
  679. package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
  680. package/validation/rules/UniqueOperationTypesRule.d.mts +2 -2
  681. package/validation/rules/UniqueOperationTypesRule.d.ts +2 -2
  682. package/validation/rules/UniqueOperationTypesRule.js +3 -3
  683. package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
  684. package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
  685. package/validation/rules/UniqueTypeNamesRule.d.mts +2 -2
  686. package/validation/rules/UniqueTypeNamesRule.d.ts +2 -2
  687. package/validation/rules/UniqueTypeNamesRule.js +3 -3
  688. package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
  689. package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
  690. package/validation/rules/UniqueVariableNamesRule.d.mts +2 -2
  691. package/validation/rules/UniqueVariableNamesRule.d.ts +2 -2
  692. package/validation/rules/UniqueVariableNamesRule.js +4 -4
  693. package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
  694. package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
  695. package/validation/rules/ValuesOfCorrectTypeRule.d.mts +2 -2
  696. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +2 -2
  697. package/validation/rules/ValuesOfCorrectTypeRule.js +2 -2
  698. package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
  699. package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
  700. package/validation/rules/VariablesAreInputTypesRule.d.mts +2 -2
  701. package/validation/rules/VariablesAreInputTypesRule.d.ts +2 -2
  702. package/validation/rules/VariablesAreInputTypesRule.js +8 -8
  703. package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
  704. package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
  705. package/validation/rules/VariablesInAllowedPositionRule.d.mts +2 -2
  706. package/validation/rules/VariablesInAllowedPositionRule.d.ts +2 -2
  707. package/validation/rules/VariablesInAllowedPositionRule.js +14 -14
  708. package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
  709. package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
  710. package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +2 -2
  711. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +2 -2
  712. package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -8
  713. package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
  714. package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
  715. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +2 -2
  716. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +2 -2
  717. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -6
  718. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
  719. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
  720. package/validation/specifiedRules.d.mts +1 -1
  721. package/validation/specifiedRules.d.ts +1 -1
  722. package/validation/specifiedRules.js +87 -87
  723. package/validation/specifiedRules.js.map +1 -1
  724. package/validation/specifiedRules.mjs.map +1 -1
  725. package/validation/validate.d.mts +5 -5
  726. package/validation/validate.d.ts +5 -5
  727. package/validation/validate.js +19 -19
  728. package/validation/validate.js.map +1 -1
  729. package/validation/validate.mjs.map +1 -1
  730. package/version.js +2 -2
  731. package/version.js.map +1 -1
  732. package/version.mjs +2 -2
  733. package/version.mjs.map +1 -1
@@ -4,26 +4,26 @@ exports.specifiedDirectives = exports.GraphQLDisableErrorPropagationDirective =
4
4
  exports.isDirective = isDirective;
5
5
  exports.assertDirective = assertDirective;
6
6
  exports.isSpecifiedDirective = isSpecifiedDirective;
7
- const devAssert_js_1 = require("../jsutils/devAssert.js");
8
- const inspect_js_1 = require("../jsutils/inspect.js");
9
- const instanceOf_js_1 = require("../jsutils/instanceOf.js");
10
- const isObjectLike_js_1 = require("../jsutils/isObjectLike.js");
11
- const keyValMap_js_1 = require("../jsutils/keyValMap.js");
12
- const toObjMap_js_1 = require("../jsutils/toObjMap.js");
13
- const directiveLocation_js_1 = require("../language/directiveLocation.js");
14
- const assertName_js_1 = require("./assertName.js");
15
- const definition_js_1 = require("./definition.js");
16
- const scalars_js_1 = require("./scalars.js");
7
+ const devAssert_ts_1 = require("../jsutils/devAssert.js");
8
+ const inspect_ts_1 = require("../jsutils/inspect.js");
9
+ const instanceOf_ts_1 = require("../jsutils/instanceOf.js");
10
+ const isObjectLike_ts_1 = require("../jsutils/isObjectLike.js");
11
+ const keyValMap_ts_1 = require("../jsutils/keyValMap.js");
12
+ const toObjMap_ts_1 = require("../jsutils/toObjMap.js");
13
+ const directiveLocation_ts_1 = require("../language/directiveLocation.js");
14
+ const assertName_ts_1 = require("./assertName.js");
15
+ const definition_ts_1 = require("./definition.js");
16
+ const scalars_ts_1 = require("./scalars.js");
17
17
  const directiveSymbol = Symbol('Directive');
18
18
  /**
19
19
  * Test if the given value is a GraphQL directive.
20
20
  */
21
21
  function isDirective(directive) {
22
- return (0, instanceOf_js_1.instanceOf)(directive, directiveSymbol, GraphQLDirective);
22
+ return (0, instanceOf_ts_1.instanceOf)(directive, directiveSymbol, GraphQLDirective);
23
23
  }
24
24
  function assertDirective(directive) {
25
25
  if (!isDirective(directive)) {
26
- throw new Error(`Expected ${(0, inspect_js_1.inspect)(directive)} to be a GraphQL directive.`);
26
+ throw new Error(`Expected ${(0, inspect_ts_1.inspect)(directive)} to be a GraphQL directive.`);
27
27
  }
28
28
  return directive;
29
29
  }
@@ -34,18 +34,20 @@ function assertDirective(directive) {
34
34
  class GraphQLDirective {
35
35
  constructor(config) {
36
36
  this.__kind = directiveSymbol;
37
- this.name = (0, assertName_js_1.assertName)(config.name);
37
+ this.name = (0, assertName_ts_1.assertName)(config.name);
38
38
  this.description = config.description;
39
39
  this.locations = config.locations;
40
40
  this.isRepeatable = config.isRepeatable ?? false;
41
- this.extensions = (0, toObjMap_js_1.toObjMapWithSymbols)(config.extensions);
41
+ this.deprecationReason = config.deprecationReason;
42
+ this.extensions = (0, toObjMap_ts_1.toObjMapWithSymbols)(config.extensions);
42
43
  this.astNode = config.astNode;
44
+ this.extensionASTNodes = config.extensionASTNodes ?? [];
43
45
  if (!(Array.isArray(config.locations)))
44
- (0, devAssert_js_1.devAssert)(false, `@${this.name} locations must be an Array.`);
46
+ (0, devAssert_ts_1.devAssert)(false, `@${this.name} locations must be an Array.`);
45
47
  const args = config.args ?? {};
46
- if (!((0, isObjectLike_js_1.isObjectLike)(args) && !Array.isArray(args)))
47
- (0, devAssert_js_1.devAssert)(false, `@${this.name} args must be an object with argument names as keys.`);
48
- this.args = Object.entries(args).map(([argName, argConfig]) => new definition_js_1.GraphQLArgument(this, argName, argConfig));
48
+ if (!((0, isObjectLike_ts_1.isObjectLike)(args) && !Array.isArray(args)))
49
+ (0, devAssert_ts_1.devAssert)(false, `@${this.name} args must be an object with argument names as keys.`);
50
+ this.args = Object.entries(args).map(([argName, argConfig]) => new definition_ts_1.GraphQLArgument(this, argName, argConfig));
49
51
  }
50
52
  get [Symbol.toStringTag]() {
51
53
  return 'GraphQLDirective';
@@ -55,10 +57,12 @@ class GraphQLDirective {
55
57
  name: this.name,
56
58
  description: this.description,
57
59
  locations: this.locations,
58
- args: (0, keyValMap_js_1.keyValMap)(this.args, (arg) => arg.name, (arg) => arg.toConfig()),
60
+ args: (0, keyValMap_ts_1.keyValMap)(this.args, (arg) => arg.name, (arg) => arg.toConfig()),
59
61
  isRepeatable: this.isRepeatable,
62
+ deprecationReason: this.deprecationReason,
60
63
  extensions: this.extensions,
61
64
  astNode: this.astNode,
65
+ extensionASTNodes: this.extensionASTNodes,
62
66
  };
63
67
  }
64
68
  toString() {
@@ -76,13 +80,13 @@ exports.GraphQLIncludeDirective = new GraphQLDirective({
76
80
  name: 'include',
77
81
  description: 'Directs the executor to include this field or fragment only when the `if` argument is true.',
78
82
  locations: [
79
- directiveLocation_js_1.DirectiveLocation.FIELD,
80
- directiveLocation_js_1.DirectiveLocation.FRAGMENT_SPREAD,
81
- directiveLocation_js_1.DirectiveLocation.INLINE_FRAGMENT,
83
+ directiveLocation_ts_1.DirectiveLocation.FIELD,
84
+ directiveLocation_ts_1.DirectiveLocation.FRAGMENT_SPREAD,
85
+ directiveLocation_ts_1.DirectiveLocation.INLINE_FRAGMENT,
82
86
  ],
83
87
  args: {
84
88
  if: {
85
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
89
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
86
90
  description: 'Included when true.',
87
91
  },
88
92
  },
@@ -94,13 +98,13 @@ exports.GraphQLSkipDirective = new GraphQLDirective({
94
98
  name: 'skip',
95
99
  description: 'Directs the executor to skip this field or fragment when the `if` argument is true.',
96
100
  locations: [
97
- directiveLocation_js_1.DirectiveLocation.FIELD,
98
- directiveLocation_js_1.DirectiveLocation.FRAGMENT_SPREAD,
99
- directiveLocation_js_1.DirectiveLocation.INLINE_FRAGMENT,
101
+ directiveLocation_ts_1.DirectiveLocation.FIELD,
102
+ directiveLocation_ts_1.DirectiveLocation.FRAGMENT_SPREAD,
103
+ directiveLocation_ts_1.DirectiveLocation.INLINE_FRAGMENT,
100
104
  ],
101
105
  args: {
102
106
  if: {
103
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
107
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
104
108
  description: 'Skipped when true.',
105
109
  },
106
110
  },
@@ -112,17 +116,17 @@ exports.GraphQLDeferDirective = new GraphQLDirective({
112
116
  name: 'defer',
113
117
  description: 'Directs the executor to defer this fragment when the `if` argument is true or undefined.',
114
118
  locations: [
115
- directiveLocation_js_1.DirectiveLocation.FRAGMENT_SPREAD,
116
- directiveLocation_js_1.DirectiveLocation.INLINE_FRAGMENT,
119
+ directiveLocation_ts_1.DirectiveLocation.FRAGMENT_SPREAD,
120
+ directiveLocation_ts_1.DirectiveLocation.INLINE_FRAGMENT,
117
121
  ],
118
122
  args: {
119
123
  if: {
120
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
124
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
121
125
  description: 'Deferred when true or undefined.',
122
126
  default: { value: true },
123
127
  },
124
128
  label: {
125
- type: scalars_js_1.GraphQLString,
129
+ type: scalars_ts_1.GraphQLString,
126
130
  description: 'Unique name',
127
131
  },
128
132
  },
@@ -133,20 +137,20 @@ exports.GraphQLDeferDirective = new GraphQLDirective({
133
137
  exports.GraphQLStreamDirective = new GraphQLDirective({
134
138
  name: 'stream',
135
139
  description: 'Directs the executor to stream plural fields when the `if` argument is true or undefined.',
136
- locations: [directiveLocation_js_1.DirectiveLocation.FIELD],
140
+ locations: [directiveLocation_ts_1.DirectiveLocation.FIELD],
137
141
  args: {
138
142
  initialCount: {
139
143
  default: { value: 0 },
140
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLInt),
144
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLInt),
141
145
  description: 'Number of items to return immediately',
142
146
  },
143
147
  if: {
144
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
148
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
145
149
  description: 'Stream when true or undefined.',
146
150
  default: { value: true },
147
151
  },
148
152
  label: {
149
- type: scalars_js_1.GraphQLString,
153
+ type: scalars_ts_1.GraphQLString,
150
154
  description: 'Unique name',
151
155
  },
152
156
  },
@@ -162,14 +166,15 @@ exports.GraphQLDeprecatedDirective = new GraphQLDirective({
162
166
  name: 'deprecated',
163
167
  description: 'Marks an element of a GraphQL schema as no longer supported.',
164
168
  locations: [
165
- directiveLocation_js_1.DirectiveLocation.FIELD_DEFINITION,
166
- directiveLocation_js_1.DirectiveLocation.ARGUMENT_DEFINITION,
167
- directiveLocation_js_1.DirectiveLocation.INPUT_FIELD_DEFINITION,
168
- directiveLocation_js_1.DirectiveLocation.ENUM_VALUE,
169
+ directiveLocation_ts_1.DirectiveLocation.FIELD_DEFINITION,
170
+ directiveLocation_ts_1.DirectiveLocation.ARGUMENT_DEFINITION,
171
+ directiveLocation_ts_1.DirectiveLocation.INPUT_FIELD_DEFINITION,
172
+ directiveLocation_ts_1.DirectiveLocation.ENUM_VALUE,
173
+ directiveLocation_ts_1.DirectiveLocation.DIRECTIVE_DEFINITION,
169
174
  ],
170
175
  args: {
171
176
  reason: {
172
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLString),
177
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLString),
173
178
  description: 'Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).',
174
179
  default: { value: exports.DEFAULT_DEPRECATION_REASON },
175
180
  },
@@ -181,10 +186,10 @@ exports.GraphQLDeprecatedDirective = new GraphQLDirective({
181
186
  exports.GraphQLSpecifiedByDirective = new GraphQLDirective({
182
187
  name: 'specifiedBy',
183
188
  description: 'Exposes a URL that specifies the behavior of this scalar.',
184
- locations: [directiveLocation_js_1.DirectiveLocation.SCALAR],
189
+ locations: [directiveLocation_ts_1.DirectiveLocation.SCALAR],
185
190
  args: {
186
191
  url: {
187
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLString),
192
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLString),
188
193
  description: 'The URL that specifies the behavior of this scalar.',
189
194
  },
190
195
  },
@@ -195,7 +200,7 @@ exports.GraphQLSpecifiedByDirective = new GraphQLDirective({
195
200
  exports.GraphQLOneOfDirective = new GraphQLDirective({
196
201
  name: 'oneOf',
197
202
  description: 'Indicates exactly one field must be supplied and this field must not be `null`.',
198
- locations: [directiveLocation_js_1.DirectiveLocation.INPUT_OBJECT],
203
+ locations: [directiveLocation_ts_1.DirectiveLocation.INPUT_OBJECT],
199
204
  args: {},
200
205
  });
201
206
  /**
@@ -205,9 +210,9 @@ exports.GraphQLDisableErrorPropagationDirective = new GraphQLDirective({
205
210
  name: 'experimental_disableErrorPropagation',
206
211
  description: 'Disables error propagation.',
207
212
  locations: [
208
- directiveLocation_js_1.DirectiveLocation.QUERY,
209
- directiveLocation_js_1.DirectiveLocation.MUTATION,
210
- directiveLocation_js_1.DirectiveLocation.SUBSCRIPTION,
213
+ directiveLocation_ts_1.DirectiveLocation.QUERY,
214
+ directiveLocation_ts_1.DirectiveLocation.MUTATION,
215
+ directiveLocation_ts_1.DirectiveLocation.SUBSCRIPTION,
211
216
  ],
212
217
  });
213
218
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/type/directives.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { instanceOf } from '../jsutils/instanceOf.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.js';\n\nimport type { DirectiveDefinitionNode } from '../language/ast.js';\nimport { DirectiveLocation } from '../language/directiveLocation.js';\n\nimport { assertName } from './assertName.js';\nimport type {\n GraphQLArgumentConfig,\n GraphQLFieldNormalizedConfigArgumentMap,\n GraphQLSchemaElement,\n} from './definition.js';\nimport { GraphQLArgument, GraphQLNonNull } from './definition.js';\nimport { GraphQLBoolean, GraphQLInt, GraphQLString } from './scalars.js';\n\nconst directiveSymbol: unique symbol = Symbol('Directive');\n\n/**\n * Test if the given value is a GraphQL directive.\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, directiveSymbol, GraphQLDirective);\n}\n\nexport function assertDirective(directive: unknown): GraphQLDirective {\n if (!isDirective(directive)) {\n throw new Error(\n `Expected ${inspect(directive)} to be a GraphQL directive.`,\n );\n }\n return directive;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLDirectiveExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Directives are used by the GraphQL runtime as a way of modifying execution\n * behavior. Type system creators will usually not create these directly.\n */\nexport class GraphQLDirective implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args: ReadonlyArray<GraphQLArgument>;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n astNode: Maybe<DirectiveDefinitionNode>;\n\n constructor(config: Readonly<GraphQLDirectiveConfig>) {\n this.__kind = directiveSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.locations = config.locations;\n this.isRepeatable = config.isRepeatable ?? false;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n\n devAssert(\n Array.isArray(config.locations),\n `@${this.name} locations must be an Array.`,\n );\n\n const args = config.args ?? {};\n devAssert(\n isObjectLike(args) && !Array.isArray(args),\n `@${this.name} args must be an object with argument names as keys.`,\n );\n\n this.args = Object.entries(args).map(\n ([argName, argConfig]) => new GraphQLArgument(this, argName, argConfig),\n );\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLDirective';\n }\n\n toConfig(): GraphQLDirectiveNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n locations: this.locations,\n args: keyValMap(\n this.args,\n (arg) => arg.name,\n (arg) => arg.toConfig(),\n ),\n isRepeatable: this.isRepeatable,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return '@' + this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport interface GraphQLDirectiveConfig {\n name: string;\n description?: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args?: Maybe<ObjMap<GraphQLArgumentConfig>>;\n isRepeatable?: Maybe<boolean>;\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode?: Maybe<DirectiveDefinitionNode>;\n}\n\nexport interface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n}\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: GraphQLDirective = new GraphQLDirective({\n name: 'include',\n description:\n 'Directs the executor to include this field or fragment only when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Included when true.',\n },\n },\n});\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: GraphQLDirective = new GraphQLDirective({\n name: 'skip',\n description:\n 'Directs the executor to skip this field or fragment when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Skipped when true.',\n },\n },\n});\n\n/**\n * Used to conditionally defer fragments.\n */\nexport const GraphQLDeferDirective: GraphQLDirective = new GraphQLDirective({\n name: 'defer',\n description:\n 'Directs the executor to defer this fragment when the `if` argument is true or undefined.',\n locations: [\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Deferred when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Used to conditionally stream list fields.\n */\nexport const GraphQLStreamDirective: GraphQLDirective = new GraphQLDirective({\n name: 'stream',\n description:\n 'Directs the executor to stream plural fields when the `if` argument is true or undefined.',\n locations: [DirectiveLocation.FIELD],\n args: {\n initialCount: {\n default: { value: 0 },\n type: new GraphQLNonNull(GraphQLInt),\n description: 'Number of items to return immediately',\n },\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Stream when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = 'No longer supported';\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'deprecated',\n description: 'Marks an element of a GraphQL schema as no longer supported.',\n locations: [\n DirectiveLocation.FIELD_DEFINITION,\n DirectiveLocation.ARGUMENT_DEFINITION,\n DirectiveLocation.INPUT_FIELD_DEFINITION,\n DirectiveLocation.ENUM_VALUE,\n ],\n args: {\n reason: {\n type: new GraphQLNonNull(GraphQLString),\n description:\n 'Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).',\n default: { value: DEFAULT_DEPRECATION_REASON },\n },\n },\n });\n\n/**\n * Used to provide a URL for specifying the behavior of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'specifiedBy',\n description: 'Exposes a URL that specifies the behavior of this scalar.',\n locations: [DirectiveLocation.SCALAR],\n args: {\n url: {\n type: new GraphQLNonNull(GraphQLString),\n description: 'The URL that specifies the behavior of this scalar.',\n },\n },\n });\n\n/**\n * Used to indicate an Input Object is a OneOf Input Object.\n */\nexport const GraphQLOneOfDirective: GraphQLDirective = new GraphQLDirective({\n name: 'oneOf',\n description:\n 'Indicates exactly one field must be supplied and this field must not be `null`.',\n locations: [DirectiveLocation.INPUT_OBJECT],\n args: {},\n});\n\n/**\n * Disables error propagation (experimental).\n */\nexport const GraphQLDisableErrorPropagationDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'experimental_disableErrorPropagation',\n description: 'Disables error propagation.',\n locations: [\n DirectiveLocation.QUERY,\n DirectiveLocation.MUTATION,\n DirectiveLocation.SUBSCRIPTION,\n ],\n });\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLOneOfDirective,\n ]);\n\nexport function isSpecifiedDirective(directive: GraphQLDirective): boolean {\n return specifiedDirectives.some(({ name }) => name === directive.name);\n}\n"]}
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/type/directives.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.ts';\nimport { inspect } from '../jsutils/inspect.ts';\nimport { instanceOf } from '../jsutils/instanceOf.ts';\nimport { isObjectLike } from '../jsutils/isObjectLike.ts';\nimport { keyValMap } from '../jsutils/keyValMap.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap } from '../jsutils/ObjMap.ts';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.ts';\n\nimport type {\n DirectiveDefinitionNode,\n DirectiveExtensionNode,\n} from '../language/ast.ts';\nimport { DirectiveLocation } from '../language/directiveLocation.ts';\n\nimport { assertName } from './assertName.ts';\nimport type {\n GraphQLArgumentConfig,\n GraphQLFieldNormalizedConfigArgumentMap,\n GraphQLSchemaElement,\n} from './definition.ts';\nimport { GraphQLArgument, GraphQLNonNull } from './definition.ts';\nimport { GraphQLBoolean, GraphQLInt, GraphQLString } from './scalars.ts';\n\nconst directiveSymbol: unique symbol = Symbol('Directive');\n\n/**\n * Test if the given value is a GraphQL directive.\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, directiveSymbol, GraphQLDirective);\n}\n\nexport function assertDirective(directive: unknown): GraphQLDirective {\n if (!isDirective(directive)) {\n throw new Error(\n `Expected ${inspect(directive)} to be a GraphQL directive.`,\n );\n }\n return directive;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLDirectiveExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Directives are used by the GraphQL runtime as a way of modifying execution\n * behavior. Type system creators will usually not create these directly.\n */\nexport class GraphQLDirective implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args: ReadonlyArray<GraphQLArgument>;\n isRepeatable: boolean;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n astNode: Maybe<DirectiveDefinitionNode>;\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n\n constructor(config: Readonly<GraphQLDirectiveConfig>) {\n this.__kind = directiveSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.locations = config.locations;\n this.isRepeatable = config.isRepeatable ?? false;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n devAssert(\n Array.isArray(config.locations),\n `@${this.name} locations must be an Array.`,\n );\n\n const args = config.args ?? {};\n devAssert(\n isObjectLike(args) && !Array.isArray(args),\n `@${this.name} args must be an object with argument names as keys.`,\n );\n\n this.args = Object.entries(args).map(\n ([argName, argConfig]) => new GraphQLArgument(this, argName, argConfig),\n );\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLDirective';\n }\n\n toConfig(): GraphQLDirectiveNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n locations: this.locations,\n args: keyValMap(\n this.args,\n (arg) => arg.name,\n (arg) => arg.toConfig(),\n ),\n isRepeatable: this.isRepeatable,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return '@' + this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport interface GraphQLDirectiveConfig {\n name: string;\n description?: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args?: Maybe<ObjMap<GraphQLArgumentConfig>>;\n isRepeatable?: Maybe<boolean>;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode?: Maybe<DirectiveDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<DirectiveExtensionNode>>;\n}\n\nexport interface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n}\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: GraphQLDirective = new GraphQLDirective({\n name: 'include',\n description:\n 'Directs the executor to include this field or fragment only when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Included when true.',\n },\n },\n});\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: GraphQLDirective = new GraphQLDirective({\n name: 'skip',\n description:\n 'Directs the executor to skip this field or fragment when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Skipped when true.',\n },\n },\n});\n\n/**\n * Used to conditionally defer fragments.\n */\nexport const GraphQLDeferDirective: GraphQLDirective = new GraphQLDirective({\n name: 'defer',\n description:\n 'Directs the executor to defer this fragment when the `if` argument is true or undefined.',\n locations: [\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Deferred when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Used to conditionally stream list fields.\n */\nexport const GraphQLStreamDirective: GraphQLDirective = new GraphQLDirective({\n name: 'stream',\n description:\n 'Directs the executor to stream plural fields when the `if` argument is true or undefined.',\n locations: [DirectiveLocation.FIELD],\n args: {\n initialCount: {\n default: { value: 0 },\n type: new GraphQLNonNull(GraphQLInt),\n description: 'Number of items to return immediately',\n },\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Stream when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = 'No longer supported';\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'deprecated',\n description: 'Marks an element of a GraphQL schema as no longer supported.',\n locations: [\n DirectiveLocation.FIELD_DEFINITION,\n DirectiveLocation.ARGUMENT_DEFINITION,\n DirectiveLocation.INPUT_FIELD_DEFINITION,\n DirectiveLocation.ENUM_VALUE,\n DirectiveLocation.DIRECTIVE_DEFINITION,\n ],\n args: {\n reason: {\n type: new GraphQLNonNull(GraphQLString),\n description:\n 'Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).',\n default: { value: DEFAULT_DEPRECATION_REASON },\n },\n },\n });\n\n/**\n * Used to provide a URL for specifying the behavior of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'specifiedBy',\n description: 'Exposes a URL that specifies the behavior of this scalar.',\n locations: [DirectiveLocation.SCALAR],\n args: {\n url: {\n type: new GraphQLNonNull(GraphQLString),\n description: 'The URL that specifies the behavior of this scalar.',\n },\n },\n });\n\n/**\n * Used to indicate an Input Object is a OneOf Input Object.\n */\nexport const GraphQLOneOfDirective: GraphQLDirective = new GraphQLDirective({\n name: 'oneOf',\n description:\n 'Indicates exactly one field must be supplied and this field must not be `null`.',\n locations: [DirectiveLocation.INPUT_OBJECT],\n args: {},\n});\n\n/**\n * Disables error propagation (experimental).\n */\nexport const GraphQLDisableErrorPropagationDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'experimental_disableErrorPropagation',\n description: 'Disables error propagation.',\n locations: [\n DirectiveLocation.QUERY,\n DirectiveLocation.MUTATION,\n DirectiveLocation.SUBSCRIPTION,\n ],\n });\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLOneOfDirective,\n ]);\n\nexport function isSpecifiedDirective(directive: GraphQLDirective): boolean {\n return specifiedDirectives.some(({ name }) => name === directive.name);\n}\n"]}
@@ -32,8 +32,10 @@ export class GraphQLDirective {
32
32
  this.description = config.description;
33
33
  this.locations = config.locations;
34
34
  this.isRepeatable = config.isRepeatable ?? false;
35
+ this.deprecationReason = config.deprecationReason;
35
36
  this.extensions = toObjMapWithSymbols(config.extensions);
36
37
  this.astNode = config.astNode;
38
+ this.extensionASTNodes = config.extensionASTNodes ?? [];
37
39
  if (!(Array.isArray(config.locations)))
38
40
  devAssert(false, `@${this.name} locations must be an Array.`);
39
41
  const args = config.args ?? {};
@@ -51,8 +53,10 @@ export class GraphQLDirective {
51
53
  locations: this.locations,
52
54
  args: keyValMap(this.args, (arg) => arg.name, (arg) => arg.toConfig()),
53
55
  isRepeatable: this.isRepeatable,
56
+ deprecationReason: this.deprecationReason,
54
57
  extensions: this.extensions,
55
58
  astNode: this.astNode,
59
+ extensionASTNodes: this.extensionASTNodes,
56
60
  };
57
61
  }
58
62
  toString() {
@@ -159,6 +163,7 @@ export const GraphQLDeprecatedDirective = new GraphQLDirective({
159
163
  DirectiveLocation.ARGUMENT_DEFINITION,
160
164
  DirectiveLocation.INPUT_FIELD_DEFINITION,
161
165
  DirectiveLocation.ENUM_VALUE,
166
+ DirectiveLocation.DIRECTIVE_DEFINITION,
162
167
  ],
163
168
  args: {
164
169
  reason: {
@@ -1 +1 @@
1
- {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/type/directives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iCAAgC;AACpD,OAAO,EAAE,OAAO,EAAE,+BAA8B;AAChD,OAAO,EAAE,UAAU,EAAE,kCAAiC;AACtD,OAAO,EAAE,YAAY,EAAE,oCAAmC;AAC1D,OAAO,EAAE,SAAS,EAAE,iCAAgC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,gCAA+B;AAG7D,OAAO,EAAE,iBAAiB,EAAE,0CAAyC;AAErE,OAAO,EAAE,UAAU,EAAE,yBAAwB;AAM7C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,yBAAwB;AAClE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAqB;AAEzE,MAAM,eAAe,GAAkB,MAAM,CAAC,WAAW,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,SAAkB;IAC5C,OAAO,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAkB;IAChD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,SAAS,CAAC,6BAA6B,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAeD;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAU3B,YAAY,MAAwC;QAClD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;cAG5B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YADjC,SAAS,QAEP,IAAI,IAAI,CAAC,IAAI,8BAA8B;QAG7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;cAE7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAD5C,SAAS,QAEP,IAAI,IAAI,CAAC,IAAI,sDAAsD;QAGrE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAClC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CACxE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,SAAS,CACb,IAAI,CAAC,IAAI,EACT,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EACjB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CACxB;YACD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAkBD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqB,IAAI,gBAAgB,CAAC;IAC5E,IAAI,EAAE,SAAS;IACf,WAAW,EACT,6FAA6F;IAC/F,SAAS,EAAE;QACT,iBAAiB,CAAC,KAAK;QACvB,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,eAAe;KAClC;IACD,IAAI,EAAE;QACJ,EAAE,EAAE;YACF,IAAI,EAAE,IAAI,cAAc,CAAC,cAAc,CAAC;YACxC,WAAW,EAAE,qBAAqB;SACnC;KACF;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqB,IAAI,gBAAgB,CAAC;IACzE,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,qFAAqF;IACvF,SAAS,EAAE;QACT,iBAAiB,CAAC,KAAK;QACvB,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,eAAe;KAClC;IACD,IAAI,EAAE;QACJ,EAAE,EAAE;YACF,IAAI,EAAE,IAAI,cAAc,CAAC,cAAc,CAAC;YACxC,WAAW,EAAE,oBAAoB;SAClC;KACF;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqB,IAAI,gBAAgB,CAAC;IAC1E,IAAI,EAAE,OAAO;IACb,WAAW,EACT,0FAA0F;IAC5F,SAAS,EAAE;QACT,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,eAAe;KAClC;IACD,IAAI,EAAE;QACJ,EAAE,EAAE;YACF,IAAI,EAAE,IAAI,cAAc,CAAC,cAAc,CAAC;YACxC,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,aAAa;SAC3B;KACF;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAqB,IAAI,gBAAgB,CAAC;IAC3E,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,2FAA2F;IAC7F,SAAS,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;IACpC,IAAI,EAAE;QACJ,YAAY,EAAE;YACZ,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI,cAAc,CAAC,UAAU,CAAC;YACpC,WAAW,EAAE,uCAAuC;SACrD;QACD,EAAE,EAAE;YACF,IAAI,EAAE,IAAI,cAAc,CAAC,cAAc,CAAC;YACxC,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,aAAa;SAC3B;KACF;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GACrC,IAAI,gBAAgB,CAAC;IACnB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,8DAA8D;IAC3E,SAAS,EAAE;QACT,iBAAiB,CAAC,gBAAgB;QAClC,iBAAiB,CAAC,mBAAmB;QACrC,iBAAiB,CAAC,sBAAsB;QACxC,iBAAiB,CAAC,UAAU;KAC7B;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE,IAAI,cAAc,CAAC,aAAa,CAAC;YACvC,WAAW,EACT,qNAAqN;YACvN,OAAO,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE;SAC/C;KACF;CACF,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC,IAAI,gBAAgB,CAAC;IACnB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,2DAA2D;IACxE,SAAS,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE;QACJ,GAAG,EAAE;YACH,IAAI,EAAE,IAAI,cAAc,CAAC,aAAa,CAAC;YACvC,WAAW,EAAE,qDAAqD;SACnE;KACF;CACF,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqB,IAAI,gBAAgB,CAAC;IAC1E,IAAI,EAAE,OAAO;IACb,WAAW,EACT,iFAAiF;IACnF,SAAS,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC;IAC3C,IAAI,EAAE,EAAE;CACT,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAClD,IAAI,gBAAgB,CAAC;IACnB,IAAI,EAAE,sCAAsC;IAC5C,WAAW,EAAE,6BAA6B;IAC1C,SAAS,EAAE;QACT,iBAAiB,CAAC,KAAK;QACvB,iBAAiB,CAAC,QAAQ;QAC1B,iBAAiB,CAAC,YAAY;KAC/B;CACF,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,MAAM,CAAC,MAAM,CAAC;IACZ,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,2BAA2B;IAC3B,qBAAqB;CACtB,CAAC,CAAC;AAEL,MAAM,UAAU,oBAAoB,CAAC,SAA2B;IAC9D,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { instanceOf } from '../jsutils/instanceOf.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.js';\n\nimport type { DirectiveDefinitionNode } from '../language/ast.js';\nimport { DirectiveLocation } from '../language/directiveLocation.js';\n\nimport { assertName } from './assertName.js';\nimport type {\n GraphQLArgumentConfig,\n GraphQLFieldNormalizedConfigArgumentMap,\n GraphQLSchemaElement,\n} from './definition.js';\nimport { GraphQLArgument, GraphQLNonNull } from './definition.js';\nimport { GraphQLBoolean, GraphQLInt, GraphQLString } from './scalars.js';\n\nconst directiveSymbol: unique symbol = Symbol('Directive');\n\n/**\n * Test if the given value is a GraphQL directive.\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, directiveSymbol, GraphQLDirective);\n}\n\nexport function assertDirective(directive: unknown): GraphQLDirective {\n if (!isDirective(directive)) {\n throw new Error(\n `Expected ${inspect(directive)} to be a GraphQL directive.`,\n );\n }\n return directive;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLDirectiveExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Directives are used by the GraphQL runtime as a way of modifying execution\n * behavior. Type system creators will usually not create these directly.\n */\nexport class GraphQLDirective implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args: ReadonlyArray<GraphQLArgument>;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n astNode: Maybe<DirectiveDefinitionNode>;\n\n constructor(config: Readonly<GraphQLDirectiveConfig>) {\n this.__kind = directiveSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.locations = config.locations;\n this.isRepeatable = config.isRepeatable ?? false;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n\n devAssert(\n Array.isArray(config.locations),\n `@${this.name} locations must be an Array.`,\n );\n\n const args = config.args ?? {};\n devAssert(\n isObjectLike(args) && !Array.isArray(args),\n `@${this.name} args must be an object with argument names as keys.`,\n );\n\n this.args = Object.entries(args).map(\n ([argName, argConfig]) => new GraphQLArgument(this, argName, argConfig),\n );\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLDirective';\n }\n\n toConfig(): GraphQLDirectiveNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n locations: this.locations,\n args: keyValMap(\n this.args,\n (arg) => arg.name,\n (arg) => arg.toConfig(),\n ),\n isRepeatable: this.isRepeatable,\n extensions: this.extensions,\n astNode: this.astNode,\n };\n }\n\n toString(): string {\n return '@' + this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport interface GraphQLDirectiveConfig {\n name: string;\n description?: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args?: Maybe<ObjMap<GraphQLArgumentConfig>>;\n isRepeatable?: Maybe<boolean>;\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode?: Maybe<DirectiveDefinitionNode>;\n}\n\nexport interface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n}\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: GraphQLDirective = new GraphQLDirective({\n name: 'include',\n description:\n 'Directs the executor to include this field or fragment only when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Included when true.',\n },\n },\n});\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: GraphQLDirective = new GraphQLDirective({\n name: 'skip',\n description:\n 'Directs the executor to skip this field or fragment when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Skipped when true.',\n },\n },\n});\n\n/**\n * Used to conditionally defer fragments.\n */\nexport const GraphQLDeferDirective: GraphQLDirective = new GraphQLDirective({\n name: 'defer',\n description:\n 'Directs the executor to defer this fragment when the `if` argument is true or undefined.',\n locations: [\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Deferred when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Used to conditionally stream list fields.\n */\nexport const GraphQLStreamDirective: GraphQLDirective = new GraphQLDirective({\n name: 'stream',\n description:\n 'Directs the executor to stream plural fields when the `if` argument is true or undefined.',\n locations: [DirectiveLocation.FIELD],\n args: {\n initialCount: {\n default: { value: 0 },\n type: new GraphQLNonNull(GraphQLInt),\n description: 'Number of items to return immediately',\n },\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Stream when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = 'No longer supported';\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'deprecated',\n description: 'Marks an element of a GraphQL schema as no longer supported.',\n locations: [\n DirectiveLocation.FIELD_DEFINITION,\n DirectiveLocation.ARGUMENT_DEFINITION,\n DirectiveLocation.INPUT_FIELD_DEFINITION,\n DirectiveLocation.ENUM_VALUE,\n ],\n args: {\n reason: {\n type: new GraphQLNonNull(GraphQLString),\n description:\n 'Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).',\n default: { value: DEFAULT_DEPRECATION_REASON },\n },\n },\n });\n\n/**\n * Used to provide a URL for specifying the behavior of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'specifiedBy',\n description: 'Exposes a URL that specifies the behavior of this scalar.',\n locations: [DirectiveLocation.SCALAR],\n args: {\n url: {\n type: new GraphQLNonNull(GraphQLString),\n description: 'The URL that specifies the behavior of this scalar.',\n },\n },\n });\n\n/**\n * Used to indicate an Input Object is a OneOf Input Object.\n */\nexport const GraphQLOneOfDirective: GraphQLDirective = new GraphQLDirective({\n name: 'oneOf',\n description:\n 'Indicates exactly one field must be supplied and this field must not be `null`.',\n locations: [DirectiveLocation.INPUT_OBJECT],\n args: {},\n});\n\n/**\n * Disables error propagation (experimental).\n */\nexport const GraphQLDisableErrorPropagationDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'experimental_disableErrorPropagation',\n description: 'Disables error propagation.',\n locations: [\n DirectiveLocation.QUERY,\n DirectiveLocation.MUTATION,\n DirectiveLocation.SUBSCRIPTION,\n ],\n });\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLOneOfDirective,\n ]);\n\nexport function isSpecifiedDirective(directive: GraphQLDirective): boolean {\n return specifiedDirectives.some(({ name }) => name === directive.name);\n}\n"]}
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/type/directives.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.ts';\nimport { inspect } from '../jsutils/inspect.ts';\nimport { instanceOf } from '../jsutils/instanceOf.ts';\nimport { isObjectLike } from '../jsutils/isObjectLike.ts';\nimport { keyValMap } from '../jsutils/keyValMap.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap } from '../jsutils/ObjMap.ts';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.ts';\n\nimport type {\n DirectiveDefinitionNode,\n DirectiveExtensionNode,\n} from '../language/ast.ts';\nimport { DirectiveLocation } from '../language/directiveLocation.ts';\n\nimport { assertName } from './assertName.ts';\nimport type {\n GraphQLArgumentConfig,\n GraphQLFieldNormalizedConfigArgumentMap,\n GraphQLSchemaElement,\n} from './definition.ts';\nimport { GraphQLArgument, GraphQLNonNull } from './definition.ts';\nimport { GraphQLBoolean, GraphQLInt, GraphQLString } from './scalars.ts';\n\nconst directiveSymbol: unique symbol = Symbol('Directive');\n\n/**\n * Test if the given value is a GraphQL directive.\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, directiveSymbol, GraphQLDirective);\n}\n\nexport function assertDirective(directive: unknown): GraphQLDirective {\n if (!isDirective(directive)) {\n throw new Error(\n `Expected ${inspect(directive)} to be a GraphQL directive.`,\n );\n }\n return directive;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLDirectiveExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/**\n * Directives are used by the GraphQL runtime as a way of modifying execution\n * behavior. Type system creators will usually not create these directly.\n */\nexport class GraphQLDirective implements GraphQLSchemaElement {\n readonly __kind: symbol;\n name: string;\n description: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args: ReadonlyArray<GraphQLArgument>;\n isRepeatable: boolean;\n deprecationReason: Maybe<string>;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n astNode: Maybe<DirectiveDefinitionNode>;\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n\n constructor(config: Readonly<GraphQLDirectiveConfig>) {\n this.__kind = directiveSymbol;\n this.name = assertName(config.name);\n this.description = config.description;\n this.locations = config.locations;\n this.isRepeatable = config.isRepeatable ?? false;\n this.deprecationReason = config.deprecationReason;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n devAssert(\n Array.isArray(config.locations),\n `@${this.name} locations must be an Array.`,\n );\n\n const args = config.args ?? {};\n devAssert(\n isObjectLike(args) && !Array.isArray(args),\n `@${this.name} args must be an object with argument names as keys.`,\n );\n\n this.args = Object.entries(args).map(\n ([argName, argConfig]) => new GraphQLArgument(this, argName, argConfig),\n );\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLDirective';\n }\n\n toConfig(): GraphQLDirectiveNormalizedConfig {\n return {\n name: this.name,\n description: this.description,\n locations: this.locations,\n args: keyValMap(\n this.args,\n (arg) => arg.name,\n (arg) => arg.toConfig(),\n ),\n isRepeatable: this.isRepeatable,\n deprecationReason: this.deprecationReason,\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n };\n }\n\n toString(): string {\n return '@' + this.name;\n }\n\n toJSON(): string {\n return this.toString();\n }\n}\n\nexport interface GraphQLDirectiveConfig {\n name: string;\n description?: Maybe<string>;\n locations: ReadonlyArray<DirectiveLocation>;\n args?: Maybe<ObjMap<GraphQLArgumentConfig>>;\n isRepeatable?: Maybe<boolean>;\n deprecationReason?: Maybe<string>;\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n astNode?: Maybe<DirectiveDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<DirectiveExtensionNode>>;\n}\n\nexport interface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n}\n\n/**\n * Used to conditionally include fields or fragments.\n */\nexport const GraphQLIncludeDirective: GraphQLDirective = new GraphQLDirective({\n name: 'include',\n description:\n 'Directs the executor to include this field or fragment only when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Included when true.',\n },\n },\n});\n\n/**\n * Used to conditionally skip (exclude) fields or fragments.\n */\nexport const GraphQLSkipDirective: GraphQLDirective = new GraphQLDirective({\n name: 'skip',\n description:\n 'Directs the executor to skip this field or fragment when the `if` argument is true.',\n locations: [\n DirectiveLocation.FIELD,\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Skipped when true.',\n },\n },\n});\n\n/**\n * Used to conditionally defer fragments.\n */\nexport const GraphQLDeferDirective: GraphQLDirective = new GraphQLDirective({\n name: 'defer',\n description:\n 'Directs the executor to defer this fragment when the `if` argument is true or undefined.',\n locations: [\n DirectiveLocation.FRAGMENT_SPREAD,\n DirectiveLocation.INLINE_FRAGMENT,\n ],\n args: {\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Deferred when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Used to conditionally stream list fields.\n */\nexport const GraphQLStreamDirective: GraphQLDirective = new GraphQLDirective({\n name: 'stream',\n description:\n 'Directs the executor to stream plural fields when the `if` argument is true or undefined.',\n locations: [DirectiveLocation.FIELD],\n args: {\n initialCount: {\n default: { value: 0 },\n type: new GraphQLNonNull(GraphQLInt),\n description: 'Number of items to return immediately',\n },\n if: {\n type: new GraphQLNonNull(GraphQLBoolean),\n description: 'Stream when true or undefined.',\n default: { value: true },\n },\n label: {\n type: GraphQLString,\n description: 'Unique name',\n },\n },\n});\n\n/**\n * Constant string used for default reason for a deprecation.\n */\nexport const DEFAULT_DEPRECATION_REASON = 'No longer supported';\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n */\nexport const GraphQLDeprecatedDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'deprecated',\n description: 'Marks an element of a GraphQL schema as no longer supported.',\n locations: [\n DirectiveLocation.FIELD_DEFINITION,\n DirectiveLocation.ARGUMENT_DEFINITION,\n DirectiveLocation.INPUT_FIELD_DEFINITION,\n DirectiveLocation.ENUM_VALUE,\n DirectiveLocation.DIRECTIVE_DEFINITION,\n ],\n args: {\n reason: {\n type: new GraphQLNonNull(GraphQLString),\n description:\n 'Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).',\n default: { value: DEFAULT_DEPRECATION_REASON },\n },\n },\n });\n\n/**\n * Used to provide a URL for specifying the behavior of custom scalar definitions.\n */\nexport const GraphQLSpecifiedByDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'specifiedBy',\n description: 'Exposes a URL that specifies the behavior of this scalar.',\n locations: [DirectiveLocation.SCALAR],\n args: {\n url: {\n type: new GraphQLNonNull(GraphQLString),\n description: 'The URL that specifies the behavior of this scalar.',\n },\n },\n });\n\n/**\n * Used to indicate an Input Object is a OneOf Input Object.\n */\nexport const GraphQLOneOfDirective: GraphQLDirective = new GraphQLDirective({\n name: 'oneOf',\n description:\n 'Indicates exactly one field must be supplied and this field must not be `null`.',\n locations: [DirectiveLocation.INPUT_OBJECT],\n args: {},\n});\n\n/**\n * Disables error propagation (experimental).\n */\nexport const GraphQLDisableErrorPropagationDirective: GraphQLDirective =\n new GraphQLDirective({\n name: 'experimental_disableErrorPropagation',\n description: 'Disables error propagation.',\n locations: [\n DirectiveLocation.QUERY,\n DirectiveLocation.MUTATION,\n DirectiveLocation.SUBSCRIPTION,\n ],\n });\n\n/**\n * The full list of specified directives.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLOneOfDirective,\n ]);\n\nexport function isSpecifiedDirective(directive: GraphQLDirective): boolean {\n return specifiedDirectives.some(({ name }) => name === directive.name);\n}\n"]}
package/type/index.d.mts CHANGED
@@ -1,12 +1,12 @@
1
- export type { Path as ResponsePath } from '../jsutils/Path.js';
2
- export { isSchema, assertSchema, GraphQLSchema, } from './schema.js';
3
- export type { GraphQLSchemaConfig, GraphQLSchemaExtensions } from './schema.js';
4
- export type { GraphQLField, GraphQLArgument, GraphQLEnumValue, GraphQLInputField, } from './definition.js';
5
- export { resolveObjMapThunk, resolveReadonlyArrayThunk, isType, isScalarType, isObjectType, isField, isArgument, isInterfaceType, isUnionType, isEnumType, isEnumValue, isInputObjectType, isListType, isNonNullType, isInputType, isInputField, isOutputType, isLeafType, isCompositeType, isAbstractType, isWrappingType, isNullableType, isNamedType, isRequiredArgument, isRequiredInputField, assertType, assertScalarType, assertObjectType, assertField, assertArgument, assertInterfaceType, assertUnionType, assertEnumType, assertEnumValue, assertInputObjectType, assertInputField, assertListType, assertNonNullType, assertInputType, assertOutputType, assertLeafType, assertCompositeType, assertAbstractType, assertWrappingType, assertNullableType, assertNamedType, getNullableType, getNamedType, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLNonNull, } from './definition.js';
6
- export type { GraphQLType, GraphQLInputType, GraphQLOutputType, GraphQLLeafType, GraphQLCompositeType, GraphQLAbstractType, GraphQLWrappingType, GraphQLNullableType, GraphQLNullableInputType, GraphQLNullableOutputType, GraphQLNamedType, GraphQLNamedInputType, GraphQLNamedOutputType, ThunkReadonlyArray, ThunkObjMap, GraphQLArgumentConfig, GraphQLArgumentExtensions, GraphQLEnumTypeConfig, GraphQLEnumTypeExtensions, GraphQLEnumValueConfig, GraphQLEnumValueConfigMap, GraphQLEnumValueExtensions, GraphQLFieldConfig, GraphQLFieldConfigArgumentMap, GraphQLFieldConfigMap, GraphQLFieldExtensions, GraphQLFieldMap, GraphQLFieldResolver, GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputFieldExtensions, GraphQLInputFieldMap, GraphQLInputObjectTypeConfig, GraphQLInputObjectTypeExtensions, GraphQLInterfaceTypeConfig, GraphQLInterfaceTypeExtensions, GraphQLIsTypeOfFn, GraphQLObjectTypeConfig, GraphQLObjectTypeExtensions, GraphQLResolveInfo, GraphQLResolveInfoHelpers, GraphQLScalarTypeConfig, GraphQLScalarTypeExtensions, GraphQLTypeResolver, GraphQLUnionTypeConfig, GraphQLUnionTypeExtensions, GraphQLScalarSerializer, GraphQLScalarValueParser, GraphQLScalarLiteralParser, GraphQLScalarOutputValueCoercer, GraphQLScalarInputValueCoercer, GraphQLScalarInputLiteralCoercer, GraphQLDefaultInput, } from './definition.js';
7
- export { isDirective, assertDirective, GraphQLDirective, isSpecifiedDirective, specifiedDirectives, GraphQLIncludeDirective, GraphQLSkipDirective, GraphQLDeferDirective, GraphQLStreamDirective, GraphQLDeprecatedDirective, GraphQLSpecifiedByDirective, GraphQLOneOfDirective, DEFAULT_DEPRECATION_REASON, } from './directives.js';
8
- export type { GraphQLDirectiveConfig, GraphQLDirectiveExtensions, } from './directives.js';
9
- export { isSpecifiedScalarType, specifiedScalarTypes, GraphQLInt, GraphQLFloat, GraphQLString, GraphQLBoolean, GraphQLID, GRAPHQL_MAX_INT, GRAPHQL_MIN_INT, } from './scalars.js';
10
- export { isIntrospectionType, introspectionTypes, __Schema, __Directive, __DirectiveLocation, __Type, __Field, __InputValue, __EnumValue, __TypeKind, TypeKind, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from './introspection.js';
11
- export { validateSchema, assertValidSchema } from './validate.js';
12
- export { assertName, assertEnumValueName } from './assertName.js';
1
+ export type { Path as ResponsePath } from "../jsutils/Path.mjs";
2
+ export { isSchema, assertSchema, GraphQLSchema, } from "./schema.mjs";
3
+ export type { GraphQLSchemaConfig, GraphQLSchemaExtensions } from "./schema.mjs";
4
+ export type { GraphQLField, GraphQLArgument, GraphQLEnumValue, GraphQLInputField, } from "./definition.mjs";
5
+ export { resolveObjMapThunk, resolveReadonlyArrayThunk, isType, isScalarType, isObjectType, isField, isArgument, isInterfaceType, isUnionType, isEnumType, isEnumValue, isInputObjectType, isListType, isNonNullType, isInputType, isInputField, isOutputType, isLeafType, isCompositeType, isAbstractType, isWrappingType, isNullableType, isNamedType, isRequiredArgument, isRequiredInputField, assertType, assertScalarType, assertObjectType, assertField, assertArgument, assertInterfaceType, assertUnionType, assertEnumType, assertEnumValue, assertInputObjectType, assertInputField, assertListType, assertNonNullType, assertInputType, assertOutputType, assertLeafType, assertCompositeType, assertAbstractType, assertWrappingType, assertNullableType, assertNamedType, getNullableType, getNamedType, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLNonNull, } from "./definition.mjs";
6
+ export type { GraphQLType, GraphQLInputType, GraphQLOutputType, GraphQLLeafType, GraphQLCompositeType, GraphQLAbstractType, GraphQLWrappingType, GraphQLNullableType, GraphQLNullableInputType, GraphQLNullableOutputType, GraphQLNamedType, GraphQLNamedInputType, GraphQLNamedOutputType, ThunkReadonlyArray, ThunkObjMap, GraphQLArgumentConfig, GraphQLArgumentExtensions, GraphQLEnumTypeConfig, GraphQLEnumTypeExtensions, GraphQLEnumValueConfig, GraphQLEnumValueConfigMap, GraphQLEnumValueExtensions, GraphQLFieldConfig, GraphQLFieldConfigArgumentMap, GraphQLFieldConfigMap, GraphQLFieldExtensions, GraphQLFieldMap, GraphQLFieldResolver, GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputFieldExtensions, GraphQLInputFieldMap, GraphQLInputObjectTypeConfig, GraphQLInputObjectTypeExtensions, GraphQLInterfaceTypeConfig, GraphQLInterfaceTypeExtensions, GraphQLIsTypeOfFn, GraphQLObjectTypeConfig, GraphQLObjectTypeExtensions, GraphQLResolveInfo, GraphQLResolveInfoHelpers, GraphQLScalarTypeConfig, GraphQLScalarTypeExtensions, GraphQLTypeResolver, GraphQLUnionTypeConfig, GraphQLUnionTypeExtensions, GraphQLScalarSerializer, GraphQLScalarValueParser, GraphQLScalarLiteralParser, GraphQLScalarOutputValueCoercer, GraphQLScalarInputValueCoercer, GraphQLScalarInputLiteralCoercer, GraphQLDefaultInput, } from "./definition.mjs";
7
+ export { isDirective, assertDirective, GraphQLDirective, isSpecifiedDirective, specifiedDirectives, GraphQLIncludeDirective, GraphQLSkipDirective, GraphQLDeferDirective, GraphQLStreamDirective, GraphQLDeprecatedDirective, GraphQLSpecifiedByDirective, GraphQLOneOfDirective, DEFAULT_DEPRECATION_REASON, } from "./directives.mjs";
8
+ export type { GraphQLDirectiveConfig, GraphQLDirectiveExtensions, } from "./directives.mjs";
9
+ export { isSpecifiedScalarType, specifiedScalarTypes, GraphQLInt, GraphQLFloat, GraphQLString, GraphQLBoolean, GraphQLID, GRAPHQL_MAX_INT, GRAPHQL_MIN_INT, } from "./scalars.mjs";
10
+ export { isIntrospectionType, introspectionTypes, __Schema, __Directive, __DirectiveLocation, __Type, __Field, __InputValue, __EnumValue, __TypeKind, TypeKind, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from "./introspection.mjs";
11
+ export { validateSchema, assertValidSchema } from "./validate.mjs";
12
+ export { assertName, assertEnumValueName } from "./assertName.mjs";
package/type/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- export type { Path as ResponsePath } from '../jsutils/Path.js';
2
- export { isSchema, assertSchema, GraphQLSchema, } from './schema.js';
3
- export type { GraphQLSchemaConfig, GraphQLSchemaExtensions } from './schema.js';
4
- export type { GraphQLField, GraphQLArgument, GraphQLEnumValue, GraphQLInputField, } from './definition.js';
5
- export { resolveObjMapThunk, resolveReadonlyArrayThunk, isType, isScalarType, isObjectType, isField, isArgument, isInterfaceType, isUnionType, isEnumType, isEnumValue, isInputObjectType, isListType, isNonNullType, isInputType, isInputField, isOutputType, isLeafType, isCompositeType, isAbstractType, isWrappingType, isNullableType, isNamedType, isRequiredArgument, isRequiredInputField, assertType, assertScalarType, assertObjectType, assertField, assertArgument, assertInterfaceType, assertUnionType, assertEnumType, assertEnumValue, assertInputObjectType, assertInputField, assertListType, assertNonNullType, assertInputType, assertOutputType, assertLeafType, assertCompositeType, assertAbstractType, assertWrappingType, assertNullableType, assertNamedType, getNullableType, getNamedType, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLNonNull, } from './definition.js';
6
- export type { GraphQLType, GraphQLInputType, GraphQLOutputType, GraphQLLeafType, GraphQLCompositeType, GraphQLAbstractType, GraphQLWrappingType, GraphQLNullableType, GraphQLNullableInputType, GraphQLNullableOutputType, GraphQLNamedType, GraphQLNamedInputType, GraphQLNamedOutputType, ThunkReadonlyArray, ThunkObjMap, GraphQLArgumentConfig, GraphQLArgumentExtensions, GraphQLEnumTypeConfig, GraphQLEnumTypeExtensions, GraphQLEnumValueConfig, GraphQLEnumValueConfigMap, GraphQLEnumValueExtensions, GraphQLFieldConfig, GraphQLFieldConfigArgumentMap, GraphQLFieldConfigMap, GraphQLFieldExtensions, GraphQLFieldMap, GraphQLFieldResolver, GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputFieldExtensions, GraphQLInputFieldMap, GraphQLInputObjectTypeConfig, GraphQLInputObjectTypeExtensions, GraphQLInterfaceTypeConfig, GraphQLInterfaceTypeExtensions, GraphQLIsTypeOfFn, GraphQLObjectTypeConfig, GraphQLObjectTypeExtensions, GraphQLResolveInfo, GraphQLResolveInfoHelpers, GraphQLScalarTypeConfig, GraphQLScalarTypeExtensions, GraphQLTypeResolver, GraphQLUnionTypeConfig, GraphQLUnionTypeExtensions, GraphQLScalarSerializer, GraphQLScalarValueParser, GraphQLScalarLiteralParser, GraphQLScalarOutputValueCoercer, GraphQLScalarInputValueCoercer, GraphQLScalarInputLiteralCoercer, GraphQLDefaultInput, } from './definition.js';
7
- export { isDirective, assertDirective, GraphQLDirective, isSpecifiedDirective, specifiedDirectives, GraphQLIncludeDirective, GraphQLSkipDirective, GraphQLDeferDirective, GraphQLStreamDirective, GraphQLDeprecatedDirective, GraphQLSpecifiedByDirective, GraphQLOneOfDirective, DEFAULT_DEPRECATION_REASON, } from './directives.js';
8
- export type { GraphQLDirectiveConfig, GraphQLDirectiveExtensions, } from './directives.js';
9
- export { isSpecifiedScalarType, specifiedScalarTypes, GraphQLInt, GraphQLFloat, GraphQLString, GraphQLBoolean, GraphQLID, GRAPHQL_MAX_INT, GRAPHQL_MIN_INT, } from './scalars.js';
10
- export { isIntrospectionType, introspectionTypes, __Schema, __Directive, __DirectiveLocation, __Type, __Field, __InputValue, __EnumValue, __TypeKind, TypeKind, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from './introspection.js';
11
- export { validateSchema, assertValidSchema } from './validate.js';
12
- export { assertName, assertEnumValueName } from './assertName.js';
1
+ export type { Path as ResponsePath } from "../jsutils/Path.js";
2
+ export { isSchema, assertSchema, GraphQLSchema, } from "./schema.js";
3
+ export type { GraphQLSchemaConfig, GraphQLSchemaExtensions } from "./schema.js";
4
+ export type { GraphQLField, GraphQLArgument, GraphQLEnumValue, GraphQLInputField, } from "./definition.js";
5
+ export { resolveObjMapThunk, resolveReadonlyArrayThunk, isType, isScalarType, isObjectType, isField, isArgument, isInterfaceType, isUnionType, isEnumType, isEnumValue, isInputObjectType, isListType, isNonNullType, isInputType, isInputField, isOutputType, isLeafType, isCompositeType, isAbstractType, isWrappingType, isNullableType, isNamedType, isRequiredArgument, isRequiredInputField, assertType, assertScalarType, assertObjectType, assertField, assertArgument, assertInterfaceType, assertUnionType, assertEnumType, assertEnumValue, assertInputObjectType, assertInputField, assertListType, assertNonNullType, assertInputType, assertOutputType, assertLeafType, assertCompositeType, assertAbstractType, assertWrappingType, assertNullableType, assertNamedType, getNullableType, getNamedType, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLNonNull, } from "./definition.js";
6
+ export type { GraphQLType, GraphQLInputType, GraphQLOutputType, GraphQLLeafType, GraphQLCompositeType, GraphQLAbstractType, GraphQLWrappingType, GraphQLNullableType, GraphQLNullableInputType, GraphQLNullableOutputType, GraphQLNamedType, GraphQLNamedInputType, GraphQLNamedOutputType, ThunkReadonlyArray, ThunkObjMap, GraphQLArgumentConfig, GraphQLArgumentExtensions, GraphQLEnumTypeConfig, GraphQLEnumTypeExtensions, GraphQLEnumValueConfig, GraphQLEnumValueConfigMap, GraphQLEnumValueExtensions, GraphQLFieldConfig, GraphQLFieldConfigArgumentMap, GraphQLFieldConfigMap, GraphQLFieldExtensions, GraphQLFieldMap, GraphQLFieldResolver, GraphQLInputFieldConfig, GraphQLInputFieldConfigMap, GraphQLInputFieldExtensions, GraphQLInputFieldMap, GraphQLInputObjectTypeConfig, GraphQLInputObjectTypeExtensions, GraphQLInterfaceTypeConfig, GraphQLInterfaceTypeExtensions, GraphQLIsTypeOfFn, GraphQLObjectTypeConfig, GraphQLObjectTypeExtensions, GraphQLResolveInfo, GraphQLResolveInfoHelpers, GraphQLScalarTypeConfig, GraphQLScalarTypeExtensions, GraphQLTypeResolver, GraphQLUnionTypeConfig, GraphQLUnionTypeExtensions, GraphQLScalarSerializer, GraphQLScalarValueParser, GraphQLScalarLiteralParser, GraphQLScalarOutputValueCoercer, GraphQLScalarInputValueCoercer, GraphQLScalarInputLiteralCoercer, GraphQLDefaultInput, } from "./definition.js";
7
+ export { isDirective, assertDirective, GraphQLDirective, isSpecifiedDirective, specifiedDirectives, GraphQLIncludeDirective, GraphQLSkipDirective, GraphQLDeferDirective, GraphQLStreamDirective, GraphQLDeprecatedDirective, GraphQLSpecifiedByDirective, GraphQLOneOfDirective, DEFAULT_DEPRECATION_REASON, } from "./directives.js";
8
+ export type { GraphQLDirectiveConfig, GraphQLDirectiveExtensions, } from "./directives.js";
9
+ export { isSpecifiedScalarType, specifiedScalarTypes, GraphQLInt, GraphQLFloat, GraphQLString, GraphQLBoolean, GraphQLID, GRAPHQL_MAX_INT, GRAPHQL_MIN_INT, } from "./scalars.js";
10
+ export { isIntrospectionType, introspectionTypes, __Schema, __Directive, __DirectiveLocation, __Type, __Field, __InputValue, __EnumValue, __TypeKind, TypeKind, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from "./introspection.js";
11
+ export { validateSchema, assertValidSchema } from "./validate.js";
12
+ export { assertName, assertEnumValueName } from "./assertName.js";