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,232 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.ValidationContext =
7
+ exports.SDLValidationContext =
8
+ exports.ASTValidationContext =
9
+ void 0;
10
+
11
+ var _kinds = require('../language/kinds.js');
12
+
13
+ var _visitor = require('../language/visitor.js');
14
+
15
+ var _TypeInfo = require('../utilities/TypeInfo.js');
16
+
17
+ /**
18
+ * An instance of this class is passed as the "this" context to all validators,
19
+ * allowing access to commonly useful contextual information from within a
20
+ * validation rule.
21
+ */
22
+ class ASTValidationContext {
23
+ constructor(ast, onError) {
24
+ this._ast = ast;
25
+ this._fragments = undefined;
26
+ this._fragmentSpreads = new Map();
27
+ this._recursivelyReferencedFragments = new Map();
28
+ this._onError = onError;
29
+ }
30
+
31
+ get [Symbol.toStringTag]() {
32
+ return 'ASTValidationContext';
33
+ }
34
+
35
+ reportError(error) {
36
+ this._onError(error);
37
+ }
38
+
39
+ getDocument() {
40
+ return this._ast;
41
+ }
42
+
43
+ getFragment(name) {
44
+ let fragments;
45
+
46
+ if (this._fragments) {
47
+ fragments = this._fragments;
48
+ } else {
49
+ fragments = Object.create(null);
50
+
51
+ for (const defNode of this.getDocument().definitions) {
52
+ if (defNode.kind === _kinds.Kind.FRAGMENT_DEFINITION) {
53
+ fragments[defNode.name.value] = defNode;
54
+ }
55
+ }
56
+
57
+ this._fragments = fragments;
58
+ }
59
+
60
+ return fragments[name];
61
+ }
62
+
63
+ getFragmentSpreads(node) {
64
+ let spreads = this._fragmentSpreads.get(node);
65
+
66
+ if (!spreads) {
67
+ spreads = [];
68
+ const setsToVisit = [node];
69
+ let set;
70
+
71
+ while ((set = setsToVisit.pop())) {
72
+ for (const selection of set.selections) {
73
+ if (selection.kind === _kinds.Kind.FRAGMENT_SPREAD) {
74
+ spreads.push(selection);
75
+ } else if (selection.selectionSet) {
76
+ setsToVisit.push(selection.selectionSet);
77
+ }
78
+ }
79
+ }
80
+
81
+ this._fragmentSpreads.set(node, spreads);
82
+ }
83
+
84
+ return spreads;
85
+ }
86
+
87
+ getRecursivelyReferencedFragments(operation) {
88
+ let fragments = this._recursivelyReferencedFragments.get(operation);
89
+
90
+ if (!fragments) {
91
+ fragments = [];
92
+ const collectedNames = Object.create(null);
93
+ const nodesToVisit = [operation.selectionSet];
94
+ let node;
95
+
96
+ while ((node = nodesToVisit.pop())) {
97
+ for (const spread of this.getFragmentSpreads(node)) {
98
+ const fragName = spread.name.value;
99
+
100
+ if (collectedNames[fragName] !== true) {
101
+ collectedNames[fragName] = true;
102
+ const fragment = this.getFragment(fragName);
103
+
104
+ if (fragment) {
105
+ fragments.push(fragment);
106
+ nodesToVisit.push(fragment.selectionSet);
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ this._recursivelyReferencedFragments.set(operation, fragments);
113
+ }
114
+
115
+ return fragments;
116
+ }
117
+ }
118
+
119
+ exports.ASTValidationContext = ASTValidationContext;
120
+
121
+ class SDLValidationContext extends ASTValidationContext {
122
+ constructor(ast, schema, onError) {
123
+ super(ast, onError);
124
+ this._schema = schema;
125
+ }
126
+
127
+ get [Symbol.toStringTag]() {
128
+ return 'SDLValidationContext';
129
+ }
130
+
131
+ getSchema() {
132
+ return this._schema;
133
+ }
134
+ }
135
+
136
+ exports.SDLValidationContext = SDLValidationContext;
137
+
138
+ class ValidationContext extends ASTValidationContext {
139
+ constructor(schema, ast, typeInfo, onError) {
140
+ super(ast, onError);
141
+ this._schema = schema;
142
+ this._typeInfo = typeInfo;
143
+ this._variableUsages = new Map();
144
+ this._recursiveVariableUsages = new Map();
145
+ }
146
+
147
+ get [Symbol.toStringTag]() {
148
+ return 'ValidationContext';
149
+ }
150
+
151
+ getSchema() {
152
+ return this._schema;
153
+ }
154
+
155
+ getVariableUsages(node) {
156
+ let usages = this._variableUsages.get(node);
157
+
158
+ if (!usages) {
159
+ const newUsages = [];
160
+ const typeInfo = new _TypeInfo.TypeInfo(this._schema);
161
+ (0, _visitor.visit)(
162
+ node,
163
+ (0, _TypeInfo.visitWithTypeInfo)(typeInfo, {
164
+ VariableDefinition: () => false,
165
+
166
+ Variable(variable) {
167
+ newUsages.push({
168
+ node: variable,
169
+ type: typeInfo.getInputType(),
170
+ defaultValue: typeInfo.getDefaultValue(),
171
+ });
172
+ },
173
+ }),
174
+ );
175
+ usages = newUsages;
176
+
177
+ this._variableUsages.set(node, usages);
178
+ }
179
+
180
+ return usages;
181
+ }
182
+
183
+ getRecursiveVariableUsages(operation) {
184
+ let usages = this._recursiveVariableUsages.get(operation);
185
+
186
+ if (!usages) {
187
+ usages = this.getVariableUsages(operation);
188
+
189
+ for (const frag of this.getRecursivelyReferencedFragments(operation)) {
190
+ usages = usages.concat(this.getVariableUsages(frag));
191
+ }
192
+
193
+ this._recursiveVariableUsages.set(operation, usages);
194
+ }
195
+
196
+ return usages;
197
+ }
198
+
199
+ getType() {
200
+ return this._typeInfo.getType();
201
+ }
202
+
203
+ getParentType() {
204
+ return this._typeInfo.getParentType();
205
+ }
206
+
207
+ getInputType() {
208
+ return this._typeInfo.getInputType();
209
+ }
210
+
211
+ getParentInputType() {
212
+ return this._typeInfo.getParentInputType();
213
+ }
214
+
215
+ getFieldDef() {
216
+ return this._typeInfo.getFieldDef();
217
+ }
218
+
219
+ getDirective() {
220
+ return this._typeInfo.getDirective();
221
+ }
222
+
223
+ getArgument() {
224
+ return this._typeInfo.getArgument();
225
+ }
226
+
227
+ getEnumValue() {
228
+ return this._typeInfo.getEnumValue();
229
+ }
230
+ }
231
+
232
+ exports.ValidationContext = ValidationContext;
@@ -0,0 +1,212 @@
1
+ import { Kind } from '../language/kinds.mjs';
2
+ import { visit } from '../language/visitor.mjs';
3
+ import { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo.mjs';
4
+
5
+ /**
6
+ * An instance of this class is passed as the "this" context to all validators,
7
+ * allowing access to commonly useful contextual information from within a
8
+ * validation rule.
9
+ */
10
+ export class ASTValidationContext {
11
+ constructor(ast, onError) {
12
+ this._ast = ast;
13
+ this._fragments = undefined;
14
+ this._fragmentSpreads = new Map();
15
+ this._recursivelyReferencedFragments = new Map();
16
+ this._onError = onError;
17
+ }
18
+
19
+ get [Symbol.toStringTag]() {
20
+ return 'ASTValidationContext';
21
+ }
22
+
23
+ reportError(error) {
24
+ this._onError(error);
25
+ }
26
+
27
+ getDocument() {
28
+ return this._ast;
29
+ }
30
+
31
+ getFragment(name) {
32
+ let fragments;
33
+
34
+ if (this._fragments) {
35
+ fragments = this._fragments;
36
+ } else {
37
+ fragments = Object.create(null);
38
+
39
+ for (const defNode of this.getDocument().definitions) {
40
+ if (defNode.kind === Kind.FRAGMENT_DEFINITION) {
41
+ fragments[defNode.name.value] = defNode;
42
+ }
43
+ }
44
+
45
+ this._fragments = fragments;
46
+ }
47
+
48
+ return fragments[name];
49
+ }
50
+
51
+ getFragmentSpreads(node) {
52
+ let spreads = this._fragmentSpreads.get(node);
53
+
54
+ if (!spreads) {
55
+ spreads = [];
56
+ const setsToVisit = [node];
57
+ let set;
58
+
59
+ while ((set = setsToVisit.pop())) {
60
+ for (const selection of set.selections) {
61
+ if (selection.kind === Kind.FRAGMENT_SPREAD) {
62
+ spreads.push(selection);
63
+ } else if (selection.selectionSet) {
64
+ setsToVisit.push(selection.selectionSet);
65
+ }
66
+ }
67
+ }
68
+
69
+ this._fragmentSpreads.set(node, spreads);
70
+ }
71
+
72
+ return spreads;
73
+ }
74
+
75
+ getRecursivelyReferencedFragments(operation) {
76
+ let fragments = this._recursivelyReferencedFragments.get(operation);
77
+
78
+ if (!fragments) {
79
+ fragments = [];
80
+ const collectedNames = Object.create(null);
81
+ const nodesToVisit = [operation.selectionSet];
82
+ let node;
83
+
84
+ while ((node = nodesToVisit.pop())) {
85
+ for (const spread of this.getFragmentSpreads(node)) {
86
+ const fragName = spread.name.value;
87
+
88
+ if (collectedNames[fragName] !== true) {
89
+ collectedNames[fragName] = true;
90
+ const fragment = this.getFragment(fragName);
91
+
92
+ if (fragment) {
93
+ fragments.push(fragment);
94
+ nodesToVisit.push(fragment.selectionSet);
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ this._recursivelyReferencedFragments.set(operation, fragments);
101
+ }
102
+
103
+ return fragments;
104
+ }
105
+ }
106
+ export class SDLValidationContext extends ASTValidationContext {
107
+ constructor(ast, schema, onError) {
108
+ super(ast, onError);
109
+ this._schema = schema;
110
+ }
111
+
112
+ get [Symbol.toStringTag]() {
113
+ return 'SDLValidationContext';
114
+ }
115
+
116
+ getSchema() {
117
+ return this._schema;
118
+ }
119
+ }
120
+ export class ValidationContext extends ASTValidationContext {
121
+ constructor(schema, ast, typeInfo, onError) {
122
+ super(ast, onError);
123
+ this._schema = schema;
124
+ this._typeInfo = typeInfo;
125
+ this._variableUsages = new Map();
126
+ this._recursiveVariableUsages = new Map();
127
+ }
128
+
129
+ get [Symbol.toStringTag]() {
130
+ return 'ValidationContext';
131
+ }
132
+
133
+ getSchema() {
134
+ return this._schema;
135
+ }
136
+
137
+ getVariableUsages(node) {
138
+ let usages = this._variableUsages.get(node);
139
+
140
+ if (!usages) {
141
+ const newUsages = [];
142
+ const typeInfo = new TypeInfo(this._schema);
143
+ visit(
144
+ node,
145
+ visitWithTypeInfo(typeInfo, {
146
+ VariableDefinition: () => false,
147
+
148
+ Variable(variable) {
149
+ newUsages.push({
150
+ node: variable,
151
+ type: typeInfo.getInputType(),
152
+ defaultValue: typeInfo.getDefaultValue(),
153
+ });
154
+ },
155
+ }),
156
+ );
157
+ usages = newUsages;
158
+
159
+ this._variableUsages.set(node, usages);
160
+ }
161
+
162
+ return usages;
163
+ }
164
+
165
+ getRecursiveVariableUsages(operation) {
166
+ let usages = this._recursiveVariableUsages.get(operation);
167
+
168
+ if (!usages) {
169
+ usages = this.getVariableUsages(operation);
170
+
171
+ for (const frag of this.getRecursivelyReferencedFragments(operation)) {
172
+ usages = usages.concat(this.getVariableUsages(frag));
173
+ }
174
+
175
+ this._recursiveVariableUsages.set(operation, usages);
176
+ }
177
+
178
+ return usages;
179
+ }
180
+
181
+ getType() {
182
+ return this._typeInfo.getType();
183
+ }
184
+
185
+ getParentType() {
186
+ return this._typeInfo.getParentType();
187
+ }
188
+
189
+ getInputType() {
190
+ return this._typeInfo.getInputType();
191
+ }
192
+
193
+ getParentInputType() {
194
+ return this._typeInfo.getParentInputType();
195
+ }
196
+
197
+ getFieldDef() {
198
+ return this._typeInfo.getFieldDef();
199
+ }
200
+
201
+ getDirective() {
202
+ return this._typeInfo.getDirective();
203
+ }
204
+
205
+ getArgument() {
206
+ return this._typeInfo.getArgument();
207
+ }
208
+
209
+ getEnumValue() {
210
+ return this._typeInfo.getEnumValue();
211
+ }
212
+ }
@@ -0,0 +1,40 @@
1
+ export { validate } from './validate';
2
+ export { ValidationContext } from './ValidationContext';
3
+ export type { ValidationRule } from './ValidationContext';
4
+ export { specifiedRules } from './specifiedRules';
5
+ export { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule';
6
+ export { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule';
7
+ export { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule';
8
+ export { KnownArgumentNamesRule } from './rules/KnownArgumentNamesRule';
9
+ export { KnownDirectivesRule } from './rules/KnownDirectivesRule';
10
+ export { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule';
11
+ export { KnownTypeNamesRule } from './rules/KnownTypeNamesRule';
12
+ export { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule';
13
+ export { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule';
14
+ export { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule';
15
+ export { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule';
16
+ export { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule';
17
+ export { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule';
18
+ export { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule';
19
+ export { ProvidedRequiredArgumentsRule } from './rules/ProvidedRequiredArgumentsRule';
20
+ export { ScalarLeafsRule } from './rules/ScalarLeafsRule';
21
+ export { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule';
22
+ export { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule';
23
+ export { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule';
24
+ export { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule';
25
+ export { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule';
26
+ export { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule';
27
+ export { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule';
28
+ export { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule';
29
+ export { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule';
30
+ export { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule';
31
+ export { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule';
32
+ export { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule';
33
+ export { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule';
34
+ export { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule';
35
+ export { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule';
36
+ export { UniqueArgumentDefinitionNamesRule } from './rules/UniqueArgumentDefinitionNamesRule';
37
+ export { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule';
38
+ export { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule';
39
+ export { NoDeprecatedCustomRule } from './rules/custom/NoDeprecatedCustomRule';
40
+ export { NoSchemaIntrospectionCustomRule } from './rules/custom/NoSchemaIntrospectionCustomRule';