graphql 17.0.0-beta.0 → 17.0.0-beta.2

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 (1193) hide show
  1. package/__dev__/devMode.d.ts +1 -1
  2. package/__dev__/error/GraphQLError.d.ts +1 -1
  3. package/__dev__/error/ensureGraphQLError.d.ts +1 -1
  4. package/__dev__/error/index.d.ts +1 -1
  5. package/__dev__/error/locatedError.d.ts +1 -1
  6. package/__dev__/error/syntaxError.d.ts +1 -1
  7. package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -1
  8. package/__dev__/execution/AsyncWorkTracker.d.ts +1 -1
  9. package/__dev__/execution/ExecutionArgs.d.mts +1 -0
  10. package/__dev__/execution/ExecutionArgs.d.ts +1 -0
  11. package/__dev__/execution/ExecutionArgs.js +3 -0
  12. package/__dev__/execution/ExecutionArgs.mjs +3 -0
  13. package/__dev__/execution/Executor.d.ts +1 -1
  14. package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -1
  15. package/__dev__/execution/buildResolveInfo.d.mts +1 -0
  16. package/__dev__/execution/buildResolveInfo.d.ts +1 -0
  17. package/__dev__/execution/buildResolveInfo.js +3 -0
  18. package/__dev__/execution/buildResolveInfo.mjs +3 -0
  19. package/__dev__/execution/cancellablePromise.d.ts +1 -1
  20. package/__dev__/execution/collectFields.d.ts +1 -1
  21. package/__dev__/execution/collectIteratorPromises.d.ts +1 -1
  22. package/__dev__/execution/createSharedExecutionContext.d.ts +1 -1
  23. package/__dev__/execution/execute.d.ts +1 -1
  24. package/__dev__/execution/getStreamUsage.d.ts +1 -1
  25. package/__dev__/execution/getVariableSignature.d.ts +1 -1
  26. package/__dev__/execution/hooks.d.ts +1 -1
  27. package/__dev__/execution/incremental/Computation.d.ts +1 -1
  28. package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -1
  29. package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -1
  30. package/__dev__/execution/incremental/Queue.d.ts +1 -1
  31. package/__dev__/execution/incremental/WorkQueue.d.ts +1 -1
  32. package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -1
  33. package/__dev__/execution/index.d.ts +1 -1
  34. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +1 -0
  35. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +1 -0
  36. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.js +3 -0
  37. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +3 -0
  38. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +1 -0
  39. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +1 -0
  40. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.js +3 -0
  41. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +3 -0
  42. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +1 -0
  43. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +1 -0
  44. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.js +3 -0
  45. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.mjs +3 -0
  46. package/__dev__/execution/mapAsyncIterable.d.ts +1 -1
  47. package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -1
  48. package/__dev__/execution/values.d.ts +1 -1
  49. package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -1
  50. package/__dev__/graphql.d.ts +1 -1
  51. package/__dev__/harness.d.ts +1 -1
  52. package/__dev__/index.d.ts +1 -1
  53. package/__dev__/jsutils/AccumulatorMap.d.ts +1 -1
  54. package/__dev__/jsutils/Maybe.d.ts +1 -1
  55. package/__dev__/jsutils/ObjMap.d.ts +1 -1
  56. package/__dev__/jsutils/Path.d.ts +1 -1
  57. package/__dev__/jsutils/PromiseOrValue.d.ts +1 -1
  58. package/__dev__/jsutils/capitalize.d.ts +1 -1
  59. package/__dev__/jsutils/devAssert.d.ts +1 -1
  60. package/__dev__/jsutils/didYouMean.d.ts +1 -1
  61. package/__dev__/jsutils/formatList.d.ts +1 -1
  62. package/__dev__/jsutils/getBySet.d.ts +1 -1
  63. package/__dev__/jsutils/groupBy.d.ts +1 -1
  64. package/__dev__/jsutils/identityFunc.d.ts +1 -1
  65. package/__dev__/jsutils/inspect.d.ts +1 -1
  66. package/__dev__/jsutils/instanceOf.d.ts +1 -1
  67. package/__dev__/jsutils/invariant.d.ts +1 -1
  68. package/__dev__/jsutils/isAsyncIterable.d.ts +1 -1
  69. package/__dev__/jsutils/isIterableObject.d.ts +1 -1
  70. package/__dev__/jsutils/isObjectLike.d.ts +1 -1
  71. package/__dev__/jsutils/isPromise.d.ts +1 -1
  72. package/__dev__/jsutils/isSameSet.d.ts +1 -1
  73. package/__dev__/jsutils/keyMap.d.ts +1 -1
  74. package/__dev__/jsutils/keyValMap.d.ts +1 -1
  75. package/__dev__/jsutils/mapValue.d.ts +1 -1
  76. package/__dev__/jsutils/memoize1.d.ts +1 -1
  77. package/__dev__/jsutils/memoize2.d.ts +1 -1
  78. package/__dev__/jsutils/memoize3.d.ts +1 -1
  79. package/__dev__/jsutils/naturalCompare.d.ts +1 -1
  80. package/__dev__/jsutils/printPathArray.d.ts +1 -1
  81. package/__dev__/jsutils/promiseForObject.d.ts +1 -1
  82. package/__dev__/jsutils/promiseReduce.d.ts +1 -1
  83. package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -1
  84. package/__dev__/jsutils/suggestionList.d.ts +1 -1
  85. package/__dev__/jsutils/toError.d.ts +1 -1
  86. package/__dev__/jsutils/toObjMap.d.ts +1 -1
  87. package/__dev__/language/KindTypeMap.d.ts +1 -1
  88. package/__dev__/language/ast.d.ts +1 -1
  89. package/__dev__/language/blockString.d.ts +1 -1
  90. package/__dev__/language/characterClasses.d.ts +1 -1
  91. package/__dev__/language/directiveLocation.d.ts +1 -1
  92. package/__dev__/language/index.d.ts +1 -1
  93. package/__dev__/language/kinds.d.ts +1 -1
  94. package/__dev__/language/kinds_.d.ts +1 -1
  95. package/__dev__/language/lexer.d.ts +1 -1
  96. package/__dev__/language/location.d.ts +1 -1
  97. package/__dev__/language/parser.d.ts +1 -1
  98. package/__dev__/language/predicates.d.ts +1 -1
  99. package/__dev__/language/printLocation.d.ts +1 -1
  100. package/__dev__/language/printString.d.ts +1 -1
  101. package/__dev__/language/printer.d.ts +1 -1
  102. package/__dev__/language/schemaCoordinateLexer.d.ts +1 -1
  103. package/__dev__/language/source.d.ts +1 -1
  104. package/__dev__/language/tokenKind.d.ts +1 -1
  105. package/__dev__/language/visitor.d.ts +1 -1
  106. package/__dev__/type/assertName.d.ts +1 -1
  107. package/__dev__/type/definition.d.ts +1 -1
  108. package/__dev__/type/directives.d.ts +1 -1
  109. package/__dev__/type/index.d.ts +1 -1
  110. package/__dev__/type/introspection.d.ts +1 -1
  111. package/__dev__/type/scalars.d.ts +1 -1
  112. package/__dev__/type/schema.d.ts +1 -1
  113. package/__dev__/type/validate.d.ts +1 -1
  114. package/__dev__/utilities/TypeInfo.d.ts +1 -1
  115. package/__dev__/utilities/astFromValue.d.ts +1 -1
  116. package/__dev__/utilities/buildASTSchema.d.ts +1 -1
  117. package/__dev__/utilities/buildClientSchema.d.ts +1 -1
  118. package/__dev__/utilities/coerceInputValue.d.ts +1 -1
  119. package/__dev__/utilities/concatAST.d.ts +1 -1
  120. package/__dev__/utilities/extendSchema.d.ts +1 -1
  121. package/__dev__/utilities/findSchemaChanges.d.ts +1 -1
  122. package/__dev__/utilities/getDefaultValueAST.d.ts +1 -1
  123. package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -1
  124. package/__dev__/utilities/getOperationAST.d.ts +1 -1
  125. package/__dev__/utilities/index.d.ts +1 -1
  126. package/__dev__/utilities/introspectionFromSchema.d.ts +1 -1
  127. package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -1
  128. package/__dev__/utilities/mapSchemaConfig.d.ts +1 -1
  129. package/__dev__/utilities/printSchema.d.ts +1 -1
  130. package/__dev__/utilities/replaceVariables.d.ts +1 -1
  131. package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -1
  132. package/__dev__/utilities/separateOperations.d.ts +1 -1
  133. package/__dev__/utilities/sortValueNode.d.ts +1 -1
  134. package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -1
  135. package/__dev__/utilities/typeComparators.d.ts +1 -1
  136. package/__dev__/utilities/typeFromAST.d.ts +1 -1
  137. package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -1
  138. package/__dev__/utilities/validateInputValue.d.ts +1 -1
  139. package/__dev__/utilities/valueFromAST.d.ts +1 -1
  140. package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -1
  141. package/__dev__/utilities/valueToLiteral.d.ts +1 -1
  142. package/__dev__/validation/ValidationContext.d.ts +1 -1
  143. package/__dev__/validation/index.d.ts +1 -1
  144. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -1
  145. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -1
  146. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -1
  147. package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -1
  148. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -1
  149. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -1
  150. package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -1
  151. package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -1
  152. package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -1
  153. package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -1
  154. package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -1
  155. package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -1
  156. package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -1
  157. package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -1
  158. package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -1
  159. package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -1
  160. package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -1
  161. package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -1
  162. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -1
  163. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -1
  164. package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -1
  165. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -1
  166. package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -1
  167. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -1
  168. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -1
  169. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -1
  170. package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -1
  171. package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -1
  172. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -1
  173. package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -1
  174. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -1
  175. package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -1
  176. package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -1
  177. package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -1
  178. package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -1
  179. package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -1
  180. package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -1
  181. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -1
  182. package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -1
  183. package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -1
  184. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -1
  185. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -1
  186. package/__dev__/validation/specifiedRules.d.ts +1 -1
  187. package/__dev__/validation/validate.d.ts +1 -1
  188. package/__dev__/version.d.ts +1 -1
  189. package/devMode.d.mts +29 -0
  190. package/devMode.d.ts +29 -0
  191. package/devMode.js +2 -2
  192. package/devMode.js.map +1 -1
  193. package/devMode.mjs.map +1 -1
  194. package/error/GraphQLError.d.mts +98 -14
  195. package/error/GraphQLError.d.ts +98 -14
  196. package/error/GraphQLError.js +18 -28
  197. package/error/GraphQLError.js.map +1 -1
  198. package/error/GraphQLError.mjs +11 -21
  199. package/error/GraphQLError.mjs.map +1 -1
  200. package/error/ensureGraphQLError.d.mts +3 -1
  201. package/error/ensureGraphQLError.d.ts +3 -1
  202. package/error/ensureGraphQLError.js +5 -8
  203. package/error/ensureGraphQLError.js.map +1 -1
  204. package/error/ensureGraphQLError.mjs +0 -3
  205. package/error/ensureGraphQLError.mjs.map +1 -1
  206. package/error/index.d.mts +10 -4
  207. package/error/index.d.ts +10 -4
  208. package/error/index.js +6 -6
  209. package/error/index.js.map +1 -1
  210. package/error/index.mjs.map +1 -1
  211. package/error/locatedError.d.mts +23 -3
  212. package/error/locatedError.d.ts +23 -3
  213. package/error/locatedError.js +4 -10
  214. package/error/locatedError.js.map +1 -1
  215. package/error/locatedError.mjs +0 -6
  216. package/error/locatedError.mjs.map +1 -1
  217. package/error/syntaxError.d.mts +17 -2
  218. package/error/syntaxError.d.ts +17 -2
  219. package/error/syntaxError.js +2 -6
  220. package/error/syntaxError.js.map +1 -1
  221. package/error/syntaxError.mjs +0 -4
  222. package/error/syntaxError.mjs.map +1 -1
  223. package/execution/AbortedGraphQLExecutionError.d.mts +28 -1
  224. package/execution/AbortedGraphQLExecutionError.d.ts +28 -1
  225. package/execution/AbortedGraphQLExecutionError.js.map +1 -1
  226. package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
  227. package/execution/AsyncWorkTracker.d.mts +1 -1
  228. package/execution/AsyncWorkTracker.d.ts +1 -1
  229. package/execution/AsyncWorkTracker.js +3 -7
  230. package/execution/AsyncWorkTracker.js.map +1 -1
  231. package/execution/AsyncWorkTracker.mjs +1 -5
  232. package/execution/AsyncWorkTracker.mjs.map +1 -1
  233. package/execution/ExecutionArgs.d.mts +101 -0
  234. package/execution/ExecutionArgs.d.ts +101 -0
  235. package/execution/ExecutionArgs.js +3 -0
  236. package/execution/ExecutionArgs.js.map +1 -0
  237. package/execution/ExecutionArgs.mjs +2 -0
  238. package/execution/ExecutionArgs.mjs.map +1 -0
  239. package/execution/Executor.d.mts +55 -52
  240. package/execution/Executor.d.ts +55 -52
  241. package/execution/Executor.js +84 -206
  242. package/execution/Executor.js.map +1 -1
  243. package/execution/Executor.mjs +3 -125
  244. package/execution/Executor.mjs.map +1 -1
  245. package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
  246. package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
  247. package/execution/ExecutorThrowingOnIncremental.js +11 -13
  248. package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
  249. package/execution/ExecutorThrowingOnIncremental.mjs +0 -2
  250. package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
  251. package/execution/buildResolveInfo.d.mts +16 -0
  252. package/execution/buildResolveInfo.d.ts +16 -0
  253. package/execution/buildResolveInfo.js +21 -0
  254. package/execution/buildResolveInfo.js.map +1 -0
  255. package/execution/buildResolveInfo.mjs +18 -0
  256. package/execution/buildResolveInfo.mjs.map +1 -0
  257. package/execution/cancellablePromise.d.mts +3 -0
  258. package/execution/cancellablePromise.d.ts +3 -0
  259. package/execution/cancellablePromise.js +2 -2
  260. package/execution/cancellablePromise.js.map +1 -1
  261. package/execution/cancellablePromise.mjs.map +1 -1
  262. package/execution/collectFields.d.mts +15 -9
  263. package/execution/collectFields.d.ts +15 -9
  264. package/execution/collectFields.js +19 -60
  265. package/execution/collectFields.js.map +1 -1
  266. package/execution/collectFields.mjs +0 -41
  267. package/execution/collectFields.mjs.map +1 -1
  268. package/execution/collectIteratorPromises.d.mts +2 -0
  269. package/execution/collectIteratorPromises.d.ts +2 -0
  270. package/execution/collectIteratorPromises.js +2 -7
  271. package/execution/collectIteratorPromises.js.map +1 -1
  272. package/execution/collectIteratorPromises.mjs +0 -5
  273. package/execution/collectIteratorPromises.mjs.map +1 -1
  274. package/execution/createSharedExecutionContext.d.mts +3 -2
  275. package/execution/createSharedExecutionContext.d.ts +3 -2
  276. package/execution/createSharedExecutionContext.js +2 -2
  277. package/execution/createSharedExecutionContext.js.map +1 -1
  278. package/execution/createSharedExecutionContext.mjs.map +1 -1
  279. package/execution/execute.d.mts +412 -47
  280. package/execution/execute.d.ts +412 -47
  281. package/execution/execute.js +73 -254
  282. package/execution/execute.js.map +1 -1
  283. package/execution/execute.mjs +12 -193
  284. package/execution/execute.mjs.map +1 -1
  285. package/execution/getStreamUsage.d.mts +5 -2
  286. package/execution/getStreamUsage.d.ts +5 -2
  287. package/execution/getStreamUsage.js +9 -16
  288. package/execution/getStreamUsage.js.map +1 -1
  289. package/execution/getStreamUsage.mjs +0 -7
  290. package/execution/getStreamUsage.mjs.map +1 -1
  291. package/execution/getVariableSignature.d.mts +7 -4
  292. package/execution/getVariableSignature.d.ts +7 -4
  293. package/execution/getVariableSignature.js +8 -10
  294. package/execution/getVariableSignature.js.map +1 -1
  295. package/execution/getVariableSignature.mjs +0 -2
  296. package/execution/getVariableSignature.mjs.map +1 -1
  297. package/execution/hooks.d.mts +4 -8
  298. package/execution/hooks.d.ts +4 -8
  299. package/execution/hooks.js +0 -1
  300. package/execution/hooks.js.map +1 -1
  301. package/execution/hooks.mjs +0 -1
  302. package/execution/hooks.mjs.map +1 -1
  303. package/execution/incremental/Computation.d.mts +2 -2
  304. package/execution/incremental/Computation.d.ts +2 -2
  305. package/execution/incremental/Computation.js +2 -3
  306. package/execution/incremental/Computation.js.map +1 -1
  307. package/execution/incremental/Computation.mjs +0 -1
  308. package/execution/incremental/Computation.mjs.map +1 -1
  309. package/execution/incremental/IncrementalExecutor.d.mts +137 -22
  310. package/execution/incremental/IncrementalExecutor.d.ts +137 -22
  311. package/execution/incremental/IncrementalExecutor.js +47 -77
  312. package/execution/incremental/IncrementalExecutor.js.map +1 -1
  313. package/execution/incremental/IncrementalExecutor.mjs +2 -32
  314. package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
  315. package/execution/incremental/IncrementalPublisher.d.mts +4 -6
  316. package/execution/incremental/IncrementalPublisher.d.ts +4 -6
  317. package/execution/incremental/IncrementalPublisher.js +12 -18
  318. package/execution/incremental/IncrementalPublisher.js.map +1 -1
  319. package/execution/incremental/IncrementalPublisher.mjs +0 -6
  320. package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
  321. package/execution/incremental/Queue.d.mts +1 -1
  322. package/execution/incremental/Queue.d.ts +1 -1
  323. package/execution/incremental/Queue.js +22 -79
  324. package/execution/incremental/Queue.js.map +1 -1
  325. package/execution/incremental/Queue.mjs +8 -64
  326. package/execution/incremental/Queue.mjs.map +1 -1
  327. package/execution/incremental/WorkQueue.d.mts +10 -2
  328. package/execution/incremental/WorkQueue.d.ts +10 -2
  329. package/execution/incremental/WorkQueue.js +7 -22
  330. package/execution/incremental/WorkQueue.js.map +1 -1
  331. package/execution/incremental/WorkQueue.mjs +0 -15
  332. package/execution/incremental/WorkQueue.mjs.map +1 -1
  333. package/execution/incremental/buildExecutionPlan.d.mts +4 -1
  334. package/execution/incremental/buildExecutionPlan.d.ts +4 -1
  335. package/execution/incremental/buildExecutionPlan.js +4 -4
  336. package/execution/incremental/buildExecutionPlan.js.map +1 -1
  337. package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
  338. package/execution/index.d.mts +17 -8
  339. package/execution/index.d.ts +17 -8
  340. package/execution/index.js +26 -22
  341. package/execution/index.js.map +1 -1
  342. package/execution/index.mjs +2 -1
  343. package/execution/index.mjs.map +1 -1
  344. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +175 -0
  345. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +175 -0
  346. package/execution/legacyIncremental/BranchingIncrementalExecutor.js +69 -0
  347. package/execution/legacyIncremental/BranchingIncrementalExecutor.js.map +1 -0
  348. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +65 -0
  349. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs.map +1 -0
  350. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +12 -0
  351. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +12 -0
  352. package/execution/legacyIncremental/BranchingIncrementalPublisher.js +131 -0
  353. package/execution/legacyIncremental/BranchingIncrementalPublisher.js.map +1 -0
  354. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +127 -0
  355. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs.map +1 -0
  356. package/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +165 -0
  357. package/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +165 -0
  358. package/execution/legacyIncremental/legacyExecuteIncrementally.js +17 -0
  359. package/execution/legacyIncremental/legacyExecuteIncrementally.js.map +1 -0
  360. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs +13 -0
  361. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs.map +1 -0
  362. package/execution/mapAsyncIterable.d.mts +3 -1
  363. package/execution/mapAsyncIterable.d.ts +3 -1
  364. package/execution/mapAsyncIterable.js +4 -9
  365. package/execution/mapAsyncIterable.js.map +1 -1
  366. package/execution/mapAsyncIterable.mjs +0 -5
  367. package/execution/mapAsyncIterable.mjs.map +1 -1
  368. package/execution/returnIteratorCatchingErrors.d.mts +1 -0
  369. package/execution/returnIteratorCatchingErrors.d.ts +1 -0
  370. package/execution/returnIteratorCatchingErrors.js +1 -2
  371. package/execution/returnIteratorCatchingErrors.js.map +1 -1
  372. package/execution/returnIteratorCatchingErrors.mjs +1 -2
  373. package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
  374. package/execution/values.d.mts +196 -14
  375. package/execution/values.d.ts +196 -14
  376. package/execution/values.js +45 -86
  377. package/execution/values.js.map +1 -1
  378. package/execution/values.mjs +14 -55
  379. package/execution/values.mjs.map +1 -1
  380. package/execution/withConcurrentAbruptClose.d.mts +3 -1
  381. package/execution/withConcurrentAbruptClose.d.ts +3 -1
  382. package/execution/withConcurrentAbruptClose.js +3 -17
  383. package/execution/withConcurrentAbruptClose.js.map +1 -1
  384. package/execution/withConcurrentAbruptClose.mjs +1 -15
  385. package/execution/withConcurrentAbruptClose.mjs.map +1 -1
  386. package/graphql.d.mts +198 -50
  387. package/graphql.d.ts +198 -50
  388. package/graphql.js +11 -23
  389. package/graphql.js.map +1 -1
  390. package/graphql.mjs +0 -12
  391. package/graphql.mjs.map +1 -1
  392. package/harness.d.mts +21 -4
  393. package/harness.d.ts +21 -4
  394. package/harness.js +7 -7
  395. package/harness.js.map +1 -1
  396. package/harness.mjs.map +1 -1
  397. package/index.d.mts +41 -39
  398. package/index.d.ts +41 -39
  399. package/index.js +260 -346
  400. package/index.js.map +1 -1
  401. package/index.mjs +5 -149
  402. package/index.mjs.map +1 -1
  403. package/jsutils/AccumulatorMap.d.mts +2 -0
  404. package/jsutils/AccumulatorMap.d.ts +2 -0
  405. package/jsutils/AccumulatorMap.js +0 -4
  406. package/jsutils/AccumulatorMap.js.map +1 -1
  407. package/jsutils/AccumulatorMap.mjs +0 -4
  408. package/jsutils/AccumulatorMap.mjs.map +1 -1
  409. package/jsutils/Maybe.d.mts +5 -1
  410. package/jsutils/Maybe.d.ts +5 -1
  411. package/jsutils/Maybe.js.map +1 -1
  412. package/jsutils/Maybe.mjs.map +1 -1
  413. package/jsutils/ObjMap.d.mts +6 -0
  414. package/jsutils/ObjMap.d.ts +6 -0
  415. package/jsutils/ObjMap.js.map +1 -1
  416. package/jsutils/ObjMap.mjs.map +1 -1
  417. package/jsutils/Path.d.mts +31 -1
  418. package/jsutils/Path.d.ts +31 -1
  419. package/jsutils/Path.js +0 -6
  420. package/jsutils/Path.js.map +1 -1
  421. package/jsutils/Path.mjs +0 -6
  422. package/jsutils/Path.mjs.map +1 -1
  423. package/jsutils/PromiseOrValue.d.mts +1 -0
  424. package/jsutils/PromiseOrValue.d.ts +1 -0
  425. package/jsutils/PromiseOrValue.js.map +1 -1
  426. package/jsutils/PromiseOrValue.mjs.map +1 -1
  427. package/jsutils/capitalize.d.mts +2 -0
  428. package/jsutils/capitalize.d.ts +2 -0
  429. package/jsutils/capitalize.js +0 -3
  430. package/jsutils/capitalize.js.map +1 -1
  431. package/jsutils/capitalize.mjs +0 -3
  432. package/jsutils/capitalize.mjs.map +1 -1
  433. package/jsutils/devAssert.d.mts +1 -0
  434. package/jsutils/devAssert.d.ts +1 -0
  435. package/jsutils/devAssert.js.map +1 -1
  436. package/jsutils/devAssert.mjs.map +1 -1
  437. package/jsutils/didYouMean.d.mts +4 -1
  438. package/jsutils/didYouMean.d.ts +4 -1
  439. package/jsutils/didYouMean.js +2 -2
  440. package/jsutils/didYouMean.js.map +1 -1
  441. package/jsutils/didYouMean.mjs.map +1 -1
  442. package/jsutils/formatList.d.mts +6 -2
  443. package/jsutils/formatList.d.ts +6 -2
  444. package/jsutils/formatList.js +2 -8
  445. package/jsutils/formatList.js.map +1 -1
  446. package/jsutils/formatList.mjs +0 -6
  447. package/jsutils/formatList.mjs.map +1 -1
  448. package/jsutils/getBySet.d.mts +1 -0
  449. package/jsutils/getBySet.d.ts +1 -0
  450. package/jsutils/getBySet.js +2 -2
  451. package/jsutils/getBySet.js.map +1 -1
  452. package/jsutils/getBySet.mjs.map +1 -1
  453. package/jsutils/groupBy.d.mts +2 -0
  454. package/jsutils/groupBy.d.ts +2 -0
  455. package/jsutils/groupBy.js +2 -5
  456. package/jsutils/groupBy.js.map +1 -1
  457. package/jsutils/groupBy.mjs +0 -3
  458. package/jsutils/groupBy.mjs.map +1 -1
  459. package/jsutils/identityFunc.d.mts +2 -0
  460. package/jsutils/identityFunc.d.ts +2 -0
  461. package/jsutils/identityFunc.js +0 -3
  462. package/jsutils/identityFunc.js.map +1 -1
  463. package/jsutils/identityFunc.mjs +0 -3
  464. package/jsutils/identityFunc.mjs.map +1 -1
  465. package/jsutils/inspect.d.mts +2 -0
  466. package/jsutils/inspect.d.ts +2 -0
  467. package/jsutils/inspect.js +0 -4
  468. package/jsutils/inspect.js.map +1 -1
  469. package/jsutils/inspect.mjs +0 -4
  470. package/jsutils/inspect.mjs.map +1 -1
  471. package/jsutils/instanceOf.d.mts +2 -0
  472. package/jsutils/instanceOf.d.ts +2 -0
  473. package/jsutils/instanceOf.js +3 -14
  474. package/jsutils/instanceOf.js.map +1 -1
  475. package/jsutils/instanceOf.mjs +1 -12
  476. package/jsutils/instanceOf.mjs.map +1 -1
  477. package/jsutils/invariant.d.mts +1 -0
  478. package/jsutils/invariant.d.ts +1 -0
  479. package/jsutils/invariant.js.map +1 -1
  480. package/jsutils/invariant.mjs.map +1 -1
  481. package/jsutils/isAsyncIterable.d.mts +2 -0
  482. package/jsutils/isAsyncIterable.d.ts +2 -0
  483. package/jsutils/isAsyncIterable.js +0 -4
  484. package/jsutils/isAsyncIterable.js.map +1 -1
  485. package/jsutils/isAsyncIterable.mjs +0 -4
  486. package/jsutils/isAsyncIterable.mjs.map +1 -1
  487. package/jsutils/isIterableObject.d.mts +6 -5
  488. package/jsutils/isIterableObject.d.ts +6 -5
  489. package/jsutils/isIterableObject.js +0 -17
  490. package/jsutils/isIterableObject.js.map +1 -1
  491. package/jsutils/isIterableObject.mjs +0 -17
  492. package/jsutils/isIterableObject.mjs.map +1 -1
  493. package/jsutils/isObjectLike.d.mts +2 -0
  494. package/jsutils/isObjectLike.d.ts +2 -0
  495. package/jsutils/isObjectLike.js +0 -4
  496. package/jsutils/isObjectLike.js.map +1 -1
  497. package/jsutils/isObjectLike.mjs +0 -4
  498. package/jsutils/isObjectLike.mjs.map +1 -1
  499. package/jsutils/isPromise.d.mts +3 -0
  500. package/jsutils/isPromise.d.ts +3 -0
  501. package/jsutils/isPromise.js +0 -4
  502. package/jsutils/isPromise.js.map +1 -1
  503. package/jsutils/isPromise.mjs +0 -4
  504. package/jsutils/isPromise.mjs.map +1 -1
  505. package/jsutils/isSameSet.d.mts +1 -0
  506. package/jsutils/isSameSet.d.ts +1 -0
  507. package/jsutils/isSameSet.js.map +1 -1
  508. package/jsutils/isSameSet.mjs.map +1 -1
  509. package/jsutils/keyMap.d.mts +8 -15
  510. package/jsutils/keyMap.d.ts +8 -15
  511. package/jsutils/keyMap.js +0 -27
  512. package/jsutils/keyMap.js.map +1 -1
  513. package/jsutils/keyMap.mjs +0 -27
  514. package/jsutils/keyMap.mjs.map +1 -1
  515. package/jsutils/keyValMap.d.mts +10 -7
  516. package/jsutils/keyValMap.d.ts +10 -7
  517. package/jsutils/keyValMap.js +0 -17
  518. package/jsutils/keyValMap.js.map +1 -1
  519. package/jsutils/keyValMap.mjs +0 -17
  520. package/jsutils/keyValMap.mjs.map +1 -1
  521. package/jsutils/mapValue.d.mts +3 -1
  522. package/jsutils/mapValue.d.ts +3 -1
  523. package/jsutils/mapValue.js +0 -4
  524. package/jsutils/mapValue.js.map +1 -1
  525. package/jsutils/mapValue.mjs +0 -4
  526. package/jsutils/mapValue.mjs.map +1 -1
  527. package/jsutils/memoize1.d.mts +2 -0
  528. package/jsutils/memoize1.d.ts +2 -0
  529. package/jsutils/memoize1.js +0 -3
  530. package/jsutils/memoize1.js.map +1 -1
  531. package/jsutils/memoize1.mjs +0 -3
  532. package/jsutils/memoize1.mjs.map +1 -1
  533. package/jsutils/memoize2.d.mts +2 -0
  534. package/jsutils/memoize2.d.ts +2 -0
  535. package/jsutils/memoize2.js +0 -3
  536. package/jsutils/memoize2.js.map +1 -1
  537. package/jsutils/memoize2.mjs +0 -3
  538. package/jsutils/memoize2.mjs.map +1 -1
  539. package/jsutils/memoize3.d.mts +2 -0
  540. package/jsutils/memoize3.d.ts +2 -0
  541. package/jsutils/memoize3.js +0 -3
  542. package/jsutils/memoize3.js.map +1 -1
  543. package/jsutils/memoize3.mjs +0 -3
  544. package/jsutils/memoize3.mjs.map +1 -1
  545. package/jsutils/naturalCompare.d.mts +1 -0
  546. package/jsutils/naturalCompare.d.ts +1 -0
  547. package/jsutils/naturalCompare.js +0 -7
  548. package/jsutils/naturalCompare.js.map +1 -1
  549. package/jsutils/naturalCompare.mjs +0 -7
  550. package/jsutils/naturalCompare.mjs.map +1 -1
  551. package/jsutils/printPathArray.d.mts +2 -0
  552. package/jsutils/printPathArray.d.ts +2 -0
  553. package/jsutils/printPathArray.js +0 -3
  554. package/jsutils/printPathArray.js.map +1 -1
  555. package/jsutils/printPathArray.mjs +0 -3
  556. package/jsutils/printPathArray.mjs.map +1 -1
  557. package/jsutils/promiseForObject.d.mts +4 -2
  558. package/jsutils/promiseForObject.d.ts +4 -2
  559. package/jsutils/promiseForObject.js +0 -7
  560. package/jsutils/promiseForObject.js.map +1 -1
  561. package/jsutils/promiseForObject.mjs +0 -7
  562. package/jsutils/promiseForObject.mjs.map +1 -1
  563. package/jsutils/promiseReduce.d.mts +3 -1
  564. package/jsutils/promiseReduce.d.ts +3 -1
  565. package/jsutils/promiseReduce.js +2 -9
  566. package/jsutils/promiseReduce.js.map +1 -1
  567. package/jsutils/promiseReduce.mjs +0 -7
  568. package/jsutils/promiseReduce.mjs.map +1 -1
  569. package/jsutils/promiseWithResolvers.d.mts +3 -1
  570. package/jsutils/promiseWithResolvers.d.ts +3 -1
  571. package/jsutils/promiseWithResolvers.js +0 -5
  572. package/jsutils/promiseWithResolvers.js.map +1 -1
  573. package/jsutils/promiseWithResolvers.mjs +0 -5
  574. package/jsutils/promiseWithResolvers.mjs.map +1 -1
  575. package/jsutils/suggestionList.d.mts +2 -0
  576. package/jsutils/suggestionList.d.ts +2 -0
  577. package/jsutils/suggestionList.js +3 -26
  578. package/jsutils/suggestionList.js.map +1 -1
  579. package/jsutils/suggestionList.mjs +1 -24
  580. package/jsutils/suggestionList.mjs.map +1 -1
  581. package/jsutils/toError.d.mts +2 -0
  582. package/jsutils/toError.d.ts +2 -0
  583. package/jsutils/toError.js +2 -5
  584. package/jsutils/toError.js.map +1 -1
  585. package/jsutils/toError.mjs +0 -3
  586. package/jsutils/toError.mjs.map +1 -1
  587. package/jsutils/toObjMap.d.mts +4 -2
  588. package/jsutils/toObjMap.d.ts +4 -2
  589. package/jsutils/toObjMap.js.map +1 -1
  590. package/jsutils/toObjMap.mjs.map +1 -1
  591. package/language/KindTypeMap.d.mts +2 -1
  592. package/language/KindTypeMap.d.ts +2 -1
  593. package/language/KindTypeMap.js.map +1 -1
  594. package/language/KindTypeMap.mjs.map +1 -1
  595. package/language/ast.d.mts +425 -58
  596. package/language/ast.d.ts +425 -58
  597. package/language/ast.js +8 -21
  598. package/language/ast.js.map +1 -1
  599. package/language/ast.mjs +8 -21
  600. package/language/ast.mjs.map +1 -1
  601. package/language/blockString.d.mts +1 -3
  602. package/language/blockString.d.ts +1 -3
  603. package/language/blockString.js +15 -41
  604. package/language/blockString.js.map +1 -1
  605. package/language/blockString.mjs +11 -37
  606. package/language/blockString.mjs.map +1 -1
  607. package/language/characterClasses.js +2 -45
  608. package/language/characterClasses.js.map +1 -1
  609. package/language/characterClasses.mjs +2 -45
  610. package/language/characterClasses.mjs.map +1 -1
  611. package/language/directiveLocation.d.mts +26 -6
  612. package/language/directiveLocation.d.ts +26 -6
  613. package/language/directiveLocation.js +2 -6
  614. package/language/directiveLocation.js.map +1 -1
  615. package/language/directiveLocation.mjs +2 -6
  616. package/language/directiveLocation.mjs.map +1 -1
  617. package/language/index.d.mts +22 -16
  618. package/language/index.d.ts +22 -16
  619. package/language/index.js +45 -49
  620. package/language/index.js.map +1 -1
  621. package/language/index.mjs +0 -4
  622. package/language/index.mjs.map +1 -1
  623. package/language/kinds.d.mts +5 -2
  624. package/language/kinds.d.ts +5 -2
  625. package/language/kinds.js.map +1 -1
  626. package/language/kinds.mjs.map +1 -1
  627. package/language/kinds_.d.mts +102 -12
  628. package/language/kinds_.d.ts +102 -12
  629. package/language/kinds_.js +2 -14
  630. package/language/kinds_.js.map +1 -1
  631. package/language/kinds_.mjs +1 -13
  632. package/language/kinds_.mjs.map +1 -1
  633. package/language/lexer.d.mts +51 -18
  634. package/language/lexer.d.ts +51 -18
  635. package/language/lexer.js +102 -343
  636. package/language/lexer.js.map +1 -1
  637. package/language/lexer.mjs +37 -278
  638. package/language/lexer.mjs.map +1 -1
  639. package/language/location.d.mts +17 -4
  640. package/language/location.d.ts +17 -4
  641. package/language/location.js +2 -6
  642. package/language/location.js.map +1 -1
  643. package/language/location.mjs +0 -4
  644. package/language/location.mjs.map +1 -1
  645. package/language/parser.d.mts +243 -15
  646. package/language/parser.d.ts +243 -15
  647. package/language/parser.js +183 -528
  648. package/language/parser.js.map +1 -1
  649. package/language/parser.mjs +26 -371
  650. package/language/parser.mjs.map +1 -1
  651. package/language/predicates.d.mts +182 -1
  652. package/language/predicates.d.ts +182 -1
  653. package/language/predicates.js +45 -49
  654. package/language/predicates.js.map +1 -1
  655. package/language/predicates.mjs +3 -7
  656. package/language/predicates.mjs.map +1 -1
  657. package/language/printLocation.d.mts +31 -3
  658. package/language/printLocation.d.ts +31 -3
  659. package/language/printLocation.js +2 -10
  660. package/language/printLocation.js.map +1 -1
  661. package/language/printLocation.mjs +0 -8
  662. package/language/printLocation.mjs.map +1 -1
  663. package/language/printString.d.mts +2 -0
  664. package/language/printString.d.ts +2 -0
  665. package/language/printString.js +5 -11
  666. package/language/printString.js.map +1 -1
  667. package/language/printString.mjs +5 -11
  668. package/language/printString.mjs.map +1 -1
  669. package/language/printer.d.mts +13 -1
  670. package/language/printer.d.ts +13 -1
  671. package/language/printer.js +10 -31
  672. package/language/printer.js.map +1 -1
  673. package/language/printer.mjs +5 -26
  674. package/language/printer.mjs.map +1 -1
  675. package/language/schemaCoordinateLexer.d.mts +17 -3
  676. package/language/schemaCoordinateLexer.d.ts +17 -3
  677. package/language/schemaCoordinateLexer.js +21 -51
  678. package/language/schemaCoordinateLexer.js.map +1 -1
  679. package/language/schemaCoordinateLexer.mjs +5 -35
  680. package/language/schemaCoordinateLexer.mjs.map +1 -1
  681. package/language/source.d.mts +28 -1
  682. package/language/source.d.ts +28 -1
  683. package/language/source.js +5 -17
  684. package/language/source.js.map +1 -1
  685. package/language/source.mjs +0 -12
  686. package/language/source.mjs.map +1 -1
  687. package/language/tokenKind.d.mts +5 -0
  688. package/language/tokenKind.d.ts +5 -0
  689. package/language/tokenKind.js +0 -4
  690. package/language/tokenKind.js.map +1 -1
  691. package/language/tokenKind.mjs +0 -4
  692. package/language/tokenKind.mjs.map +1 -1
  693. package/language/visitor.d.mts +184 -74
  694. package/language/visitor.d.ts +184 -74
  695. package/language/visitor.js +10 -25
  696. package/language/visitor.js.map +1 -1
  697. package/language/visitor.mjs +0 -15
  698. package/language/visitor.mjs.map +1 -1
  699. package/package.json +2 -2
  700. package/type/assertName.d.mts +18 -1
  701. package/type/assertName.d.ts +18 -1
  702. package/type/assertName.js +8 -16
  703. package/type/assertName.js.map +1 -1
  704. package/type/assertName.mjs +0 -8
  705. package/type/assertName.mjs.map +1 -1
  706. package/type/definition.d.mts +3268 -138
  707. package/type/definition.d.ts +3268 -138
  708. package/type/definition.js +99 -346
  709. package/type/definition.js.map +1 -1
  710. package/type/definition.mjs +5 -252
  711. package/type/definition.mjs.map +1 -1
  712. package/type/directives.d.mts +220 -26
  713. package/type/directives.d.ts +220 -26
  714. package/type/directives.js +51 -83
  715. package/type/directives.js.map +1 -1
  716. package/type/directives.mjs +5 -37
  717. package/type/directives.mjs.map +1 -1
  718. package/type/index.d.mts +18 -12
  719. package/type/index.d.ts +18 -12
  720. package/type/index.js +106 -129
  721. package/type/index.js.map +1 -1
  722. package/type/index.mjs +5 -48
  723. package/type/index.mjs.map +1 -1
  724. package/type/introspection.d.mts +38 -2
  725. package/type/introspection.d.ts +38 -2
  726. package/type/introspection.js +122 -107
  727. package/type/introspection.js.map +1 -1
  728. package/type/introspection.mjs +24 -9
  729. package/type/introspection.mjs.map +1 -1
  730. package/type/scalars.d.mts +31 -4
  731. package/type/scalars.d.ts +31 -4
  732. package/type/scalars.js +61 -76
  733. package/type/scalars.js.map +1 -1
  734. package/type/scalars.mjs +0 -15
  735. package/type/scalars.mjs.map +1 -1
  736. package/type/schema.d.mts +514 -38
  737. package/type/schema.d.ts +514 -38
  738. package/type/schema.js +32 -129
  739. package/type/schema.js.map +1 -1
  740. package/type/schema.mjs +0 -97
  741. package/type/schema.mjs.map +1 -1
  742. package/type/validate.d.mts +36 -7
  743. package/type/validate.d.ts +36 -7
  744. package/type/validate.js +83 -195
  745. package/type/validate.js.map +1 -1
  746. package/type/validate.mjs +1 -113
  747. package/type/validate.mjs.map +1 -1
  748. package/utilities/TypeInfo.d.mts +570 -7
  749. package/utilities/TypeInfo.d.ts +570 -7
  750. package/utilities/TypeInfo.js +62 -85
  751. package/utilities/TypeInfo.js.map +1 -1
  752. package/utilities/TypeInfo.mjs +2 -25
  753. package/utilities/TypeInfo.mjs.map +1 -1
  754. package/utilities/astFromValue.d.mts +39 -6
  755. package/utilities/astFromValue.d.ts +39 -6
  756. package/utilities/astFromValue.js +30 -74
  757. package/utilities/astFromValue.js.map +1 -1
  758. package/utilities/astFromValue.mjs +0 -44
  759. package/utilities/astFromValue.mjs.map +1 -1
  760. package/utilities/buildASTSchema.d.mts +71 -11
  761. package/utilities/buildASTSchema.d.ts +71 -11
  762. package/utilities/buildASTSchema.js +11 -31
  763. package/utilities/buildASTSchema.js.map +1 -1
  764. package/utilities/buildASTSchema.mjs +1 -21
  765. package/utilities/buildASTSchema.mjs.map +1 -1
  766. package/utilities/buildClientSchema.d.mts +20 -5
  767. package/utilities/buildClientSchema.d.ts +20 -5
  768. package/utilities/buildClientSchema.js +53 -83
  769. package/utilities/buildClientSchema.js.map +1 -1
  770. package/utilities/buildClientSchema.mjs +1 -30
  771. package/utilities/buildClientSchema.mjs.map +1 -1
  772. package/utilities/coerceInputValue.d.mts +88 -6
  773. package/utilities/coerceInputValue.d.ts +88 -6
  774. package/utilities/coerceInputValue.js +52 -81
  775. package/utilities/coerceInputValue.js.map +1 -1
  776. package/utilities/coerceInputValue.mjs +21 -50
  777. package/utilities/coerceInputValue.mjs.map +1 -1
  778. package/utilities/concatAST.d.mts +13 -1
  779. package/utilities/concatAST.d.ts +13 -1
  780. package/utilities/concatAST.js +2 -7
  781. package/utilities/concatAST.js.map +1 -1
  782. package/utilities/concatAST.mjs +0 -5
  783. package/utilities/concatAST.mjs.map +1 -1
  784. package/utilities/extendSchema.d.mts +61 -6
  785. package/utilities/extendSchema.d.ts +61 -6
  786. package/utilities/extendSchema.js +92 -126
  787. package/utilities/extendSchema.js.map +1 -1
  788. package/utilities/extendSchema.mjs +27 -61
  789. package/utilities/extendSchema.mjs.map +1 -1
  790. package/utilities/findSchemaChanges.d.mts +100 -2
  791. package/utilities/findSchemaChanges.d.ts +100 -2
  792. package/utilities/findSchemaChanges.js +41 -75
  793. package/utilities/findSchemaChanges.js.map +1 -1
  794. package/utilities/findSchemaChanges.mjs +3 -37
  795. package/utilities/findSchemaChanges.mjs.map +1 -1
  796. package/utilities/getDefaultValueAST.d.mts +3 -2
  797. package/utilities/getDefaultValueAST.d.ts +3 -2
  798. package/utilities/getDefaultValueAST.js +7 -7
  799. package/utilities/getDefaultValueAST.js.map +1 -1
  800. package/utilities/getDefaultValueAST.mjs.map +1 -1
  801. package/utilities/getIntrospectionQuery.d.mts +151 -3
  802. package/utilities/getIntrospectionQuery.d.ts +151 -3
  803. package/utilities/getIntrospectionQuery.js +22 -42
  804. package/utilities/getIntrospectionQuery.js.map +1 -1
  805. package/utilities/getIntrospectionQuery.mjs +22 -42
  806. package/utilities/getIntrospectionQuery.mjs.map +1 -1
  807. package/utilities/getOperationAST.d.mts +17 -2
  808. package/utilities/getOperationAST.d.ts +17 -2
  809. package/utilities/getOperationAST.js +2 -10
  810. package/utilities/getOperationAST.js.map +1 -1
  811. package/utilities/getOperationAST.mjs +0 -8
  812. package/utilities/getOperationAST.mjs.map +1 -1
  813. package/utilities/index.d.mts +45 -30
  814. package/utilities/index.d.ts +45 -30
  815. package/utilities/index.js +61 -88
  816. package/utilities/index.js.map +1 -1
  817. package/utilities/index.mjs +4 -37
  818. package/utilities/index.mjs.map +1 -1
  819. package/utilities/introspectionFromSchema.d.mts +56 -2
  820. package/utilities/introspectionFromSchema.d.ts +56 -2
  821. package/utilities/introspectionFromSchema.js +8 -16
  822. package/utilities/introspectionFromSchema.js.map +1 -1
  823. package/utilities/introspectionFromSchema.mjs +1 -9
  824. package/utilities/introspectionFromSchema.mjs.map +1 -1
  825. package/utilities/lexicographicSortSchema.d.mts +36 -1
  826. package/utilities/lexicographicSortSchema.d.ts +36 -1
  827. package/utilities/lexicographicSortSchema.js +14 -19
  828. package/utilities/lexicographicSortSchema.js.map +1 -1
  829. package/utilities/lexicographicSortSchema.mjs +0 -5
  830. package/utilities/lexicographicSortSchema.mjs.map +1 -1
  831. package/utilities/mapSchemaConfig.d.mts +9 -6
  832. package/utilities/mapSchemaConfig.d.ts +9 -6
  833. package/utilities/mapSchemaConfig.js +28 -40
  834. package/utilities/mapSchemaConfig.js.map +1 -1
  835. package/utilities/mapSchemaConfig.mjs +0 -12
  836. package/utilities/mapSchemaConfig.mjs.map +1 -1
  837. package/utilities/printSchema.d.mts +87 -3
  838. package/utilities/printSchema.d.ts +87 -3
  839. package/utilities/printSchema.js +30 -59
  840. package/utilities/printSchema.js.map +1 -1
  841. package/utilities/printSchema.mjs +1 -30
  842. package/utilities/printSchema.mjs.map +1 -1
  843. package/utilities/replaceVariables.d.mts +40 -4
  844. package/utilities/replaceVariables.d.ts +40 -4
  845. package/utilities/replaceVariables.js +9 -17
  846. package/utilities/replaceVariables.js.map +1 -1
  847. package/utilities/replaceVariables.mjs +0 -8
  848. package/utilities/replaceVariables.mjs.map +1 -1
  849. package/utilities/resolveSchemaCoordinate.d.mts +67 -5
  850. package/utilities/resolveSchemaCoordinate.d.ts +67 -5
  851. package/utilities/resolveSchemaCoordinate.js +23 -79
  852. package/utilities/resolveSchemaCoordinate.js.map +1 -1
  853. package/utilities/resolveSchemaCoordinate.mjs +0 -56
  854. package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
  855. package/utilities/separateOperations.d.mts +32 -2
  856. package/utilities/separateOperations.d.ts +32 -2
  857. package/utilities/separateOperations.js +7 -22
  858. package/utilities/separateOperations.js.map +1 -1
  859. package/utilities/separateOperations.mjs +0 -15
  860. package/utilities/separateOperations.mjs.map +1 -1
  861. package/utilities/sortValueNode.d.mts +1 -1
  862. package/utilities/sortValueNode.d.ts +1 -1
  863. package/utilities/sortValueNode.js +12 -19
  864. package/utilities/sortValueNode.js.map +1 -1
  865. package/utilities/sortValueNode.mjs +0 -7
  866. package/utilities/sortValueNode.mjs.map +1 -1
  867. package/utilities/stripIgnoredCharacters.d.mts +14 -7
  868. package/utilities/stripIgnoredCharacters.d.ts +14 -7
  869. package/utilities/stripIgnoredCharacters.js +11 -76
  870. package/utilities/stripIgnoredCharacters.js.map +1 -1
  871. package/utilities/stripIgnoredCharacters.mjs +0 -65
  872. package/utilities/stripIgnoredCharacters.mjs.map +1 -1
  873. package/utilities/typeComparators.d.mts +86 -2
  874. package/utilities/typeComparators.d.ts +86 -2
  875. package/utilities/typeComparators.js +14 -47
  876. package/utilities/typeComparators.js.map +1 -1
  877. package/utilities/typeComparators.mjs +0 -33
  878. package/utilities/typeComparators.mjs.map +1 -1
  879. package/utilities/typeFromAST.d.mts +90 -4
  880. package/utilities/typeFromAST.d.ts +90 -4
  881. package/utilities/typeFromAST.js +7 -7
  882. package/utilities/typeFromAST.js.map +1 -1
  883. package/utilities/typeFromAST.mjs.map +1 -1
  884. package/utilities/typedQueryDocumentNode.d.mts +5 -1
  885. package/utilities/typedQueryDocumentNode.d.ts +5 -1
  886. package/utilities/typedQueryDocumentNode.js.map +1 -1
  887. package/utilities/typedQueryDocumentNode.mjs.map +1 -1
  888. package/utilities/validateInputValue.d.mts +129 -6
  889. package/utilities/validateInputValue.d.ts +129 -6
  890. package/utilities/validateInputValue.js +60 -80
  891. package/utilities/validateInputValue.js.map +1 -1
  892. package/utilities/validateInputValue.mjs +0 -20
  893. package/utilities/validateInputValue.mjs.map +1 -1
  894. package/utilities/valueFromAST.d.mts +45 -4
  895. package/utilities/valueFromAST.d.ts +45 -4
  896. package/utilities/valueFromAST.js +32 -72
  897. package/utilities/valueFromAST.js.map +1 -1
  898. package/utilities/valueFromAST.mjs +13 -53
  899. package/utilities/valueFromAST.mjs.map +1 -1
  900. package/utilities/valueFromASTUntyped.d.mts +18 -5
  901. package/utilities/valueFromASTUntyped.d.ts +18 -5
  902. package/utilities/valueFromASTUntyped.js +12 -28
  903. package/utilities/valueFromASTUntyped.js.map +1 -1
  904. package/utilities/valueFromASTUntyped.mjs +0 -16
  905. package/utilities/valueFromASTUntyped.mjs.map +1 -1
  906. package/utilities/valueToLiteral.d.mts +32 -3
  907. package/utilities/valueToLiteral.d.ts +32 -3
  908. package/utilities/valueToLiteral.js +37 -70
  909. package/utilities/valueToLiteral.js.map +1 -1
  910. package/utilities/valueToLiteral.mjs +7 -40
  911. package/utilities/valueToLiteral.mjs.map +1 -1
  912. package/validation/ValidationContext.d.mts +499 -9
  913. package/validation/ValidationContext.d.ts +499 -9
  914. package/validation/ValidationContext.js +9 -16
  915. package/validation/ValidationContext.js.map +1 -1
  916. package/validation/ValidationContext.mjs +1 -8
  917. package/validation/ValidationContext.mjs.map +1 -1
  918. package/validation/index.d.mts +53 -46
  919. package/validation/index.d.ts +53 -46
  920. package/validation/index.js +91 -125
  921. package/validation/index.js.map +1 -1
  922. package/validation/index.mjs +0 -34
  923. package/validation/index.mjs.map +1 -1
  924. package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +32 -2
  925. package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +32 -2
  926. package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -14
  927. package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
  928. package/validation/rules/DeferStreamDirectiveLabelRule.mjs +0 -5
  929. package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
  930. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +30 -2
  931. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +30 -2
  932. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -13
  933. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
  934. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +0 -5
  935. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
  936. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +54 -2
  937. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +54 -2
  938. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -19
  939. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
  940. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +0 -5
  941. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
  942. package/validation/rules/ExecutableDefinitionsRule.d.mts +30 -2
  943. package/validation/rules/ExecutableDefinitionsRule.d.ts +30 -2
  944. package/validation/rules/ExecutableDefinitionsRule.js +7 -15
  945. package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
  946. package/validation/rules/ExecutableDefinitionsRule.mjs +0 -8
  947. package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
  948. package/validation/rules/FieldsOnCorrectTypeRule.d.mts +30 -2
  949. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +30 -2
  950. package/validation/rules/FieldsOnCorrectTypeRule.js +14 -41
  951. package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
  952. package/validation/rules/FieldsOnCorrectTypeRule.mjs +0 -27
  953. package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
  954. package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +30 -2
  955. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +30 -2
  956. package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -21
  957. package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
  958. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +0 -9
  959. package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
  960. package/validation/rules/KnownArgumentNamesRule.d.mts +31 -5
  961. package/validation/rules/KnownArgumentNamesRule.d.ts +31 -5
  962. package/validation/rules/KnownArgumentNamesRule.js +16 -29
  963. package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
  964. package/validation/rules/KnownArgumentNamesRule.mjs +0 -13
  965. package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
  966. package/validation/rules/KnownDirectivesRule.d.mts +30 -2
  967. package/validation/rules/KnownDirectivesRule.d.ts +30 -2
  968. package/validation/rules/KnownDirectivesRule.js +66 -73
  969. package/validation/rules/KnownDirectivesRule.js.map +1 -1
  970. package/validation/rules/KnownDirectivesRule.mjs +3 -10
  971. package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
  972. package/validation/rules/KnownFragmentNamesRule.d.mts +30 -2
  973. package/validation/rules/KnownFragmentNamesRule.d.ts +30 -2
  974. package/validation/rules/KnownFragmentNamesRule.js +2 -10
  975. package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
  976. package/validation/rules/KnownFragmentNamesRule.mjs +0 -8
  977. package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
  978. package/validation/rules/KnownOperationTypesRule.d.mts +22 -2
  979. package/validation/rules/KnownOperationTypesRule.d.ts +22 -2
  980. package/validation/rules/KnownOperationTypesRule.js +2 -10
  981. package/validation/rules/KnownOperationTypesRule.js.map +1 -1
  982. package/validation/rules/KnownOperationTypesRule.mjs +0 -8
  983. package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
  984. package/validation/rules/KnownTypeNamesRule.d.mts +30 -2
  985. package/validation/rules/KnownTypeNamesRule.d.ts +30 -2
  986. package/validation/rules/KnownTypeNamesRule.js +11 -19
  987. package/validation/rules/KnownTypeNamesRule.js.map +1 -1
  988. package/validation/rules/KnownTypeNamesRule.mjs +0 -8
  989. package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
  990. package/validation/rules/LoneAnonymousOperationRule.d.mts +30 -2
  991. package/validation/rules/LoneAnonymousOperationRule.d.ts +30 -2
  992. package/validation/rules/LoneAnonymousOperationRule.js +4 -12
  993. package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
  994. package/validation/rules/LoneAnonymousOperationRule.mjs +0 -8
  995. package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
  996. package/validation/rules/LoneSchemaDefinitionRule.d.mts +23 -2
  997. package/validation/rules/LoneSchemaDefinitionRule.d.ts +23 -2
  998. package/validation/rules/LoneSchemaDefinitionRule.js +3 -8
  999. package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
  1000. package/validation/rules/LoneSchemaDefinitionRule.mjs +0 -5
  1001. package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
  1002. package/validation/rules/MaxIntrospectionDepthRule.d.mts +33 -2
  1003. package/validation/rules/MaxIntrospectionDepthRule.d.ts +33 -2
  1004. package/validation/rules/MaxIntrospectionDepthRule.js +5 -19
  1005. package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
  1006. package/validation/rules/MaxIntrospectionDepthRule.mjs +0 -14
  1007. package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
  1008. package/validation/rules/NoFragmentCyclesRule.d.mts +30 -2
  1009. package/validation/rules/NoFragmentCyclesRule.d.ts +30 -2
  1010. package/validation/rules/NoFragmentCyclesRule.js +2 -17
  1011. package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
  1012. package/validation/rules/NoFragmentCyclesRule.mjs +0 -15
  1013. package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
  1014. package/validation/rules/NoUndefinedVariablesRule.d.mts +30 -2
  1015. package/validation/rules/NoUndefinedVariablesRule.d.ts +30 -2
  1016. package/validation/rules/NoUndefinedVariablesRule.js +2 -10
  1017. package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
  1018. package/validation/rules/NoUndefinedVariablesRule.mjs +0 -8
  1019. package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
  1020. package/validation/rules/NoUnusedFragmentsRule.d.mts +30 -2
  1021. package/validation/rules/NoUnusedFragmentsRule.d.ts +30 -2
  1022. package/validation/rules/NoUnusedFragmentsRule.js +2 -10
  1023. package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
  1024. package/validation/rules/NoUnusedFragmentsRule.mjs +0 -8
  1025. package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
  1026. package/validation/rules/NoUnusedVariablesRule.d.mts +31 -2
  1027. package/validation/rules/NoUnusedVariablesRule.d.ts +31 -2
  1028. package/validation/rules/NoUnusedVariablesRule.js +3 -11
  1029. package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
  1030. package/validation/rules/NoUnusedVariablesRule.mjs +0 -8
  1031. package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
  1032. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +35 -2
  1033. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +35 -2
  1034. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +32 -206
  1035. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
  1036. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +1 -175
  1037. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
  1038. package/validation/rules/PossibleFragmentSpreadsRule.d.mts +38 -2
  1039. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +38 -2
  1040. package/validation/rules/PossibleFragmentSpreadsRule.js +17 -24
  1041. package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
  1042. package/validation/rules/PossibleFragmentSpreadsRule.mjs +0 -7
  1043. package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
  1044. package/validation/rules/PossibleTypeExtensionsRule.d.mts +23 -2
  1045. package/validation/rules/PossibleTypeExtensionsRule.d.ts +23 -2
  1046. package/validation/rules/PossibleTypeExtensionsRule.js +38 -49
  1047. package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
  1048. package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -11
  1049. package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
  1050. package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +31 -5
  1051. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +31 -5
  1052. package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -33
  1053. package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
  1054. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +0 -13
  1055. package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
  1056. package/validation/rules/ScalarLeafsRule.d.mts +30 -2
  1057. package/validation/rules/ScalarLeafsRule.d.ts +30 -2
  1058. package/validation/rules/ScalarLeafsRule.js +10 -16
  1059. package/validation/rules/ScalarLeafsRule.js.map +1 -1
  1060. package/validation/rules/ScalarLeafsRule.mjs +0 -6
  1061. package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
  1062. package/validation/rules/SingleFieldSubscriptionsRule.d.mts +36 -4
  1063. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +36 -4
  1064. package/validation/rules/SingleFieldSubscriptionsRule.js +8 -17
  1065. package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
  1066. package/validation/rules/SingleFieldSubscriptionsRule.mjs +0 -9
  1067. package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
  1068. package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +23 -2
  1069. package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +23 -2
  1070. package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -12
  1071. package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
  1072. package/validation/rules/StreamDirectiveOnListFieldRule.mjs +0 -5
  1073. package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
  1074. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +23 -2
  1075. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +23 -2
  1076. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -10
  1077. package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
  1078. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +0 -6
  1079. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
  1080. package/validation/rules/UniqueArgumentNamesRule.d.mts +30 -2
  1081. package/validation/rules/UniqueArgumentNamesRule.d.ts +30 -2
  1082. package/validation/rules/UniqueArgumentNamesRule.js +4 -12
  1083. package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
  1084. package/validation/rules/UniqueArgumentNamesRule.mjs +0 -8
  1085. package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
  1086. package/validation/rules/UniqueDirectiveNamesRule.d.mts +23 -2
  1087. package/validation/rules/UniqueDirectiveNamesRule.d.ts +23 -2
  1088. package/validation/rules/UniqueDirectiveNamesRule.js +3 -8
  1089. package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
  1090. package/validation/rules/UniqueDirectiveNamesRule.mjs +0 -5
  1091. package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
  1092. package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +30 -2
  1093. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +30 -2
  1094. package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -21
  1095. package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
  1096. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -11
  1097. package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
  1098. package/validation/rules/UniqueEnumValueNamesRule.d.mts +23 -2
  1099. package/validation/rules/UniqueEnumValueNamesRule.d.ts +23 -2
  1100. package/validation/rules/UniqueEnumValueNamesRule.js +5 -10
  1101. package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
  1102. package/validation/rules/UniqueEnumValueNamesRule.mjs +0 -5
  1103. package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
  1104. package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +23 -2
  1105. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +23 -2
  1106. package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -10
  1107. package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
  1108. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +0 -5
  1109. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
  1110. package/validation/rules/UniqueFragmentNamesRule.d.mts +30 -2
  1111. package/validation/rules/UniqueFragmentNamesRule.d.ts +30 -2
  1112. package/validation/rules/UniqueFragmentNamesRule.js +2 -9
  1113. package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
  1114. package/validation/rules/UniqueFragmentNamesRule.mjs +0 -7
  1115. package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
  1116. package/validation/rules/UniqueInputFieldNamesRule.d.mts +34 -2
  1117. package/validation/rules/UniqueInputFieldNamesRule.d.ts +34 -2
  1118. package/validation/rules/UniqueInputFieldNamesRule.js +4 -12
  1119. package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
  1120. package/validation/rules/UniqueInputFieldNamesRule.mjs +0 -8
  1121. package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
  1122. package/validation/rules/UniqueOperationNamesRule.d.mts +30 -2
  1123. package/validation/rules/UniqueOperationNamesRule.d.ts +30 -2
  1124. package/validation/rules/UniqueOperationNamesRule.js +2 -9
  1125. package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
  1126. package/validation/rules/UniqueOperationNamesRule.mjs +0 -7
  1127. package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
  1128. package/validation/rules/UniqueOperationTypesRule.d.mts +23 -2
  1129. package/validation/rules/UniqueOperationTypesRule.d.ts +23 -2
  1130. package/validation/rules/UniqueOperationTypesRule.js +3 -8
  1131. package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
  1132. package/validation/rules/UniqueOperationTypesRule.mjs +0 -5
  1133. package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
  1134. package/validation/rules/UniqueTypeNamesRule.d.mts +23 -2
  1135. package/validation/rules/UniqueTypeNamesRule.d.ts +23 -2
  1136. package/validation/rules/UniqueTypeNamesRule.js +3 -8
  1137. package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
  1138. package/validation/rules/UniqueTypeNamesRule.mjs +0 -5
  1139. package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
  1140. package/validation/rules/UniqueVariableNamesRule.d.mts +30 -2
  1141. package/validation/rules/UniqueVariableNamesRule.d.ts +30 -2
  1142. package/validation/rules/UniqueVariableNamesRule.js +4 -9
  1143. package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
  1144. package/validation/rules/UniqueVariableNamesRule.mjs +0 -5
  1145. package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
  1146. package/validation/rules/ValuesOfCorrectTypeRule.d.mts +30 -2
  1147. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +30 -2
  1148. package/validation/rules/ValuesOfCorrectTypeRule.js +3 -23
  1149. package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
  1150. package/validation/rules/ValuesOfCorrectTypeRule.mjs +1 -21
  1151. package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
  1152. package/validation/rules/VariablesAreInputTypesRule.d.mts +34 -2
  1153. package/validation/rules/VariablesAreInputTypesRule.d.ts +34 -2
  1154. package/validation/rules/VariablesAreInputTypesRule.js +8 -16
  1155. package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
  1156. package/validation/rules/VariablesAreInputTypesRule.mjs +0 -8
  1157. package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
  1158. package/validation/rules/VariablesInAllowedPositionRule.d.mts +30 -2
  1159. package/validation/rules/VariablesInAllowedPositionRule.d.ts +30 -2
  1160. package/validation/rules/VariablesInAllowedPositionRule.js +14 -34
  1161. package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
  1162. package/validation/rules/VariablesInAllowedPositionRule.mjs +0 -20
  1163. package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
  1164. package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +43 -2
  1165. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +43 -2
  1166. package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -18
  1167. package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
  1168. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +0 -10
  1169. package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
  1170. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +30 -2
  1171. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +30 -2
  1172. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -16
  1173. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
  1174. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +0 -10
  1175. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
  1176. package/validation/specifiedRules.d.mts +3 -4
  1177. package/validation/specifiedRules.d.ts +3 -4
  1178. package/validation/specifiedRules.js +87 -133
  1179. package/validation/specifiedRules.js.map +1 -1
  1180. package/validation/specifiedRules.mjs +0 -46
  1181. package/validation/specifiedRules.mjs.map +1 -1
  1182. package/validation/validate.d.mts +70 -12
  1183. package/validation/validate.d.ts +70 -12
  1184. package/validation/validate.js +19 -60
  1185. package/validation/validate.js.map +1 -1
  1186. package/validation/validate.mjs +0 -41
  1187. package/validation/validate.mjs.map +1 -1
  1188. package/version.d.mts +3 -6
  1189. package/version.d.ts +3 -6
  1190. package/version.js +2 -10
  1191. package/version.js.map +1 -1
  1192. package/version.mjs +2 -10
  1193. package/version.mjs.map +1 -1
@@ -4,48 +4,43 @@ 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
- /**
19
- * Test if the given value is a GraphQL directive.
20
- */
21
18
  function isDirective(directive) {
22
- return (0, instanceOf_js_1.instanceOf)(directive, directiveSymbol, GraphQLDirective);
19
+ return (0, instanceOf_ts_1.instanceOf)(directive, directiveSymbol, GraphQLDirective);
23
20
  }
24
21
  function assertDirective(directive) {
25
22
  if (!isDirective(directive)) {
26
- throw new Error(`Expected ${(0, inspect_js_1.inspect)(directive)} to be a GraphQL directive.`);
23
+ throw new Error(`Expected ${(0, inspect_ts_1.inspect)(directive)} to be a GraphQL directive.`);
27
24
  }
28
25
  return directive;
29
26
  }
30
- /**
31
- * Directives are used by the GraphQL runtime as a way of modifying execution
32
- * behavior. Type system creators will usually not create these directly.
33
- */
34
27
  class GraphQLDirective {
35
28
  constructor(config) {
36
29
  this.__kind = directiveSymbol;
37
- this.name = (0, assertName_js_1.assertName)(config.name);
30
+ this.name = (0, assertName_ts_1.assertName)(config.name);
38
31
  this.description = config.description;
39
32
  this.locations = config.locations;
40
33
  this.isRepeatable = config.isRepeatable ?? false;
41
- this.extensions = (0, toObjMap_js_1.toObjMapWithSymbols)(config.extensions);
34
+ this.deprecationReason = config.deprecationReason;
35
+ this.extensions = (0, toObjMap_ts_1.toObjMapWithSymbols)(config.extensions);
42
36
  this.astNode = config.astNode;
37
+ this.extensionASTNodes = config.extensionASTNodes ?? [];
43
38
  if (!(Array.isArray(config.locations)))
44
- (0, devAssert_js_1.devAssert)(false, `@${this.name} locations must be an Array.`);
39
+ (0, devAssert_ts_1.devAssert)(false, `@${this.name} locations must be an Array.`);
45
40
  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));
41
+ if (!((0, isObjectLike_ts_1.isObjectLike)(args) && !Array.isArray(args)))
42
+ (0, devAssert_ts_1.devAssert)(false, `@${this.name} args must be an object with argument names as keys.`);
43
+ this.args = Object.entries(args).map(([argName, argConfig]) => new definition_ts_1.GraphQLArgument(this, argName, argConfig));
49
44
  }
50
45
  get [Symbol.toStringTag]() {
51
46
  return 'GraphQLDirective';
@@ -55,10 +50,12 @@ class GraphQLDirective {
55
50
  name: this.name,
56
51
  description: this.description,
57
52
  locations: this.locations,
58
- args: (0, keyValMap_js_1.keyValMap)(this.args, (arg) => arg.name, (arg) => arg.toConfig()),
53
+ args: (0, keyValMap_ts_1.keyValMap)(this.args, (arg) => arg.name, (arg) => arg.toConfig()),
59
54
  isRepeatable: this.isRepeatable,
55
+ deprecationReason: this.deprecationReason,
60
56
  extensions: this.extensions,
61
57
  astNode: this.astNode,
58
+ extensionASTNodes: this.extensionASTNodes,
62
59
  };
63
60
  }
64
61
  toString() {
@@ -69,150 +66,121 @@ class GraphQLDirective {
69
66
  }
70
67
  }
71
68
  exports.GraphQLDirective = GraphQLDirective;
72
- /**
73
- * Used to conditionally include fields or fragments.
74
- */
75
69
  exports.GraphQLIncludeDirective = new GraphQLDirective({
76
70
  name: 'include',
77
71
  description: 'Directs the executor to include this field or fragment only when the `if` argument is true.',
78
72
  locations: [
79
- directiveLocation_js_1.DirectiveLocation.FIELD,
80
- directiveLocation_js_1.DirectiveLocation.FRAGMENT_SPREAD,
81
- directiveLocation_js_1.DirectiveLocation.INLINE_FRAGMENT,
73
+ directiveLocation_ts_1.DirectiveLocation.FIELD,
74
+ directiveLocation_ts_1.DirectiveLocation.FRAGMENT_SPREAD,
75
+ directiveLocation_ts_1.DirectiveLocation.INLINE_FRAGMENT,
82
76
  ],
83
77
  args: {
84
78
  if: {
85
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
79
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
86
80
  description: 'Included when true.',
87
81
  },
88
82
  },
89
83
  });
90
- /**
91
- * Used to conditionally skip (exclude) fields or fragments.
92
- */
93
84
  exports.GraphQLSkipDirective = new GraphQLDirective({
94
85
  name: 'skip',
95
86
  description: 'Directs the executor to skip this field or fragment when the `if` argument is true.',
96
87
  locations: [
97
- directiveLocation_js_1.DirectiveLocation.FIELD,
98
- directiveLocation_js_1.DirectiveLocation.FRAGMENT_SPREAD,
99
- directiveLocation_js_1.DirectiveLocation.INLINE_FRAGMENT,
88
+ directiveLocation_ts_1.DirectiveLocation.FIELD,
89
+ directiveLocation_ts_1.DirectiveLocation.FRAGMENT_SPREAD,
90
+ directiveLocation_ts_1.DirectiveLocation.INLINE_FRAGMENT,
100
91
  ],
101
92
  args: {
102
93
  if: {
103
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
94
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
104
95
  description: 'Skipped when true.',
105
96
  },
106
97
  },
107
98
  });
108
- /**
109
- * Used to conditionally defer fragments.
110
- */
111
99
  exports.GraphQLDeferDirective = new GraphQLDirective({
112
100
  name: 'defer',
113
101
  description: 'Directs the executor to defer this fragment when the `if` argument is true or undefined.',
114
102
  locations: [
115
- directiveLocation_js_1.DirectiveLocation.FRAGMENT_SPREAD,
116
- directiveLocation_js_1.DirectiveLocation.INLINE_FRAGMENT,
103
+ directiveLocation_ts_1.DirectiveLocation.FRAGMENT_SPREAD,
104
+ directiveLocation_ts_1.DirectiveLocation.INLINE_FRAGMENT,
117
105
  ],
118
106
  args: {
119
107
  if: {
120
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
108
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
121
109
  description: 'Deferred when true or undefined.',
122
110
  default: { value: true },
123
111
  },
124
112
  label: {
125
- type: scalars_js_1.GraphQLString,
113
+ type: scalars_ts_1.GraphQLString,
126
114
  description: 'Unique name',
127
115
  },
128
116
  },
129
117
  });
130
- /**
131
- * Used to conditionally stream list fields.
132
- */
133
118
  exports.GraphQLStreamDirective = new GraphQLDirective({
134
119
  name: 'stream',
135
120
  description: 'Directs the executor to stream plural fields when the `if` argument is true or undefined.',
136
- locations: [directiveLocation_js_1.DirectiveLocation.FIELD],
121
+ locations: [directiveLocation_ts_1.DirectiveLocation.FIELD],
137
122
  args: {
138
123
  initialCount: {
139
124
  default: { value: 0 },
140
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLInt),
125
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLInt),
141
126
  description: 'Number of items to return immediately',
142
127
  },
143
128
  if: {
144
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLBoolean),
129
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLBoolean),
145
130
  description: 'Stream when true or undefined.',
146
131
  default: { value: true },
147
132
  },
148
133
  label: {
149
- type: scalars_js_1.GraphQLString,
134
+ type: scalars_ts_1.GraphQLString,
150
135
  description: 'Unique name',
151
136
  },
152
137
  },
153
138
  });
154
- /**
155
- * Constant string used for default reason for a deprecation.
156
- */
157
139
  exports.DEFAULT_DEPRECATION_REASON = 'No longer supported';
158
- /**
159
- * Used to declare element of a GraphQL schema as deprecated.
160
- */
161
140
  exports.GraphQLDeprecatedDirective = new GraphQLDirective({
162
141
  name: 'deprecated',
163
142
  description: 'Marks an element of a GraphQL schema as no longer supported.',
164
143
  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,
144
+ directiveLocation_ts_1.DirectiveLocation.FIELD_DEFINITION,
145
+ directiveLocation_ts_1.DirectiveLocation.ARGUMENT_DEFINITION,
146
+ directiveLocation_ts_1.DirectiveLocation.INPUT_FIELD_DEFINITION,
147
+ directiveLocation_ts_1.DirectiveLocation.ENUM_VALUE,
148
+ directiveLocation_ts_1.DirectiveLocation.DIRECTIVE_DEFINITION,
169
149
  ],
170
150
  args: {
171
151
  reason: {
172
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLString),
152
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLString),
173
153
  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
154
  default: { value: exports.DEFAULT_DEPRECATION_REASON },
175
155
  },
176
156
  },
177
157
  });
178
- /**
179
- * Used to provide a URL for specifying the behavior of custom scalar definitions.
180
- */
181
158
  exports.GraphQLSpecifiedByDirective = new GraphQLDirective({
182
159
  name: 'specifiedBy',
183
160
  description: 'Exposes a URL that specifies the behavior of this scalar.',
184
- locations: [directiveLocation_js_1.DirectiveLocation.SCALAR],
161
+ locations: [directiveLocation_ts_1.DirectiveLocation.SCALAR],
185
162
  args: {
186
163
  url: {
187
- type: new definition_js_1.GraphQLNonNull(scalars_js_1.GraphQLString),
164
+ type: new definition_ts_1.GraphQLNonNull(scalars_ts_1.GraphQLString),
188
165
  description: 'The URL that specifies the behavior of this scalar.',
189
166
  },
190
167
  },
191
168
  });
192
- /**
193
- * Used to indicate an Input Object is a OneOf Input Object.
194
- */
195
169
  exports.GraphQLOneOfDirective = new GraphQLDirective({
196
170
  name: 'oneOf',
197
171
  description: 'Indicates exactly one field must be supplied and this field must not be `null`.',
198
- locations: [directiveLocation_js_1.DirectiveLocation.INPUT_OBJECT],
172
+ locations: [directiveLocation_ts_1.DirectiveLocation.INPUT_OBJECT],
199
173
  args: {},
200
174
  });
201
- /**
202
- * Disables error propagation (experimental).
203
- */
204
175
  exports.GraphQLDisableErrorPropagationDirective = new GraphQLDirective({
205
176
  name: 'experimental_disableErrorPropagation',
206
177
  description: 'Disables error propagation.',
207
178
  locations: [
208
- directiveLocation_js_1.DirectiveLocation.QUERY,
209
- directiveLocation_js_1.DirectiveLocation.MUTATION,
210
- directiveLocation_js_1.DirectiveLocation.SUBSCRIPTION,
179
+ directiveLocation_ts_1.DirectiveLocation.QUERY,
180
+ directiveLocation_ts_1.DirectiveLocation.MUTATION,
181
+ directiveLocation_ts_1.DirectiveLocation.SUBSCRIPTION,
211
182
  ],
212
183
  });
213
- /**
214
- * The full list of specified directives.
215
- */
216
184
  exports.specifiedDirectives = Object.freeze([
217
185
  exports.GraphQLIncludeDirective,
218
186
  exports.GraphQLSkipDirective,
@@ -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":["/** @category Directives */\n\nimport { 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\n/** @private */\nconst directiveSymbol: unique symbol = Symbol('Directive');\n\n/**\n * Test if the given value is a GraphQL directive.\n * @param directive - Value to inspect.\n * @returns True when the value is a GraphQLDirective.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective, GraphQLString, isDirective } from 'graphql/type';\n *\n * const upper = new GraphQLDirective({\n * name: 'upper',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * isDirective(upper); // => true\n * isDirective(GraphQLString); // => false\n * ```\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, directiveSymbol, GraphQLDirective);\n}\n\n/**\n * Returns the value as a GraphQLDirective, or throws if it is not a directive.\n * @param directive - Value to inspect.\n * @returns The value typed as a GraphQLDirective.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { assertDirective, GraphQLDirective, GraphQLString } from 'graphql/type';\n *\n * const upper = new GraphQLDirective({\n * name: 'upper',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * assertDirective(upper); // => upper\n * assertDirective(GraphQLString); // throws an error\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 * @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 /**\n * Internal runtime marker used to identify GraphQLDirective instances.\n * @private\n */\n readonly __kind: symbol;\n /** The GraphQL name for this schema element. */\n name: string;\n /** Human-readable description for this schema element, if provided. */\n description: Maybe<string>;\n /** Locations where this directive may be applied. */\n locations: ReadonlyArray<DirectiveLocation>;\n /** Arguments accepted by this field or directive. */\n args: ReadonlyArray<GraphQLArgument>;\n /** Whether this directive may appear more than once at the same location. */\n isRepeatable: boolean;\n /** Reason this element is deprecated, if one was provided. */\n deprecationReason: Maybe<string>;\n /** Extension fields to include in the formatted result. */\n extensions: Readonly<GraphQLDirectiveExtensions>;\n /** AST node from which this schema element was built, if available. */\n astNode: Maybe<DirectiveDefinitionNode>;\n /** AST extension nodes applied to this schema element. */\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n\n /**\n * Creates a GraphQLDirective instance.\n * @param config - Configuration describing this object.\n * @example\n * ```ts\n * import { DirectiveLocation, parse } from 'graphql/language';\n * import {\n * GraphQLBoolean,\n * GraphQLDirective,\n * GraphQLInt,\n * GraphQLNonNull,\n * } from 'graphql/type';\n *\n * const document = parse(`\n * directive @cacheControl(maxAge: Int) repeatable on FIELD_DEFINITION\n * extend directive @cacheControl(maxAge: Int) on FIELD_DEFINITION\n * `);\n * const definition = document.definitions[0];\n *\n * const cacheControl = new GraphQLDirective({\n * name: 'cacheControl',\n * description: 'Controls HTTP cache hints for a field.',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * args: {\n * inheritMaxAge: {\n * description: 'Inherit the parent cache hint.',\n * type: new GraphQLNonNull(GraphQLBoolean),\n * default: { value: false },\n * deprecationReason: 'Use maxAge instead.',\n * extensions: { scope: 'cache' },\n * },\n * maxAge: {\n * type: GraphQLInt,\n * astNode: definition.arguments[0],\n * },\n * },\n * isRepeatable: true,\n * deprecationReason: 'Use @cache instead.',\n * extensions: { scope: 'cache' },\n * astNode: definition,\n * extensionASTNodes: [ document.definitions[1] ],\n * });\n *\n * cacheControl.name; // => 'cacheControl'\n * cacheControl.description; // => 'Controls HTTP cache hints for a field.'\n * cacheControl.args[0].name; // => 'inheritMaxAge'\n * cacheControl.args[0].default.value; // => false\n * cacheControl.isRepeatable; // => true\n * cacheControl.extensions; // => { scope: 'cache' }\n * ```\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 /**\n * Returns the value used by `Object.prototype.toString`.\n * @returns The built-in string tag for this object.\n */\n get [Symbol.toStringTag](): string {\n return 'GraphQLDirective';\n }\n\n /**\n * Returns a normalized configuration object for this object.\n * @returns A configuration object that can be used to recreate this object.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective, GraphQLString } from 'graphql/type';\n *\n * const tag = new GraphQLDirective({\n * name: 'tag',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * args: {\n * name: { type: GraphQLString },\n * },\n * });\n *\n * const config = tag.toConfig();\n * const tagCopy = new GraphQLDirective(config);\n *\n * config.args.name.type; // => GraphQLString\n * tagCopy.args[0].name; // => 'name'\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 /**\n * Returns the schema coordinate identifying this directive.\n * @returns The directive schema coordinate.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective } from 'graphql/type';\n *\n * const tag = new GraphQLDirective({\n * name: 'tag',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * tag.toString(); // => '@tag'\n * ```\n */\n toString(): string {\n return '@' + this.name;\n }\n\n /**\n * Returns the JSON representation used when this object is serialized.\n * @returns The JSON-serializable representation.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective } from 'graphql/type';\n *\n * const tag = new GraphQLDirective({\n * name: 'tag',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * tag.toJSON(); // => '@tag'\n * JSON.stringify({ directive: tag }); // => '{\"directive\":\"@tag\"}'\n * ```\n */\n toJSON(): string {\n return this.toString();\n }\n}\n\n/** Configuration used to construct a GraphQLDirective. */\nexport interface GraphQLDirectiveConfig {\n /** The GraphQL name for this schema element. */\n name: string;\n /** Human-readable description for this schema element, if provided. */\n description?: Maybe<string>;\n /** Locations where this directive may be applied. */\n locations: ReadonlyArray<DirectiveLocation>;\n /** Arguments accepted by this field or directive. */\n args?: Maybe<ObjMap<GraphQLArgumentConfig>>;\n /** Whether this directive may appear more than once at the same location. */\n isRepeatable?: Maybe<boolean>;\n /** Reason this element is deprecated, if one was provided. */\n deprecationReason?: Maybe<string>;\n /** Extension fields to include in the formatted result. */\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n /** AST node from which this schema element was built, if available. */\n astNode?: Maybe<DirectiveDefinitionNode>;\n /** AST extension nodes applied to this schema element. */\n extensionASTNodes?: Maybe<ReadonlyArray<DirectiveExtensionNode>>;\n}\n\n/** @internal */\nexport interface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n}\n\n/** Used to conditionally include fields or fragments. */\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/** Used to conditionally skip (exclude) fields or fragments. */\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 * Experimental directive used to conditionally defer fragments.\n *\n * This directive is exported for schemas that explicitly opt in to incremental\n * delivery. It is not included in `specifiedDirectives`.\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 * Experimental directive used to conditionally stream list fields.\n *\n * This directive is exported for schemas that explicitly opt in to incremental\n * delivery. It is not included in `specifiedDirectives`.\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/** Constant string used for default reason for a deprecation. */\nexport const DEFAULT_DEPRECATION_REASON = 'No longer supported';\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n *\n * The `reason` argument is non-null and defaults to\n * `DEFAULT_DEPRECATION_REASON`.\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/** Used to provide a URL for specifying the behavior of custom scalar definitions. */\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/** Used to indicate an Input Object is a OneOf Input Object. */\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 *\n * @internal\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 * Full list of stable directives specified by GraphQL.js.\n *\n * Experimental `@defer` and `@stream` are exported separately and are not\n * included in this list.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLOneOfDirective,\n ]);\n\n/**\n * Returns true when the directive is one of the directives specified by GraphQL.\n * @param directive - Directive to inspect.\n * @returns True when the directive is specified by GraphQL.\n * @example\n * ```ts\n * import {\n * GraphQLDirective,\n * GraphQLIncludeDirective,\n * isSpecifiedDirective,\n * } from 'graphql/type';\n * import { DirectiveLocation } from 'graphql/language';\n *\n * const customDirective = new GraphQLDirective({\n * name: 'auth',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * isSpecifiedDirective(GraphQLIncludeDirective); // => true\n * isSpecifiedDirective(customDirective); // => false\n * ```\n */\nexport function isSpecifiedDirective(directive: GraphQLDirective): boolean {\n return specifiedDirectives.some(({ name }) => name === directive.name);\n}\n"]}
@@ -9,9 +9,6 @@ import { assertName } from "./assertName.mjs";
9
9
  import { GraphQLArgument, GraphQLNonNull } from "./definition.mjs";
10
10
  import { GraphQLBoolean, GraphQLInt, GraphQLString } from "./scalars.mjs";
11
11
  const directiveSymbol = Symbol('Directive');
12
- /**
13
- * Test if the given value is a GraphQL directive.
14
- */
15
12
  export function isDirective(directive) {
16
13
  return instanceOf(directive, directiveSymbol, GraphQLDirective);
17
14
  }
@@ -21,10 +18,6 @@ export function assertDirective(directive) {
21
18
  }
22
19
  return directive;
23
20
  }
24
- /**
25
- * Directives are used by the GraphQL runtime as a way of modifying execution
26
- * behavior. Type system creators will usually not create these directly.
27
- */
28
21
  export class GraphQLDirective {
29
22
  constructor(config) {
30
23
  this.__kind = directiveSymbol;
@@ -32,8 +25,10 @@ export class GraphQLDirective {
32
25
  this.description = config.description;
33
26
  this.locations = config.locations;
34
27
  this.isRepeatable = config.isRepeatable ?? false;
28
+ this.deprecationReason = config.deprecationReason;
35
29
  this.extensions = toObjMapWithSymbols(config.extensions);
36
30
  this.astNode = config.astNode;
31
+ this.extensionASTNodes = config.extensionASTNodes ?? [];
37
32
  if (!(Array.isArray(config.locations)))
38
33
  devAssert(false, `@${this.name} locations must be an Array.`);
39
34
  const args = config.args ?? {};
@@ -51,8 +46,10 @@ export class GraphQLDirective {
51
46
  locations: this.locations,
52
47
  args: keyValMap(this.args, (arg) => arg.name, (arg) => arg.toConfig()),
53
48
  isRepeatable: this.isRepeatable,
49
+ deprecationReason: this.deprecationReason,
54
50
  extensions: this.extensions,
55
51
  astNode: this.astNode,
52
+ extensionASTNodes: this.extensionASTNodes,
56
53
  };
57
54
  }
58
55
  toString() {
@@ -62,9 +59,6 @@ export class GraphQLDirective {
62
59
  return this.toString();
63
60
  }
64
61
  }
65
- /**
66
- * Used to conditionally include fields or fragments.
67
- */
68
62
  export const GraphQLIncludeDirective = new GraphQLDirective({
69
63
  name: 'include',
70
64
  description: 'Directs the executor to include this field or fragment only when the `if` argument is true.',
@@ -80,9 +74,6 @@ export const GraphQLIncludeDirective = new GraphQLDirective({
80
74
  },
81
75
  },
82
76
  });
83
- /**
84
- * Used to conditionally skip (exclude) fields or fragments.
85
- */
86
77
  export const GraphQLSkipDirective = new GraphQLDirective({
87
78
  name: 'skip',
88
79
  description: 'Directs the executor to skip this field or fragment when the `if` argument is true.',
@@ -98,9 +89,6 @@ export const GraphQLSkipDirective = new GraphQLDirective({
98
89
  },
99
90
  },
100
91
  });
101
- /**
102
- * Used to conditionally defer fragments.
103
- */
104
92
  export const GraphQLDeferDirective = new GraphQLDirective({
105
93
  name: 'defer',
106
94
  description: 'Directs the executor to defer this fragment when the `if` argument is true or undefined.',
@@ -120,9 +108,6 @@ export const GraphQLDeferDirective = new GraphQLDirective({
120
108
  },
121
109
  },
122
110
  });
123
- /**
124
- * Used to conditionally stream list fields.
125
- */
126
111
  export const GraphQLStreamDirective = new GraphQLDirective({
127
112
  name: 'stream',
128
113
  description: 'Directs the executor to stream plural fields when the `if` argument is true or undefined.',
@@ -144,13 +129,7 @@ export const GraphQLStreamDirective = new GraphQLDirective({
144
129
  },
145
130
  },
146
131
  });
147
- /**
148
- * Constant string used for default reason for a deprecation.
149
- */
150
132
  export const DEFAULT_DEPRECATION_REASON = 'No longer supported';
151
- /**
152
- * Used to declare element of a GraphQL schema as deprecated.
153
- */
154
133
  export const GraphQLDeprecatedDirective = new GraphQLDirective({
155
134
  name: 'deprecated',
156
135
  description: 'Marks an element of a GraphQL schema as no longer supported.',
@@ -159,6 +138,7 @@ export const GraphQLDeprecatedDirective = new GraphQLDirective({
159
138
  DirectiveLocation.ARGUMENT_DEFINITION,
160
139
  DirectiveLocation.INPUT_FIELD_DEFINITION,
161
140
  DirectiveLocation.ENUM_VALUE,
141
+ DirectiveLocation.DIRECTIVE_DEFINITION,
162
142
  ],
163
143
  args: {
164
144
  reason: {
@@ -168,9 +148,6 @@ export const GraphQLDeprecatedDirective = new GraphQLDirective({
168
148
  },
169
149
  },
170
150
  });
171
- /**
172
- * Used to provide a URL for specifying the behavior of custom scalar definitions.
173
- */
174
151
  export const GraphQLSpecifiedByDirective = new GraphQLDirective({
175
152
  name: 'specifiedBy',
176
153
  description: 'Exposes a URL that specifies the behavior of this scalar.',
@@ -182,18 +159,12 @@ export const GraphQLSpecifiedByDirective = new GraphQLDirective({
182
159
  },
183
160
  },
184
161
  });
185
- /**
186
- * Used to indicate an Input Object is a OneOf Input Object.
187
- */
188
162
  export const GraphQLOneOfDirective = new GraphQLDirective({
189
163
  name: 'oneOf',
190
164
  description: 'Indicates exactly one field must be supplied and this field must not be `null`.',
191
165
  locations: [DirectiveLocation.INPUT_OBJECT],
192
166
  args: {},
193
167
  });
194
- /**
195
- * Disables error propagation (experimental).
196
- */
197
168
  export const GraphQLDisableErrorPropagationDirective = new GraphQLDirective({
198
169
  name: 'experimental_disableErrorPropagation',
199
170
  description: 'Disables error propagation.',
@@ -203,9 +174,6 @@ export const GraphQLDisableErrorPropagationDirective = new GraphQLDirective({
203
174
  DirectiveLocation.SUBSCRIPTION,
204
175
  ],
205
176
  });
206
- /**
207
- * The full list of specified directives.
208
- */
209
177
  export const specifiedDirectives = Object.freeze([
210
178
  GraphQLIncludeDirective,
211
179
  GraphQLSkipDirective,
@@ -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":"AAEA,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;AAM7D,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;AAGzE,MAAM,eAAe,GAAkB,MAAM,CAAC,WAAW,CAAC,CAAC;AAoB3D,MAAM,UAAU,WAAW,CAAC,SAAkB;IAC5C,OAAO,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAClE,CAAC;AAoBD,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;AAkBD,MAAM,OAAO,gBAAgB;IA4E3B,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,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;cAGtD,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;IAMD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAyBD,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,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAkBD,QAAQ;QACN,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IACzB,CAAC;IAmBD,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AAiCD,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;AAGH,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;AAQH,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;AAQH,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;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAQhE,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;QAC5B,iBAAiB,CAAC,oBAAoB;KACvC;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;AAGL,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;AAGL,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;AAOH,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;AAQL,MAAM,CAAC,MAAM,mBAAmB,GAC9B,MAAM,CAAC,MAAM,CAAC;IACZ,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,2BAA2B;IAC3B,qBAAqB;CACtB,CAAC,CAAC;AAwBL,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":["/** @category Directives */\n\nimport { 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\n/** @private */\nconst directiveSymbol: unique symbol = Symbol('Directive');\n\n/**\n * Test if the given value is a GraphQL directive.\n * @param directive - Value to inspect.\n * @returns True when the value is a GraphQLDirective.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective, GraphQLString, isDirective } from 'graphql/type';\n *\n * const upper = new GraphQLDirective({\n * name: 'upper',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * isDirective(upper); // => true\n * isDirective(GraphQLString); // => false\n * ```\n */\nexport function isDirective(directive: unknown): directive is GraphQLDirective {\n return instanceOf(directive, directiveSymbol, GraphQLDirective);\n}\n\n/**\n * Returns the value as a GraphQLDirective, or throws if it is not a directive.\n * @param directive - Value to inspect.\n * @returns The value typed as a GraphQLDirective.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { assertDirective, GraphQLDirective, GraphQLString } from 'graphql/type';\n *\n * const upper = new GraphQLDirective({\n * name: 'upper',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * assertDirective(upper); // => upper\n * assertDirective(GraphQLString); // throws an error\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 * @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 /**\n * Internal runtime marker used to identify GraphQLDirective instances.\n * @private\n */\n readonly __kind: symbol;\n /** The GraphQL name for this schema element. */\n name: string;\n /** Human-readable description for this schema element, if provided. */\n description: Maybe<string>;\n /** Locations where this directive may be applied. */\n locations: ReadonlyArray<DirectiveLocation>;\n /** Arguments accepted by this field or directive. */\n args: ReadonlyArray<GraphQLArgument>;\n /** Whether this directive may appear more than once at the same location. */\n isRepeatable: boolean;\n /** Reason this element is deprecated, if one was provided. */\n deprecationReason: Maybe<string>;\n /** Extension fields to include in the formatted result. */\n extensions: Readonly<GraphQLDirectiveExtensions>;\n /** AST node from which this schema element was built, if available. */\n astNode: Maybe<DirectiveDefinitionNode>;\n /** AST extension nodes applied to this schema element. */\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n\n /**\n * Creates a GraphQLDirective instance.\n * @param config - Configuration describing this object.\n * @example\n * ```ts\n * import { DirectiveLocation, parse } from 'graphql/language';\n * import {\n * GraphQLBoolean,\n * GraphQLDirective,\n * GraphQLInt,\n * GraphQLNonNull,\n * } from 'graphql/type';\n *\n * const document = parse(`\n * directive @cacheControl(maxAge: Int) repeatable on FIELD_DEFINITION\n * extend directive @cacheControl(maxAge: Int) on FIELD_DEFINITION\n * `);\n * const definition = document.definitions[0];\n *\n * const cacheControl = new GraphQLDirective({\n * name: 'cacheControl',\n * description: 'Controls HTTP cache hints for a field.',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * args: {\n * inheritMaxAge: {\n * description: 'Inherit the parent cache hint.',\n * type: new GraphQLNonNull(GraphQLBoolean),\n * default: { value: false },\n * deprecationReason: 'Use maxAge instead.',\n * extensions: { scope: 'cache' },\n * },\n * maxAge: {\n * type: GraphQLInt,\n * astNode: definition.arguments[0],\n * },\n * },\n * isRepeatable: true,\n * deprecationReason: 'Use @cache instead.',\n * extensions: { scope: 'cache' },\n * astNode: definition,\n * extensionASTNodes: [ document.definitions[1] ],\n * });\n *\n * cacheControl.name; // => 'cacheControl'\n * cacheControl.description; // => 'Controls HTTP cache hints for a field.'\n * cacheControl.args[0].name; // => 'inheritMaxAge'\n * cacheControl.args[0].default.value; // => false\n * cacheControl.isRepeatable; // => true\n * cacheControl.extensions; // => { scope: 'cache' }\n * ```\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 /**\n * Returns the value used by `Object.prototype.toString`.\n * @returns The built-in string tag for this object.\n */\n get [Symbol.toStringTag](): string {\n return 'GraphQLDirective';\n }\n\n /**\n * Returns a normalized configuration object for this object.\n * @returns A configuration object that can be used to recreate this object.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective, GraphQLString } from 'graphql/type';\n *\n * const tag = new GraphQLDirective({\n * name: 'tag',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * args: {\n * name: { type: GraphQLString },\n * },\n * });\n *\n * const config = tag.toConfig();\n * const tagCopy = new GraphQLDirective(config);\n *\n * config.args.name.type; // => GraphQLString\n * tagCopy.args[0].name; // => 'name'\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 /**\n * Returns the schema coordinate identifying this directive.\n * @returns The directive schema coordinate.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective } from 'graphql/type';\n *\n * const tag = new GraphQLDirective({\n * name: 'tag',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * tag.toString(); // => '@tag'\n * ```\n */\n toString(): string {\n return '@' + this.name;\n }\n\n /**\n * Returns the JSON representation used when this object is serialized.\n * @returns The JSON-serializable representation.\n * @example\n * ```ts\n * import { DirectiveLocation } from 'graphql/language';\n * import { GraphQLDirective } from 'graphql/type';\n *\n * const tag = new GraphQLDirective({\n * name: 'tag',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * tag.toJSON(); // => '@tag'\n * JSON.stringify({ directive: tag }); // => '{\"directive\":\"@tag\"}'\n * ```\n */\n toJSON(): string {\n return this.toString();\n }\n}\n\n/** Configuration used to construct a GraphQLDirective. */\nexport interface GraphQLDirectiveConfig {\n /** The GraphQL name for this schema element. */\n name: string;\n /** Human-readable description for this schema element, if provided. */\n description?: Maybe<string>;\n /** Locations where this directive may be applied. */\n locations: ReadonlyArray<DirectiveLocation>;\n /** Arguments accepted by this field or directive. */\n args?: Maybe<ObjMap<GraphQLArgumentConfig>>;\n /** Whether this directive may appear more than once at the same location. */\n isRepeatable?: Maybe<boolean>;\n /** Reason this element is deprecated, if one was provided. */\n deprecationReason?: Maybe<string>;\n /** Extension fields to include in the formatted result. */\n extensions?: Maybe<Readonly<GraphQLDirectiveExtensions>>;\n /** AST node from which this schema element was built, if available. */\n astNode?: Maybe<DirectiveDefinitionNode>;\n /** AST extension nodes applied to this schema element. */\n extensionASTNodes?: Maybe<ReadonlyArray<DirectiveExtensionNode>>;\n}\n\n/** @internal */\nexport interface GraphQLDirectiveNormalizedConfig extends GraphQLDirectiveConfig {\n args: GraphQLFieldNormalizedConfigArgumentMap;\n isRepeatable: boolean;\n extensions: Readonly<GraphQLDirectiveExtensions>;\n extensionASTNodes: ReadonlyArray<DirectiveExtensionNode>;\n}\n\n/** Used to conditionally include fields or fragments. */\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/** Used to conditionally skip (exclude) fields or fragments. */\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 * Experimental directive used to conditionally defer fragments.\n *\n * This directive is exported for schemas that explicitly opt in to incremental\n * delivery. It is not included in `specifiedDirectives`.\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 * Experimental directive used to conditionally stream list fields.\n *\n * This directive is exported for schemas that explicitly opt in to incremental\n * delivery. It is not included in `specifiedDirectives`.\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/** Constant string used for default reason for a deprecation. */\nexport const DEFAULT_DEPRECATION_REASON = 'No longer supported';\n\n/**\n * Used to declare element of a GraphQL schema as deprecated.\n *\n * The `reason` argument is non-null and defaults to\n * `DEFAULT_DEPRECATION_REASON`.\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/** Used to provide a URL for specifying the behavior of custom scalar definitions. */\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/** Used to indicate an Input Object is a OneOf Input Object. */\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 *\n * @internal\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 * Full list of stable directives specified by GraphQL.js.\n *\n * Experimental `@defer` and `@stream` are exported separately and are not\n * included in this list.\n */\nexport const specifiedDirectives: ReadonlyArray<GraphQLDirective> =\n Object.freeze([\n GraphQLIncludeDirective,\n GraphQLSkipDirective,\n GraphQLDeprecatedDirective,\n GraphQLSpecifiedByDirective,\n GraphQLOneOfDirective,\n ]);\n\n/**\n * Returns true when the directive is one of the directives specified by GraphQL.\n * @param directive - Directive to inspect.\n * @returns True when the directive is specified by GraphQL.\n * @example\n * ```ts\n * import {\n * GraphQLDirective,\n * GraphQLIncludeDirective,\n * isSpecifiedDirective,\n * } from 'graphql/type';\n * import { DirectiveLocation } from 'graphql/language';\n *\n * const customDirective = new GraphQLDirective({\n * name: 'auth',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * });\n *\n * isSpecifiedDirective(GraphQLIncludeDirective); // => true\n * isSpecifiedDirective(customDirective); // => false\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,18 @@
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
+ /**
2
+ * Create and inspect GraphQL type definitions and schemas.
3
+ *
4
+ * These exports are also available from the root `graphql` package.
5
+ * @packageDocumentation
6
+ */
7
+ export type { Path as ResponsePath } from "../jsutils/Path.mjs";
8
+ export { isSchema, assertSchema, GraphQLSchema, } from "./schema.mjs";
9
+ export type { GraphQLSchemaConfig, GraphQLSchemaExtensions } from "./schema.mjs";
10
+ export type { GraphQLField, GraphQLArgument, GraphQLEnumValue, GraphQLInputField, } from "./definition.mjs";
11
+ 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";
12
+ 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";
13
+ export { isDirective, assertDirective, GraphQLDirective, isSpecifiedDirective, specifiedDirectives, GraphQLIncludeDirective, GraphQLSkipDirective, GraphQLDeferDirective, GraphQLStreamDirective, GraphQLDeprecatedDirective, GraphQLSpecifiedByDirective, GraphQLOneOfDirective, DEFAULT_DEPRECATION_REASON, } from "./directives.mjs";
14
+ export type { GraphQLDirectiveConfig, GraphQLDirectiveExtensions, } from "./directives.mjs";
15
+ export { isSpecifiedScalarType, specifiedScalarTypes, GraphQLInt, GraphQLFloat, GraphQLString, GraphQLBoolean, GraphQLID, GRAPHQL_MAX_INT, GRAPHQL_MIN_INT, } from "./scalars.mjs";
16
+ export { isIntrospectionType, introspectionTypes, __Schema, __Directive, __DirectiveLocation, __Type, __Field, __InputValue, __EnumValue, __TypeKind, TypeKind, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from "./introspection.mjs";
17
+ export { validateSchema, assertValidSchema } from "./validate.mjs";
18
+ export { assertName, assertEnumValueName } from "./assertName.mjs";