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,16 @@
1
+ import type { Source } from './source';
2
+ /**
3
+ * Represents a location in a Source.
4
+ */
5
+ export interface SourceLocation {
6
+ readonly line: number;
7
+ readonly column: number;
8
+ }
9
+ /**
10
+ * Takes a Source and a UTF-8 character offset, and returns the corresponding
11
+ * line and column as a SourceLocation.
12
+ */
13
+ export declare function getLocation(
14
+ source: Source,
15
+ position: number,
16
+ ): SourceLocation;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.getLocation = getLocation;
7
+
8
+ var _invariant = require('../jsutils/invariant.js');
9
+
10
+ const LineRegExp = /\r\n|[\n\r]/g;
11
+ /**
12
+ * Represents a location in a Source.
13
+ */
14
+
15
+ /**
16
+ * Takes a Source and a UTF-8 character offset, and returns the corresponding
17
+ * line and column as a SourceLocation.
18
+ */
19
+ function getLocation(source, position) {
20
+ let lastLineStart = 0;
21
+ let line = 1;
22
+
23
+ for (const match of source.body.matchAll(LineRegExp)) {
24
+ typeof match.index === 'number' || (0, _invariant.invariant)(false);
25
+
26
+ if (match.index >= position) {
27
+ break;
28
+ }
29
+
30
+ lastLineStart = match.index + match[0].length;
31
+ line += 1;
32
+ }
33
+
34
+ return {
35
+ line,
36
+ column: position + 1 - lastLineStart,
37
+ };
38
+ }
@@ -0,0 +1,30 @@
1
+ import { invariant } from '../jsutils/invariant.mjs';
2
+ const LineRegExp = /\r\n|[\n\r]/g;
3
+ /**
4
+ * Represents a location in a Source.
5
+ */
6
+
7
+ /**
8
+ * Takes a Source and a UTF-8 character offset, and returns the corresponding
9
+ * line and column as a SourceLocation.
10
+ */
11
+ export function getLocation(source, position) {
12
+ let lastLineStart = 0;
13
+ let line = 1;
14
+
15
+ for (const match of source.body.matchAll(LineRegExp)) {
16
+ typeof match.index === 'number' || invariant(false);
17
+
18
+ if (match.index >= position) {
19
+ break;
20
+ }
21
+
22
+ lastLineStart = match.index + match[0].length;
23
+ line += 1;
24
+ }
25
+
26
+ return {
27
+ line,
28
+ column: position + 1 - lastLineStart,
29
+ };
30
+ }
@@ -0,0 +1,554 @@
1
+ import type { Maybe } from '../jsutils/Maybe';
2
+ import type { GraphQLError } from '../error/GraphQLError';
3
+ import type {
4
+ ArgumentNode,
5
+ ConstArgumentNode,
6
+ ConstDirectiveNode,
7
+ ConstListValueNode,
8
+ ConstObjectFieldNode,
9
+ ConstObjectValueNode,
10
+ ConstValueNode,
11
+ DefinitionNode,
12
+ DirectiveDefinitionNode,
13
+ DirectiveNode,
14
+ DocumentNode,
15
+ EnumTypeDefinitionNode,
16
+ EnumTypeExtensionNode,
17
+ EnumValueDefinitionNode,
18
+ FieldDefinitionNode,
19
+ FieldNode,
20
+ FragmentDefinitionNode,
21
+ FragmentSpreadNode,
22
+ InlineFragmentNode,
23
+ InputObjectTypeDefinitionNode,
24
+ InputObjectTypeExtensionNode,
25
+ InputValueDefinitionNode,
26
+ InterfaceTypeDefinitionNode,
27
+ InterfaceTypeExtensionNode,
28
+ ListValueNode,
29
+ NamedTypeNode,
30
+ NameNode,
31
+ ObjectFieldNode,
32
+ ObjectTypeDefinitionNode,
33
+ ObjectTypeExtensionNode,
34
+ ObjectValueNode,
35
+ OperationDefinitionNode,
36
+ OperationTypeDefinitionNode,
37
+ ScalarTypeDefinitionNode,
38
+ ScalarTypeExtensionNode,
39
+ SchemaDefinitionNode,
40
+ SchemaExtensionNode,
41
+ SelectionNode,
42
+ SelectionSetNode,
43
+ StringValueNode,
44
+ Token,
45
+ TypeNode,
46
+ TypeSystemExtensionNode,
47
+ UnionTypeDefinitionNode,
48
+ UnionTypeExtensionNode,
49
+ ValueNode,
50
+ VariableDefinitionNode,
51
+ VariableNode,
52
+ } from './ast';
53
+ import { Location, OperationTypeNode } from './ast';
54
+ import { Lexer } from './lexer';
55
+ import { Source } from './source';
56
+ import { TokenKind } from './tokenKind';
57
+ /**
58
+ * Configuration options to control parser behavior
59
+ */
60
+ export interface ParseOptions {
61
+ /**
62
+ * By default, the parser creates AST nodes that know the location
63
+ * in the source that they correspond to. This configuration flag
64
+ * disables that behavior for performance or testing.
65
+ */
66
+ noLocation?: boolean;
67
+ /**
68
+ * @deprecated will be removed in the v17.0.0
69
+ *
70
+ * If enabled, the parser will understand and parse variable definitions
71
+ * contained in a fragment definition. They'll be represented in the
72
+ * `variableDefinitions` field of the FragmentDefinitionNode.
73
+ *
74
+ * The syntax is identical to normal, query-defined variables. For example:
75
+ *
76
+ * ```graphql
77
+ * fragment A($var: Boolean = false) on T {
78
+ * ...
79
+ * }
80
+ * ```
81
+ */
82
+ allowLegacyFragmentVariables?: boolean;
83
+ }
84
+ /**
85
+ * Given a GraphQL source, parses it into a Document.
86
+ * Throws GraphQLError if a syntax error is encountered.
87
+ */
88
+ export declare function parse(
89
+ source: string | Source,
90
+ options?: ParseOptions,
91
+ ): DocumentNode;
92
+ /**
93
+ * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for
94
+ * that value.
95
+ * Throws GraphQLError if a syntax error is encountered.
96
+ *
97
+ * This is useful within tools that operate upon GraphQL Values directly and
98
+ * in isolation of complete GraphQL documents.
99
+ *
100
+ * Consider providing the results to the utility function: valueFromAST().
101
+ */
102
+ export declare function parseValue(
103
+ source: string | Source,
104
+ options?: ParseOptions,
105
+ ): ValueNode;
106
+ /**
107
+ * Similar to parseValue(), but raises a parse error if it encounters a
108
+ * variable. The return type will be a constant value.
109
+ */
110
+ export declare function parseConstValue(
111
+ source: string | Source,
112
+ options?: ParseOptions,
113
+ ): ConstValueNode;
114
+ /**
115
+ * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for
116
+ * that type.
117
+ * Throws GraphQLError if a syntax error is encountered.
118
+ *
119
+ * This is useful within tools that operate upon GraphQL Types directly and
120
+ * in isolation of complete GraphQL documents.
121
+ *
122
+ * Consider providing the results to the utility function: typeFromAST().
123
+ */
124
+ export declare function parseType(
125
+ source: string | Source,
126
+ options?: ParseOptions,
127
+ ): TypeNode;
128
+ /**
129
+ * This class is exported only to assist people in implementing their own parsers
130
+ * without duplicating too much code and should be used only as last resort for cases
131
+ * such as experimental syntax or if certain features could not be contributed upstream.
132
+ *
133
+ * It is still part of the internal API and is versioned, so any changes to it are never
134
+ * considered breaking changes. If you still need to support multiple versions of the
135
+ * library, please use the `versionInfo` variable for version detection.
136
+ *
137
+ * @internal
138
+ */
139
+ export declare class Parser {
140
+ protected _options: Maybe<ParseOptions>;
141
+ protected _lexer: Lexer;
142
+ constructor(source: string | Source, options?: ParseOptions);
143
+ /**
144
+ * Converts a name lex token into a name parse node.
145
+ */
146
+ parseName(): NameNode;
147
+ /**
148
+ * Document : Definition+
149
+ */
150
+ parseDocument(): DocumentNode;
151
+ /**
152
+ * Definition :
153
+ * - ExecutableDefinition
154
+ * - TypeSystemDefinition
155
+ * - TypeSystemExtension
156
+ *
157
+ * ExecutableDefinition :
158
+ * - OperationDefinition
159
+ * - FragmentDefinition
160
+ *
161
+ * TypeSystemDefinition :
162
+ * - SchemaDefinition
163
+ * - TypeDefinition
164
+ * - DirectiveDefinition
165
+ *
166
+ * TypeDefinition :
167
+ * - ScalarTypeDefinition
168
+ * - ObjectTypeDefinition
169
+ * - InterfaceTypeDefinition
170
+ * - UnionTypeDefinition
171
+ * - EnumTypeDefinition
172
+ * - InputObjectTypeDefinition
173
+ */
174
+ parseDefinition(): DefinitionNode;
175
+ /**
176
+ * OperationDefinition :
177
+ * - SelectionSet
178
+ * - OperationType Name? VariableDefinitions? Directives? SelectionSet
179
+ */
180
+ parseOperationDefinition(): OperationDefinitionNode;
181
+ /**
182
+ * OperationType : one of query mutation subscription
183
+ */
184
+ parseOperationType(): OperationTypeNode;
185
+ /**
186
+ * VariableDefinitions : ( VariableDefinition+ )
187
+ */
188
+ parseVariableDefinitions(): Array<VariableDefinitionNode>;
189
+ /**
190
+ * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?
191
+ */
192
+ parseVariableDefinition(): VariableDefinitionNode;
193
+ /**
194
+ * Variable : $ Name
195
+ */
196
+ parseVariable(): VariableNode;
197
+ /**
198
+ * ```
199
+ * SelectionSet : { Selection+ }
200
+ * ```
201
+ */
202
+ parseSelectionSet(): SelectionSetNode;
203
+ /**
204
+ * Selection :
205
+ * - Field
206
+ * - FragmentSpread
207
+ * - InlineFragment
208
+ */
209
+ parseSelection(): SelectionNode;
210
+ /**
211
+ * Field : Alias? Name Arguments? Directives? SelectionSet?
212
+ *
213
+ * Alias : Name :
214
+ */
215
+ parseField(): FieldNode;
216
+ /**
217
+ * Arguments[Const] : ( Argument[?Const]+ )
218
+ */
219
+ parseArguments(isConst: true): Array<ConstArgumentNode>;
220
+ parseArguments(isConst: boolean): Array<ArgumentNode>;
221
+ /**
222
+ * Argument[Const] : Name : Value[?Const]
223
+ */
224
+ parseArgument(isConst: true): ConstArgumentNode;
225
+ parseArgument(isConst?: boolean): ArgumentNode;
226
+ parseConstArgument(): ConstArgumentNode;
227
+ /**
228
+ * Corresponds to both FragmentSpread and InlineFragment in the spec.
229
+ *
230
+ * FragmentSpread : ... FragmentName Directives?
231
+ *
232
+ * InlineFragment : ... TypeCondition? Directives? SelectionSet
233
+ */
234
+ parseFragment(): FragmentSpreadNode | InlineFragmentNode;
235
+ /**
236
+ * FragmentDefinition :
237
+ * - fragment FragmentName on TypeCondition Directives? SelectionSet
238
+ *
239
+ * TypeCondition : NamedType
240
+ */
241
+ parseFragmentDefinition(): FragmentDefinitionNode;
242
+ /**
243
+ * FragmentName : Name but not `on`
244
+ */
245
+ parseFragmentName(): NameNode;
246
+ /**
247
+ * Value[Const] :
248
+ * - [~Const] Variable
249
+ * - IntValue
250
+ * - FloatValue
251
+ * - StringValue
252
+ * - BooleanValue
253
+ * - NullValue
254
+ * - EnumValue
255
+ * - ListValue[?Const]
256
+ * - ObjectValue[?Const]
257
+ *
258
+ * BooleanValue : one of `true` `false`
259
+ *
260
+ * NullValue : `null`
261
+ *
262
+ * EnumValue : Name but not `true`, `false` or `null`
263
+ */
264
+ parseValueLiteral(isConst: true): ConstValueNode;
265
+ parseValueLiteral(isConst: boolean): ValueNode;
266
+ parseConstValueLiteral(): ConstValueNode;
267
+ parseStringLiteral(): StringValueNode;
268
+ /**
269
+ * ListValue[Const] :
270
+ * - [ ]
271
+ * - [ Value[?Const]+ ]
272
+ */
273
+ parseList(isConst: true): ConstListValueNode;
274
+ parseList(isConst: boolean): ListValueNode;
275
+ /**
276
+ * ```
277
+ * ObjectValue[Const] :
278
+ * - { }
279
+ * - { ObjectField[?Const]+ }
280
+ * ```
281
+ */
282
+ parseObject(isConst: true): ConstObjectValueNode;
283
+ parseObject(isConst: boolean): ObjectValueNode;
284
+ /**
285
+ * ObjectField[Const] : Name : Value[?Const]
286
+ */
287
+ parseObjectField(isConst: true): ConstObjectFieldNode;
288
+ parseObjectField(isConst: boolean): ObjectFieldNode;
289
+ /**
290
+ * Directives[Const] : Directive[?Const]+
291
+ */
292
+ parseDirectives(isConst: true): Array<ConstDirectiveNode>;
293
+ parseDirectives(isConst: boolean): Array<DirectiveNode>;
294
+ parseConstDirectives(): Array<ConstDirectiveNode>;
295
+ /**
296
+ * ```
297
+ * Directive[Const] : @ Name Arguments[?Const]?
298
+ * ```
299
+ */
300
+ parseDirective(isConst: true): ConstDirectiveNode;
301
+ parseDirective(isConst: boolean): DirectiveNode;
302
+ /**
303
+ * Type :
304
+ * - NamedType
305
+ * - ListType
306
+ * - NonNullType
307
+ */
308
+ parseTypeReference(): TypeNode;
309
+ /**
310
+ * NamedType : Name
311
+ */
312
+ parseNamedType(): NamedTypeNode;
313
+ peekDescription(): boolean;
314
+ /**
315
+ * Description : StringValue
316
+ */
317
+ parseDescription(): undefined | StringValueNode;
318
+ /**
319
+ * ```
320
+ * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }
321
+ * ```
322
+ */
323
+ parseSchemaDefinition(): SchemaDefinitionNode;
324
+ /**
325
+ * OperationTypeDefinition : OperationType : NamedType
326
+ */
327
+ parseOperationTypeDefinition(): OperationTypeDefinitionNode;
328
+ /**
329
+ * ScalarTypeDefinition : Description? scalar Name Directives[Const]?
330
+ */
331
+ parseScalarTypeDefinition(): ScalarTypeDefinitionNode;
332
+ /**
333
+ * ObjectTypeDefinition :
334
+ * Description?
335
+ * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?
336
+ */
337
+ parseObjectTypeDefinition(): ObjectTypeDefinitionNode;
338
+ /**
339
+ * ImplementsInterfaces :
340
+ * - implements `&`? NamedType
341
+ * - ImplementsInterfaces & NamedType
342
+ */
343
+ parseImplementsInterfaces(): Array<NamedTypeNode>;
344
+ /**
345
+ * ```
346
+ * FieldsDefinition : { FieldDefinition+ }
347
+ * ```
348
+ */
349
+ parseFieldsDefinition(): Array<FieldDefinitionNode>;
350
+ /**
351
+ * FieldDefinition :
352
+ * - Description? Name ArgumentsDefinition? : Type Directives[Const]?
353
+ */
354
+ parseFieldDefinition(): FieldDefinitionNode;
355
+ /**
356
+ * ArgumentsDefinition : ( InputValueDefinition+ )
357
+ */
358
+ parseArgumentDefs(): Array<InputValueDefinitionNode>;
359
+ /**
360
+ * InputValueDefinition :
361
+ * - Description? Name : Type DefaultValue? Directives[Const]?
362
+ */
363
+ parseInputValueDef(): InputValueDefinitionNode;
364
+ /**
365
+ * InterfaceTypeDefinition :
366
+ * - Description? interface Name Directives[Const]? FieldsDefinition?
367
+ */
368
+ parseInterfaceTypeDefinition(): InterfaceTypeDefinitionNode;
369
+ /**
370
+ * UnionTypeDefinition :
371
+ * - Description? union Name Directives[Const]? UnionMemberTypes?
372
+ */
373
+ parseUnionTypeDefinition(): UnionTypeDefinitionNode;
374
+ /**
375
+ * UnionMemberTypes :
376
+ * - = `|`? NamedType
377
+ * - UnionMemberTypes | NamedType
378
+ */
379
+ parseUnionMemberTypes(): Array<NamedTypeNode>;
380
+ /**
381
+ * EnumTypeDefinition :
382
+ * - Description? enum Name Directives[Const]? EnumValuesDefinition?
383
+ */
384
+ parseEnumTypeDefinition(): EnumTypeDefinitionNode;
385
+ /**
386
+ * ```
387
+ * EnumValuesDefinition : { EnumValueDefinition+ }
388
+ * ```
389
+ */
390
+ parseEnumValuesDefinition(): Array<EnumValueDefinitionNode>;
391
+ /**
392
+ * EnumValueDefinition : Description? EnumValue Directives[Const]?
393
+ */
394
+ parseEnumValueDefinition(): EnumValueDefinitionNode;
395
+ /**
396
+ * EnumValue : Name but not `true`, `false` or `null`
397
+ */
398
+ parseEnumValueName(): NameNode;
399
+ /**
400
+ * InputObjectTypeDefinition :
401
+ * - Description? input Name Directives[Const]? InputFieldsDefinition?
402
+ */
403
+ parseInputObjectTypeDefinition(): InputObjectTypeDefinitionNode;
404
+ /**
405
+ * ```
406
+ * InputFieldsDefinition : { InputValueDefinition+ }
407
+ * ```
408
+ */
409
+ parseInputFieldsDefinition(): Array<InputValueDefinitionNode>;
410
+ /**
411
+ * TypeSystemExtension :
412
+ * - SchemaExtension
413
+ * - TypeExtension
414
+ *
415
+ * TypeExtension :
416
+ * - ScalarTypeExtension
417
+ * - ObjectTypeExtension
418
+ * - InterfaceTypeExtension
419
+ * - UnionTypeExtension
420
+ * - EnumTypeExtension
421
+ * - InputObjectTypeDefinition
422
+ */
423
+ parseTypeSystemExtension(): TypeSystemExtensionNode;
424
+ /**
425
+ * ```
426
+ * SchemaExtension :
427
+ * - extend schema Directives[Const]? { OperationTypeDefinition+ }
428
+ * - extend schema Directives[Const]
429
+ * ```
430
+ */
431
+ parseSchemaExtension(): SchemaExtensionNode;
432
+ /**
433
+ * ScalarTypeExtension :
434
+ * - extend scalar Name Directives[Const]
435
+ */
436
+ parseScalarTypeExtension(): ScalarTypeExtensionNode;
437
+ /**
438
+ * ObjectTypeExtension :
439
+ * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
440
+ * - extend type Name ImplementsInterfaces? Directives[Const]
441
+ * - extend type Name ImplementsInterfaces
442
+ */
443
+ parseObjectTypeExtension(): ObjectTypeExtensionNode;
444
+ /**
445
+ * InterfaceTypeExtension :
446
+ * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition
447
+ * - extend interface Name ImplementsInterfaces? Directives[Const]
448
+ * - extend interface Name ImplementsInterfaces
449
+ */
450
+ parseInterfaceTypeExtension(): InterfaceTypeExtensionNode;
451
+ /**
452
+ * UnionTypeExtension :
453
+ * - extend union Name Directives[Const]? UnionMemberTypes
454
+ * - extend union Name Directives[Const]
455
+ */
456
+ parseUnionTypeExtension(): UnionTypeExtensionNode;
457
+ /**
458
+ * EnumTypeExtension :
459
+ * - extend enum Name Directives[Const]? EnumValuesDefinition
460
+ * - extend enum Name Directives[Const]
461
+ */
462
+ parseEnumTypeExtension(): EnumTypeExtensionNode;
463
+ /**
464
+ * InputObjectTypeExtension :
465
+ * - extend input Name Directives[Const]? InputFieldsDefinition
466
+ * - extend input Name Directives[Const]
467
+ */
468
+ parseInputObjectTypeExtension(): InputObjectTypeExtensionNode;
469
+ /**
470
+ * ```
471
+ * DirectiveDefinition :
472
+ * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations
473
+ * ```
474
+ */
475
+ parseDirectiveDefinition(): DirectiveDefinitionNode;
476
+ /**
477
+ * DirectiveLocations :
478
+ * - `|`? DirectiveLocation
479
+ * - DirectiveLocations | DirectiveLocation
480
+ */
481
+ parseDirectiveLocations(): Array<NameNode>;
482
+ parseDirectiveLocation(): NameNode;
483
+ /**
484
+ * Returns a node that, if configured to do so, sets a "loc" field as a
485
+ * location object, used to identify the place in the source that created a
486
+ * given parsed object.
487
+ */
488
+ node<
489
+ T extends {
490
+ loc?: Location;
491
+ },
492
+ >(startToken: Token, node: T): T;
493
+ /**
494
+ * Determines if the next token is of a given kind
495
+ */
496
+ peek(kind: TokenKind): boolean;
497
+ /**
498
+ * If the next token is of the given kind, return that token after advancing the lexer.
499
+ * Otherwise, do not change the parser state and throw an error.
500
+ */
501
+ expectToken(kind: TokenKind): Token;
502
+ /**
503
+ * If the next token is of the given kind, return "true" after advancing the lexer.
504
+ * Otherwise, do not change the parser state and return "false".
505
+ */
506
+ expectOptionalToken(kind: TokenKind): boolean;
507
+ /**
508
+ * If the next token is a given keyword, advance the lexer.
509
+ * Otherwise, do not change the parser state and throw an error.
510
+ */
511
+ expectKeyword(value: string): void;
512
+ /**
513
+ * If the next token is a given keyword, return "true" after advancing the lexer.
514
+ * Otherwise, do not change the parser state and return "false".
515
+ */
516
+ expectOptionalKeyword(value: string): boolean;
517
+ /**
518
+ * Helper function for creating an error when an unexpected lexed token is encountered.
519
+ */
520
+ unexpected(atToken?: Maybe<Token>): GraphQLError;
521
+ /**
522
+ * Returns a possibly empty list of parse nodes, determined by the parseFn.
523
+ * This list begins with a lex token of openKind and ends with a lex token of closeKind.
524
+ * Advances the parser to the next lex token after the closing token.
525
+ */
526
+ any<T>(openKind: TokenKind, parseFn: () => T, closeKind: TokenKind): Array<T>;
527
+ /**
528
+ * Returns a list of parse nodes, determined by the parseFn.
529
+ * It can be empty only if open token is missing otherwise it will always return non-empty list
530
+ * that begins with a lex token of openKind and ends with a lex token of closeKind.
531
+ * Advances the parser to the next lex token after the closing token.
532
+ */
533
+ optionalMany<T>(
534
+ openKind: TokenKind,
535
+ parseFn: () => T,
536
+ closeKind: TokenKind,
537
+ ): Array<T>;
538
+ /**
539
+ * Returns a non-empty list of parse nodes, determined by the parseFn.
540
+ * This list begins with a lex token of openKind and ends with a lex token of closeKind.
541
+ * Advances the parser to the next lex token after the closing token.
542
+ */
543
+ many<T>(
544
+ openKind: TokenKind,
545
+ parseFn: () => T,
546
+ closeKind: TokenKind,
547
+ ): Array<T>;
548
+ /**
549
+ * Returns a non-empty list of parse nodes, determined by the parseFn.
550
+ * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.
551
+ * Advances the parser to the next lex token after last item in the list.
552
+ */
553
+ delimitedMany<T>(delimiterKind: TokenKind, parseFn: () => T): Array<T>;
554
+ }