graphql 16.13.2 → 16.14.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 (371) hide show
  1. package/error/GraphQLError.d.ts +151 -15
  2. package/error/GraphQLError.js +143 -12
  3. package/error/GraphQLError.mjs +143 -12
  4. package/error/index.d.ts +6 -0
  5. package/error/index.mjs +6 -0
  6. package/error/locatedError.d.ts +20 -0
  7. package/error/locatedError.js +21 -0
  8. package/error/locatedError.mjs +20 -0
  9. package/error/syntaxError.d.ts +15 -0
  10. package/error/syntaxError.js +16 -0
  11. package/error/syntaxError.mjs +15 -0
  12. package/execution/collectFields.js +6 -0
  13. package/execution/collectFields.mjs +6 -0
  14. package/execution/execute.d.ts +211 -12
  15. package/execution/execute.js +214 -23
  16. package/execution/execute.mjs +213 -23
  17. package/execution/index.d.ts +6 -0
  18. package/execution/index.mjs +6 -0
  19. package/execution/mapAsyncIterator.d.ts +2 -0
  20. package/execution/mapAsyncIterator.js +2 -0
  21. package/execution/mapAsyncIterator.mjs +2 -0
  22. package/execution/subscribe.d.ts +195 -5
  23. package/execution/subscribe.js +154 -11
  24. package/execution/subscribe.mjs +153 -11
  25. package/execution/values.d.ts +167 -10
  26. package/execution/values.js +149 -5
  27. package/execution/values.mjs +148 -5
  28. package/graphql.d.ts +163 -41
  29. package/graphql.js +126 -4
  30. package/graphql.mjs +131 -41
  31. package/index.d.ts +12 -17
  32. package/index.mjs +13 -19
  33. package/jsutils/Maybe.d.ts +5 -1
  34. package/jsutils/ObjMap.d.ts +4 -0
  35. package/jsutils/Path.d.ts +30 -0
  36. package/jsutils/Path.js +29 -0
  37. package/jsutils/Path.mjs +29 -0
  38. package/jsutils/PromiseOrValue.d.ts +1 -0
  39. package/jsutils/devAssert.d.ts +1 -0
  40. package/jsutils/devAssert.js +1 -0
  41. package/jsutils/devAssert.mjs +1 -0
  42. package/jsutils/didYouMean.d.ts +4 -1
  43. package/jsutils/didYouMean.js +4 -1
  44. package/jsutils/didYouMean.mjs +4 -1
  45. package/jsutils/groupBy.d.ts +2 -0
  46. package/jsutils/groupBy.js +2 -0
  47. package/jsutils/groupBy.mjs +2 -0
  48. package/jsutils/identityFunc.d.ts +2 -0
  49. package/jsutils/identityFunc.js +2 -0
  50. package/jsutils/identityFunc.mjs +2 -0
  51. package/jsutils/inspect.d.ts +2 -0
  52. package/jsutils/inspect.js +2 -0
  53. package/jsutils/inspect.mjs +2 -0
  54. package/jsutils/instanceOf.d.ts +2 -0
  55. package/jsutils/instanceOf.js +2 -0
  56. package/jsutils/instanceOf.mjs +2 -0
  57. package/jsutils/invariant.d.ts +1 -0
  58. package/jsutils/invariant.js +1 -0
  59. package/jsutils/invariant.mjs +1 -0
  60. package/jsutils/isAsyncIterable.d.ts +2 -0
  61. package/jsutils/isAsyncIterable.js +2 -0
  62. package/jsutils/isAsyncIterable.mjs +2 -0
  63. package/jsutils/isIterableObject.d.ts +6 -5
  64. package/jsutils/isIterableObject.js +6 -5
  65. package/jsutils/isIterableObject.mjs +6 -5
  66. package/jsutils/isObjectLike.d.ts +2 -0
  67. package/jsutils/isObjectLike.js +2 -0
  68. package/jsutils/isObjectLike.mjs +2 -0
  69. package/jsutils/isPromise.d.ts +2 -0
  70. package/jsutils/isPromise.js +2 -0
  71. package/jsutils/isPromise.mjs +2 -0
  72. package/jsutils/keyMap.d.ts +7 -14
  73. package/jsutils/keyMap.js +7 -14
  74. package/jsutils/keyMap.mjs +7 -14
  75. package/jsutils/keyValMap.d.ts +9 -6
  76. package/jsutils/keyValMap.js +9 -6
  77. package/jsutils/keyValMap.mjs +9 -6
  78. package/jsutils/mapValue.d.ts +2 -0
  79. package/jsutils/mapValue.js +2 -0
  80. package/jsutils/mapValue.mjs +2 -0
  81. package/jsutils/memoize3.d.ts +2 -0
  82. package/jsutils/memoize3.js +2 -0
  83. package/jsutils/memoize3.mjs +2 -0
  84. package/jsutils/naturalCompare.d.ts +2 -0
  85. package/jsutils/naturalCompare.js +2 -0
  86. package/jsutils/naturalCompare.mjs +2 -0
  87. package/jsutils/printPathArray.d.ts +2 -0
  88. package/jsutils/printPathArray.js +2 -0
  89. package/jsutils/printPathArray.mjs +2 -0
  90. package/jsutils/promiseForObject.d.ts +2 -0
  91. package/jsutils/promiseForObject.js +2 -0
  92. package/jsutils/promiseForObject.mjs +2 -0
  93. package/jsutils/promiseReduce.d.ts +2 -0
  94. package/jsutils/promiseReduce.js +2 -0
  95. package/jsutils/promiseReduce.mjs +2 -0
  96. package/jsutils/suggestionList.d.ts +2 -0
  97. package/jsutils/suggestionList.js +4 -0
  98. package/jsutils/suggestionList.mjs +4 -0
  99. package/jsutils/toError.d.ts +2 -0
  100. package/jsutils/toError.js +2 -0
  101. package/jsutils/toError.mjs +2 -0
  102. package/jsutils/toObjMap.d.ts +1 -0
  103. package/jsutils/toObjMap.js +1 -0
  104. package/jsutils/toObjMap.mjs +1 -0
  105. package/language/ast.d.ts +422 -55
  106. package/language/ast.js +103 -39
  107. package/language/ast.mjs +103 -39
  108. package/language/blockString.d.ts +1 -3
  109. package/language/blockString.js +1 -3
  110. package/language/blockString.mjs +1 -3
  111. package/language/directiveLocation.d.ts +29 -8
  112. package/language/directiveLocation.js +10 -6
  113. package/language/directiveLocation.mjs +10 -6
  114. package/language/index.d.ts +7 -0
  115. package/language/index.mjs +6 -0
  116. package/language/kinds.d.ts +58 -18
  117. package/language/kinds.js +10 -6
  118. package/language/kinds.mjs +10 -6
  119. package/language/lexer.d.ts +47 -14
  120. package/language/lexer.js +71 -13
  121. package/language/lexer.mjs +70 -13
  122. package/language/location.d.ts +16 -3
  123. package/language/location.js +14 -3
  124. package/language/location.mjs +14 -3
  125. package/language/parser.d.ts +248 -11
  126. package/language/parser.js +257 -0
  127. package/language/parser.mjs +257 -3
  128. package/language/predicates.d.ts +169 -0
  129. package/language/predicates.js +173 -1
  130. package/language/predicates.mjs +185 -1
  131. package/language/printLocation.d.ts +28 -0
  132. package/language/printLocation.js +29 -0
  133. package/language/printLocation.mjs +28 -0
  134. package/language/printString.d.ts +2 -0
  135. package/language/printString.js +5 -1
  136. package/language/printString.mjs +5 -1
  137. package/language/printer.d.ts +12 -0
  138. package/language/printer.js +32 -1
  139. package/language/printer.mjs +31 -1
  140. package/language/schemaCoordinateLexer.d.ts +8 -6
  141. package/language/schemaCoordinateLexer.js +10 -6
  142. package/language/schemaCoordinateLexer.mjs +10 -6
  143. package/language/source.d.ts +28 -0
  144. package/language/source.js +32 -0
  145. package/language/source.mjs +31 -0
  146. package/language/tokenKind.d.ts +30 -3
  147. package/language/tokenKind.js +8 -3
  148. package/language/tokenKind.mjs +8 -3
  149. package/language/visitor.d.ts +200 -72
  150. package/language/visitor.js +122 -50
  151. package/language/visitor.mjs +122 -54
  152. package/package.json +1 -1
  153. package/subscription/index.d.ts +9 -3
  154. package/subscription/index.mjs +9 -3
  155. package/type/assertName.d.ts +18 -1
  156. package/type/assertName.js +19 -1
  157. package/type/assertName.mjs +18 -1
  158. package/type/definition.d.ts +2540 -79
  159. package/type/definition.js +2214 -61
  160. package/type/definition.mjs +2241 -60
  161. package/type/directives.d.ts +202 -19
  162. package/type/directives.js +206 -20
  163. package/type/directives.mjs +206 -20
  164. package/type/index.d.ts +6 -0
  165. package/type/index.mjs +6 -0
  166. package/type/introspection.d.ts +36 -0
  167. package/type/introspection.js +57 -1
  168. package/type/introspection.mjs +65 -1
  169. package/type/scalars.d.ts +29 -2
  170. package/type/scalars.js +37 -2
  171. package/type/scalars.mjs +36 -2
  172. package/type/schema.d.ts +490 -28
  173. package/type/schema.js +484 -26
  174. package/type/schema.mjs +484 -26
  175. package/type/validate.d.ts +31 -0
  176. package/type/validate.js +32 -0
  177. package/type/validate.mjs +31 -0
  178. package/utilities/TypeInfo.d.ts +441 -1
  179. package/utilities/TypeInfo.js +444 -1
  180. package/utilities/TypeInfo.mjs +443 -1
  181. package/utilities/assertValidName.d.ts +27 -2
  182. package/utilities/assertValidName.js +28 -2
  183. package/utilities/assertValidName.mjs +27 -2
  184. package/utilities/astFromValue.d.ts +33 -3
  185. package/utilities/astFromValue.js +36 -3
  186. package/utilities/astFromValue.mjs +35 -3
  187. package/utilities/buildASTSchema.d.ts +65 -6
  188. package/utilities/buildASTSchema.js +69 -6
  189. package/utilities/buildASTSchema.mjs +69 -6
  190. package/utilities/buildClientSchema.d.ts +15 -0
  191. package/utilities/buildClientSchema.js +17 -0
  192. package/utilities/buildClientSchema.mjs +16 -0
  193. package/utilities/coerceInputValue.d.ts +46 -0
  194. package/utilities/coerceInputValue.js +47 -0
  195. package/utilities/coerceInputValue.mjs +46 -0
  196. package/utilities/concatAST.d.ts +12 -0
  197. package/utilities/concatAST.js +13 -0
  198. package/utilities/concatAST.mjs +12 -0
  199. package/utilities/extendSchema.d.ts +56 -3
  200. package/utilities/extendSchema.js +121 -6
  201. package/utilities/extendSchema.mjs +120 -6
  202. package/utilities/findBreakingChanges.d.ts +95 -0
  203. package/utilities/findBreakingChanges.js +68 -0
  204. package/utilities/findBreakingChanges.mjs +70 -0
  205. package/utilities/getIntrospectionQuery.d.ts +148 -0
  206. package/utilities/getIntrospectionQuery.js +72 -38
  207. package/utilities/getIntrospectionQuery.mjs +72 -38
  208. package/utilities/getOperationAST.d.ts +15 -0
  209. package/utilities/getOperationAST.js +16 -0
  210. package/utilities/getOperationAST.mjs +15 -0
  211. package/utilities/getOperationRootType.d.ts +18 -1
  212. package/utilities/getOperationRootType.js +19 -1
  213. package/utilities/getOperationRootType.mjs +18 -1
  214. package/utilities/index.d.ts +7 -0
  215. package/utilities/index.mjs +7 -0
  216. package/utilities/introspectionFromSchema.d.ts +54 -0
  217. package/utilities/introspectionFromSchema.js +56 -0
  218. package/utilities/introspectionFromSchema.mjs +55 -0
  219. package/utilities/lexicographicSortSchema.d.ts +35 -0
  220. package/utilities/lexicographicSortSchema.js +36 -0
  221. package/utilities/lexicographicSortSchema.mjs +35 -0
  222. package/utilities/printSchema.d.ts +63 -0
  223. package/utilities/printSchema.js +67 -0
  224. package/utilities/printSchema.mjs +68 -0
  225. package/utilities/resolveSchemaCoordinate.d.ts +62 -0
  226. package/utilities/resolveSchemaCoordinate.js +64 -0
  227. package/utilities/resolveSchemaCoordinate.mjs +63 -0
  228. package/utilities/separateOperations.d.ts +30 -0
  229. package/utilities/separateOperations.js +31 -0
  230. package/utilities/separateOperations.mjs +30 -0
  231. package/utilities/stripIgnoredCharacters.d.ts +13 -6
  232. package/utilities/stripIgnoredCharacters.js +16 -6
  233. package/utilities/stripIgnoredCharacters.mjs +15 -6
  234. package/utilities/typeComparators.d.ts +84 -0
  235. package/utilities/typeComparators.js +85 -0
  236. package/utilities/typeComparators.mjs +84 -0
  237. package/utilities/typeFromAST.d.ts +86 -0
  238. package/utilities/typeFromAST.js +3 -0
  239. package/utilities/typeFromAST.mjs +3 -0
  240. package/utilities/typedQueryDocumentNode.d.ts +4 -0
  241. package/utilities/valueFromAST.d.ts +38 -0
  242. package/utilities/valueFromAST.js +51 -2
  243. package/utilities/valueFromAST.mjs +50 -2
  244. package/utilities/valueFromASTUntyped.d.ts +15 -2
  245. package/utilities/valueFromASTUntyped.js +16 -2
  246. package/utilities/valueFromASTUntyped.mjs +15 -2
  247. package/validation/ValidationContext.d.ts +399 -0
  248. package/validation/ValidationContext.js +400 -0
  249. package/validation/ValidationContext.mjs +401 -0
  250. package/validation/index.d.ts +6 -0
  251. package/validation/index.mjs +6 -0
  252. package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
  253. package/validation/rules/ExecutableDefinitionsRule.js +29 -0
  254. package/validation/rules/ExecutableDefinitionsRule.mjs +28 -0
  255. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
  256. package/validation/rules/FieldsOnCorrectTypeRule.js +33 -0
  257. package/validation/rules/FieldsOnCorrectTypeRule.mjs +32 -0
  258. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
  259. package/validation/rules/FragmentsOnCompositeTypesRule.js +29 -0
  260. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +28 -0
  261. package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
  262. package/validation/rules/KnownArgumentNamesRule.js +30 -3
  263. package/validation/rules/KnownArgumentNamesRule.mjs +29 -3
  264. package/validation/rules/KnownDirectivesRule.d.ts +28 -0
  265. package/validation/rules/KnownDirectivesRule.js +33 -0
  266. package/validation/rules/KnownDirectivesRule.mjs +32 -0
  267. package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
  268. package/validation/rules/KnownFragmentNamesRule.js +29 -0
  269. package/validation/rules/KnownFragmentNamesRule.mjs +28 -0
  270. package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
  271. package/validation/rules/KnownTypeNamesRule.js +29 -0
  272. package/validation/rules/KnownTypeNamesRule.mjs +28 -0
  273. package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
  274. package/validation/rules/LoneAnonymousOperationRule.js +29 -0
  275. package/validation/rules/LoneAnonymousOperationRule.mjs +28 -0
  276. package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
  277. package/validation/rules/LoneSchemaDefinitionRule.js +22 -0
  278. package/validation/rules/LoneSchemaDefinitionRule.mjs +21 -0
  279. package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
  280. package/validation/rules/MaxIntrospectionDepthRule.js +33 -0
  281. package/validation/rules/MaxIntrospectionDepthRule.mjs +34 -0
  282. package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
  283. package/validation/rules/NoFragmentCyclesRule.js +29 -0
  284. package/validation/rules/NoFragmentCyclesRule.mjs +28 -0
  285. package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
  286. package/validation/rules/NoUndefinedVariablesRule.js +29 -0
  287. package/validation/rules/NoUndefinedVariablesRule.mjs +28 -0
  288. package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
  289. package/validation/rules/NoUnusedFragmentsRule.js +29 -0
  290. package/validation/rules/NoUnusedFragmentsRule.mjs +28 -0
  291. package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
  292. package/validation/rules/NoUnusedVariablesRule.js +30 -0
  293. package/validation/rules/NoUnusedVariablesRule.mjs +29 -0
  294. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
  295. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +45 -6
  296. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +45 -6
  297. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
  298. package/validation/rules/PossibleFragmentSpreadsRule.js +37 -0
  299. package/validation/rules/PossibleFragmentSpreadsRule.mjs +36 -0
  300. package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
  301. package/validation/rules/PossibleTypeExtensionsRule.js +22 -0
  302. package/validation/rules/PossibleTypeExtensionsRule.mjs +21 -0
  303. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
  304. package/validation/rules/ProvidedRequiredArgumentsRule.js +30 -3
  305. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +29 -3
  306. package/validation/rules/ScalarLeafsRule.d.ts +28 -0
  307. package/validation/rules/ScalarLeafsRule.js +29 -0
  308. package/validation/rules/ScalarLeafsRule.mjs +28 -0
  309. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +33 -0
  310. package/validation/rules/SingleFieldSubscriptionsRule.js +34 -0
  311. package/validation/rules/SingleFieldSubscriptionsRule.mjs +33 -0
  312. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
  313. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +22 -0
  314. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +21 -0
  315. package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
  316. package/validation/rules/UniqueArgumentNamesRule.js +29 -0
  317. package/validation/rules/UniqueArgumentNamesRule.mjs +28 -0
  318. package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
  319. package/validation/rules/UniqueDirectiveNamesRule.js +22 -0
  320. package/validation/rules/UniqueDirectiveNamesRule.mjs +21 -0
  321. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
  322. package/validation/rules/UniqueDirectivesPerLocationRule.js +41 -0
  323. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +40 -0
  324. package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
  325. package/validation/rules/UniqueEnumValueNamesRule.js +22 -0
  326. package/validation/rules/UniqueEnumValueNamesRule.mjs +21 -0
  327. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
  328. package/validation/rules/UniqueFieldDefinitionNamesRule.js +22 -0
  329. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +21 -0
  330. package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
  331. package/validation/rules/UniqueFragmentNamesRule.js +29 -0
  332. package/validation/rules/UniqueFragmentNamesRule.mjs +28 -0
  333. package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
  334. package/validation/rules/UniqueInputFieldNamesRule.js +33 -0
  335. package/validation/rules/UniqueInputFieldNamesRule.mjs +32 -0
  336. package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
  337. package/validation/rules/UniqueOperationNamesRule.js +29 -0
  338. package/validation/rules/UniqueOperationNamesRule.mjs +28 -0
  339. package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
  340. package/validation/rules/UniqueOperationTypesRule.js +22 -0
  341. package/validation/rules/UniqueOperationTypesRule.mjs +21 -0
  342. package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
  343. package/validation/rules/UniqueTypeNamesRule.js +22 -0
  344. package/validation/rules/UniqueTypeNamesRule.mjs +21 -0
  345. package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
  346. package/validation/rules/UniqueVariableNamesRule.js +29 -0
  347. package/validation/rules/UniqueVariableNamesRule.mjs +28 -0
  348. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
  349. package/validation/rules/ValuesOfCorrectTypeRule.js +31 -0
  350. package/validation/rules/ValuesOfCorrectTypeRule.mjs +30 -0
  351. package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
  352. package/validation/rules/VariablesAreInputTypesRule.js +33 -0
  353. package/validation/rules/VariablesAreInputTypesRule.mjs +32 -0
  354. package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
  355. package/validation/rules/VariablesInAllowedPositionRule.js +35 -1
  356. package/validation/rules/VariablesInAllowedPositionRule.mjs +34 -1
  357. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
  358. package/validation/rules/custom/NoDeprecatedCustomRule.js +42 -0
  359. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +41 -0
  360. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
  361. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +29 -0
  362. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +28 -0
  363. package/validation/specifiedRules.d.ts +2 -3
  364. package/validation/specifiedRules.js +2 -3
  365. package/validation/specifiedRules.mjs +2 -3
  366. package/validation/validate.d.ts +70 -9
  367. package/validation/validate.js +63 -7
  368. package/validation/validate.mjs +63 -7
  369. package/version.d.ts +3 -6
  370. package/version.js +7 -9
  371. package/version.mjs +6 -9
@@ -1,3 +1,4 @@
1
+ /** @category Introspection */
1
2
  import { inspect } from '../jsutils/inspect.mjs';
2
3
  import { invariant } from '../jsutils/invariant.mjs';
3
4
  import { DirectiveLocation } from '../language/directiveLocation.mjs';
@@ -19,6 +20,8 @@ import {
19
20
  isUnionType,
20
21
  } from './definition.mjs';
21
22
  import { GraphQLBoolean, GraphQLString } from './scalars.mjs';
23
+
24
+ /** The introspection type describing a GraphQL schema. */
22
25
  export const __Schema = new GraphQLObjectType({
23
26
  name: '__Schema',
24
27
  description:
@@ -58,10 +61,23 @@ export const __Schema = new GraphQLObjectType({
58
61
  type: new GraphQLNonNull(
59
62
  new GraphQLList(new GraphQLNonNull(__Directive)),
60
63
  ),
61
- resolve: (schema) => schema.getDirectives(),
64
+ args: {
65
+ includeDeprecated: {
66
+ type: new GraphQLNonNull(GraphQLBoolean),
67
+ defaultValue: false,
68
+ },
69
+ },
70
+ resolve: (schema, { includeDeprecated }) =>
71
+ includeDeprecated
72
+ ? schema.getDirectives()
73
+ : schema
74
+ .getDirectives()
75
+ .filter((directive) => directive.deprecationReason == null),
62
76
  },
63
77
  }),
64
78
  });
79
+ /** The introspection type describing a GraphQL directive. */
80
+
65
81
  export const __Directive = new GraphQLObjectType({
66
82
  name: '__Directive',
67
83
  description:
@@ -102,8 +118,18 @@ export const __Directive = new GraphQLObjectType({
102
118
  : field.args.filter((arg) => arg.deprecationReason == null);
103
119
  },
104
120
  },
121
+ isDeprecated: {
122
+ type: new GraphQLNonNull(GraphQLBoolean),
123
+ resolve: (directive) => directive.deprecationReason != null,
124
+ },
125
+ deprecationReason: {
126
+ type: GraphQLString,
127
+ resolve: (directive) => directive.deprecationReason,
128
+ },
105
129
  }),
106
130
  });
131
+ /** The introspection enum describing directive locations. */
132
+
107
133
  export const __DirectiveLocation = new GraphQLEnumType({
108
134
  name: '__DirectiveLocation',
109
135
  description:
@@ -185,8 +211,14 @@ export const __DirectiveLocation = new GraphQLEnumType({
185
211
  value: DirectiveLocation.INPUT_FIELD_DEFINITION,
186
212
  description: 'Location adjacent to an input object field definition.',
187
213
  },
214
+ DIRECTIVE_DEFINITION: {
215
+ value: DirectiveLocation.DIRECTIVE_DEFINITION,
216
+ description: 'Location adjacent to a directive definition.',
217
+ },
188
218
  },
189
219
  });
220
+ /** The introspection type describing GraphQL types. */
221
+
190
222
  export const __Type = new GraphQLObjectType({
191
223
  name: '__Type',
192
224
  description:
@@ -336,6 +368,8 @@ export const __Type = new GraphQLObjectType({
336
368
  },
337
369
  }),
338
370
  });
371
+ /** The introspection type describing object and interface fields. */
372
+
339
373
  export const __Field = new GraphQLObjectType({
340
374
  name: '__Field',
341
375
  description:
@@ -380,6 +414,8 @@ export const __Field = new GraphQLObjectType({
380
414
  },
381
415
  }),
382
416
  });
417
+ /** The introspection type describing arguments and input fields. */
418
+
383
419
  export const __InputValue = new GraphQLObjectType({
384
420
  name: '__InputValue',
385
421
  description:
@@ -418,6 +454,8 @@ export const __InputValue = new GraphQLObjectType({
418
454
  },
419
455
  }),
420
456
  });
457
+ /** The introspection type describing enum values. */
458
+
421
459
  export const __EnumValue = new GraphQLObjectType({
422
460
  name: '__EnumValue',
423
461
  description:
@@ -441,6 +479,11 @@ export const __EnumValue = new GraphQLObjectType({
441
479
  },
442
480
  }),
443
481
  });
482
+ /**
483
+ * The introspection enum describing the different kinds of GraphQL types.
484
+ * @category Introspection
485
+ */
486
+
444
487
  var TypeKind;
445
488
 
446
489
  (function (TypeKind) {
@@ -455,6 +498,8 @@ var TypeKind;
455
498
  })(TypeKind || (TypeKind = {}));
456
499
 
457
500
  export { TypeKind };
501
+ /** The introspection enum describing GraphQL type kinds. */
502
+
458
503
  export const __TypeKind = new GraphQLEnumType({
459
504
  name: '__TypeKind',
460
505
  description: 'An enum describing what kind of type a given `__Type` is.',
@@ -514,6 +559,8 @@ export const SchemaMetaFieldDef = {
514
559
  extensions: Object.create(null),
515
560
  astNode: undefined,
516
561
  };
562
+ /** The `__type` meta field definition used by introspection. */
563
+
517
564
  export const TypeMetaFieldDef = {
518
565
  name: '__type',
519
566
  type: __Type,
@@ -534,6 +581,8 @@ export const TypeMetaFieldDef = {
534
581
  extensions: Object.create(null),
535
582
  astNode: undefined,
536
583
  };
584
+ /** The `__typename` meta field definition used by execution and introspection. */
585
+
537
586
  export const TypeNameMetaFieldDef = {
538
587
  name: '__typename',
539
588
  type: new GraphQLNonNull(GraphQLString),
@@ -544,6 +593,8 @@ export const TypeNameMetaFieldDef = {
544
593
  extensions: Object.create(null),
545
594
  astNode: undefined,
546
595
  };
596
+ /** All introspection types defined by the GraphQL specification. */
597
+
547
598
  export const introspectionTypes = Object.freeze([
548
599
  __Schema,
549
600
  __Directive,
@@ -554,6 +605,19 @@ export const introspectionTypes = Object.freeze([
554
605
  __EnumValue,
555
606
  __TypeKind,
556
607
  ]);
608
+ /**
609
+ * Returns true when the type is one of the built-in introspection types.
610
+ * @param type - The GraphQL type to inspect.
611
+ * @returns True when the type is one of the built-in introspection types.
612
+ * @example
613
+ * ```ts
614
+ * import { GraphQLString, isIntrospectionType, __Type } from 'graphql/type';
615
+ *
616
+ * isIntrospectionType(__Type); // => true
617
+ * isIntrospectionType(GraphQLString); // => false
618
+ * ```
619
+ */
620
+
557
621
  export function isIntrospectionType(type) {
558
622
  return introspectionTypes.some(({ name }) => type.name === name);
559
623
  }
package/type/scalars.d.ts CHANGED
@@ -1,19 +1,46 @@
1
+ /** @category Scalars */
1
2
  import type { GraphQLNamedType } from './definition';
2
3
  import { GraphQLScalarType } from './definition';
3
4
  /**
4
5
  * Maximum possible Int value as per GraphQL Spec (32-bit signed integer).
5
6
  * n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe up-to 2^53 - 1
6
- * */
7
+ */
7
8
  export declare const GRAPHQL_MAX_INT = 2147483647;
8
9
  /**
9
10
  * Minimum possible Int value as per GraphQL Spec (32-bit signed integer).
10
11
  * n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe starting at -(2^53 - 1)
11
- * */
12
+ */
12
13
  export declare const GRAPHQL_MIN_INT = -2147483648;
14
+ /** The built-in `Int` scalar type. */
13
15
  export declare const GraphQLInt: GraphQLScalarType<number, number>;
16
+ /** The built-in `Float` scalar type. */
14
17
  export declare const GraphQLFloat: GraphQLScalarType<number, number>;
18
+ /** The built-in `String` scalar type. */
15
19
  export declare const GraphQLString: GraphQLScalarType<string, string>;
20
+ /** The built-in `Boolean` scalar type. */
16
21
  export declare const GraphQLBoolean: GraphQLScalarType<boolean, boolean>;
22
+ /** The built-in `ID` scalar type. */
17
23
  export declare const GraphQLID: GraphQLScalarType<string, string>;
24
+ /** All built-in scalar types defined by the GraphQL specification. */
18
25
  export declare const specifiedScalarTypes: ReadonlyArray<GraphQLScalarType>;
26
+ /**
27
+ * Returns true when the scalar type is one of the scalars specified by GraphQL.
28
+ * @param type - The GraphQL type to inspect.
29
+ * @returns True when the scalar type is one of the scalars specified by GraphQL.
30
+ * @example
31
+ * ```ts
32
+ * import {
33
+ * GraphQLScalarType,
34
+ * GraphQLString,
35
+ * isSpecifiedScalarType,
36
+ * } from 'graphql/type';
37
+ *
38
+ * const DateTime = new GraphQLScalarType({
39
+ * name: 'DateTime',
40
+ * });
41
+ *
42
+ * isSpecifiedScalarType(GraphQLString); // => true
43
+ * isSpecifiedScalarType(DateTime); // => false
44
+ * ```
45
+ */
19
46
  export declare function isSpecifiedScalarType(type: GraphQLNamedType): boolean;
package/type/scalars.js CHANGED
@@ -26,18 +26,22 @@ var _printer = require('../language/printer.js');
26
26
 
27
27
  var _definition = require('./definition.js');
28
28
 
29
+ /** @category Scalars */
30
+
29
31
  /**
30
32
  * Maximum possible Int value as per GraphQL Spec (32-bit signed integer).
31
33
  * n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe up-to 2^53 - 1
32
- * */
34
+ */
33
35
  const GRAPHQL_MAX_INT = 2147483647;
34
36
  /**
35
37
  * Minimum possible Int value as per GraphQL Spec (32-bit signed integer).
36
38
  * n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe starting at -(2^53 - 1)
37
- * */
39
+ */
38
40
 
39
41
  exports.GRAPHQL_MAX_INT = GRAPHQL_MAX_INT;
40
42
  const GRAPHQL_MIN_INT = -2147483648;
43
+ /** The built-in `Int` scalar type. */
44
+
41
45
  exports.GRAPHQL_MIN_INT = GRAPHQL_MIN_INT;
42
46
  const GraphQLInt = new _definition.GraphQLScalarType({
43
47
  name: 'Int',
@@ -119,6 +123,8 @@ const GraphQLInt = new _definition.GraphQLScalarType({
119
123
  return num;
120
124
  },
121
125
  });
126
+ /** The built-in `Float` scalar type. */
127
+
122
128
  exports.GraphQLInt = GraphQLInt;
123
129
  const GraphQLFloat = new _definition.GraphQLScalarType({
124
130
  name: 'Float',
@@ -177,6 +183,8 @@ const GraphQLFloat = new _definition.GraphQLScalarType({
177
183
  return parseFloat(valueNode.value);
178
184
  },
179
185
  });
186
+ /** The built-in `String` scalar type. */
187
+
180
188
  exports.GraphQLFloat = GraphQLFloat;
181
189
  const GraphQLString = new _definition.GraphQLScalarType({
182
190
  name: 'String',
@@ -231,6 +239,8 @@ const GraphQLString = new _definition.GraphQLScalarType({
231
239
  return valueNode.value;
232
240
  },
233
241
  });
242
+ /** The built-in `Boolean` scalar type. */
243
+
234
244
  exports.GraphQLString = GraphQLString;
235
245
  const GraphQLBoolean = new _definition.GraphQLScalarType({
236
246
  name: 'Boolean',
@@ -281,6 +291,8 @@ const GraphQLBoolean = new _definition.GraphQLScalarType({
281
291
  return valueNode.value;
282
292
  },
283
293
  });
294
+ /** The built-in `ID` scalar type. */
295
+
284
296
  exports.GraphQLBoolean = GraphQLBoolean;
285
297
  const GraphQLID = new _definition.GraphQLScalarType({
286
298
  name: 'ID',
@@ -334,6 +346,8 @@ const GraphQLID = new _definition.GraphQLScalarType({
334
346
  return valueNode.value;
335
347
  },
336
348
  });
349
+ /** All built-in scalar types defined by the GraphQL specification. */
350
+
337
351
  exports.GraphQLID = GraphQLID;
338
352
  const specifiedScalarTypes = Object.freeze([
339
353
  GraphQLString,
@@ -342,6 +356,27 @@ const specifiedScalarTypes = Object.freeze([
342
356
  GraphQLBoolean,
343
357
  GraphQLID,
344
358
  ]);
359
+ /**
360
+ * Returns true when the scalar type is one of the scalars specified by GraphQL.
361
+ * @param type - The GraphQL type to inspect.
362
+ * @returns True when the scalar type is one of the scalars specified by GraphQL.
363
+ * @example
364
+ * ```ts
365
+ * import {
366
+ * GraphQLScalarType,
367
+ * GraphQLString,
368
+ * isSpecifiedScalarType,
369
+ * } from 'graphql/type';
370
+ *
371
+ * const DateTime = new GraphQLScalarType({
372
+ * name: 'DateTime',
373
+ * });
374
+ *
375
+ * isSpecifiedScalarType(GraphQLString); // => true
376
+ * isSpecifiedScalarType(DateTime); // => false
377
+ * ```
378
+ */
379
+
345
380
  exports.specifiedScalarTypes = specifiedScalarTypes;
346
381
 
347
382
  function isSpecifiedScalarType(type) {
package/type/scalars.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ /** @category Scalars */
1
2
  import { inspect } from '../jsutils/inspect.mjs';
2
3
  import { isObjectLike } from '../jsutils/isObjectLike.mjs';
3
4
  import { GraphQLError } from '../error/GraphQLError.mjs';
@@ -7,15 +8,17 @@ import { GraphQLScalarType } from './definition.mjs';
7
8
  /**
8
9
  * Maximum possible Int value as per GraphQL Spec (32-bit signed integer).
9
10
  * n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe up-to 2^53 - 1
10
- * */
11
+ */
11
12
 
12
13
  export const GRAPHQL_MAX_INT = 2147483647;
13
14
  /**
14
15
  * Minimum possible Int value as per GraphQL Spec (32-bit signed integer).
15
16
  * n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe starting at -(2^53 - 1)
16
- * */
17
+ */
17
18
 
18
19
  export const GRAPHQL_MIN_INT = -2147483648;
20
+ /** The built-in `Int` scalar type. */
21
+
19
22
  export const GraphQLInt = new GraphQLScalarType({
20
23
  name: 'Int',
21
24
  description:
@@ -90,6 +93,8 @@ export const GraphQLInt = new GraphQLScalarType({
90
93
  return num;
91
94
  },
92
95
  });
96
+ /** The built-in `Float` scalar type. */
97
+
93
98
  export const GraphQLFloat = new GraphQLScalarType({
94
99
  name: 'Float',
95
100
  description:
@@ -138,6 +143,8 @@ export const GraphQLFloat = new GraphQLScalarType({
138
143
  return parseFloat(valueNode.value);
139
144
  },
140
145
  });
146
+ /** The built-in `String` scalar type. */
147
+
141
148
  export const GraphQLString = new GraphQLScalarType({
142
149
  name: 'String',
143
150
  description:
@@ -187,6 +194,8 @@ export const GraphQLString = new GraphQLScalarType({
187
194
  return valueNode.value;
188
195
  },
189
196
  });
197
+ /** The built-in `Boolean` scalar type. */
198
+
190
199
  export const GraphQLBoolean = new GraphQLScalarType({
191
200
  name: 'Boolean',
192
201
  description: 'The `Boolean` scalar type represents `true` or `false`.',
@@ -230,6 +239,8 @@ export const GraphQLBoolean = new GraphQLScalarType({
230
239
  return valueNode.value;
231
240
  },
232
241
  });
242
+ /** The built-in `ID` scalar type. */
243
+
233
244
  export const GraphQLID = new GraphQLScalarType({
234
245
  name: 'ID',
235
246
  description:
@@ -277,6 +288,8 @@ export const GraphQLID = new GraphQLScalarType({
277
288
  return valueNode.value;
278
289
  },
279
290
  });
291
+ /** All built-in scalar types defined by the GraphQL specification. */
292
+
280
293
  export const specifiedScalarTypes = Object.freeze([
281
294
  GraphQLString,
282
295
  GraphQLInt,
@@ -284,6 +297,27 @@ export const specifiedScalarTypes = Object.freeze([
284
297
  GraphQLBoolean,
285
298
  GraphQLID,
286
299
  ]);
300
+ /**
301
+ * Returns true when the scalar type is one of the scalars specified by GraphQL.
302
+ * @param type - The GraphQL type to inspect.
303
+ * @returns True when the scalar type is one of the scalars specified by GraphQL.
304
+ * @example
305
+ * ```ts
306
+ * import {
307
+ * GraphQLScalarType,
308
+ * GraphQLString,
309
+ * isSpecifiedScalarType,
310
+ * } from 'graphql/type';
311
+ *
312
+ * const DateTime = new GraphQLScalarType({
313
+ * name: 'DateTime',
314
+ * });
315
+ *
316
+ * isSpecifiedScalarType(GraphQLString); // => true
317
+ * isSpecifiedScalarType(DateTime); // => false
318
+ * ```
319
+ */
320
+
287
321
  export function isSpecifiedScalarType(type) {
288
322
  return specifiedScalarTypes.some(({ name }) => type.name === name);
289
323
  } // Support serializing objects with custom valueOf() or toJSON() functions -