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,255 @@
1
+ import { inspect } from '../jsutils/inspect.mjs';
2
+ import { keyMap } from '../jsutils/keyMap.mjs';
3
+ import { printPathArray } from '../jsutils/printPathArray.mjs';
4
+ import { GraphQLError } from '../error/GraphQLError.mjs';
5
+ import { Kind } from '../language/kinds.mjs';
6
+ import { print } from '../language/printer.mjs';
7
+ import { isInputType, isNonNullType } from '../type/definition.mjs';
8
+ import { coerceInputValue } from '../utilities/coerceInputValue.mjs';
9
+ import { typeFromAST } from '../utilities/typeFromAST.mjs';
10
+ import { valueFromAST } from '../utilities/valueFromAST.mjs';
11
+
12
+ /**
13
+ * Prepares an object map of variableValues of the correct type based on the
14
+ * provided variable definitions and arbitrary input. If the input cannot be
15
+ * parsed to match the variable definitions, a GraphQLError will be thrown.
16
+ *
17
+ * Note: The returned value is a plain Object with a prototype, since it is
18
+ * exposed to user code. Care should be taken to not pull values from the
19
+ * Object prototype.
20
+ */
21
+ export function getVariableValues(schema, varDefNodes, inputs, options) {
22
+ const errors = [];
23
+ const maxErrors =
24
+ options === null || options === void 0 ? void 0 : options.maxErrors;
25
+
26
+ try {
27
+ const coerced = coerceVariableValues(
28
+ schema,
29
+ varDefNodes,
30
+ inputs,
31
+ (error) => {
32
+ if (maxErrors != null && errors.length >= maxErrors) {
33
+ throw new GraphQLError(
34
+ 'Too many errors processing variables, error limit reached. Execution aborted.',
35
+ );
36
+ }
37
+
38
+ errors.push(error);
39
+ },
40
+ );
41
+
42
+ if (errors.length === 0) {
43
+ return {
44
+ coerced,
45
+ };
46
+ }
47
+ } catch (error) {
48
+ errors.push(error);
49
+ }
50
+
51
+ return {
52
+ errors,
53
+ };
54
+ }
55
+
56
+ function coerceVariableValues(schema, varDefNodes, inputs, onError) {
57
+ const coercedValues = {};
58
+
59
+ for (const varDefNode of varDefNodes) {
60
+ const varName = varDefNode.variable.name.value;
61
+ const varType = typeFromAST(schema, varDefNode.type);
62
+
63
+ if (!isInputType(varType)) {
64
+ // Must use input types for variables. This should be caught during
65
+ // validation, however is checked again here for safety.
66
+ const varTypeStr = print(varDefNode.type);
67
+ onError(
68
+ new GraphQLError(
69
+ `Variable "$${varName}" expected value of type "${varTypeStr}" which cannot be used as an input type.`,
70
+ varDefNode.type,
71
+ ),
72
+ );
73
+ continue;
74
+ }
75
+
76
+ if (!hasOwnProperty(inputs, varName)) {
77
+ if (varDefNode.defaultValue) {
78
+ coercedValues[varName] = valueFromAST(varDefNode.defaultValue, varType);
79
+ } else if (isNonNullType(varType)) {
80
+ const varTypeStr = inspect(varType);
81
+ onError(
82
+ new GraphQLError(
83
+ `Variable "$${varName}" of required type "${varTypeStr}" was not provided.`,
84
+ varDefNode,
85
+ ),
86
+ );
87
+ }
88
+
89
+ continue;
90
+ }
91
+
92
+ const value = inputs[varName];
93
+
94
+ if (value === null && isNonNullType(varType)) {
95
+ const varTypeStr = inspect(varType);
96
+ onError(
97
+ new GraphQLError(
98
+ `Variable "$${varName}" of non-null type "${varTypeStr}" must not be null.`,
99
+ varDefNode,
100
+ ),
101
+ );
102
+ continue;
103
+ }
104
+
105
+ coercedValues[varName] = coerceInputValue(
106
+ value,
107
+ varType,
108
+ (path, invalidValue, error) => {
109
+ let prefix =
110
+ `Variable "$${varName}" got invalid value ` + inspect(invalidValue);
111
+
112
+ if (path.length > 0) {
113
+ prefix += ` at "${varName}${printPathArray(path)}"`;
114
+ }
115
+
116
+ onError(
117
+ new GraphQLError(
118
+ prefix + '; ' + error.message,
119
+ varDefNode,
120
+ undefined,
121
+ undefined,
122
+ undefined,
123
+ error.originalError,
124
+ ),
125
+ );
126
+ },
127
+ );
128
+ }
129
+
130
+ return coercedValues;
131
+ }
132
+ /**
133
+ * Prepares an object map of argument values given a list of argument
134
+ * definitions and list of argument AST nodes.
135
+ *
136
+ * Note: The returned value is a plain Object with a prototype, since it is
137
+ * exposed to user code. Care should be taken to not pull values from the
138
+ * Object prototype.
139
+ *
140
+ * @internal
141
+ */
142
+
143
+ export function getArgumentValues(def, node, variableValues) {
144
+ var _node$arguments;
145
+
146
+ const coercedValues = {}; // FIXME: https://github.com/graphql/graphql-js/issues/2203
147
+
148
+ /* c8 ignore next */
149
+
150
+ const argumentNodes =
151
+ (_node$arguments = node.arguments) !== null && _node$arguments !== void 0
152
+ ? _node$arguments
153
+ : [];
154
+ const argNodeMap = keyMap(argumentNodes, (arg) => arg.name.value);
155
+
156
+ for (const argDef of def.args) {
157
+ const name = argDef.name;
158
+ const argType = argDef.type;
159
+ const argumentNode = argNodeMap[name];
160
+
161
+ if (!argumentNode) {
162
+ if (argDef.defaultValue !== undefined) {
163
+ coercedValues[name] = argDef.defaultValue;
164
+ } else if (isNonNullType(argType)) {
165
+ throw new GraphQLError(
166
+ `Argument "${name}" of required type "${inspect(argType)}" ` +
167
+ 'was not provided.',
168
+ node,
169
+ );
170
+ }
171
+
172
+ continue;
173
+ }
174
+
175
+ const valueNode = argumentNode.value;
176
+ let isNull = valueNode.kind === Kind.NULL;
177
+
178
+ if (valueNode.kind === Kind.VARIABLE) {
179
+ const variableName = valueNode.name.value;
180
+
181
+ if (
182
+ variableValues == null ||
183
+ !hasOwnProperty(variableValues, variableName)
184
+ ) {
185
+ if (argDef.defaultValue !== undefined) {
186
+ coercedValues[name] = argDef.defaultValue;
187
+ } else if (isNonNullType(argType)) {
188
+ throw new GraphQLError(
189
+ `Argument "${name}" of required type "${inspect(argType)}" ` +
190
+ `was provided the variable "$${variableName}" which was not provided a runtime value.`,
191
+ valueNode,
192
+ );
193
+ }
194
+
195
+ continue;
196
+ }
197
+
198
+ isNull = variableValues[variableName] == null;
199
+ }
200
+
201
+ if (isNull && isNonNullType(argType)) {
202
+ throw new GraphQLError(
203
+ `Argument "${name}" of non-null type "${inspect(argType)}" ` +
204
+ 'must not be null.',
205
+ valueNode,
206
+ );
207
+ }
208
+
209
+ const coercedValue = valueFromAST(valueNode, argType, variableValues);
210
+
211
+ if (coercedValue === undefined) {
212
+ // Note: ValuesOfCorrectTypeRule validation should catch this before
213
+ // execution. This is a runtime check to ensure execution does not
214
+ // continue with an invalid argument value.
215
+ throw new GraphQLError(
216
+ `Argument "${name}" has invalid value ${print(valueNode)}.`,
217
+ valueNode,
218
+ );
219
+ }
220
+
221
+ coercedValues[name] = coercedValue;
222
+ }
223
+
224
+ return coercedValues;
225
+ }
226
+ /**
227
+ * Prepares an object map of argument values given a directive definition
228
+ * and a AST node which may contain directives. Optionally also accepts a map
229
+ * of variable values.
230
+ *
231
+ * If the directive does not exist on the node, returns undefined.
232
+ *
233
+ * Note: The returned value is a plain Object with a prototype, since it is
234
+ * exposed to user code. Care should be taken to not pull values from the
235
+ * Object prototype.
236
+ */
237
+
238
+ export function getDirectiveValues(directiveDef, node, variableValues) {
239
+ var _node$directives;
240
+
241
+ const directiveNode =
242
+ (_node$directives = node.directives) === null || _node$directives === void 0
243
+ ? void 0
244
+ : _node$directives.find(
245
+ (directive) => directive.name.value === directiveDef.name,
246
+ );
247
+
248
+ if (directiveNode) {
249
+ return getArgumentValues(directiveDef, directiveNode, variableValues);
250
+ }
251
+ }
252
+
253
+ function hasOwnProperty(obj, prop) {
254
+ return Object.prototype.hasOwnProperty.call(obj, prop);
255
+ }
package/graphql.d.ts ADDED
@@ -0,0 +1,67 @@
1
+ import type { Maybe } from './jsutils/Maybe';
2
+ import type { Source } from './language/source';
3
+ import type {
4
+ GraphQLFieldResolver,
5
+ GraphQLTypeResolver,
6
+ } from './type/definition';
7
+ import type { GraphQLSchema } from './type/schema';
8
+ import type { ExecutionResult } from './execution/execute';
9
+ /**
10
+ * This is the primary entry point function for fulfilling GraphQL operations
11
+ * by parsing, validating, and executing a GraphQL document along side a
12
+ * GraphQL schema.
13
+ *
14
+ * More sophisticated GraphQL servers, such as those which persist queries,
15
+ * may wish to separate the validation and execution phases to a static time
16
+ * tooling step, and a server runtime step.
17
+ *
18
+ * Accepts either an object with named arguments, or individual arguments:
19
+ *
20
+ * schema:
21
+ * The GraphQL type system to use when validating and executing a query.
22
+ * source:
23
+ * A GraphQL language formatted string representing the requested operation.
24
+ * rootValue:
25
+ * The value provided as the first argument to resolver functions on the top
26
+ * level type (e.g. the query object type).
27
+ * contextValue:
28
+ * The context value is provided as an argument to resolver functions after
29
+ * field arguments. It is used to pass shared information useful at any point
30
+ * during executing this query, for example the currently logged in user and
31
+ * connections to databases or other services.
32
+ * variableValues:
33
+ * A mapping of variable name to runtime value to use for all variables
34
+ * defined in the requestString.
35
+ * operationName:
36
+ * The name of the operation to use if requestString contains multiple
37
+ * possible operations. Can be omitted if requestString contains only
38
+ * one operation.
39
+ * fieldResolver:
40
+ * A resolver function to use when one is not provided by the schema.
41
+ * If not provided, the default field resolver is used (which looks for a
42
+ * value or method on the source value with the field's name).
43
+ * typeResolver:
44
+ * A type resolver function to use when none is provided by the schema.
45
+ * If not provided, the default type resolver is used (which looks for a
46
+ * `__typename` field or alternatively calls the `isTypeOf` method).
47
+ */
48
+ export interface GraphQLArgs {
49
+ schema: GraphQLSchema;
50
+ source: string | Source;
51
+ rootValue?: unknown;
52
+ contextValue?: unknown;
53
+ variableValues?: Maybe<{
54
+ readonly [variable: string]: unknown;
55
+ }>;
56
+ operationName?: Maybe<string>;
57
+ fieldResolver?: Maybe<GraphQLFieldResolver<any, any>>;
58
+ typeResolver?: Maybe<GraphQLTypeResolver<any, any>>;
59
+ }
60
+ export declare function graphql(args: GraphQLArgs): Promise<ExecutionResult>;
61
+ /**
62
+ * The graphqlSync function also fulfills GraphQL operations by parsing,
63
+ * validating, and executing a GraphQL document along side a GraphQL schema.
64
+ * However, it guarantees to complete synchronously (or throw an error) assuming
65
+ * that all field resolvers are also synchronous.
66
+ */
67
+ export declare function graphqlSync(args: GraphQLArgs): ExecutionResult;
package/graphql.js ADDED
@@ -0,0 +1,96 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.graphql = graphql;
7
+ exports.graphqlSync = graphqlSync;
8
+
9
+ var _devAssert = require('./jsutils/devAssert.js');
10
+
11
+ var _isPromise = require('./jsutils/isPromise.js');
12
+
13
+ var _parser = require('./language/parser.js');
14
+
15
+ var _validate = require('./type/validate.js');
16
+
17
+ var _validate2 = require('./validation/validate.js');
18
+
19
+ var _execute = require('./execution/execute.js');
20
+
21
+ function graphql(args) {
22
+ // Always return a Promise for a consistent API.
23
+ return new Promise((resolve) => resolve(graphqlImpl(args)));
24
+ }
25
+ /**
26
+ * The graphqlSync function also fulfills GraphQL operations by parsing,
27
+ * validating, and executing a GraphQL document along side a GraphQL schema.
28
+ * However, it guarantees to complete synchronously (or throw an error) assuming
29
+ * that all field resolvers are also synchronous.
30
+ */
31
+
32
+ function graphqlSync(args) {
33
+ const result = graphqlImpl(args); // Assert that the execution was synchronous.
34
+
35
+ if ((0, _isPromise.isPromise)(result)) {
36
+ throw new Error('GraphQL execution failed to complete synchronously.');
37
+ }
38
+
39
+ return result;
40
+ }
41
+
42
+ function graphqlImpl(args) {
43
+ // Temporary for v15 to v16 migration. Remove in v17
44
+ arguments.length < 2 ||
45
+ (0, _devAssert.devAssert)(
46
+ false,
47
+ 'graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.',
48
+ );
49
+ const {
50
+ schema,
51
+ source,
52
+ rootValue,
53
+ contextValue,
54
+ variableValues,
55
+ operationName,
56
+ fieldResolver,
57
+ typeResolver,
58
+ } = args; // Validate Schema
59
+
60
+ const schemaValidationErrors = (0, _validate.validateSchema)(schema);
61
+
62
+ if (schemaValidationErrors.length > 0) {
63
+ return {
64
+ errors: schemaValidationErrors,
65
+ };
66
+ } // Parse
67
+
68
+ let document;
69
+
70
+ try {
71
+ document = (0, _parser.parse)(source);
72
+ } catch (syntaxError) {
73
+ return {
74
+ errors: [syntaxError],
75
+ };
76
+ } // Validate
77
+
78
+ const validationErrors = (0, _validate2.validate)(schema, document);
79
+
80
+ if (validationErrors.length > 0) {
81
+ return {
82
+ errors: validationErrors,
83
+ };
84
+ } // Execute
85
+
86
+ return (0, _execute.execute)({
87
+ schema,
88
+ document,
89
+ rootValue,
90
+ contextValue,
91
+ variableValues,
92
+ operationName,
93
+ fieldResolver,
94
+ typeResolver,
95
+ });
96
+ }
package/graphql.mjs ADDED
@@ -0,0 +1,122 @@
1
+ import { devAssert } from './jsutils/devAssert.mjs';
2
+ import { isPromise } from './jsutils/isPromise.mjs';
3
+ import { parse } from './language/parser.mjs';
4
+ import { validateSchema } from './type/validate.mjs';
5
+ import { validate } from './validation/validate.mjs';
6
+ import { execute } from './execution/execute.mjs';
7
+ /**
8
+ * This is the primary entry point function for fulfilling GraphQL operations
9
+ * by parsing, validating, and executing a GraphQL document along side a
10
+ * GraphQL schema.
11
+ *
12
+ * More sophisticated GraphQL servers, such as those which persist queries,
13
+ * may wish to separate the validation and execution phases to a static time
14
+ * tooling step, and a server runtime step.
15
+ *
16
+ * Accepts either an object with named arguments, or individual arguments:
17
+ *
18
+ * schema:
19
+ * The GraphQL type system to use when validating and executing a query.
20
+ * source:
21
+ * A GraphQL language formatted string representing the requested operation.
22
+ * rootValue:
23
+ * The value provided as the first argument to resolver functions on the top
24
+ * level type (e.g. the query object type).
25
+ * contextValue:
26
+ * The context value is provided as an argument to resolver functions after
27
+ * field arguments. It is used to pass shared information useful at any point
28
+ * during executing this query, for example the currently logged in user and
29
+ * connections to databases or other services.
30
+ * variableValues:
31
+ * A mapping of variable name to runtime value to use for all variables
32
+ * defined in the requestString.
33
+ * operationName:
34
+ * The name of the operation to use if requestString contains multiple
35
+ * possible operations. Can be omitted if requestString contains only
36
+ * one operation.
37
+ * fieldResolver:
38
+ * A resolver function to use when one is not provided by the schema.
39
+ * If not provided, the default field resolver is used (which looks for a
40
+ * value or method on the source value with the field's name).
41
+ * typeResolver:
42
+ * A type resolver function to use when none is provided by the schema.
43
+ * If not provided, the default type resolver is used (which looks for a
44
+ * `__typename` field or alternatively calls the `isTypeOf` method).
45
+ */
46
+
47
+ export function graphql(args) {
48
+ // Always return a Promise for a consistent API.
49
+ return new Promise((resolve) => resolve(graphqlImpl(args)));
50
+ }
51
+ /**
52
+ * The graphqlSync function also fulfills GraphQL operations by parsing,
53
+ * validating, and executing a GraphQL document along side a GraphQL schema.
54
+ * However, it guarantees to complete synchronously (or throw an error) assuming
55
+ * that all field resolvers are also synchronous.
56
+ */
57
+
58
+ export function graphqlSync(args) {
59
+ const result = graphqlImpl(args); // Assert that the execution was synchronous.
60
+
61
+ if (isPromise(result)) {
62
+ throw new Error('GraphQL execution failed to complete synchronously.');
63
+ }
64
+
65
+ return result;
66
+ }
67
+
68
+ function graphqlImpl(args) {
69
+ // Temporary for v15 to v16 migration. Remove in v17
70
+ arguments.length < 2 ||
71
+ devAssert(
72
+ false,
73
+ 'graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.',
74
+ );
75
+ const {
76
+ schema,
77
+ source,
78
+ rootValue,
79
+ contextValue,
80
+ variableValues,
81
+ operationName,
82
+ fieldResolver,
83
+ typeResolver,
84
+ } = args; // Validate Schema
85
+
86
+ const schemaValidationErrors = validateSchema(schema);
87
+
88
+ if (schemaValidationErrors.length > 0) {
89
+ return {
90
+ errors: schemaValidationErrors,
91
+ };
92
+ } // Parse
93
+
94
+ let document;
95
+
96
+ try {
97
+ document = parse(source);
98
+ } catch (syntaxError) {
99
+ return {
100
+ errors: [syntaxError],
101
+ };
102
+ } // Validate
103
+
104
+ const validationErrors = validate(schema, document);
105
+
106
+ if (validationErrors.length > 0) {
107
+ return {
108
+ errors: validationErrors,
109
+ };
110
+ } // Execute
111
+
112
+ return execute({
113
+ schema,
114
+ document,
115
+ rootValue,
116
+ contextValue,
117
+ variableValues,
118
+ operationName,
119
+ fieldResolver,
120
+ typeResolver,
121
+ });
122
+ }