graphql 15.1.0 → 15.4.0

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 (343) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +10 -12
  3. package/error/GraphQLError.js +5 -5
  4. package/error/GraphQLError.js.flow +5 -5
  5. package/error/GraphQLError.mjs +1 -1
  6. package/error/formatError.js +1 -1
  7. package/error/formatError.js.flow +2 -3
  8. package/error/index.js +4 -4
  9. package/error/index.js.flow +0 -1
  10. package/error/locatedError.d.ts +2 -2
  11. package/error/locatedError.js +10 -5
  12. package/error/locatedError.js.flow +11 -5
  13. package/error/locatedError.mjs +6 -4
  14. package/error/syntaxError.js +1 -1
  15. package/error/syntaxError.js.flow +1 -2
  16. package/execution/execute.d.ts +24 -16
  17. package/execution/execute.js +123 -105
  18. package/execution/execute.js.flow +169 -153
  19. package/execution/execute.mjs +101 -82
  20. package/execution/index.d.ts +2 -0
  21. package/execution/index.js +9 -3
  22. package/execution/index.js.flow +12 -3
  23. package/execution/index.mjs +1 -1
  24. package/execution/values.js +11 -11
  25. package/execution/values.js.flow +10 -14
  26. package/graphql.js +5 -5
  27. package/graphql.js.flow +9 -9
  28. package/index.d.ts +19 -1
  29. package/index.js +27 -9
  30. package/index.js.flow +10 -3
  31. package/index.mjs +4 -3
  32. package/jsutils/ObjMap.js.flow +0 -1
  33. package/jsutils/Path.d.ts +6 -1
  34. package/jsutils/Path.js +3 -2
  35. package/jsutils/Path.js.flow +3 -2
  36. package/jsutils/Path.mjs +3 -2
  37. package/jsutils/PromiseOrValue.js.flow +0 -1
  38. package/jsutils/defineInspect.js +2 -2
  39. package/jsutils/defineInspect.js.flow +0 -1
  40. package/jsutils/devAssert.js.flow +0 -1
  41. package/jsutils/didYouMean.js.flow +0 -1
  42. package/jsutils/identityFunc.js.flow +0 -1
  43. package/jsutils/inspect.js +1 -2
  44. package/jsutils/inspect.js.flow +10 -8
  45. package/jsutils/inspect.mjs +1 -1
  46. package/jsutils/instanceOf.js.flow +2 -3
  47. package/jsutils/invariant.js.flow +0 -1
  48. package/jsutils/isAsyncIterable.js +19 -0
  49. package/jsutils/isAsyncIterable.js.flow +18 -0
  50. package/jsutils/isAsyncIterable.mjs +16 -0
  51. package/jsutils/isCollection.js +1 -1
  52. package/jsutils/isCollection.js.flow +0 -1
  53. package/jsutils/isObjectLike.js.flow +0 -1
  54. package/jsutils/isPromise.js.flow +0 -1
  55. package/jsutils/keyMap.js.flow +1 -2
  56. package/jsutils/keyValMap.js.flow +1 -2
  57. package/jsutils/mapValue.js +1 -1
  58. package/jsutils/mapValue.js.flow +1 -2
  59. package/jsutils/memoize3.js +2 -5
  60. package/jsutils/memoize3.js.flow +2 -5
  61. package/jsutils/memoize3.mjs +2 -5
  62. package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
  63. package/jsutils/printPathArray.js.flow +0 -1
  64. package/jsutils/promiseForObject.js.flow +1 -2
  65. package/jsutils/promiseReduce.js +1 -1
  66. package/jsutils/promiseReduce.js.flow +1 -1
  67. package/jsutils/promiseReduce.mjs +1 -1
  68. package/jsutils/suggestionList.js.flow +1 -2
  69. package/jsutils/toObjMap.js +1 -1
  70. package/jsutils/toObjMap.js.flow +5 -6
  71. package/language/ast.js +1 -1
  72. package/language/ast.js.flow +2 -3
  73. package/language/blockString.d.ts +1 -1
  74. package/language/blockString.js +53 -32
  75. package/language/blockString.js.flow +49 -34
  76. package/language/blockString.mjs +54 -33
  77. package/language/directiveLocation.js.flow +0 -1
  78. package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
  79. package/language/experimentalOnlineParser/grammar.js +987 -0
  80. package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
  81. package/language/experimentalOnlineParser/grammar.mjs +980 -0
  82. package/language/experimentalOnlineParser/index.d.ts +6 -0
  83. package/language/experimentalOnlineParser/index.js +31 -0
  84. package/language/experimentalOnlineParser/index.js.flow +7 -0
  85. package/language/experimentalOnlineParser/index.mjs +1 -0
  86. package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
  87. package/language/experimentalOnlineParser/onlineParser.js +604 -0
  88. package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
  89. package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
  90. package/language/index.js +12 -12
  91. package/language/index.js.flow +0 -1
  92. package/language/kinds.js.flow +0 -1
  93. package/language/lexer.js +242 -183
  94. package/language/lexer.js.flow +191 -186
  95. package/language/lexer.mjs +239 -180
  96. package/language/location.js.flow +1 -2
  97. package/language/parser.js +73 -68
  98. package/language/parser.js.flow +112 -106
  99. package/language/parser.mjs +66 -62
  100. package/language/predicates.js +1 -1
  101. package/language/predicates.js.flow +1 -2
  102. package/language/printLocation.js +1 -1
  103. package/language/printLocation.js.flow +4 -4
  104. package/language/printer.js +20 -13
  105. package/language/printer.js.flow +27 -25
  106. package/language/printer.mjs +18 -11
  107. package/language/source.d.ts +12 -6
  108. package/language/source.js +25 -9
  109. package/language/source.js.flow +25 -8
  110. package/language/source.mjs +19 -7
  111. package/language/tokenKind.js.flow +0 -1
  112. package/language/visitor.d.ts +3 -3
  113. package/language/visitor.js +5 -5
  114. package/language/visitor.js.flow +5 -5
  115. package/language/visitor.mjs +3 -3
  116. package/package.json +1 -1
  117. package/polyfills/arrayFrom.js +2 -2
  118. package/polyfills/arrayFrom.js.flow +1 -2
  119. package/polyfills/arrayFrom.mjs +1 -1
  120. package/polyfills/find.js +1 -1
  121. package/polyfills/find.js.flow +1 -2
  122. package/polyfills/find.mjs +1 -1
  123. package/polyfills/isFinite.js +1 -1
  124. package/polyfills/isFinite.js.flow +1 -2
  125. package/polyfills/isFinite.mjs +1 -1
  126. package/polyfills/isInteger.js +1 -1
  127. package/polyfills/isInteger.js.flow +1 -2
  128. package/polyfills/isInteger.mjs +1 -1
  129. package/polyfills/objectEntries.js +1 -1
  130. package/polyfills/objectEntries.js.flow +2 -3
  131. package/polyfills/objectEntries.mjs +1 -1
  132. package/polyfills/objectValues.js +1 -1
  133. package/polyfills/objectValues.js.flow +2 -3
  134. package/polyfills/objectValues.mjs +1 -1
  135. package/polyfills/symbols.js +3 -5
  136. package/polyfills/symbols.js.flow +9 -6
  137. package/polyfills/symbols.mjs +3 -5
  138. package/subscription/index.js +1 -1
  139. package/subscription/index.js.flow +0 -1
  140. package/subscription/mapAsyncIterator.js +2 -2
  141. package/subscription/mapAsyncIterator.js.flow +9 -10
  142. package/subscription/mapAsyncIterator.mjs +1 -1
  143. package/subscription/subscribe.js +61 -73
  144. package/subscription/subscribe.js.flow +74 -88
  145. package/subscription/subscribe.mjs +53 -65
  146. package/type/definition.d.ts +181 -31
  147. package/type/definition.js +37 -32
  148. package/type/definition.js.flow +66 -51
  149. package/type/definition.mjs +20 -18
  150. package/type/directives.d.ts +17 -3
  151. package/type/directives.js +17 -16
  152. package/type/directives.js.flow +20 -21
  153. package/type/directives.mjs +6 -5
  154. package/type/index.d.ts +12 -0
  155. package/type/index.js +6 -6
  156. package/type/index.js.flow +0 -1
  157. package/type/introspection.js +86 -68
  158. package/type/introspection.js.flow +85 -54
  159. package/type/introspection.mjs +79 -61
  160. package/type/scalars.js +9 -9
  161. package/type/scalars.js.flow +3 -3
  162. package/type/scalars.mjs +1 -1
  163. package/type/schema.d.ts +17 -4
  164. package/type/schema.js +13 -13
  165. package/type/schema.js.flow +18 -16
  166. package/type/schema.mjs +1 -1
  167. package/type/validate.js +52 -19
  168. package/type/validate.js.flow +67 -18
  169. package/type/validate.mjs +44 -10
  170. package/utilities/TypeInfo.js +7 -7
  171. package/utilities/TypeInfo.js.flow +16 -18
  172. package/utilities/TypeInfo.mjs +1 -1
  173. package/utilities/assertValidName.js +2 -2
  174. package/utilities/assertValidName.js.flow +0 -1
  175. package/utilities/astFromValue.js +10 -10
  176. package/utilities/astFromValue.js.flow +2 -3
  177. package/utilities/buildASTSchema.js +17 -27
  178. package/utilities/buildASTSchema.js.flow +11 -28
  179. package/utilities/buildASTSchema.mjs +11 -21
  180. package/utilities/buildClientSchema.js +14 -14
  181. package/utilities/buildClientSchema.js.flow +41 -29
  182. package/utilities/buildClientSchema.mjs +5 -5
  183. package/utilities/coerceInputValue.js +14 -14
  184. package/utilities/coerceInputValue.js.flow +7 -6
  185. package/utilities/coerceInputValue.mjs +2 -2
  186. package/utilities/concatAST.js +9 -8
  187. package/utilities/concatAST.js.flow +9 -9
  188. package/utilities/concatAST.mjs +9 -6
  189. package/utilities/extendSchema.js +26 -19
  190. package/utilities/extendSchema.js.flow +58 -45
  191. package/utilities/extendSchema.mjs +9 -2
  192. package/utilities/findBreakingChanges.js +9 -9
  193. package/utilities/findBreakingChanges.js.flow +12 -11
  194. package/utilities/findDeprecatedUsages.d.ts +9 -1
  195. package/utilities/findDeprecatedUsages.js +11 -27
  196. package/utilities/findDeprecatedUsages.js.flow +15 -44
  197. package/utilities/findDeprecatedUsages.mjs +11 -25
  198. package/utilities/getIntrospectionQuery.js.flow +2 -3
  199. package/utilities/getOperationAST.js +1 -1
  200. package/utilities/getOperationAST.js.flow +1 -5
  201. package/utilities/getOperationAST.mjs +1 -1
  202. package/utilities/getOperationRootType.js +1 -1
  203. package/utilities/getOperationRootType.js.flow +5 -6
  204. package/utilities/index.d.ts +4 -1
  205. package/utilities/index.js +22 -22
  206. package/utilities/index.js.flow +1 -2
  207. package/utilities/index.mjs +1 -1
  208. package/utilities/introspectionFromSchema.js +6 -8
  209. package/utilities/introspectionFromSchema.js.flow +10 -10
  210. package/utilities/introspectionFromSchema.mjs +3 -4
  211. package/utilities/lexicographicSortSchema.js +10 -8
  212. package/utilities/lexicographicSortSchema.js.flow +19 -12
  213. package/utilities/lexicographicSortSchema.mjs +3 -1
  214. package/utilities/printSchema.js +15 -16
  215. package/utilities/printSchema.js.flow +34 -25
  216. package/utilities/printSchema.mjs +6 -7
  217. package/utilities/separateOperations.js +2 -2
  218. package/utilities/separateOperations.js.flow +2 -6
  219. package/utilities/separateOperations.mjs +1 -1
  220. package/utilities/stripIgnoredCharacters.js +6 -16
  221. package/utilities/stripIgnoredCharacters.js.flow +4 -13
  222. package/utilities/stripIgnoredCharacters.mjs +3 -10
  223. package/utilities/typeComparators.js +1 -1
  224. package/utilities/typeComparators.js.flow +2 -4
  225. package/utilities/typeFromAST.js +6 -6
  226. package/utilities/typeFromAST.js.flow +11 -14
  227. package/utilities/typeFromAST.mjs +2 -2
  228. package/utilities/typedQueryDocumentNode.d.ts +20 -0
  229. package/utilities/valueFromAST.js +6 -6
  230. package/utilities/valueFromAST.js.flow +7 -5
  231. package/utilities/valueFromASTUntyped.js +4 -4
  232. package/utilities/valueFromASTUntyped.js.flow +2 -3
  233. package/validation/ValidationContext.d.ts +3 -0
  234. package/validation/ValidationContext.js +7 -3
  235. package/validation/ValidationContext.js.flow +28 -22
  236. package/validation/ValidationContext.mjs +4 -0
  237. package/validation/index.d.ts +4 -0
  238. package/validation/index.js +52 -36
  239. package/validation/index.js.flow +4 -1
  240. package/validation/index.mjs +4 -1
  241. package/validation/rules/ExecutableDefinitions.js +1 -1
  242. package/validation/rules/ExecutableDefinitions.js.flow +0 -1
  243. package/validation/rules/ExecutableDefinitionsRule.js +3 -3
  244. package/validation/rules/ExecutableDefinitionsRule.js.flow +2 -3
  245. package/validation/rules/FieldsOnCorrectTypeRule.js +5 -5
  246. package/validation/rules/FieldsOnCorrectTypeRule.js.flow +9 -8
  247. package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
  248. package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +2 -3
  249. package/validation/rules/KnownArgumentNamesRule.js +5 -5
  250. package/validation/rules/KnownArgumentNamesRule.js.flow +5 -5
  251. package/validation/rules/KnownDirectivesRule.js +6 -6
  252. package/validation/rules/KnownDirectivesRule.js.flow +10 -11
  253. package/validation/rules/KnownFragmentNamesRule.js +1 -1
  254. package/validation/rules/KnownFragmentNamesRule.js.flow +3 -3
  255. package/validation/rules/KnownTypeNamesRule.js +12 -10
  256. package/validation/rules/KnownTypeNamesRule.js.flow +14 -11
  257. package/validation/rules/KnownTypeNamesRule.mjs +6 -5
  258. package/validation/rules/LoneAnonymousOperationRule.js +2 -2
  259. package/validation/rules/LoneAnonymousOperationRule.js.flow +2 -3
  260. package/validation/rules/LoneSchemaDefinition.js +1 -1
  261. package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
  262. package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
  263. package/validation/rules/LoneSchemaDefinitionRule.js.flow +2 -3
  264. package/validation/rules/NoFragmentCyclesRule.js +1 -1
  265. package/validation/rules/NoFragmentCyclesRule.js.flow +4 -5
  266. package/validation/rules/NoUndefinedVariablesRule.js +1 -1
  267. package/validation/rules/NoUndefinedVariablesRule.js.flow +3 -3
  268. package/validation/rules/NoUnusedFragmentsRule.js +1 -1
  269. package/validation/rules/NoUnusedFragmentsRule.js.flow +3 -3
  270. package/validation/rules/NoUnusedVariablesRule.js +1 -1
  271. package/validation/rules/NoUnusedVariablesRule.js.flow +3 -3
  272. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
  273. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +29 -27
  274. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
  275. package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
  276. package/validation/rules/PossibleFragmentSpreadsRule.js.flow +7 -4
  277. package/validation/rules/PossibleTypeExtensions.js +1 -1
  278. package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
  279. package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
  280. package/validation/rules/PossibleTypeExtensionsRule.js.flow +8 -6
  281. package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
  282. package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +7 -6
  283. package/validation/rules/ScalarLeafsRule.js +3 -3
  284. package/validation/rules/ScalarLeafsRule.js.flow +3 -4
  285. package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
  286. package/validation/rules/SingleFieldSubscriptionsRule.js.flow +3 -4
  287. package/validation/rules/UniqueArgumentNamesRule.js +1 -1
  288. package/validation/rules/UniqueArgumentNamesRule.js.flow +2 -3
  289. package/validation/rules/UniqueDirectiveNames.js +1 -1
  290. package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
  291. package/validation/rules/UniqueDirectiveNamesRule.js +1 -1
  292. package/validation/rules/UniqueDirectiveNamesRule.js.flow +2 -3
  293. package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
  294. package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +4 -5
  295. package/validation/rules/UniqueEnumValueNames.js +1 -1
  296. package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
  297. package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
  298. package/validation/rules/UniqueEnumValueNamesRule.js.flow +11 -4
  299. package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
  300. package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
  301. package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
  302. package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +17 -6
  303. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
  304. package/validation/rules/UniqueFragmentNamesRule.js +1 -1
  305. package/validation/rules/UniqueFragmentNamesRule.js.flow +3 -3
  306. package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
  307. package/validation/rules/UniqueInputFieldNamesRule.js.flow +3 -3
  308. package/validation/rules/UniqueOperationNamesRule.js +1 -1
  309. package/validation/rules/UniqueOperationNamesRule.js.flow +3 -3
  310. package/validation/rules/UniqueOperationTypes.js +1 -1
  311. package/validation/rules/UniqueOperationTypes.js.flow +0 -1
  312. package/validation/rules/UniqueOperationTypesRule.js +1 -1
  313. package/validation/rules/UniqueOperationTypesRule.js.flow +10 -4
  314. package/validation/rules/UniqueTypeNames.js +1 -1
  315. package/validation/rules/UniqueTypeNames.js.flow +0 -1
  316. package/validation/rules/UniqueTypeNamesRule.js +1 -1
  317. package/validation/rules/UniqueTypeNamesRule.js.flow +3 -4
  318. package/validation/rules/UniqueVariableNamesRule.js +1 -1
  319. package/validation/rules/UniqueVariableNamesRule.js.flow +3 -4
  320. package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
  321. package/validation/rules/ValuesOfCorrectTypeRule.js.flow +3 -4
  322. package/validation/rules/VariablesAreInputTypesRule.js +4 -4
  323. package/validation/rules/VariablesAreInputTypesRule.js.flow +3 -4
  324. package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
  325. package/validation/rules/VariablesInAllowedPositionRule.js.flow +6 -6
  326. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +14 -0
  327. package/validation/rules/custom/NoDeprecatedCustomRule.js +79 -0
  328. package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +94 -0
  329. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +68 -0
  330. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +16 -0
  331. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +34 -0
  332. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +38 -0
  333. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +25 -0
  334. package/validation/specifiedRules.js +33 -33
  335. package/validation/specifiedRules.js.flow +0 -1
  336. package/validation/validate.js +7 -7
  337. package/validation/validate.js.flow +4 -9
  338. package/version.js +2 -2
  339. package/version.js.flow +2 -3
  340. package/version.mjs +2 -2
  341. package/polyfills/flatMap.js +0 -30
  342. package/polyfills/flatMap.js.flow +0 -28
  343. package/polyfills/flatMap.mjs +0 -23
@@ -1,27 +1,25 @@
1
1
  // @flow strict
2
-
3
2
  import find from '../polyfills/find';
4
3
 
4
+ import type { Visitor } from '../language/visitor';
5
+ import type { ASTNode, ASTKindToNode, FieldNode } from '../language/ast';
5
6
  import { Kind } from '../language/kinds';
6
- import { type Visitor, getVisitFn } from '../language/visitor';
7
- import {
8
- type ASTNode,
9
- type ASTKindToNode,
10
- type FieldNode,
11
- isNode,
12
- } from '../language/ast';
7
+ import { isNode } from '../language/ast';
8
+ import { getVisitFn } from '../language/visitor';
13
9
 
14
- import { type GraphQLSchema } from '../type/schema';
15
- import { type GraphQLDirective } from '../type/directives';
10
+ import type { GraphQLSchema } from '../type/schema';
11
+ import type { GraphQLDirective } from '../type/directives';
12
+ import type {
13
+ GraphQLType,
14
+ GraphQLInputType,
15
+ GraphQLOutputType,
16
+ GraphQLCompositeType,
17
+ GraphQLField,
18
+ GraphQLArgument,
19
+ GraphQLInputField,
20
+ GraphQLEnumValue,
21
+ } from '../type/definition';
16
22
  import {
17
- type GraphQLType,
18
- type GraphQLInputType,
19
- type GraphQLOutputType,
20
- type GraphQLCompositeType,
21
- type GraphQLField,
22
- type GraphQLArgument,
23
- type GraphQLInputField,
24
- type GraphQLEnumValue,
25
23
  isObjectType,
26
24
  isInterfaceType,
27
25
  isEnumType,
@@ -1,7 +1,7 @@
1
1
  import find from "../polyfills/find.mjs";
2
2
  import { Kind } from "../language/kinds.mjs";
3
- import { getVisitFn } from "../language/visitor.mjs";
4
3
  import { isNode } from "../language/ast.mjs";
4
+ import { getVisitFn } from "../language/visitor.mjs";
5
5
  import { isObjectType, isInterfaceType, isEnumType, isInputObjectType, isListType, isCompositeType, isInputType, isOutputType, getNullableType, getNamedType } from "../type/definition.mjs";
6
6
  import { SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef } from "../type/introspection.mjs";
7
7
  import { typeFromAST } from "./typeFromAST.mjs";
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.assertValidName = assertValidName;
7
7
  exports.isValidNameError = isValidNameError;
8
8
 
9
- var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
9
+ var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
10
10
 
11
- var _GraphQLError = require("../error/GraphQLError");
11
+ var _GraphQLError = require("../error/GraphQLError.js");
12
12
 
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import devAssert from '../jsutils/devAssert';
4
3
 
5
4
  import { GraphQLError } from '../error/GraphQLError';
@@ -5,25 +5,25 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.astFromValue = astFromValue;
7
7
 
8
- var _isFinite = _interopRequireDefault(require("../polyfills/isFinite"));
8
+ var _isFinite = _interopRequireDefault(require("../polyfills/isFinite.js"));
9
9
 
10
- var _arrayFrom3 = _interopRequireDefault(require("../polyfills/arrayFrom"));
10
+ var _arrayFrom3 = _interopRequireDefault(require("../polyfills/arrayFrom.js"));
11
11
 
12
- var _objectValues3 = _interopRequireDefault(require("../polyfills/objectValues"));
12
+ var _objectValues3 = _interopRequireDefault(require("../polyfills/objectValues.js"));
13
13
 
14
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
14
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
15
15
 
16
- var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
16
+ var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
17
17
 
18
- var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
18
+ var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
19
19
 
20
- var _isCollection = _interopRequireDefault(require("../jsutils/isCollection"));
20
+ var _isCollection = _interopRequireDefault(require("../jsutils/isCollection.js"));
21
21
 
22
- var _kinds = require("../language/kinds");
22
+ var _kinds = require("../language/kinds.js");
23
23
 
24
- var _scalars = require("../type/scalars");
24
+ var _scalars = require("../type/scalars.js");
25
25
 
26
- var _definition = require("../type/definition");
26
+ var _definition = require("../type/definition.js");
27
27
 
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import isFinite from '../polyfills/isFinite';
4
3
  import arrayFrom from '../polyfills/arrayFrom';
5
4
  import objectValues from '../polyfills/objectValues';
@@ -9,12 +8,12 @@ import invariant from '../jsutils/invariant';
9
8
  import isObjectLike from '../jsutils/isObjectLike';
10
9
  import isCollection from '../jsutils/isCollection';
11
10
 
11
+ import type { ValueNode } from '../language/ast';
12
12
  import { Kind } from '../language/kinds';
13
- import { type ValueNode } from '../language/ast';
14
13
 
14
+ import type { GraphQLInputType } from '../type/definition';
15
15
  import { GraphQLID } from '../type/scalars';
16
16
  import {
17
- type GraphQLInputType,
18
17
  isLeafType,
19
18
  isEnumType,
20
19
  isInputObjectType,
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.buildASTSchema = buildASTSchema;
7
7
  exports.buildSchema = buildSchema;
8
8
 
9
- var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
9
+ var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
10
10
 
11
- var _kinds = require("../language/kinds");
11
+ var _kinds = require("../language/kinds.js");
12
12
 
13
- var _parser = require("../language/parser");
13
+ var _parser = require("../language/parser.js");
14
14
 
15
- var _validate = require("../validation/validate");
15
+ var _validate = require("../validation/validate.js");
16
16
 
17
- var _schema = require("../type/schema");
17
+ var _schema = require("../type/schema.js");
18
18
 
19
- var _directives = require("../type/directives");
19
+ var _directives = require("../type/directives.js");
20
20
 
21
- var _extendSchema = require("./extendSchema");
21
+ var _extendSchema = require("./extendSchema.js");
22
22
 
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
 
@@ -80,28 +80,18 @@ function buildASTSchema(documentAST, options) {
80
80
 
81
81
  var directives = config.directives; // If specified directives were not explicitly declared, add them.
82
82
 
83
- if (!directives.some(function (directive) {
84
- return directive.name === 'skip';
85
- })) {
86
- directives.push(_directives.GraphQLSkipDirective);
87
- }
88
-
89
- if (!directives.some(function (directive) {
90
- return directive.name === 'include';
91
- })) {
92
- directives.push(_directives.GraphQLIncludeDirective);
93
- }
83
+ var _loop = function _loop(_i4) {
84
+ var stdDirective = _directives.specifiedDirectives[_i4];
94
85
 
95
- if (!directives.some(function (directive) {
96
- return directive.name === 'deprecated';
97
- })) {
98
- directives.push(_directives.GraphQLDeprecatedDirective);
99
- }
86
+ if (directives.every(function (directive) {
87
+ return directive.name !== stdDirective.name;
88
+ })) {
89
+ directives.push(stdDirective);
90
+ }
91
+ };
100
92
 
101
- if (!directives.some(function (directive) {
102
- return directive.name === 'specifiedBy';
103
- })) {
104
- directives.push(_directives.GraphQLSpecifiedByDirective);
93
+ for (var _i4 = 0; _i4 < _directives.specifiedDirectives.length; _i4++) {
94
+ _loop(_i4);
105
95
  }
106
96
 
107
97
  return new _schema.GraphQLSchema(config);
@@ -1,24 +1,17 @@
1
1
  // @flow strict
2
-
3
2
  import devAssert from '../jsutils/devAssert';
4
3
 
4
+ import type { Source } from '../language/source';
5
+ import type { DocumentNode } from '../language/ast';
6
+ import type { ParseOptions } from '../language/parser';
5
7
  import { Kind } from '../language/kinds';
6
- import { type Source } from '../language/source';
7
- import { type DocumentNode } from '../language/ast';
8
- import { type ParseOptions, parse } from '../language/parser';
8
+ import { parse } from '../language/parser';
9
9
 
10
10
  import { assertValidSDL } from '../validation/validate';
11
11
 
12
- import {
13
- type GraphQLSchemaValidationOptions,
14
- GraphQLSchema,
15
- } from '../type/schema';
16
- import {
17
- GraphQLSkipDirective,
18
- GraphQLIncludeDirective,
19
- GraphQLDeprecatedDirective,
20
- GraphQLSpecifiedByDirective,
21
- } from '../type/directives';
12
+ import type { GraphQLSchemaValidationOptions } from '../type/schema';
13
+ import { GraphQLSchema } from '../type/schema';
14
+ import { specifiedDirectives } from '../type/directives';
22
15
 
23
16
  import { extendSchemaImpl } from './extendSchema';
24
17
 
@@ -103,20 +96,10 @@ export function buildASTSchema(
103
96
 
104
97
  const { directives } = config;
105
98
  // If specified directives were not explicitly declared, add them.
106
- if (!directives.some((directive) => directive.name === 'skip')) {
107
- directives.push(GraphQLSkipDirective);
108
- }
109
-
110
- if (!directives.some((directive) => directive.name === 'include')) {
111
- directives.push(GraphQLIncludeDirective);
112
- }
113
-
114
- if (!directives.some((directive) => directive.name === 'deprecated')) {
115
- directives.push(GraphQLDeprecatedDirective);
116
- }
117
-
118
- if (!directives.some((directive) => directive.name === 'specifiedBy')) {
119
- directives.push(GraphQLSpecifiedByDirective);
99
+ for (const stdDirective of specifiedDirectives) {
100
+ if (directives.every((directive) => directive.name !== stdDirective.name)) {
101
+ directives.push(stdDirective);
102
+ }
120
103
  }
121
104
 
122
105
  return new GraphQLSchema(config);
@@ -3,7 +3,7 @@ import { Kind } from "../language/kinds.mjs";
3
3
  import { parse } from "../language/parser.mjs";
4
4
  import { assertValidSDL } from "../validation/validate.mjs";
5
5
  import { GraphQLSchema } from "../type/schema.mjs";
6
- import { GraphQLSkipDirective, GraphQLIncludeDirective, GraphQLDeprecatedDirective, GraphQLSpecifiedByDirective } from "../type/directives.mjs";
6
+ import { specifiedDirectives } from "../type/directives.mjs";
7
7
  import { extendSchemaImpl } from "./extendSchema.mjs";
8
8
 
9
9
  /**
@@ -64,28 +64,18 @@ export function buildASTSchema(documentAST, options) {
64
64
 
65
65
  var directives = config.directives; // If specified directives were not explicitly declared, add them.
66
66
 
67
- if (!directives.some(function (directive) {
68
- return directive.name === 'skip';
69
- })) {
70
- directives.push(GraphQLSkipDirective);
71
- }
72
-
73
- if (!directives.some(function (directive) {
74
- return directive.name === 'include';
75
- })) {
76
- directives.push(GraphQLIncludeDirective);
77
- }
67
+ var _loop = function _loop(_i4) {
68
+ var stdDirective = specifiedDirectives[_i4];
78
69
 
79
- if (!directives.some(function (directive) {
80
- return directive.name === 'deprecated';
81
- })) {
82
- directives.push(GraphQLDeprecatedDirective);
83
- }
70
+ if (directives.every(function (directive) {
71
+ return directive.name !== stdDirective.name;
72
+ })) {
73
+ directives.push(stdDirective);
74
+ }
75
+ };
84
76
 
85
- if (!directives.some(function (directive) {
86
- return directive.name === 'specifiedBy';
87
- })) {
88
- directives.push(GraphQLSpecifiedByDirective);
77
+ for (var _i4 = 0; _i4 < specifiedDirectives.length; _i4++) {
78
+ _loop(_i4);
89
79
  }
90
80
 
91
81
  return new GraphQLSchema(config);
@@ -5,29 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.buildClientSchema = buildClientSchema;
7
7
 
8
- var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
8
+ var _objectValues = _interopRequireDefault(require("../polyfills/objectValues.js"));
9
9
 
10
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
10
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
11
11
 
12
- var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
12
+ var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
13
13
 
14
- var _keyValMap = _interopRequireDefault(require("../jsutils/keyValMap"));
14
+ var _keyValMap = _interopRequireDefault(require("../jsutils/keyValMap.js"));
15
15
 
16
- var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
16
+ var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
17
17
 
18
- var _parser = require("../language/parser");
18
+ var _parser = require("../language/parser.js");
19
19
 
20
- var _directives = require("../type/directives");
20
+ var _schema = require("../type/schema.js");
21
21
 
22
- var _scalars = require("../type/scalars");
22
+ var _directives = require("../type/directives.js");
23
23
 
24
- var _introspection = require("../type/introspection");
24
+ var _scalars = require("../type/scalars.js");
25
25
 
26
- var _schema = require("../type/schema");
26
+ var _introspection = require("../type/introspection.js");
27
27
 
28
- var _definition = require("../type/definition");
28
+ var _definition = require("../type/definition.js");
29
29
 
30
- var _valueFromAST = require("./valueFromAST");
30
+ var _valueFromAST = require("./valueFromAST.js");
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
@@ -89,7 +89,7 @@ function buildClientSchema(introspection, options) {
89
89
  throw new Error('Decorated type deeper than introspection query.');
90
90
  }
91
91
 
92
- return (0, _definition.GraphQLList)(getType(itemRef));
92
+ return new _definition.GraphQLList(getType(itemRef));
93
93
  }
94
94
 
95
95
  if (typeRef.kind === _introspection.TypeKind.NON_NULL) {
@@ -100,7 +100,7 @@ function buildClientSchema(introspection, options) {
100
100
  }
101
101
 
102
102
  var nullableType = getType(nullableRef);
103
- return (0, _definition.GraphQLNonNull)((0, _definition.assertNullableType)(nullableType));
103
+ return new _definition.GraphQLNonNull((0, _definition.assertNullableType)(nullableType));
104
104
  }
105
105
 
106
106
  return getNamedType(typeRef);
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import objectValues from '../polyfills/objectValues';
4
3
 
5
4
  import inspect from '../jsutils/inspect';
@@ -9,44 +8,49 @@ import isObjectLike from '../jsutils/isObjectLike';
9
8
 
10
9
  import { parseValue } from '../language/parser';
11
10
 
11
+ import type { GraphQLSchemaValidationOptions } from '../type/schema';
12
+ import type {
13
+ GraphQLType,
14
+ GraphQLNamedType,
15
+ GraphQLFieldConfig,
16
+ GraphQLFieldConfigMap,
17
+ } from '../type/definition';
18
+ import { GraphQLSchema } from '../type/schema';
12
19
  import { GraphQLDirective } from '../type/directives';
13
20
  import { specifiedScalarTypes } from '../type/scalars';
14
21
  import { introspectionTypes, TypeKind } from '../type/introspection';
15
22
  import {
16
- type GraphQLSchemaValidationOptions,
17
- GraphQLSchema,
18
- } from '../type/schema';
19
- import {
20
- type GraphQLType,
21
- type GraphQLNamedType,
22
23
  isInputType,
23
24
  isOutputType,
25
+ GraphQLList,
26
+ GraphQLNonNull,
24
27
  GraphQLScalarType,
25
28
  GraphQLObjectType,
26
29
  GraphQLInterfaceType,
27
30
  GraphQLUnionType,
28
31
  GraphQLEnumType,
29
32
  GraphQLInputObjectType,
30
- GraphQLList,
31
- GraphQLNonNull,
32
33
  assertNullableType,
33
34
  assertObjectType,
34
35
  assertInterfaceType,
35
36
  } from '../type/definition';
36
37
 
37
- import { valueFromAST } from './valueFromAST';
38
- import {
39
- type IntrospectionQuery,
40
- type IntrospectionType,
41
- type IntrospectionScalarType,
42
- type IntrospectionObjectType,
43
- type IntrospectionInterfaceType,
44
- type IntrospectionUnionType,
45
- type IntrospectionEnumType,
46
- type IntrospectionInputObjectType,
47
- type IntrospectionTypeRef,
48
- type IntrospectionNamedTypeRef,
38
+ import type {
39
+ IntrospectionQuery,
40
+ IntrospectionDirective,
41
+ IntrospectionField,
42
+ IntrospectionInputValue,
43
+ IntrospectionType,
44
+ IntrospectionScalarType,
45
+ IntrospectionObjectType,
46
+ IntrospectionInterfaceType,
47
+ IntrospectionUnionType,
48
+ IntrospectionEnumType,
49
+ IntrospectionInputObjectType,
50
+ IntrospectionTypeRef,
51
+ IntrospectionNamedTypeRef,
49
52
  } from './getIntrospectionQuery';
53
+ import { valueFromAST } from './valueFromAST';
50
54
 
51
55
  /**
52
56
  * Build a GraphQLSchema for use by client tools.
@@ -126,7 +130,7 @@ export function buildClientSchema(
126
130
  if (!itemRef) {
127
131
  throw new Error('Decorated type deeper than introspection query.');
128
132
  }
129
- return GraphQLList(getType(itemRef));
133
+ return new GraphQLList(getType(itemRef));
130
134
  }
131
135
  if (typeRef.kind === TypeKind.NON_NULL) {
132
136
  const nullableRef = typeRef.ofType;
@@ -134,7 +138,7 @@ export function buildClientSchema(
134
138
  throw new Error('Decorated type deeper than introspection query.');
135
139
  }
136
140
  const nullableType = getType(nullableRef);
137
- return GraphQLNonNull(assertNullableType(nullableType));
141
+ return new GraphQLNonNull(assertNullableType(nullableType));
138
142
  }
139
143
  return getNamedType(typeRef);
140
144
  }
@@ -208,7 +212,7 @@ export function buildClientSchema(
208
212
  implementingIntrospection:
209
213
  | IntrospectionObjectType
210
214
  | IntrospectionInterfaceType,
211
- ) {
215
+ ): Array<GraphQLInterfaceType> {
212
216
  // TODO: Temporary workaround until GraphQL ecosystem will fully support
213
217
  // 'interfaces' on interface types.
214
218
  if (
@@ -305,7 +309,9 @@ export function buildClientSchema(
305
309
  });
306
310
  }
307
311
 
308
- function buildFieldDefMap(typeIntrospection) {
312
+ function buildFieldDefMap(
313
+ typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,
314
+ ): GraphQLFieldConfigMap<mixed, mixed> {
309
315
  if (!typeIntrospection.fields) {
310
316
  throw new Error(
311
317
  `Introspection result missing fields: ${inspect(typeIntrospection)}.`,
@@ -319,7 +325,9 @@ export function buildClientSchema(
319
325
  );
320
326
  }
321
327
 
322
- function buildField(fieldIntrospection) {
328
+ function buildField(
329
+ fieldIntrospection: IntrospectionField,
330
+ ): GraphQLFieldConfig<mixed, mixed> {
323
331
  const type = getType(fieldIntrospection.type);
324
332
  if (!isOutputType(type)) {
325
333
  const typeStr = inspect(type);
@@ -343,7 +351,9 @@ export function buildClientSchema(
343
351
  };
344
352
  }
345
353
 
346
- function buildInputValueDefMap(inputValueIntrospections) {
354
+ function buildInputValueDefMap(
355
+ inputValueIntrospections: $ReadOnlyArray<IntrospectionInputValue>,
356
+ ) {
347
357
  return keyValMap(
348
358
  inputValueIntrospections,
349
359
  (inputValue) => inputValue.name,
@@ -351,7 +361,7 @@ export function buildClientSchema(
351
361
  );
352
362
  }
353
363
 
354
- function buildInputValue(inputValueIntrospection) {
364
+ function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {
355
365
  const type = getType(inputValueIntrospection.type);
356
366
  if (!isInputType(type)) {
357
367
  const typeStr = inspect(type);
@@ -371,7 +381,9 @@ export function buildClientSchema(
371
381
  };
372
382
  }
373
383
 
374
- function buildDirective(directiveIntrospection) {
384
+ function buildDirective(
385
+ directiveIntrospection: IntrospectionDirective,
386
+ ): GraphQLDirective {
375
387
  if (!directiveIntrospection.args) {
376
388
  const directiveIntrospectionStr = inspect(directiveIntrospection);
377
389
  throw new Error(
@@ -4,13 +4,12 @@ import devAssert from "../jsutils/devAssert.mjs";
4
4
  import keyValMap from "../jsutils/keyValMap.mjs";
5
5
  import isObjectLike from "../jsutils/isObjectLike.mjs";
6
6
  import { parseValue } from "../language/parser.mjs";
7
+ import { GraphQLSchema } from "../type/schema.mjs";
7
8
  import { GraphQLDirective } from "../type/directives.mjs";
8
9
  import { specifiedScalarTypes } from "../type/scalars.mjs";
9
10
  import { introspectionTypes, TypeKind } from "../type/introspection.mjs";
10
- import { GraphQLSchema } from "../type/schema.mjs";
11
- import { isInputType, isOutputType, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, GraphQLList, GraphQLNonNull, assertNullableType, assertObjectType, assertInterfaceType } from "../type/definition.mjs";
11
+ import { isInputType, isOutputType, GraphQLList, GraphQLNonNull, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, GraphQLEnumType, GraphQLInputObjectType, assertNullableType, assertObjectType, assertInterfaceType } from "../type/definition.mjs";
12
12
  import { valueFromAST } from "./valueFromAST.mjs";
13
-
14
13
  /**
15
14
  * Build a GraphQLSchema for use by client tools.
16
15
  *
@@ -23,6 +22,7 @@ import { valueFromAST } from "./valueFromAST.mjs";
23
22
  * This function expects a complete introspection result. Don't forget to check
24
23
  * the "errors" field of a server response before calling this function.
25
24
  */
25
+
26
26
  export function buildClientSchema(introspection, options) {
27
27
  isObjectLike(introspection) && isObjectLike(introspection.__schema) || devAssert(0, "Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ".concat(inspect(introspection), ".")); // Get the schema from the introspection result.
28
28
 
@@ -69,7 +69,7 @@ export function buildClientSchema(introspection, options) {
69
69
  throw new Error('Decorated type deeper than introspection query.');
70
70
  }
71
71
 
72
- return GraphQLList(getType(itemRef));
72
+ return new GraphQLList(getType(itemRef));
73
73
  }
74
74
 
75
75
  if (typeRef.kind === TypeKind.NON_NULL) {
@@ -80,7 +80,7 @@ export function buildClientSchema(introspection, options) {
80
80
  }
81
81
 
82
82
  var nullableType = getType(nullableRef);
83
- return GraphQLNonNull(assertNullableType(nullableType));
83
+ return new GraphQLNonNull(assertNullableType(nullableType));
84
84
  }
85
85
 
86
86
  return getNamedType(typeRef);
@@ -5,29 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.coerceInputValue = coerceInputValue;
7
7
 
8
- var _arrayFrom = _interopRequireDefault(require("../polyfills/arrayFrom"));
8
+ var _arrayFrom = _interopRequireDefault(require("../polyfills/arrayFrom.js"));
9
9
 
10
- var _objectValues3 = _interopRequireDefault(require("../polyfills/objectValues"));
10
+ var _objectValues3 = _interopRequireDefault(require("../polyfills/objectValues.js"));
11
11
 
12
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
12
+ var _inspect = _interopRequireDefault(require("../jsutils/inspect.js"));
13
13
 
14
- var _invariant = _interopRequireDefault(require("../jsutils/invariant"));
14
+ var _invariant = _interopRequireDefault(require("../jsutils/invariant.js"));
15
15
 
16
- var _didYouMean = _interopRequireDefault(require("../jsutils/didYouMean"));
16
+ var _didYouMean = _interopRequireDefault(require("../jsutils/didYouMean.js"));
17
17
 
18
- var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike"));
18
+ var _isObjectLike = _interopRequireDefault(require("../jsutils/isObjectLike.js"));
19
19
 
20
- var _isCollection = _interopRequireDefault(require("../jsutils/isCollection"));
20
+ var _isCollection = _interopRequireDefault(require("../jsutils/isCollection.js"));
21
21
 
22
- var _suggestionList = _interopRequireDefault(require("../jsutils/suggestionList"));
22
+ var _suggestionList = _interopRequireDefault(require("../jsutils/suggestionList.js"));
23
23
 
24
- var _printPathArray = _interopRequireDefault(require("../jsutils/printPathArray"));
24
+ var _printPathArray = _interopRequireDefault(require("../jsutils/printPathArray.js"));
25
25
 
26
- var _Path = require("../jsutils/Path");
26
+ var _Path = require("../jsutils/Path.js");
27
27
 
28
- var _GraphQLError = require("../error/GraphQLError");
28
+ var _GraphQLError = require("../error/GraphQLError.js");
29
29
 
30
- var _definition = require("../type/definition");
30
+ var _definition = require("../type/definition.js");
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
@@ -70,7 +70,7 @@ function coerceInputValueImpl(inputValue, type, onError, path) {
70
70
 
71
71
  if ((0, _isCollection.default)(inputValue)) {
72
72
  return (0, _arrayFrom.default)(inputValue, function (itemValue, index) {
73
- var itemPath = (0, _Path.addPath)(path, index);
73
+ var itemPath = (0, _Path.addPath)(path, index, undefined);
74
74
  return coerceInputValueImpl(itemValue, itemType, onError, itemPath);
75
75
  });
76
76
  } // Lists accept a non-list value as a list of one.
@@ -103,7 +103,7 @@ function coerceInputValueImpl(inputValue, type, onError, path) {
103
103
  continue;
104
104
  }
105
105
 
106
- coercedValue[field.name] = coerceInputValueImpl(fieldValue, field.type, onError, (0, _Path.addPath)(path, field.name));
106
+ coercedValue[field.name] = coerceInputValueImpl(fieldValue, field.type, onError, (0, _Path.addPath)(path, field.name, type.name));
107
107
  } // Ensure every provided field is defined.
108
108
 
109
109