graphql 0.0.1-test.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/LICENSE +21 -0
  2. package/NotSupportedTSVersion.d.ts +1 -0
  3. package/README.md +158 -0
  4. package/error/GraphQLError.d.ts +142 -0
  5. package/error/GraphQLError.js +267 -0
  6. package/error/GraphQLError.mjs +253 -0
  7. package/error/index.d.ts +7 -0
  8. package/error/index.js +41 -0
  9. package/error/index.mjs +3 -0
  10. package/error/locatedError.d.ts +13 -0
  11. package/error/locatedError.js +40 -0
  12. package/error/locatedError.mjs +32 -0
  13. package/error/syntaxError.d.ts +11 -0
  14. package/error/syntaxError.js +21 -0
  15. package/error/syntaxError.mjs +11 -0
  16. package/execution/collectFields.d.ts +45 -0
  17. package/execution/collectFields.js +229 -0
  18. package/execution/collectFields.mjs +213 -0
  19. package/execution/execute.d.ts +185 -0
  20. package/execution/execute.js +1016 -0
  21. package/execution/execute.mjs +988 -0
  22. package/execution/index.d.ts +14 -0
  23. package/execution/index.js +67 -0
  24. package/execution/index.mjs +9 -0
  25. package/execution/mapAsyncIterator.d.ts +9 -0
  26. package/execution/mapAsyncIterator.js +68 -0
  27. package/execution/mapAsyncIterator.mjs +61 -0
  28. package/execution/subscribe.d.ts +68 -0
  29. package/execution/subscribe.js +261 -0
  30. package/execution/subscribe.mjs +239 -0
  31. package/execution/values.d.ts +81 -0
  32. package/execution/values.js +292 -0
  33. package/execution/values.mjs +255 -0
  34. package/graphql.d.ts +67 -0
  35. package/graphql.js +96 -0
  36. package/graphql.mjs +122 -0
  37. package/index.d.ts +411 -0
  38. package/index.js +1263 -0
  39. package/index.mjs +254 -0
  40. package/jsutils/Maybe.d.ts +2 -0
  41. package/jsutils/Maybe.js +5 -0
  42. package/jsutils/Maybe.mjs +1 -0
  43. package/jsutils/ObjMap.d.ts +16 -0
  44. package/jsutils/ObjMap.js +5 -0
  45. package/jsutils/ObjMap.mjs +1 -0
  46. package/jsutils/Path.d.ts +20 -0
  47. package/jsutils/Path.js +33 -0
  48. package/jsutils/Path.mjs +25 -0
  49. package/jsutils/PromiseOrValue.d.ts +1 -0
  50. package/jsutils/PromiseOrValue.js +5 -0
  51. package/jsutils/PromiseOrValue.mjs +1 -0
  52. package/jsutils/devAssert.d.ts +1 -0
  53. package/jsutils/devAssert.js +14 -0
  54. package/jsutils/devAssert.mjs +7 -0
  55. package/jsutils/didYouMean.d.ts +8 -0
  56. package/jsutils/didYouMean.js +38 -0
  57. package/jsutils/didYouMean.mjs +32 -0
  58. package/jsutils/groupBy.d.ts +7 -0
  59. package/jsutils/groupBy.js +26 -0
  60. package/jsutils/groupBy.mjs +19 -0
  61. package/jsutils/identityFunc.d.ts +4 -0
  62. package/jsutils/identityFunc.js +13 -0
  63. package/jsutils/identityFunc.mjs +6 -0
  64. package/jsutils/inspect.d.ts +4 -0
  65. package/jsutils/inspect.js +121 -0
  66. package/jsutils/inspect.mjs +115 -0
  67. package/jsutils/instanceOf.d.ts +16 -0
  68. package/jsutils/instanceOf.js +60 -0
  69. package/jsutils/instanceOf.mjs +52 -0
  70. package/jsutils/invariant.d.ts +4 -0
  71. package/jsutils/invariant.js +16 -0
  72. package/jsutils/invariant.mjs +9 -0
  73. package/jsutils/isAsyncIterable.d.ts +7 -0
  74. package/jsutils/isAsyncIterable.js +18 -0
  75. package/jsutils/isAsyncIterable.mjs +11 -0
  76. package/jsutils/isIterableObject.d.ts +20 -0
  77. package/jsutils/isIterableObject.js +32 -0
  78. package/jsutils/isIterableObject.mjs +25 -0
  79. package/jsutils/isObjectLike.d.ts +7 -0
  80. package/jsutils/isObjectLike.js +14 -0
  81. package/jsutils/isObjectLike.mjs +7 -0
  82. package/jsutils/isPromise.d.ts +5 -0
  83. package/jsutils/isPromise.js +17 -0
  84. package/jsutils/isPromise.mjs +10 -0
  85. package/jsutils/keyMap.d.ts +32 -0
  86. package/jsutils/keyMap.js +43 -0
  87. package/jsutils/keyMap.mjs +36 -0
  88. package/jsutils/keyValMap.d.ts +23 -0
  89. package/jsutils/keyValMap.js +33 -0
  90. package/jsutils/keyValMap.mjs +26 -0
  91. package/jsutils/mapValue.d.ts +9 -0
  92. package/jsutils/mapValue.js +20 -0
  93. package/jsutils/mapValue.mjs +13 -0
  94. package/jsutils/memoize3.d.ts +9 -0
  95. package/jsutils/memoize3.js +41 -0
  96. package/jsutils/memoize3.mjs +34 -0
  97. package/jsutils/naturalCompare.d.ts +8 -0
  98. package/jsutils/naturalCompare.js +69 -0
  99. package/jsutils/naturalCompare.mjs +61 -0
  100. package/jsutils/printPathArray.d.ts +6 -0
  101. package/jsutils/printPathArray.js +17 -0
  102. package/jsutils/printPathArray.mjs +10 -0
  103. package/jsutils/promiseForObject.d.ts +11 -0
  104. package/jsutils/promiseForObject.js +25 -0
  105. package/jsutils/promiseForObject.mjs +18 -0
  106. package/jsutils/promiseReduce.d.ts +13 -0
  107. package/jsutils/promiseReduce.js +27 -0
  108. package/jsutils/promiseReduce.mjs +20 -0
  109. package/jsutils/suggestionList.d.ts +8 -0
  110. package/jsutils/suggestionList.js +139 -0
  111. package/jsutils/suggestionList.mjs +130 -0
  112. package/jsutils/toError.d.ts +4 -0
  113. package/jsutils/toError.js +25 -0
  114. package/jsutils/toError.mjs +18 -0
  115. package/jsutils/toObjMap.d.ts +5 -0
  116. package/jsutils/toObjMap.js +24 -0
  117. package/jsutils/toObjMap.mjs +17 -0
  118. package/language/ast.d.ts +536 -0
  119. package/language/ast.js +224 -0
  120. package/language/ast.mjs +206 -0
  121. package/language/blockString.d.ts +28 -0
  122. package/language/blockString.js +195 -0
  123. package/language/blockString.mjs +178 -0
  124. package/language/characterClasses.d.ts +47 -0
  125. package/language/characterClasses.js +75 -0
  126. package/language/characterClasses.mjs +64 -0
  127. package/language/directiveLocation.d.ts +32 -0
  128. package/language/directiveLocation.js +40 -0
  129. package/language/directiveLocation.mjs +31 -0
  130. package/language/index.d.ts +97 -0
  131. package/language/index.js +215 -0
  132. package/language/index.mjs +29 -0
  133. package/language/kinds.d.ts +65 -0
  134. package/language/kinds.js +64 -0
  135. package/language/kinds.mjs +55 -0
  136. package/language/lexer.d.ts +45 -0
  137. package/language/lexer.js +1006 -0
  138. package/language/lexer.mjs +902 -0
  139. package/language/location.d.ts +16 -0
  140. package/language/location.js +38 -0
  141. package/language/location.mjs +30 -0
  142. package/language/parser.d.ts +554 -0
  143. package/language/parser.js +1567 -0
  144. package/language/parser.mjs +1524 -0
  145. package/language/predicates.d.ts +33 -0
  146. package/language/predicates.js +109 -0
  147. package/language/predicates.mjs +81 -0
  148. package/language/printLocation.d.ts +14 -0
  149. package/language/printLocation.js +74 -0
  150. package/language/printLocation.mjs +66 -0
  151. package/language/printString.d.ts +5 -0
  152. package/language/printString.js +183 -0
  153. package/language/printString.mjs +176 -0
  154. package/language/printer.d.ts +6 -0
  155. package/language/printer.js +351 -0
  156. package/language/printer.mjs +339 -0
  157. package/language/source.d.ts +25 -0
  158. package/language/source.js +65 -0
  159. package/language/source.mjs +50 -0
  160. package/language/tokenKind.d.ts +34 -0
  161. package/language/tokenKind.js +44 -0
  162. package/language/tokenKind.mjs +35 -0
  163. package/language/visitor.d.ts +194 -0
  164. package/language/visitor.js +377 -0
  165. package/language/visitor.mjs +361 -0
  166. package/package.json +40 -0
  167. package/subscription/index.d.ts +19 -0
  168. package/subscription/index.js +19 -0
  169. package/subscription/index.mjs +19 -0
  170. package/type/assertName.d.ts +10 -0
  171. package/type/assertName.js +59 -0
  172. package/type/assertName.mjs +44 -0
  173. package/type/definition.d.ts +917 -0
  174. package/type/definition.js +1329 -0
  175. package/type/definition.mjs +1167 -0
  176. package/type/directives.d.ts +86 -0
  177. package/type/directives.js +224 -0
  178. package/type/directives.mjs +190 -0
  179. package/type/index.d.ts +150 -0
  180. package/type/index.js +547 -0
  181. package/type/index.mjs +103 -0
  182. package/type/introspection.d.ts +29 -0
  183. package/type/introspection.js +617 -0
  184. package/type/introspection.mjs +550 -0
  185. package/type/scalars.d.ts +19 -0
  186. package/type/scalars.js +359 -0
  187. package/type/scalars.mjs +299 -0
  188. package/type/schema.d.ts +170 -0
  189. package/type/schema.js +402 -0
  190. package/type/schema.mjs +381 -0
  191. package/type/validate.d.ts +17 -0
  192. package/type/validate.js +672 -0
  193. package/type/validate.mjs +647 -0
  194. package/utilities/TypeInfo.d.ts +67 -0
  195. package/utilities/TypeInfo.js +418 -0
  196. package/utilities/TypeInfo.mjs +395 -0
  197. package/utilities/assertValidName.d.ts +13 -0
  198. package/utilities/assertValidName.js +51 -0
  199. package/utilities/assertValidName.mjs +40 -0
  200. package/utilities/astFromValue.d.ts +28 -0
  201. package/utilities/astFromValue.js +190 -0
  202. package/utilities/astFromValue.mjs +177 -0
  203. package/utilities/buildASTSchema.d.ts +35 -0
  204. package/utilities/buildASTSchema.js +115 -0
  205. package/utilities/buildASTSchema.mjs +97 -0
  206. package/utilities/buildClientSchema.d.ts +19 -0
  207. package/utilities/buildClientSchema.js +386 -0
  208. package/utilities/buildClientSchema.mjs +363 -0
  209. package/utilities/coerceInputValue.d.ts +16 -0
  210. package/utilities/coerceInputValue.js +191 -0
  211. package/utilities/coerceInputValue.mjs +172 -0
  212. package/utilities/concatAST.d.ts +9 -0
  213. package/utilities/concatAST.js +26 -0
  214. package/utilities/concatAST.mjs +19 -0
  215. package/utilities/extendSchema.d.ts +40 -0
  216. package/utilities/extendSchema.js +798 -0
  217. package/utilities/extendSchema.mjs +789 -0
  218. package/utilities/findBreakingChanges.d.ts +51 -0
  219. package/utilities/findBreakingChanges.js +547 -0
  220. package/utilities/findBreakingChanges.mjs +516 -0
  221. package/utilities/getIntrospectionQuery.d.ts +182 -0
  222. package/utilities/getIntrospectionQuery.js +134 -0
  223. package/utilities/getIntrospectionQuery.mjs +127 -0
  224. package/utilities/getOperationAST.d.ts +11 -0
  225. package/utilities/getOperationAST.js +43 -0
  226. package/utilities/getOperationAST.mjs +36 -0
  227. package/utilities/getOperationRootType.d.ts +15 -0
  228. package/utilities/getOperationRootType.js +59 -0
  229. package/utilities/getOperationRootType.mjs +52 -0
  230. package/utilities/index.d.ts +61 -0
  231. package/utilities/index.js +233 -0
  232. package/utilities/index.mjs +55 -0
  233. package/utilities/introspectionFromSchema.d.ts +18 -0
  234. package/utilities/introspectionFromSchema.js +42 -0
  235. package/utilities/introspectionFromSchema.mjs +30 -0
  236. package/utilities/lexicographicSortSchema.d.ts +9 -0
  237. package/utilities/lexicographicSortSchema.js +177 -0
  238. package/utilities/lexicographicSortSchema.mjs +172 -0
  239. package/utilities/printSchema.d.ts +5 -0
  240. package/utilities/printSchema.js +333 -0
  241. package/utilities/printSchema.mjs +309 -0
  242. package/utilities/separateOperations.d.ts +11 -0
  243. package/utilities/separateOperations.js +88 -0
  244. package/utilities/separateOperations.mjs +80 -0
  245. package/utilities/sortValueNode.d.ts +9 -0
  246. package/utilities/sortValueNode.js +47 -0
  247. package/utilities/sortValueNode.mjs +39 -0
  248. package/utilities/stripIgnoredCharacters.d.ts +62 -0
  249. package/utilities/stripIgnoredCharacters.js +121 -0
  250. package/utilities/stripIgnoredCharacters.mjs +104 -0
  251. package/utilities/typeComparators.d.ts +32 -0
  252. package/utilities/typeComparators.js +116 -0
  253. package/utilities/typeComparators.mjs +106 -0
  254. package/utilities/typeFromAST.d.ts +32 -0
  255. package/utilities/typeFromAST.js +27 -0
  256. package/utilities/typeFromAST.mjs +18 -0
  257. package/utilities/typedQueryDocumentNode.d.ts +22 -0
  258. package/utilities/typedQueryDocumentNode.js +5 -0
  259. package/utilities/typedQueryDocumentNode.mjs +1 -0
  260. package/utilities/valueFromAST.d.ts +29 -0
  261. package/utilities/valueFromAST.js +185 -0
  262. package/utilities/valueFromAST.mjs +172 -0
  263. package/utilities/valueFromASTUntyped.d.ts +23 -0
  264. package/utilities/valueFromASTUntyped.js +61 -0
  265. package/utilities/valueFromASTUntyped.mjs +53 -0
  266. package/validation/ValidationContext.d.ts +95 -0
  267. package/validation/ValidationContext.js +232 -0
  268. package/validation/ValidationContext.mjs +212 -0
  269. package/validation/index.d.ts +40 -0
  270. package/validation/index.js +317 -0
  271. package/validation/index.mjs +68 -0
  272. package/validation/rules/ExecutableDefinitionsRule.d.ts +13 -0
  273. package/validation/rules/ExecutableDefinitionsRule.js +44 -0
  274. package/validation/rules/ExecutableDefinitionsRule.mjs +35 -0
  275. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +13 -0
  276. package/validation/rules/FieldsOnCorrectTypeRule.js +143 -0
  277. package/validation/rules/FieldsOnCorrectTypeRule.mjs +125 -0
  278. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +14 -0
  279. package/validation/rules/FragmentsOnCompositeTypesRule.js +65 -0
  280. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +49 -0
  281. package/validation/rules/KnownArgumentNamesRule.d.ts +23 -0
  282. package/validation/rules/KnownArgumentNamesRule.js +116 -0
  283. package/validation/rules/KnownArgumentNamesRule.mjs +98 -0
  284. package/validation/rules/KnownDirectivesRule.d.ts +16 -0
  285. package/validation/rules/KnownDirectivesRule.js +163 -0
  286. package/validation/rules/KnownDirectivesRule.mjs +146 -0
  287. package/validation/rules/KnownFragmentNamesRule.d.ts +13 -0
  288. package/validation/rules/KnownFragmentNamesRule.js +34 -0
  289. package/validation/rules/KnownFragmentNamesRule.mjs +24 -0
  290. package/validation/rules/KnownTypeNamesRule.d.ts +16 -0
  291. package/validation/rules/KnownTypeNamesRule.js +87 -0
  292. package/validation/rules/KnownTypeNamesRule.mjs +75 -0
  293. package/validation/rules/LoneAnonymousOperationRule.d.ts +13 -0
  294. package/validation/rules/LoneAnonymousOperationRule.js +40 -0
  295. package/validation/rules/LoneAnonymousOperationRule.mjs +32 -0
  296. package/validation/rules/LoneSchemaDefinitionRule.d.ts +10 -0
  297. package/validation/rules/LoneSchemaDefinitionRule.js +63 -0
  298. package/validation/rules/LoneSchemaDefinitionRule.mjs +53 -0
  299. package/validation/rules/NoFragmentCyclesRule.d.ts +13 -0
  300. package/validation/rules/NoFragmentCyclesRule.js +83 -0
  301. package/validation/rules/NoFragmentCyclesRule.mjs +76 -0
  302. package/validation/rules/NoUndefinedVariablesRule.d.ts +13 -0
  303. package/validation/rules/NoUndefinedVariablesRule.js +50 -0
  304. package/validation/rules/NoUndefinedVariablesRule.mjs +43 -0
  305. package/validation/rules/NoUnusedFragmentsRule.d.ts +13 -0
  306. package/validation/rules/NoUnusedFragmentsRule.js +59 -0
  307. package/validation/rules/NoUnusedFragmentsRule.mjs +52 -0
  308. package/validation/rules/NoUnusedVariablesRule.d.ts +13 -0
  309. package/validation/rules/NoUnusedVariablesRule.js +55 -0
  310. package/validation/rules/NoUnusedVariablesRule.mjs +48 -0
  311. package/validation/rules/OverlappingFieldsCanBeMergedRule-old.js +805 -0
  312. package/validation/rules/OverlappingFieldsCanBeMergedRule-old.mjs +788 -0
  313. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +14 -0
  314. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +805 -0
  315. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +788 -0
  316. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +12 -0
  317. package/validation/rules/PossibleFragmentSpreadsRule.js +91 -0
  318. package/validation/rules/PossibleFragmentSpreadsRule.mjs +69 -0
  319. package/validation/rules/PossibleTypeExtensionsRule.d.ts +10 -0
  320. package/validation/rules/PossibleTypeExtensionsRule.js +167 -0
  321. package/validation/rules/PossibleTypeExtensionsRule.mjs +147 -0
  322. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +20 -0
  323. package/validation/rules/ProvidedRequiredArgumentsRule.js +158 -0
  324. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +138 -0
  325. package/validation/rules/ScalarLeafsRule.d.ts +9 -0
  326. package/validation/rules/ScalarLeafsRule.js +51 -0
  327. package/validation/rules/ScalarLeafsRule.mjs +42 -0
  328. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +13 -0
  329. package/validation/rules/SingleFieldSubscriptionsRule.js +82 -0
  330. package/validation/rules/SingleFieldSubscriptionsRule.mjs +73 -0
  331. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +11 -0
  332. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +90 -0
  333. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +79 -0
  334. package/validation/rules/UniqueArgumentNamesRule.d.ts +13 -0
  335. package/validation/rules/UniqueArgumentNamesRule.js +53 -0
  336. package/validation/rules/UniqueArgumentNamesRule.mjs +42 -0
  337. package/validation/rules/UniqueDirectiveNamesRule.d.ts +10 -0
  338. package/validation/rules/UniqueDirectiveNamesRule.js +50 -0
  339. package/validation/rules/UniqueDirectiveNamesRule.mjs +43 -0
  340. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +16 -0
  341. package/validation/rules/UniqueDirectivesPerLocationRule.js +93 -0
  342. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +83 -0
  343. package/validation/rules/UniqueEnumValueNamesRule.d.ts +10 -0
  344. package/validation/rules/UniqueEnumValueNamesRule.js +71 -0
  345. package/validation/rules/UniqueEnumValueNamesRule.mjs +60 -0
  346. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +10 -0
  347. package/validation/rules/UniqueFieldDefinitionNamesRule.js +83 -0
  348. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +75 -0
  349. package/validation/rules/UniqueFragmentNamesRule.d.ts +12 -0
  350. package/validation/rules/UniqueFragmentNamesRule.js +39 -0
  351. package/validation/rules/UniqueFragmentNamesRule.mjs +32 -0
  352. package/validation/rules/UniqueInputFieldNamesRule.d.ts +13 -0
  353. package/validation/rules/UniqueInputFieldNamesRule.js +52 -0
  354. package/validation/rules/UniqueInputFieldNamesRule.mjs +44 -0
  355. package/validation/rules/UniqueOperationNamesRule.d.ts +12 -0
  356. package/validation/rules/UniqueOperationNamesRule.js +41 -0
  357. package/validation/rules/UniqueOperationNamesRule.mjs +34 -0
  358. package/validation/rules/UniqueOperationTypesRule.d.ts +10 -0
  359. package/validation/rules/UniqueOperationTypesRule.js +67 -0
  360. package/validation/rules/UniqueOperationTypesRule.mjs +60 -0
  361. package/validation/rules/UniqueTypeNamesRule.d.ts +10 -0
  362. package/validation/rules/UniqueTypeNamesRule.js +53 -0
  363. package/validation/rules/UniqueTypeNamesRule.mjs +46 -0
  364. package/validation/rules/UniqueVariableNamesRule.d.ts +10 -0
  365. package/validation/rules/UniqueVariableNamesRule.js +47 -0
  366. package/validation/rules/UniqueVariableNamesRule.mjs +39 -0
  367. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +13 -0
  368. package/validation/rules/ValuesOfCorrectTypeRule.js +183 -0
  369. package/validation/rules/ValuesOfCorrectTypeRule.mjs +164 -0
  370. package/validation/rules/VariablesAreInputTypesRule.d.ts +13 -0
  371. package/validation/rules/VariablesAreInputTypesRule.js +44 -0
  372. package/validation/rules/VariablesAreInputTypesRule.mjs +31 -0
  373. package/validation/rules/VariablesInAllowedPositionRule.d.ts +12 -0
  374. package/validation/rules/VariablesInAllowedPositionRule.js +114 -0
  375. package/validation/rules/VariablesInAllowedPositionRule.mjs +95 -0
  376. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +15 -0
  377. package/validation/rules/custom/NoDeprecatedCustomRule.js +121 -0
  378. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +107 -0
  379. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +15 -0
  380. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +39 -0
  381. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +30 -0
  382. package/validation/specifiedRules.d.ts +12 -0
  383. package/validation/specifiedRules.js +160 -0
  384. package/validation/specifiedRules.mjs +123 -0
  385. package/validation/validate.d.ts +61 -0
  386. package/validation/validate.js +151 -0
  387. package/validation/validate.mjs +133 -0
  388. package/version.d.ts +13 -0
  389. package/version.js +25 -0
  390. package/version.mjs +17 -0
@@ -0,0 +1,12 @@
1
+ import type { ASTVisitor } from '../../language/visitor';
2
+ import type { ValidationContext } from '../ValidationContext';
3
+ /**
4
+ * Possible fragment spread
5
+ *
6
+ * A fragment spread is only valid if the type condition could ever possibly
7
+ * be true: if there is a non-empty intersection of the possible parent types,
8
+ * and possible types which pass the type condition.
9
+ */
10
+ export declare function PossibleFragmentSpreadsRule(
11
+ context: ValidationContext,
12
+ ): ASTVisitor;
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.PossibleFragmentSpreadsRule = PossibleFragmentSpreadsRule;
7
+
8
+ var _inspect = require('../../jsutils/inspect.js');
9
+
10
+ var _GraphQLError = require('../../error/GraphQLError.js');
11
+
12
+ var _definition = require('../../type/definition.js');
13
+
14
+ var _typeComparators = require('../../utilities/typeComparators.js');
15
+
16
+ var _typeFromAST = require('../../utilities/typeFromAST.js');
17
+
18
+ /**
19
+ * Possible fragment spread
20
+ *
21
+ * A fragment spread is only valid if the type condition could ever possibly
22
+ * be true: if there is a non-empty intersection of the possible parent types,
23
+ * and possible types which pass the type condition.
24
+ */
25
+ function PossibleFragmentSpreadsRule(context) {
26
+ return {
27
+ InlineFragment(node) {
28
+ const fragType = context.getType();
29
+ const parentType = context.getParentType();
30
+
31
+ if (
32
+ (0, _definition.isCompositeType)(fragType) &&
33
+ (0, _definition.isCompositeType)(parentType) &&
34
+ !(0, _typeComparators.doTypesOverlap)(
35
+ context.getSchema(),
36
+ fragType,
37
+ parentType,
38
+ )
39
+ ) {
40
+ const parentTypeStr = (0, _inspect.inspect)(parentType);
41
+ const fragTypeStr = (0, _inspect.inspect)(fragType);
42
+ context.reportError(
43
+ new _GraphQLError.GraphQLError(
44
+ `Fragment cannot be spread here as objects of type "${parentTypeStr}" can never be of type "${fragTypeStr}".`,
45
+ node,
46
+ ),
47
+ );
48
+ }
49
+ },
50
+
51
+ FragmentSpread(node) {
52
+ const fragName = node.name.value;
53
+ const fragType = getFragmentType(context, fragName);
54
+ const parentType = context.getParentType();
55
+
56
+ if (
57
+ fragType &&
58
+ parentType &&
59
+ !(0, _typeComparators.doTypesOverlap)(
60
+ context.getSchema(),
61
+ fragType,
62
+ parentType,
63
+ )
64
+ ) {
65
+ const parentTypeStr = (0, _inspect.inspect)(parentType);
66
+ const fragTypeStr = (0, _inspect.inspect)(fragType);
67
+ context.reportError(
68
+ new _GraphQLError.GraphQLError(
69
+ `Fragment "${fragName}" cannot be spread here as objects of type "${parentTypeStr}" can never be of type "${fragTypeStr}".`,
70
+ node,
71
+ ),
72
+ );
73
+ }
74
+ },
75
+ };
76
+ }
77
+
78
+ function getFragmentType(context, name) {
79
+ const frag = context.getFragment(name);
80
+
81
+ if (frag) {
82
+ const type = (0, _typeFromAST.typeFromAST)(
83
+ context.getSchema(),
84
+ frag.typeCondition,
85
+ );
86
+
87
+ if ((0, _definition.isCompositeType)(type)) {
88
+ return type;
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,69 @@
1
+ import { inspect } from '../../jsutils/inspect.mjs';
2
+ import { GraphQLError } from '../../error/GraphQLError.mjs';
3
+ import { isCompositeType } from '../../type/definition.mjs';
4
+ import { doTypesOverlap } from '../../utilities/typeComparators.mjs';
5
+ import { typeFromAST } from '../../utilities/typeFromAST.mjs';
6
+
7
+ /**
8
+ * Possible fragment spread
9
+ *
10
+ * A fragment spread is only valid if the type condition could ever possibly
11
+ * be true: if there is a non-empty intersection of the possible parent types,
12
+ * and possible types which pass the type condition.
13
+ */
14
+ export function PossibleFragmentSpreadsRule(context) {
15
+ return {
16
+ InlineFragment(node) {
17
+ const fragType = context.getType();
18
+ const parentType = context.getParentType();
19
+
20
+ if (
21
+ isCompositeType(fragType) &&
22
+ isCompositeType(parentType) &&
23
+ !doTypesOverlap(context.getSchema(), fragType, parentType)
24
+ ) {
25
+ const parentTypeStr = inspect(parentType);
26
+ const fragTypeStr = inspect(fragType);
27
+ context.reportError(
28
+ new GraphQLError(
29
+ `Fragment cannot be spread here as objects of type "${parentTypeStr}" can never be of type "${fragTypeStr}".`,
30
+ node,
31
+ ),
32
+ );
33
+ }
34
+ },
35
+
36
+ FragmentSpread(node) {
37
+ const fragName = node.name.value;
38
+ const fragType = getFragmentType(context, fragName);
39
+ const parentType = context.getParentType();
40
+
41
+ if (
42
+ fragType &&
43
+ parentType &&
44
+ !doTypesOverlap(context.getSchema(), fragType, parentType)
45
+ ) {
46
+ const parentTypeStr = inspect(parentType);
47
+ const fragTypeStr = inspect(fragType);
48
+ context.reportError(
49
+ new GraphQLError(
50
+ `Fragment "${fragName}" cannot be spread here as objects of type "${parentTypeStr}" can never be of type "${fragTypeStr}".`,
51
+ node,
52
+ ),
53
+ );
54
+ }
55
+ },
56
+ };
57
+ }
58
+
59
+ function getFragmentType(context, name) {
60
+ const frag = context.getFragment(name);
61
+
62
+ if (frag) {
63
+ const type = typeFromAST(context.getSchema(), frag.typeCondition);
64
+
65
+ if (isCompositeType(type)) {
66
+ return type;
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,10 @@
1
+ import type { ASTVisitor } from '../../language/visitor';
2
+ import type { SDLValidationContext } from '../ValidationContext';
3
+ /**
4
+ * Possible type extension
5
+ *
6
+ * A type extension is only valid if the type is defined and has the same kind.
7
+ */
8
+ export declare function PossibleTypeExtensionsRule(
9
+ context: SDLValidationContext,
10
+ ): ASTVisitor;
@@ -0,0 +1,167 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.PossibleTypeExtensionsRule = PossibleTypeExtensionsRule;
7
+
8
+ var _didYouMean = require('../../jsutils/didYouMean.js');
9
+
10
+ var _inspect = require('../../jsutils/inspect.js');
11
+
12
+ var _invariant = require('../../jsutils/invariant.js');
13
+
14
+ var _suggestionList = require('../../jsutils/suggestionList.js');
15
+
16
+ var _GraphQLError = require('../../error/GraphQLError.js');
17
+
18
+ var _kinds = require('../../language/kinds.js');
19
+
20
+ var _predicates = require('../../language/predicates.js');
21
+
22
+ var _definition = require('../../type/definition.js');
23
+
24
+ /**
25
+ * Possible type extension
26
+ *
27
+ * A type extension is only valid if the type is defined and has the same kind.
28
+ */
29
+ function PossibleTypeExtensionsRule(context) {
30
+ const schema = context.getSchema();
31
+ const definedTypes = Object.create(null);
32
+
33
+ for (const def of context.getDocument().definitions) {
34
+ if ((0, _predicates.isTypeDefinitionNode)(def)) {
35
+ definedTypes[def.name.value] = def;
36
+ }
37
+ }
38
+
39
+ return {
40
+ ScalarTypeExtension: checkExtension,
41
+ ObjectTypeExtension: checkExtension,
42
+ InterfaceTypeExtension: checkExtension,
43
+ UnionTypeExtension: checkExtension,
44
+ EnumTypeExtension: checkExtension,
45
+ InputObjectTypeExtension: checkExtension,
46
+ };
47
+
48
+ function checkExtension(node) {
49
+ const typeName = node.name.value;
50
+ const defNode = definedTypes[typeName];
51
+ const existingType =
52
+ schema === null || schema === void 0 ? void 0 : schema.getType(typeName);
53
+ let expectedKind;
54
+
55
+ if (defNode) {
56
+ expectedKind = defKindToExtKind[defNode.kind];
57
+ } else if (existingType) {
58
+ expectedKind = typeToExtKind(existingType);
59
+ }
60
+
61
+ if (expectedKind) {
62
+ if (expectedKind !== node.kind) {
63
+ const kindStr = extensionKindToTypeName(node.kind);
64
+ context.reportError(
65
+ new _GraphQLError.GraphQLError(
66
+ `Cannot extend non-${kindStr} type "${typeName}".`,
67
+ defNode ? [defNode, node] : node,
68
+ ),
69
+ );
70
+ }
71
+ } else {
72
+ const allTypeNames = Object.keys({
73
+ ...definedTypes,
74
+ ...(schema === null || schema === void 0
75
+ ? void 0
76
+ : schema.getTypeMap()),
77
+ });
78
+ const suggestedTypes = (0, _suggestionList.suggestionList)(
79
+ typeName,
80
+ allTypeNames,
81
+ );
82
+ context.reportError(
83
+ new _GraphQLError.GraphQLError(
84
+ `Cannot extend type "${typeName}" because it is not defined.` +
85
+ (0, _didYouMean.didYouMean)(suggestedTypes),
86
+ node.name,
87
+ ),
88
+ );
89
+ }
90
+ }
91
+ }
92
+
93
+ const defKindToExtKind = {
94
+ [_kinds.Kind.SCALAR_TYPE_DEFINITION]: _kinds.Kind.SCALAR_TYPE_EXTENSION,
95
+ [_kinds.Kind.OBJECT_TYPE_DEFINITION]: _kinds.Kind.OBJECT_TYPE_EXTENSION,
96
+ [_kinds.Kind.INTERFACE_TYPE_DEFINITION]: _kinds.Kind.INTERFACE_TYPE_EXTENSION,
97
+ [_kinds.Kind.UNION_TYPE_DEFINITION]: _kinds.Kind.UNION_TYPE_EXTENSION,
98
+ [_kinds.Kind.ENUM_TYPE_DEFINITION]: _kinds.Kind.ENUM_TYPE_EXTENSION,
99
+ [_kinds.Kind.INPUT_OBJECT_TYPE_DEFINITION]:
100
+ _kinds.Kind.INPUT_OBJECT_TYPE_EXTENSION,
101
+ };
102
+
103
+ function typeToExtKind(type) {
104
+ if ((0, _definition.isScalarType)(type)) {
105
+ return _kinds.Kind.SCALAR_TYPE_EXTENSION;
106
+ }
107
+
108
+ if ((0, _definition.isObjectType)(type)) {
109
+ return _kinds.Kind.OBJECT_TYPE_EXTENSION;
110
+ }
111
+
112
+ if ((0, _definition.isInterfaceType)(type)) {
113
+ return _kinds.Kind.INTERFACE_TYPE_EXTENSION;
114
+ }
115
+
116
+ if ((0, _definition.isUnionType)(type)) {
117
+ return _kinds.Kind.UNION_TYPE_EXTENSION;
118
+ }
119
+
120
+ if ((0, _definition.isEnumType)(type)) {
121
+ return _kinds.Kind.ENUM_TYPE_EXTENSION;
122
+ }
123
+
124
+ if ((0, _definition.isInputObjectType)(type)) {
125
+ return _kinds.Kind.INPUT_OBJECT_TYPE_EXTENSION;
126
+ }
127
+ /* c8 ignore next 3 */
128
+ // Not reachable. All possible types have been considered
129
+
130
+ false ||
131
+ (0, _invariant.invariant)(
132
+ false,
133
+ 'Unexpected type: ' + (0, _inspect.inspect)(type),
134
+ );
135
+ }
136
+
137
+ function extensionKindToTypeName(kind) {
138
+ switch (kind) {
139
+ case _kinds.Kind.SCALAR_TYPE_EXTENSION:
140
+ return 'scalar';
141
+
142
+ case _kinds.Kind.OBJECT_TYPE_EXTENSION:
143
+ return 'object';
144
+
145
+ case _kinds.Kind.INTERFACE_TYPE_EXTENSION:
146
+ return 'interface';
147
+
148
+ case _kinds.Kind.UNION_TYPE_EXTENSION:
149
+ return 'union';
150
+
151
+ case _kinds.Kind.ENUM_TYPE_EXTENSION:
152
+ return 'enum';
153
+
154
+ case _kinds.Kind.INPUT_OBJECT_TYPE_EXTENSION:
155
+ return 'input object';
156
+ // Not reachable. All possible types have been considered
157
+
158
+ /* c8 ignore next */
159
+
160
+ default:
161
+ false ||
162
+ (0, _invariant.invariant)(
163
+ false,
164
+ 'Unexpected kind: ' + (0, _inspect.inspect)(kind),
165
+ );
166
+ }
167
+ }
@@ -0,0 +1,147 @@
1
+ import { didYouMean } from '../../jsutils/didYouMean.mjs';
2
+ import { inspect } from '../../jsutils/inspect.mjs';
3
+ import { invariant } from '../../jsutils/invariant.mjs';
4
+ import { suggestionList } from '../../jsutils/suggestionList.mjs';
5
+ import { GraphQLError } from '../../error/GraphQLError.mjs';
6
+ import { Kind } from '../../language/kinds.mjs';
7
+ import { isTypeDefinitionNode } from '../../language/predicates.mjs';
8
+ import {
9
+ isEnumType,
10
+ isInputObjectType,
11
+ isInterfaceType,
12
+ isObjectType,
13
+ isScalarType,
14
+ isUnionType,
15
+ } from '../../type/definition.mjs';
16
+
17
+ /**
18
+ * Possible type extension
19
+ *
20
+ * A type extension is only valid if the type is defined and has the same kind.
21
+ */
22
+ export function PossibleTypeExtensionsRule(context) {
23
+ const schema = context.getSchema();
24
+ const definedTypes = Object.create(null);
25
+
26
+ for (const def of context.getDocument().definitions) {
27
+ if (isTypeDefinitionNode(def)) {
28
+ definedTypes[def.name.value] = def;
29
+ }
30
+ }
31
+
32
+ return {
33
+ ScalarTypeExtension: checkExtension,
34
+ ObjectTypeExtension: checkExtension,
35
+ InterfaceTypeExtension: checkExtension,
36
+ UnionTypeExtension: checkExtension,
37
+ EnumTypeExtension: checkExtension,
38
+ InputObjectTypeExtension: checkExtension,
39
+ };
40
+
41
+ function checkExtension(node) {
42
+ const typeName = node.name.value;
43
+ const defNode = definedTypes[typeName];
44
+ const existingType =
45
+ schema === null || schema === void 0 ? void 0 : schema.getType(typeName);
46
+ let expectedKind;
47
+
48
+ if (defNode) {
49
+ expectedKind = defKindToExtKind[defNode.kind];
50
+ } else if (existingType) {
51
+ expectedKind = typeToExtKind(existingType);
52
+ }
53
+
54
+ if (expectedKind) {
55
+ if (expectedKind !== node.kind) {
56
+ const kindStr = extensionKindToTypeName(node.kind);
57
+ context.reportError(
58
+ new GraphQLError(
59
+ `Cannot extend non-${kindStr} type "${typeName}".`,
60
+ defNode ? [defNode, node] : node,
61
+ ),
62
+ );
63
+ }
64
+ } else {
65
+ const allTypeNames = Object.keys({
66
+ ...definedTypes,
67
+ ...(schema === null || schema === void 0
68
+ ? void 0
69
+ : schema.getTypeMap()),
70
+ });
71
+ const suggestedTypes = suggestionList(typeName, allTypeNames);
72
+ context.reportError(
73
+ new GraphQLError(
74
+ `Cannot extend type "${typeName}" because it is not defined.` +
75
+ didYouMean(suggestedTypes),
76
+ node.name,
77
+ ),
78
+ );
79
+ }
80
+ }
81
+ }
82
+ const defKindToExtKind = {
83
+ [Kind.SCALAR_TYPE_DEFINITION]: Kind.SCALAR_TYPE_EXTENSION,
84
+ [Kind.OBJECT_TYPE_DEFINITION]: Kind.OBJECT_TYPE_EXTENSION,
85
+ [Kind.INTERFACE_TYPE_DEFINITION]: Kind.INTERFACE_TYPE_EXTENSION,
86
+ [Kind.UNION_TYPE_DEFINITION]: Kind.UNION_TYPE_EXTENSION,
87
+ [Kind.ENUM_TYPE_DEFINITION]: Kind.ENUM_TYPE_EXTENSION,
88
+ [Kind.INPUT_OBJECT_TYPE_DEFINITION]: Kind.INPUT_OBJECT_TYPE_EXTENSION,
89
+ };
90
+
91
+ function typeToExtKind(type) {
92
+ if (isScalarType(type)) {
93
+ return Kind.SCALAR_TYPE_EXTENSION;
94
+ }
95
+
96
+ if (isObjectType(type)) {
97
+ return Kind.OBJECT_TYPE_EXTENSION;
98
+ }
99
+
100
+ if (isInterfaceType(type)) {
101
+ return Kind.INTERFACE_TYPE_EXTENSION;
102
+ }
103
+
104
+ if (isUnionType(type)) {
105
+ return Kind.UNION_TYPE_EXTENSION;
106
+ }
107
+
108
+ if (isEnumType(type)) {
109
+ return Kind.ENUM_TYPE_EXTENSION;
110
+ }
111
+
112
+ if (isInputObjectType(type)) {
113
+ return Kind.INPUT_OBJECT_TYPE_EXTENSION;
114
+ }
115
+ /* c8 ignore next 3 */
116
+ // Not reachable. All possible types have been considered
117
+
118
+ false || invariant(false, 'Unexpected type: ' + inspect(type));
119
+ }
120
+
121
+ function extensionKindToTypeName(kind) {
122
+ switch (kind) {
123
+ case Kind.SCALAR_TYPE_EXTENSION:
124
+ return 'scalar';
125
+
126
+ case Kind.OBJECT_TYPE_EXTENSION:
127
+ return 'object';
128
+
129
+ case Kind.INTERFACE_TYPE_EXTENSION:
130
+ return 'interface';
131
+
132
+ case Kind.UNION_TYPE_EXTENSION:
133
+ return 'union';
134
+
135
+ case Kind.ENUM_TYPE_EXTENSION:
136
+ return 'enum';
137
+
138
+ case Kind.INPUT_OBJECT_TYPE_EXTENSION:
139
+ return 'input object';
140
+ // Not reachable. All possible types have been considered
141
+
142
+ /* c8 ignore next */
143
+
144
+ default:
145
+ false || invariant(false, 'Unexpected kind: ' + inspect(kind));
146
+ }
147
+ }
@@ -0,0 +1,20 @@
1
+ import type { ASTVisitor } from '../../language/visitor';
2
+ import type {
3
+ SDLValidationContext,
4
+ ValidationContext,
5
+ } from '../ValidationContext';
6
+ /**
7
+ * Provided required arguments
8
+ *
9
+ * A field or directive is only valid if all required (non-null without a
10
+ * default value) field arguments have been provided.
11
+ */
12
+ export declare function ProvidedRequiredArgumentsRule(
13
+ context: ValidationContext,
14
+ ): ASTVisitor;
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare function ProvidedRequiredArgumentsOnDirectivesRule(
19
+ context: ValidationContext | SDLValidationContext,
20
+ ): ASTVisitor;
@@ -0,0 +1,158 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.ProvidedRequiredArgumentsOnDirectivesRule =
7
+ ProvidedRequiredArgumentsOnDirectivesRule;
8
+ exports.ProvidedRequiredArgumentsRule = ProvidedRequiredArgumentsRule;
9
+
10
+ var _inspect = require('../../jsutils/inspect.js');
11
+
12
+ var _keyMap = require('../../jsutils/keyMap.js');
13
+
14
+ var _GraphQLError = require('../../error/GraphQLError.js');
15
+
16
+ var _kinds = require('../../language/kinds.js');
17
+
18
+ var _printer = require('../../language/printer.js');
19
+
20
+ var _definition = require('../../type/definition.js');
21
+
22
+ var _directives = require('../../type/directives.js');
23
+
24
+ /**
25
+ * Provided required arguments
26
+ *
27
+ * A field or directive is only valid if all required (non-null without a
28
+ * default value) field arguments have been provided.
29
+ */
30
+ function ProvidedRequiredArgumentsRule(context) {
31
+ return {
32
+ // eslint-disable-next-line new-cap
33
+ ...ProvidedRequiredArgumentsOnDirectivesRule(context),
34
+ Field: {
35
+ // Validate on leave to allow for deeper errors to appear first.
36
+ leave(fieldNode) {
37
+ var _fieldNode$arguments;
38
+
39
+ const fieldDef = context.getFieldDef();
40
+
41
+ if (!fieldDef) {
42
+ return false;
43
+ }
44
+
45
+ const providedArgs = new Set( // FIXME: https://github.com/graphql/graphql-js/issues/2203
46
+ /* c8 ignore next */
47
+ (_fieldNode$arguments = fieldNode.arguments) === null ||
48
+ _fieldNode$arguments === void 0
49
+ ? void 0
50
+ : _fieldNode$arguments.map((arg) => arg.name.value),
51
+ );
52
+
53
+ for (const argDef of fieldDef.args) {
54
+ if (
55
+ !providedArgs.has(argDef.name) &&
56
+ (0, _definition.isRequiredArgument)(argDef)
57
+ ) {
58
+ const argTypeStr = (0, _inspect.inspect)(argDef.type);
59
+ context.reportError(
60
+ new _GraphQLError.GraphQLError(
61
+ `Field "${fieldDef.name}" argument "${argDef.name}" of type "${argTypeStr}" is required, but it was not provided.`,
62
+ fieldNode,
63
+ ),
64
+ );
65
+ }
66
+ }
67
+ },
68
+ },
69
+ };
70
+ }
71
+ /**
72
+ * @internal
73
+ */
74
+
75
+ function ProvidedRequiredArgumentsOnDirectivesRule(context) {
76
+ var _schema$getDirectives;
77
+
78
+ const requiredArgsMap = Object.create(null);
79
+ const schema = context.getSchema();
80
+ const definedDirectives =
81
+ (_schema$getDirectives =
82
+ schema === null || schema === void 0
83
+ ? void 0
84
+ : schema.getDirectives()) !== null && _schema$getDirectives !== void 0
85
+ ? _schema$getDirectives
86
+ : _directives.specifiedDirectives;
87
+
88
+ for (const directive of definedDirectives) {
89
+ requiredArgsMap[directive.name] = (0, _keyMap.keyMap)(
90
+ directive.args.filter(_definition.isRequiredArgument),
91
+ (arg) => arg.name,
92
+ );
93
+ }
94
+
95
+ const astDefinitions = context.getDocument().definitions;
96
+
97
+ for (const def of astDefinitions) {
98
+ if (def.kind === _kinds.Kind.DIRECTIVE_DEFINITION) {
99
+ var _def$arguments;
100
+
101
+ // FIXME: https://github.com/graphql/graphql-js/issues/2203
102
+
103
+ /* c8 ignore next */
104
+ const argNodes =
105
+ (_def$arguments = def.arguments) !== null && _def$arguments !== void 0
106
+ ? _def$arguments
107
+ : [];
108
+ requiredArgsMap[def.name.value] = (0, _keyMap.keyMap)(
109
+ argNodes.filter(isRequiredArgumentNode),
110
+ (arg) => arg.name.value,
111
+ );
112
+ }
113
+ }
114
+
115
+ return {
116
+ Directive: {
117
+ // Validate on leave to allow for deeper errors to appear first.
118
+ leave(directiveNode) {
119
+ const directiveName = directiveNode.name.value;
120
+ const requiredArgs = requiredArgsMap[directiveName];
121
+
122
+ if (requiredArgs) {
123
+ var _directiveNode$argume;
124
+
125
+ // FIXME: https://github.com/graphql/graphql-js/issues/2203
126
+
127
+ /* c8 ignore next */
128
+ const argNodes =
129
+ (_directiveNode$argume = directiveNode.arguments) !== null &&
130
+ _directiveNode$argume !== void 0
131
+ ? _directiveNode$argume
132
+ : [];
133
+ const argNodeMap = new Set(argNodes.map((arg) => arg.name.value));
134
+
135
+ for (const [argName, argDef] of Object.entries(requiredArgs)) {
136
+ if (!argNodeMap.has(argName)) {
137
+ const argType = (0, _definition.isType)(argDef.type)
138
+ ? (0, _inspect.inspect)(argDef.type)
139
+ : (0, _printer.print)(argDef.type);
140
+ context.reportError(
141
+ new _GraphQLError.GraphQLError(
142
+ `Directive "@${directiveName}" argument "${argName}" of type "${argType}" is required, but it was not provided.`,
143
+ directiveNode,
144
+ ),
145
+ );
146
+ }
147
+ }
148
+ }
149
+ },
150
+ },
151
+ };
152
+ }
153
+
154
+ function isRequiredArgumentNode(arg) {
155
+ return (
156
+ arg.type.kind === _kinds.Kind.NON_NULL_TYPE && arg.defaultValue == null
157
+ );
158
+ }