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,176 @@
1
+ /**
2
+ * Prints a string as a GraphQL StringValue literal. Replaces control characters
3
+ * and excluded characters (" U+0022 and \\ U+005C) with escape sequences.
4
+ */
5
+ export function printString(str) {
6
+ return `"${str.replace(escapedRegExp, escapedReplacer)}"`;
7
+ } // eslint-disable-next-line no-control-regex
8
+
9
+ const escapedRegExp = /[\x00-\x1f\x22\x5c\x7f-\x9f]/g;
10
+
11
+ function escapedReplacer(str) {
12
+ return escapeSequences[str.charCodeAt(0)];
13
+ } // prettier-ignore
14
+
15
+ const escapeSequences = [
16
+ '\\u0000',
17
+ '\\u0001',
18
+ '\\u0002',
19
+ '\\u0003',
20
+ '\\u0004',
21
+ '\\u0005',
22
+ '\\u0006',
23
+ '\\u0007',
24
+ '\\b',
25
+ '\\t',
26
+ '\\n',
27
+ '\\u000B',
28
+ '\\f',
29
+ '\\r',
30
+ '\\u000E',
31
+ '\\u000F',
32
+ '\\u0010',
33
+ '\\u0011',
34
+ '\\u0012',
35
+ '\\u0013',
36
+ '\\u0014',
37
+ '\\u0015',
38
+ '\\u0016',
39
+ '\\u0017',
40
+ '\\u0018',
41
+ '\\u0019',
42
+ '\\u001A',
43
+ '\\u001B',
44
+ '\\u001C',
45
+ '\\u001D',
46
+ '\\u001E',
47
+ '\\u001F',
48
+ '',
49
+ '',
50
+ '\\"',
51
+ '',
52
+ '',
53
+ '',
54
+ '',
55
+ '',
56
+ '',
57
+ '',
58
+ '',
59
+ '',
60
+ '',
61
+ '',
62
+ '',
63
+ '', // 2F
64
+ '',
65
+ '',
66
+ '',
67
+ '',
68
+ '',
69
+ '',
70
+ '',
71
+ '',
72
+ '',
73
+ '',
74
+ '',
75
+ '',
76
+ '',
77
+ '',
78
+ '',
79
+ '', // 3F
80
+ '',
81
+ '',
82
+ '',
83
+ '',
84
+ '',
85
+ '',
86
+ '',
87
+ '',
88
+ '',
89
+ '',
90
+ '',
91
+ '',
92
+ '',
93
+ '',
94
+ '',
95
+ '', // 4F
96
+ '',
97
+ '',
98
+ '',
99
+ '',
100
+ '',
101
+ '',
102
+ '',
103
+ '',
104
+ '',
105
+ '',
106
+ '',
107
+ '',
108
+ '\\\\',
109
+ '',
110
+ '',
111
+ '', // 5F
112
+ '',
113
+ '',
114
+ '',
115
+ '',
116
+ '',
117
+ '',
118
+ '',
119
+ '',
120
+ '',
121
+ '',
122
+ '',
123
+ '',
124
+ '',
125
+ '',
126
+ '',
127
+ '', // 6F
128
+ '',
129
+ '',
130
+ '',
131
+ '',
132
+ '',
133
+ '',
134
+ '',
135
+ '',
136
+ '',
137
+ '',
138
+ '',
139
+ '',
140
+ '',
141
+ '',
142
+ '',
143
+ '\\u007F',
144
+ '\\u0080',
145
+ '\\u0081',
146
+ '\\u0082',
147
+ '\\u0083',
148
+ '\\u0084',
149
+ '\\u0085',
150
+ '\\u0086',
151
+ '\\u0087',
152
+ '\\u0088',
153
+ '\\u0089',
154
+ '\\u008A',
155
+ '\\u008B',
156
+ '\\u008C',
157
+ '\\u008D',
158
+ '\\u008E',
159
+ '\\u008F',
160
+ '\\u0090',
161
+ '\\u0091',
162
+ '\\u0092',
163
+ '\\u0093',
164
+ '\\u0094',
165
+ '\\u0095',
166
+ '\\u0096',
167
+ '\\u0097',
168
+ '\\u0098',
169
+ '\\u0099',
170
+ '\\u009A',
171
+ '\\u009B',
172
+ '\\u009C',
173
+ '\\u009D',
174
+ '\\u009E',
175
+ '\\u009F',
176
+ ];
@@ -0,0 +1,6 @@
1
+ import type { ASTNode } from './ast';
2
+ /**
3
+ * Converts an AST into a string, using one set of reasonable
4
+ * formatting rules.
5
+ */
6
+ export declare function print(ast: ASTNode): string;
@@ -0,0 +1,351 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.print = print;
7
+
8
+ var _blockString = require('./blockString.js');
9
+
10
+ var _printString = require('./printString.js');
11
+
12
+ var _visitor = require('./visitor.js');
13
+
14
+ /**
15
+ * Converts an AST into a string, using one set of reasonable
16
+ * formatting rules.
17
+ */
18
+ function print(ast) {
19
+ return (0, _visitor.visit)(ast, printDocASTReducer);
20
+ }
21
+
22
+ const MAX_LINE_LENGTH = 80;
23
+ const printDocASTReducer = {
24
+ Name: {
25
+ leave: (node) => node.value,
26
+ },
27
+ Variable: {
28
+ leave: (node) => '$' + node.name,
29
+ },
30
+ // Document
31
+ Document: {
32
+ leave: (node) => join(node.definitions, '\n\n'),
33
+ },
34
+ OperationDefinition: {
35
+ leave(node) {
36
+ const varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');
37
+ const prefix = join(
38
+ [
39
+ node.operation,
40
+ join([node.name, varDefs]),
41
+ join(node.directives, ' '),
42
+ ],
43
+ ' ',
44
+ ); // Anonymous queries with no directives or variable definitions can use
45
+ // the query short form.
46
+
47
+ return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;
48
+ },
49
+ },
50
+ VariableDefinition: {
51
+ leave: ({ variable, type, defaultValue, directives }) =>
52
+ variable +
53
+ ': ' +
54
+ type +
55
+ wrap(' = ', defaultValue) +
56
+ wrap(' ', join(directives, ' ')),
57
+ },
58
+ SelectionSet: {
59
+ leave: ({ selections }) => block(selections),
60
+ },
61
+ Field: {
62
+ leave({ alias, name, arguments: args, directives, selectionSet }) {
63
+ const prefix = wrap('', alias, ': ') + name;
64
+ let argsLine = prefix + wrap('(', join(args, ', '), ')');
65
+
66
+ if (argsLine.length > MAX_LINE_LENGTH) {
67
+ argsLine = prefix + wrap('(\n', indent(join(args, '\n')), '\n)');
68
+ }
69
+
70
+ return join([argsLine, join(directives, ' '), selectionSet], ' ');
71
+ },
72
+ },
73
+ Argument: {
74
+ leave: ({ name, value }) => name + ': ' + value,
75
+ },
76
+ // Fragments
77
+ FragmentSpread: {
78
+ leave: ({ name, directives }) =>
79
+ '...' + name + wrap(' ', join(directives, ' ')),
80
+ },
81
+ InlineFragment: {
82
+ leave: ({ typeCondition, directives, selectionSet }) =>
83
+ join(
84
+ [
85
+ '...',
86
+ wrap('on ', typeCondition),
87
+ join(directives, ' '),
88
+ selectionSet,
89
+ ],
90
+ ' ',
91
+ ),
92
+ },
93
+ FragmentDefinition: {
94
+ leave: (
95
+ { name, typeCondition, variableDefinitions, directives, selectionSet }, // Note: fragment variable definitions are experimental and may be changed
96
+ ) =>
97
+ // or removed in the future.
98
+ `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +
99
+ `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +
100
+ selectionSet,
101
+ },
102
+ // Value
103
+ IntValue: {
104
+ leave: ({ value }) => value,
105
+ },
106
+ FloatValue: {
107
+ leave: ({ value }) => value,
108
+ },
109
+ StringValue: {
110
+ leave: ({ value, block: isBlockString }) =>
111
+ isBlockString
112
+ ? (0, _blockString.printBlockString)(value)
113
+ : (0, _printString.printString)(value),
114
+ },
115
+ BooleanValue: {
116
+ leave: ({ value }) => (value ? 'true' : 'false'),
117
+ },
118
+ NullValue: {
119
+ leave: () => 'null',
120
+ },
121
+ EnumValue: {
122
+ leave: ({ value }) => value,
123
+ },
124
+ ListValue: {
125
+ leave: ({ values }) => '[' + join(values, ', ') + ']',
126
+ },
127
+ ObjectValue: {
128
+ leave: ({ fields }) => '{' + join(fields, ', ') + '}',
129
+ },
130
+ ObjectField: {
131
+ leave: ({ name, value }) => name + ': ' + value,
132
+ },
133
+ // Directive
134
+ Directive: {
135
+ leave: ({ name, arguments: args }) =>
136
+ '@' + name + wrap('(', join(args, ', '), ')'),
137
+ },
138
+ // Type
139
+ NamedType: {
140
+ leave: ({ name }) => name,
141
+ },
142
+ ListType: {
143
+ leave: ({ type }) => '[' + type + ']',
144
+ },
145
+ NonNullType: {
146
+ leave: ({ type }) => type + '!',
147
+ },
148
+ // Type System Definitions
149
+ SchemaDefinition: {
150
+ leave: ({ description, directives, operationTypes }) =>
151
+ wrap('', description, '\n') +
152
+ join(['schema', join(directives, ' '), block(operationTypes)], ' '),
153
+ },
154
+ OperationTypeDefinition: {
155
+ leave: ({ operation, type }) => operation + ': ' + type,
156
+ },
157
+ ScalarTypeDefinition: {
158
+ leave: ({ description, name, directives }) =>
159
+ wrap('', description, '\n') +
160
+ join(['scalar', name, join(directives, ' ')], ' '),
161
+ },
162
+ ObjectTypeDefinition: {
163
+ leave: ({ description, name, interfaces, directives, fields }) =>
164
+ wrap('', description, '\n') +
165
+ join(
166
+ [
167
+ 'type',
168
+ name,
169
+ wrap('implements ', join(interfaces, ' & ')),
170
+ join(directives, ' '),
171
+ block(fields),
172
+ ],
173
+ ' ',
174
+ ),
175
+ },
176
+ FieldDefinition: {
177
+ leave: ({ description, name, arguments: args, type, directives }) =>
178
+ wrap('', description, '\n') +
179
+ name +
180
+ (hasMultilineItems(args)
181
+ ? wrap('(\n', indent(join(args, '\n')), '\n)')
182
+ : wrap('(', join(args, ', '), ')')) +
183
+ ': ' +
184
+ type +
185
+ wrap(' ', join(directives, ' ')),
186
+ },
187
+ InputValueDefinition: {
188
+ leave: ({ description, name, type, defaultValue, directives }) =>
189
+ wrap('', description, '\n') +
190
+ join(
191
+ [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],
192
+ ' ',
193
+ ),
194
+ },
195
+ InterfaceTypeDefinition: {
196
+ leave: ({ description, name, interfaces, directives, fields }) =>
197
+ wrap('', description, '\n') +
198
+ join(
199
+ [
200
+ 'interface',
201
+ name,
202
+ wrap('implements ', join(interfaces, ' & ')),
203
+ join(directives, ' '),
204
+ block(fields),
205
+ ],
206
+ ' ',
207
+ ),
208
+ },
209
+ UnionTypeDefinition: {
210
+ leave: ({ description, name, directives, types }) =>
211
+ wrap('', description, '\n') +
212
+ join(
213
+ ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],
214
+ ' ',
215
+ ),
216
+ },
217
+ EnumTypeDefinition: {
218
+ leave: ({ description, name, directives, values }) =>
219
+ wrap('', description, '\n') +
220
+ join(['enum', name, join(directives, ' '), block(values)], ' '),
221
+ },
222
+ EnumValueDefinition: {
223
+ leave: ({ description, name, directives }) =>
224
+ wrap('', description, '\n') + join([name, join(directives, ' ')], ' '),
225
+ },
226
+ InputObjectTypeDefinition: {
227
+ leave: ({ description, name, directives, fields }) =>
228
+ wrap('', description, '\n') +
229
+ join(['input', name, join(directives, ' '), block(fields)], ' '),
230
+ },
231
+ DirectiveDefinition: {
232
+ leave: ({ description, name, arguments: args, repeatable, locations }) =>
233
+ wrap('', description, '\n') +
234
+ 'directive @' +
235
+ name +
236
+ (hasMultilineItems(args)
237
+ ? wrap('(\n', indent(join(args, '\n')), '\n)')
238
+ : wrap('(', join(args, ', '), ')')) +
239
+ (repeatable ? ' repeatable' : '') +
240
+ ' on ' +
241
+ join(locations, ' | '),
242
+ },
243
+ SchemaExtension: {
244
+ leave: ({ directives, operationTypes }) =>
245
+ join(
246
+ ['extend schema', join(directives, ' '), block(operationTypes)],
247
+ ' ',
248
+ ),
249
+ },
250
+ ScalarTypeExtension: {
251
+ leave: ({ name, directives }) =>
252
+ join(['extend scalar', name, join(directives, ' ')], ' '),
253
+ },
254
+ ObjectTypeExtension: {
255
+ leave: ({ name, interfaces, directives, fields }) =>
256
+ join(
257
+ [
258
+ 'extend type',
259
+ name,
260
+ wrap('implements ', join(interfaces, ' & ')),
261
+ join(directives, ' '),
262
+ block(fields),
263
+ ],
264
+ ' ',
265
+ ),
266
+ },
267
+ InterfaceTypeExtension: {
268
+ leave: ({ name, interfaces, directives, fields }) =>
269
+ join(
270
+ [
271
+ 'extend interface',
272
+ name,
273
+ wrap('implements ', join(interfaces, ' & ')),
274
+ join(directives, ' '),
275
+ block(fields),
276
+ ],
277
+ ' ',
278
+ ),
279
+ },
280
+ UnionTypeExtension: {
281
+ leave: ({ name, directives, types }) =>
282
+ join(
283
+ [
284
+ 'extend union',
285
+ name,
286
+ join(directives, ' '),
287
+ wrap('= ', join(types, ' | ')),
288
+ ],
289
+ ' ',
290
+ ),
291
+ },
292
+ EnumTypeExtension: {
293
+ leave: ({ name, directives, values }) =>
294
+ join(['extend enum', name, join(directives, ' '), block(values)], ' '),
295
+ },
296
+ InputObjectTypeExtension: {
297
+ leave: ({ name, directives, fields }) =>
298
+ join(['extend input', name, join(directives, ' '), block(fields)], ' '),
299
+ },
300
+ };
301
+ /**
302
+ * Given maybeArray, print an empty string if it is null or empty, otherwise
303
+ * print all items together separated by separator if provided
304
+ */
305
+
306
+ function join(maybeArray, separator = '') {
307
+ var _maybeArray$filter$jo;
308
+
309
+ return (_maybeArray$filter$jo =
310
+ maybeArray === null || maybeArray === void 0
311
+ ? void 0
312
+ : maybeArray.filter((x) => x).join(separator)) !== null &&
313
+ _maybeArray$filter$jo !== void 0
314
+ ? _maybeArray$filter$jo
315
+ : '';
316
+ }
317
+ /**
318
+ * Given array, print each item on its own line, wrapped in an indented `{ }` block.
319
+ */
320
+
321
+ function block(array) {
322
+ return wrap('{\n', indent(join(array, '\n')), '\n}');
323
+ }
324
+ /**
325
+ * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.
326
+ */
327
+
328
+ function wrap(start, maybeString, end = '') {
329
+ return maybeString != null && maybeString !== ''
330
+ ? start + maybeString + end
331
+ : '';
332
+ }
333
+
334
+ function indent(str) {
335
+ return wrap(' ', str.replace(/\n/g, '\n '));
336
+ }
337
+
338
+ function hasMultilineItems(maybeArray) {
339
+ var _maybeArray$some;
340
+
341
+ // FIXME: https://github.com/graphql/graphql-js/issues/2203
342
+
343
+ /* c8 ignore next */
344
+ return (_maybeArray$some =
345
+ maybeArray === null || maybeArray === void 0
346
+ ? void 0
347
+ : maybeArray.some((str) => str.includes('\n'))) !== null &&
348
+ _maybeArray$some !== void 0
349
+ ? _maybeArray$some
350
+ : false;
351
+ }