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,185 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.valueFromAST = valueFromAST;
7
+
8
+ var _inspect = require('../jsutils/inspect.js');
9
+
10
+ var _invariant = require('../jsutils/invariant.js');
11
+
12
+ var _keyMap = require('../jsutils/keyMap.js');
13
+
14
+ var _kinds = require('../language/kinds.js');
15
+
16
+ var _definition = require('../type/definition.js');
17
+
18
+ /**
19
+ * Produces a JavaScript value given a GraphQL Value AST.
20
+ *
21
+ * A GraphQL type must be provided, which will be used to interpret different
22
+ * GraphQL Value literals.
23
+ *
24
+ * Returns `undefined` when the value could not be validly coerced according to
25
+ * the provided type.
26
+ *
27
+ * | GraphQL Value | JSON Value |
28
+ * | -------------------- | ------------- |
29
+ * | Input Object | Object |
30
+ * | List | Array |
31
+ * | Boolean | Boolean |
32
+ * | String | String |
33
+ * | Int / Float | Number |
34
+ * | Enum Value | Unknown |
35
+ * | NullValue | null |
36
+ *
37
+ */
38
+ function valueFromAST(valueNode, type, variables) {
39
+ if (!valueNode) {
40
+ // When there is no node, then there is also no value.
41
+ // Importantly, this is different from returning the value null.
42
+ return;
43
+ }
44
+
45
+ if (valueNode.kind === _kinds.Kind.VARIABLE) {
46
+ const variableName = valueNode.name.value;
47
+
48
+ if (variables == null || variables[variableName] === undefined) {
49
+ // No valid return value.
50
+ return;
51
+ }
52
+
53
+ const variableValue = variables[variableName];
54
+
55
+ if (variableValue === null && (0, _definition.isNonNullType)(type)) {
56
+ return; // Invalid: intentionally return no value.
57
+ } // Note: This does no further checking that this variable is correct.
58
+ // This assumes that this query has been validated and the variable
59
+ // usage here is of the correct type.
60
+
61
+ return variableValue;
62
+ }
63
+
64
+ if ((0, _definition.isNonNullType)(type)) {
65
+ if (valueNode.kind === _kinds.Kind.NULL) {
66
+ return; // Invalid: intentionally return no value.
67
+ }
68
+
69
+ return valueFromAST(valueNode, type.ofType, variables);
70
+ }
71
+
72
+ if (valueNode.kind === _kinds.Kind.NULL) {
73
+ // This is explicitly returning the value null.
74
+ return null;
75
+ }
76
+
77
+ if ((0, _definition.isListType)(type)) {
78
+ const itemType = type.ofType;
79
+
80
+ if (valueNode.kind === _kinds.Kind.LIST) {
81
+ const coercedValues = [];
82
+
83
+ for (const itemNode of valueNode.values) {
84
+ if (isMissingVariable(itemNode, variables)) {
85
+ // If an array contains a missing variable, it is either coerced to
86
+ // null or if the item type is non-null, it considered invalid.
87
+ if ((0, _definition.isNonNullType)(itemType)) {
88
+ return; // Invalid: intentionally return no value.
89
+ }
90
+
91
+ coercedValues.push(null);
92
+ } else {
93
+ const itemValue = valueFromAST(itemNode, itemType, variables);
94
+
95
+ if (itemValue === undefined) {
96
+ return; // Invalid: intentionally return no value.
97
+ }
98
+
99
+ coercedValues.push(itemValue);
100
+ }
101
+ }
102
+
103
+ return coercedValues;
104
+ }
105
+
106
+ const coercedValue = valueFromAST(valueNode, itemType, variables);
107
+
108
+ if (coercedValue === undefined) {
109
+ return; // Invalid: intentionally return no value.
110
+ }
111
+
112
+ return [coercedValue];
113
+ }
114
+
115
+ if ((0, _definition.isInputObjectType)(type)) {
116
+ if (valueNode.kind !== _kinds.Kind.OBJECT) {
117
+ return; // Invalid: intentionally return no value.
118
+ }
119
+
120
+ const coercedObj = Object.create(null);
121
+ const fieldNodes = (0, _keyMap.keyMap)(
122
+ valueNode.fields,
123
+ (field) => field.name.value,
124
+ );
125
+
126
+ for (const field of Object.values(type.getFields())) {
127
+ const fieldNode = fieldNodes[field.name];
128
+
129
+ if (!fieldNode || isMissingVariable(fieldNode.value, variables)) {
130
+ if (field.defaultValue !== undefined) {
131
+ coercedObj[field.name] = field.defaultValue;
132
+ } else if ((0, _definition.isNonNullType)(field.type)) {
133
+ return; // Invalid: intentionally return no value.
134
+ }
135
+
136
+ continue;
137
+ }
138
+
139
+ const fieldValue = valueFromAST(fieldNode.value, field.type, variables);
140
+
141
+ if (fieldValue === undefined) {
142
+ return; // Invalid: intentionally return no value.
143
+ }
144
+
145
+ coercedObj[field.name] = fieldValue;
146
+ }
147
+
148
+ return coercedObj;
149
+ }
150
+
151
+ if ((0, _definition.isLeafType)(type)) {
152
+ // Scalars and Enums fulfill parsing a literal value via parseLiteral().
153
+ // Invalid values represent a failure to parse correctly, in which case
154
+ // no value is returned.
155
+ let result;
156
+
157
+ try {
158
+ result = type.parseLiteral(valueNode, variables);
159
+ } catch (_error) {
160
+ return; // Invalid: intentionally return no value.
161
+ }
162
+
163
+ if (result === undefined) {
164
+ return; // Invalid: intentionally return no value.
165
+ }
166
+
167
+ return result;
168
+ }
169
+ /* c8 ignore next 3 */
170
+ // Not reachable, all possible input types have been considered.
171
+
172
+ false ||
173
+ (0, _invariant.invariant)(
174
+ false,
175
+ 'Unexpected input type: ' + (0, _inspect.inspect)(type),
176
+ );
177
+ } // Returns true if the provided valueNode is a variable which is not defined
178
+ // in the set of variables.
179
+
180
+ function isMissingVariable(valueNode, variables) {
181
+ return (
182
+ valueNode.kind === _kinds.Kind.VARIABLE &&
183
+ (variables == null || variables[valueNode.name.value] === undefined)
184
+ );
185
+ }
@@ -0,0 +1,172 @@
1
+ import { inspect } from '../jsutils/inspect.mjs';
2
+ import { invariant } from '../jsutils/invariant.mjs';
3
+ import { keyMap } from '../jsutils/keyMap.mjs';
4
+ import { Kind } from '../language/kinds.mjs';
5
+ import {
6
+ isInputObjectType,
7
+ isLeafType,
8
+ isListType,
9
+ isNonNullType,
10
+ } from '../type/definition.mjs';
11
+ /**
12
+ * Produces a JavaScript value given a GraphQL Value AST.
13
+ *
14
+ * A GraphQL type must be provided, which will be used to interpret different
15
+ * GraphQL Value literals.
16
+ *
17
+ * Returns `undefined` when the value could not be validly coerced according to
18
+ * the provided type.
19
+ *
20
+ * | GraphQL Value | JSON Value |
21
+ * | -------------------- | ------------- |
22
+ * | Input Object | Object |
23
+ * | List | Array |
24
+ * | Boolean | Boolean |
25
+ * | String | String |
26
+ * | Int / Float | Number |
27
+ * | Enum Value | Unknown |
28
+ * | NullValue | null |
29
+ *
30
+ */
31
+
32
+ export function valueFromAST(valueNode, type, variables) {
33
+ if (!valueNode) {
34
+ // When there is no node, then there is also no value.
35
+ // Importantly, this is different from returning the value null.
36
+ return;
37
+ }
38
+
39
+ if (valueNode.kind === Kind.VARIABLE) {
40
+ const variableName = valueNode.name.value;
41
+
42
+ if (variables == null || variables[variableName] === undefined) {
43
+ // No valid return value.
44
+ return;
45
+ }
46
+
47
+ const variableValue = variables[variableName];
48
+
49
+ if (variableValue === null && isNonNullType(type)) {
50
+ return; // Invalid: intentionally return no value.
51
+ } // Note: This does no further checking that this variable is correct.
52
+ // This assumes that this query has been validated and the variable
53
+ // usage here is of the correct type.
54
+
55
+ return variableValue;
56
+ }
57
+
58
+ if (isNonNullType(type)) {
59
+ if (valueNode.kind === Kind.NULL) {
60
+ return; // Invalid: intentionally return no value.
61
+ }
62
+
63
+ return valueFromAST(valueNode, type.ofType, variables);
64
+ }
65
+
66
+ if (valueNode.kind === Kind.NULL) {
67
+ // This is explicitly returning the value null.
68
+ return null;
69
+ }
70
+
71
+ if (isListType(type)) {
72
+ const itemType = type.ofType;
73
+
74
+ if (valueNode.kind === Kind.LIST) {
75
+ const coercedValues = [];
76
+
77
+ for (const itemNode of valueNode.values) {
78
+ if (isMissingVariable(itemNode, variables)) {
79
+ // If an array contains a missing variable, it is either coerced to
80
+ // null or if the item type is non-null, it considered invalid.
81
+ if (isNonNullType(itemType)) {
82
+ return; // Invalid: intentionally return no value.
83
+ }
84
+
85
+ coercedValues.push(null);
86
+ } else {
87
+ const itemValue = valueFromAST(itemNode, itemType, variables);
88
+
89
+ if (itemValue === undefined) {
90
+ return; // Invalid: intentionally return no value.
91
+ }
92
+
93
+ coercedValues.push(itemValue);
94
+ }
95
+ }
96
+
97
+ return coercedValues;
98
+ }
99
+
100
+ const coercedValue = valueFromAST(valueNode, itemType, variables);
101
+
102
+ if (coercedValue === undefined) {
103
+ return; // Invalid: intentionally return no value.
104
+ }
105
+
106
+ return [coercedValue];
107
+ }
108
+
109
+ if (isInputObjectType(type)) {
110
+ if (valueNode.kind !== Kind.OBJECT) {
111
+ return; // Invalid: intentionally return no value.
112
+ }
113
+
114
+ const coercedObj = Object.create(null);
115
+ const fieldNodes = keyMap(valueNode.fields, (field) => field.name.value);
116
+
117
+ for (const field of Object.values(type.getFields())) {
118
+ const fieldNode = fieldNodes[field.name];
119
+
120
+ if (!fieldNode || isMissingVariable(fieldNode.value, variables)) {
121
+ if (field.defaultValue !== undefined) {
122
+ coercedObj[field.name] = field.defaultValue;
123
+ } else if (isNonNullType(field.type)) {
124
+ return; // Invalid: intentionally return no value.
125
+ }
126
+
127
+ continue;
128
+ }
129
+
130
+ const fieldValue = valueFromAST(fieldNode.value, field.type, variables);
131
+
132
+ if (fieldValue === undefined) {
133
+ return; // Invalid: intentionally return no value.
134
+ }
135
+
136
+ coercedObj[field.name] = fieldValue;
137
+ }
138
+
139
+ return coercedObj;
140
+ }
141
+
142
+ if (isLeafType(type)) {
143
+ // Scalars and Enums fulfill parsing a literal value via parseLiteral().
144
+ // Invalid values represent a failure to parse correctly, in which case
145
+ // no value is returned.
146
+ let result;
147
+
148
+ try {
149
+ result = type.parseLiteral(valueNode, variables);
150
+ } catch (_error) {
151
+ return; // Invalid: intentionally return no value.
152
+ }
153
+
154
+ if (result === undefined) {
155
+ return; // Invalid: intentionally return no value.
156
+ }
157
+
158
+ return result;
159
+ }
160
+ /* c8 ignore next 3 */
161
+ // Not reachable, all possible input types have been considered.
162
+
163
+ false || invariant(false, 'Unexpected input type: ' + inspect(type));
164
+ } // Returns true if the provided valueNode is a variable which is not defined
165
+ // in the set of variables.
166
+
167
+ function isMissingVariable(valueNode, variables) {
168
+ return (
169
+ valueNode.kind === Kind.VARIABLE &&
170
+ (variables == null || variables[valueNode.name.value] === undefined)
171
+ );
172
+ }
@@ -0,0 +1,23 @@
1
+ import type { Maybe } from '../jsutils/Maybe';
2
+ import type { ObjMap } from '../jsutils/ObjMap';
3
+ import type { ValueNode } from '../language/ast';
4
+ /**
5
+ * Produces a JavaScript value given a GraphQL Value AST.
6
+ *
7
+ * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value
8
+ * will reflect the provided GraphQL value AST.
9
+ *
10
+ * | GraphQL Value | JavaScript Value |
11
+ * | -------------------- | ---------------- |
12
+ * | Input Object | Object |
13
+ * | List | Array |
14
+ * | Boolean | Boolean |
15
+ * | String / Enum | String |
16
+ * | Int / Float | Number |
17
+ * | Null | null |
18
+ *
19
+ */
20
+ export declare function valueFromASTUntyped(
21
+ valueNode: ValueNode,
22
+ variables?: Maybe<ObjMap<unknown>>,
23
+ ): unknown;
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.valueFromASTUntyped = valueFromASTUntyped;
7
+
8
+ var _keyValMap = require('../jsutils/keyValMap.js');
9
+
10
+ var _kinds = require('../language/kinds.js');
11
+
12
+ /**
13
+ * Produces a JavaScript value given a GraphQL Value AST.
14
+ *
15
+ * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value
16
+ * will reflect the provided GraphQL value AST.
17
+ *
18
+ * | GraphQL Value | JavaScript Value |
19
+ * | -------------------- | ---------------- |
20
+ * | Input Object | Object |
21
+ * | List | Array |
22
+ * | Boolean | Boolean |
23
+ * | String / Enum | String |
24
+ * | Int / Float | Number |
25
+ * | Null | null |
26
+ *
27
+ */
28
+ function valueFromASTUntyped(valueNode, variables) {
29
+ switch (valueNode.kind) {
30
+ case _kinds.Kind.NULL:
31
+ return null;
32
+
33
+ case _kinds.Kind.INT:
34
+ return parseInt(valueNode.value, 10);
35
+
36
+ case _kinds.Kind.FLOAT:
37
+ return parseFloat(valueNode.value);
38
+
39
+ case _kinds.Kind.STRING:
40
+ case _kinds.Kind.ENUM:
41
+ case _kinds.Kind.BOOLEAN:
42
+ return valueNode.value;
43
+
44
+ case _kinds.Kind.LIST:
45
+ return valueNode.values.map((node) =>
46
+ valueFromASTUntyped(node, variables),
47
+ );
48
+
49
+ case _kinds.Kind.OBJECT:
50
+ return (0, _keyValMap.keyValMap)(
51
+ valueNode.fields,
52
+ (field) => field.name.value,
53
+ (field) => valueFromASTUntyped(field.value, variables),
54
+ );
55
+
56
+ case _kinds.Kind.VARIABLE:
57
+ return variables === null || variables === void 0
58
+ ? void 0
59
+ : variables[valueNode.name.value];
60
+ }
61
+ }
@@ -0,0 +1,53 @@
1
+ import { keyValMap } from '../jsutils/keyValMap.mjs';
2
+ import { Kind } from '../language/kinds.mjs';
3
+ /**
4
+ * Produces a JavaScript value given a GraphQL Value AST.
5
+ *
6
+ * Unlike `valueFromAST()`, no type is provided. The resulting JavaScript value
7
+ * will reflect the provided GraphQL value AST.
8
+ *
9
+ * | GraphQL Value | JavaScript Value |
10
+ * | -------------------- | ---------------- |
11
+ * | Input Object | Object |
12
+ * | List | Array |
13
+ * | Boolean | Boolean |
14
+ * | String / Enum | String |
15
+ * | Int / Float | Number |
16
+ * | Null | null |
17
+ *
18
+ */
19
+
20
+ export function valueFromASTUntyped(valueNode, variables) {
21
+ switch (valueNode.kind) {
22
+ case Kind.NULL:
23
+ return null;
24
+
25
+ case Kind.INT:
26
+ return parseInt(valueNode.value, 10);
27
+
28
+ case Kind.FLOAT:
29
+ return parseFloat(valueNode.value);
30
+
31
+ case Kind.STRING:
32
+ case Kind.ENUM:
33
+ case Kind.BOOLEAN:
34
+ return valueNode.value;
35
+
36
+ case Kind.LIST:
37
+ return valueNode.values.map((node) =>
38
+ valueFromASTUntyped(node, variables),
39
+ );
40
+
41
+ case Kind.OBJECT:
42
+ return keyValMap(
43
+ valueNode.fields,
44
+ (field) => field.name.value,
45
+ (field) => valueFromASTUntyped(field.value, variables),
46
+ );
47
+
48
+ case Kind.VARIABLE:
49
+ return variables === null || variables === void 0
50
+ ? void 0
51
+ : variables[valueNode.name.value];
52
+ }
53
+ }
@@ -0,0 +1,95 @@
1
+ import type { Maybe } from '../jsutils/Maybe';
2
+ import type { GraphQLError } from '../error/GraphQLError';
3
+ import type {
4
+ DocumentNode,
5
+ FragmentDefinitionNode,
6
+ FragmentSpreadNode,
7
+ OperationDefinitionNode,
8
+ SelectionSetNode,
9
+ VariableNode,
10
+ } from '../language/ast';
11
+ import type { ASTVisitor } from '../language/visitor';
12
+ import type {
13
+ GraphQLArgument,
14
+ GraphQLCompositeType,
15
+ GraphQLEnumValue,
16
+ GraphQLField,
17
+ GraphQLInputType,
18
+ GraphQLOutputType,
19
+ } from '../type/definition';
20
+ import type { GraphQLDirective } from '../type/directives';
21
+ import type { GraphQLSchema } from '../type/schema';
22
+ import { TypeInfo } from '../utilities/TypeInfo';
23
+ declare type NodeWithSelectionSet =
24
+ | OperationDefinitionNode
25
+ | FragmentDefinitionNode;
26
+ interface VariableUsage {
27
+ readonly node: VariableNode;
28
+ readonly type: Maybe<GraphQLInputType>;
29
+ readonly defaultValue: Maybe<unknown>;
30
+ }
31
+ /**
32
+ * An instance of this class is passed as the "this" context to all validators,
33
+ * allowing access to commonly useful contextual information from within a
34
+ * validation rule.
35
+ */
36
+ export declare class ASTValidationContext {
37
+ private _ast;
38
+ private _onError;
39
+ private _fragments;
40
+ private _fragmentSpreads;
41
+ private _recursivelyReferencedFragments;
42
+ constructor(ast: DocumentNode, onError: (error: GraphQLError) => void);
43
+ get [Symbol.toStringTag](): string;
44
+ reportError(error: GraphQLError): void;
45
+ getDocument(): DocumentNode;
46
+ getFragment(name: string): Maybe<FragmentDefinitionNode>;
47
+ getFragmentSpreads(node: SelectionSetNode): ReadonlyArray<FragmentSpreadNode>;
48
+ getRecursivelyReferencedFragments(
49
+ operation: OperationDefinitionNode,
50
+ ): ReadonlyArray<FragmentDefinitionNode>;
51
+ }
52
+ export declare type ASTValidationRule = (
53
+ context: ASTValidationContext,
54
+ ) => ASTVisitor;
55
+ export declare class SDLValidationContext extends ASTValidationContext {
56
+ private _schema;
57
+ constructor(
58
+ ast: DocumentNode,
59
+ schema: Maybe<GraphQLSchema>,
60
+ onError: (error: GraphQLError) => void,
61
+ );
62
+ get [Symbol.toStringTag](): string;
63
+ getSchema(): Maybe<GraphQLSchema>;
64
+ }
65
+ export declare type SDLValidationRule = (
66
+ context: SDLValidationContext,
67
+ ) => ASTVisitor;
68
+ export declare class ValidationContext extends ASTValidationContext {
69
+ private _schema;
70
+ private _typeInfo;
71
+ private _variableUsages;
72
+ private _recursiveVariableUsages;
73
+ constructor(
74
+ schema: GraphQLSchema,
75
+ ast: DocumentNode,
76
+ typeInfo: TypeInfo,
77
+ onError: (error: GraphQLError) => void,
78
+ );
79
+ get [Symbol.toStringTag](): string;
80
+ getSchema(): GraphQLSchema;
81
+ getVariableUsages(node: NodeWithSelectionSet): ReadonlyArray<VariableUsage>;
82
+ getRecursiveVariableUsages(
83
+ operation: OperationDefinitionNode,
84
+ ): ReadonlyArray<VariableUsage>;
85
+ getType(): Maybe<GraphQLOutputType>;
86
+ getParentType(): Maybe<GraphQLCompositeType>;
87
+ getInputType(): Maybe<GraphQLInputType>;
88
+ getParentInputType(): Maybe<GraphQLInputType>;
89
+ getFieldDef(): Maybe<GraphQLField<unknown, unknown>>;
90
+ getDirective(): Maybe<GraphQLDirective>;
91
+ getArgument(): Maybe<GraphQLArgument>;
92
+ getEnumValue(): Maybe<GraphQLEnumValue>;
93
+ }
94
+ export declare type ValidationRule = (context: ValidationContext) => ASTVisitor;
95
+ export {};