graphql 0.12.3 → 0.13.2

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 (412) hide show
  1. package/error/GraphQLError.js +2 -3
  2. package/error/GraphQLError.js.flow +3 -4
  3. package/{module/error/GraphQLError.js → error/GraphQLError.mjs} +2 -3
  4. package/error/formatError.js +1 -1
  5. package/error/formatError.js.flow +1 -1
  6. package/{module/error/formatError.js → error/formatError.mjs} +1 -1
  7. package/error/index.js.flow +1 -1
  8. package/{module/error/index.js → error/index.mjs} +1 -1
  9. package/error/locatedError.js +2 -1
  10. package/error/locatedError.js.flow +2 -1
  11. package/{module/error/locatedError.js → error/locatedError.mjs} +2 -1
  12. package/error/printError.js +1 -1
  13. package/error/printError.js.flow +1 -1
  14. package/{module/error/printError.js → error/printError.mjs} +1 -1
  15. package/error/syntaxError.js +1 -1
  16. package/error/syntaxError.js.flow +1 -1
  17. package/{module/error/syntaxError.js → error/syntaxError.mjs} +1 -1
  18. package/execution/execute.js +70 -90
  19. package/execution/execute.js.flow +83 -106
  20. package/{module/execution/execute.js → execution/execute.mjs} +53 -81
  21. package/execution/index.js.flow +1 -1
  22. package/{module/execution/index.js → execution/index.mjs} +1 -1
  23. package/execution/values.js +2 -6
  24. package/execution/values.js.flow +6 -7
  25. package/{module/execution/values.js → execution/values.mjs} +2 -2
  26. package/graphql.js +1 -1
  27. package/graphql.js.flow +3 -2
  28. package/{module/graphql.js → graphql.mjs} +1 -1
  29. package/index.js +24 -6
  30. package/index.js.flow +16 -2
  31. package/{module/index.js → index.mjs} +10 -2
  32. package/jsutils/MaybePromise.js +1 -0
  33. package/{module/jsutils/ObjMap.js.flow → jsutils/MaybePromise.js.flow} +2 -2
  34. package/{module/jsutils/ObjMap.js → jsutils/MaybePromise.mjs} +0 -0
  35. package/jsutils/ObjMap.js.flow +1 -1
  36. package/{module/language/ast.js → jsutils/ObjMap.mjs} +0 -0
  37. package/jsutils/dedent.js +23 -18
  38. package/jsutils/dedent.js.flow +21 -20
  39. package/jsutils/dedent.mjs +50 -0
  40. package/jsutils/find.js +1 -1
  41. package/jsutils/find.js.flow +1 -1
  42. package/{module/jsutils/find.js → jsutils/find.mjs} +1 -1
  43. package/jsutils/instanceOf.js +17 -16
  44. package/jsutils/instanceOf.js.flow +21 -15
  45. package/jsutils/instanceOf.mjs +31 -0
  46. package/jsutils/invariant.js +1 -1
  47. package/jsutils/invariant.js.flow +1 -1
  48. package/{module/jsutils/invariant.js → jsutils/invariant.mjs} +1 -1
  49. package/jsutils/isInvalid.js +1 -1
  50. package/jsutils/isInvalid.js.flow +1 -1
  51. package/{module/jsutils/isInvalid.js → jsutils/isInvalid.mjs} +1 -1
  52. package/jsutils/isNullish.js +1 -1
  53. package/jsutils/isNullish.js.flow +1 -1
  54. package/{module/jsutils/isNullish.js → jsutils/isNullish.mjs} +1 -1
  55. package/jsutils/isPromise.js +24 -0
  56. package/jsutils/isPromise.js.flow +20 -0
  57. package/jsutils/isPromise.mjs +18 -0
  58. package/jsutils/keyMap.js +1 -1
  59. package/jsutils/keyMap.js.flow +1 -1
  60. package/{module/jsutils/keyMap.js → jsutils/keyMap.mjs} +1 -1
  61. package/jsutils/keyValMap.js +1 -1
  62. package/jsutils/keyValMap.js.flow +1 -1
  63. package/{module/jsutils/keyValMap.js → jsutils/keyValMap.mjs} +1 -1
  64. package/jsutils/memoize3.js +48 -0
  65. package/jsutils/memoize3.js.flow +44 -0
  66. package/jsutils/memoize3.mjs +42 -0
  67. package/jsutils/objectValues.js +24 -0
  68. package/jsutils/objectValues.js.flow +18 -0
  69. package/jsutils/objectValues.mjs +19 -0
  70. package/jsutils/orList.js +1 -1
  71. package/jsutils/orList.js.flow +1 -1
  72. package/{module/jsutils/orList.js → jsutils/orList.mjs} +1 -1
  73. package/jsutils/promiseForObject.js +34 -0
  74. package/jsutils/promiseForObject.js.flow +30 -0
  75. package/jsutils/promiseForObject.mjs +28 -0
  76. package/jsutils/promiseReduce.js +34 -0
  77. package/jsutils/promiseReduce.js.flow +32 -0
  78. package/jsutils/promiseReduce.mjs +26 -0
  79. package/jsutils/quotedOrList.js +1 -1
  80. package/jsutils/quotedOrList.js.flow +1 -1
  81. package/{module/jsutils/quotedOrList.js → jsutils/quotedOrList.mjs} +1 -1
  82. package/jsutils/suggestionList.js +1 -1
  83. package/jsutils/suggestionList.js.flow +1 -1
  84. package/{module/jsutils/suggestionList.js → jsutils/suggestionList.mjs} +1 -1
  85. package/language/ast.js.flow +3 -30
  86. package/language/ast.mjs +0 -0
  87. package/language/blockStringValue.js +1 -1
  88. package/language/blockStringValue.js.flow +1 -1
  89. package/{module/language/blockStringValue.js → language/blockStringValue.mjs} +1 -1
  90. package/language/directiveLocation.js +3 -3
  91. package/language/directiveLocation.js.flow +4 -4
  92. package/{module/language/directiveLocation.js → language/directiveLocation.mjs} +3 -3
  93. package/language/index.js +10 -10
  94. package/language/index.js.flow +5 -4
  95. package/{module/language/index.js → language/index.mjs} +3 -3
  96. package/language/kinds.js +70 -71
  97. package/language/kinds.js.flow +71 -71
  98. package/language/kinds.mjs +79 -0
  99. package/language/lexer.js +73 -87
  100. package/language/lexer.js.flow +87 -93
  101. package/{module/language/lexer.js → language/lexer.mjs} +73 -87
  102. package/language/location.js +1 -1
  103. package/language/location.js.flow +1 -1
  104. package/{module/language/location.js → language/location.mjs} +1 -1
  105. package/language/parser.js +68 -58
  106. package/language/parser.js.flow +104 -110
  107. package/{module/language/parser.js → language/parser.mjs} +69 -59
  108. package/language/printer.js +52 -55
  109. package/language/printer.js.flow +74 -120
  110. package/{module/language/printer.js → language/printer.mjs} +52 -55
  111. package/language/source.js +1 -1
  112. package/language/source.js.flow +1 -1
  113. package/{module/language/source.js → language/source.mjs} +1 -1
  114. package/language/visitor.js +1 -1
  115. package/language/visitor.js.flow +1 -1
  116. package/{module/language/visitor.js → language/visitor.mjs} +1 -1
  117. package/package.json +4 -9
  118. package/subscription/asyncIteratorReject.js +1 -1
  119. package/subscription/asyncIteratorReject.js.flow +1 -1
  120. package/{module/subscription/asyncIteratorReject.js → subscription/asyncIteratorReject.mjs} +1 -1
  121. package/subscription/index.js.flow +1 -1
  122. package/{module/subscription/index.js → subscription/index.mjs} +1 -1
  123. package/subscription/mapAsyncIterator.js +3 -1
  124. package/subscription/mapAsyncIterator.js.flow +7 -4
  125. package/{module/subscription/mapAsyncIterator.js → subscription/mapAsyncIterator.mjs} +4 -1
  126. package/subscription/subscribe.js +1 -1
  127. package/subscription/subscribe.js.flow +1 -1
  128. package/{module/subscription/subscribe.js → subscription/subscribe.mjs} +1 -1
  129. package/type/definition.js +76 -10
  130. package/type/definition.js.flow +105 -13
  131. package/{module/type/definition.js → type/definition.mjs} +72 -4
  132. package/type/directives.js +4 -4
  133. package/type/directives.js.flow +3 -3
  134. package/{module/type/directives.js → type/directives.mjs} +8 -8
  135. package/type/index.js +2 -5
  136. package/type/index.js.flow +6 -5
  137. package/{module/type/index.js → type/index.mjs} +3 -5
  138. package/type/introspection.js +34 -41
  139. package/type/introspection.js.flow +7 -10
  140. package/{module/type/introspection.js → type/introspection.mjs} +6 -15
  141. package/type/scalars.js +6 -10
  142. package/type/scalars.js.flow +2 -2
  143. package/{module/type/scalars.js → type/scalars.mjs} +2 -2
  144. package/type/schema.js +39 -15
  145. package/type/schema.js.flow +73 -22
  146. package/{module/type/schema.js → type/schema.mjs} +37 -16
  147. package/type/validate.js +33 -30
  148. package/type/validate.js.flow +40 -37
  149. package/{module/type/validate.js → type/validate.mjs} +30 -30
  150. package/utilities/TypeInfo.js +23 -27
  151. package/utilities/TypeInfo.js.flow +2 -2
  152. package/{module/utilities/TypeInfo.js → utilities/TypeInfo.mjs} +2 -2
  153. package/utilities/assertValidName.js +2 -6
  154. package/utilities/assertValidName.js.flow +2 -10
  155. package/{module/utilities/assertValidName.js → utilities/assertValidName.mjs} +2 -6
  156. package/utilities/astFromValue.js +37 -37
  157. package/utilities/astFromValue.js.flow +36 -44
  158. package/{module/utilities/astFromValue.js → utilities/astFromValue.mjs} +26 -25
  159. package/utilities/buildASTSchema.js +65 -82
  160. package/utilities/buildASTSchema.js.flow +52 -59
  161. package/{module/utilities/buildASTSchema.js → utilities/buildASTSchema.mjs} +48 -62
  162. package/utilities/buildClientSchema.js +12 -15
  163. package/utilities/buildClientSchema.js.flow +7 -11
  164. package/{module/utilities/buildClientSchema.js → utilities/buildClientSchema.mjs} +4 -5
  165. package/utilities/coerceValue.js +1 -1
  166. package/utilities/coerceValue.js.flow +1 -1
  167. package/{module/utilities/coerceValue.js → utilities/coerceValue.mjs} +1 -1
  168. package/utilities/concatAST.js +1 -1
  169. package/utilities/concatAST.js.flow +1 -1
  170. package/{module/utilities/concatAST.js → utilities/concatAST.mjs} +1 -1
  171. package/utilities/extendSchema.js +91 -77
  172. package/utilities/extendSchema.js.flow +93 -68
  173. package/{module/utilities/extendSchema.js → utilities/extendSchema.mjs} +65 -52
  174. package/utilities/findBreakingChanges.js +1 -1
  175. package/utilities/findBreakingChanges.js.flow +1 -1
  176. package/{module/utilities/findBreakingChanges.js → utilities/findBreakingChanges.mjs} +1 -1
  177. package/utilities/findDeprecatedUsages.js +1 -1
  178. package/utilities/findDeprecatedUsages.js.flow +1 -1
  179. package/{module/utilities/findDeprecatedUsages.js → utilities/findDeprecatedUsages.mjs} +1 -1
  180. package/utilities/getOperationAST.js +2 -2
  181. package/utilities/getOperationAST.js.flow +3 -3
  182. package/{module/utilities/getOperationAST.js → utilities/getOperationAST.mjs} +3 -3
  183. package/utilities/index.js +30 -0
  184. package/utilities/index.js.flow +10 -3
  185. package/{module/utilities/index.js → utilities/index.mjs} +10 -3
  186. package/utilities/introspectionFromSchema.js +43 -0
  187. package/utilities/introspectionFromSchema.js.flow +37 -0
  188. package/utilities/introspectionFromSchema.mjs +31 -0
  189. package/utilities/introspectionQuery.js +1 -1
  190. package/utilities/introspectionQuery.js.flow +1 -1
  191. package/{module/utilities/introspectionQuery.js → utilities/introspectionQuery.mjs} +1 -1
  192. package/utilities/isValidJSValue.js +1 -1
  193. package/utilities/isValidJSValue.js.flow +1 -1
  194. package/{module/utilities/isValidJSValue.js → utilities/isValidJSValue.mjs} +1 -1
  195. package/utilities/isValidLiteralValue.js +8 -4
  196. package/utilities/isValidLiteralValue.js.flow +4 -4
  197. package/{module/utilities/isValidLiteralValue.js → utilities/isValidLiteralValue.mjs} +4 -4
  198. package/utilities/lexicographicSortSchema.js +243 -0
  199. package/utilities/lexicographicSortSchema.js.flow +198 -0
  200. package/utilities/lexicographicSortSchema.mjs +225 -0
  201. package/utilities/schemaPrinter.js +31 -29
  202. package/utilities/schemaPrinter.js.flow +28 -15
  203. package/{module/utilities/schemaPrinter.js → utilities/schemaPrinter.mjs} +21 -20
  204. package/utilities/separateOperations.js +1 -1
  205. package/utilities/separateOperations.js.flow +1 -1
  206. package/{module/utilities/separateOperations.js → utilities/separateOperations.mjs} +1 -1
  207. package/utilities/typeComparators.js +7 -10
  208. package/utilities/typeComparators.js.flow +7 -10
  209. package/{module/utilities/typeComparators.js → utilities/typeComparators.mjs} +7 -10
  210. package/utilities/typeFromAST.js +7 -11
  211. package/utilities/typeFromAST.js.flow +3 -3
  212. package/{module/utilities/typeFromAST.js → utilities/typeFromAST.mjs} +3 -3
  213. package/utilities/valueFromAST.js +26 -28
  214. package/utilities/valueFromAST.js.flow +14 -23
  215. package/{module/utilities/valueFromAST.js → utilities/valueFromAST.mjs} +9 -10
  216. package/utilities/valueFromASTUntyped.js +17 -22
  217. package/utilities/valueFromASTUntyped.js.flow +6 -7
  218. package/{module/utilities/valueFromASTUntyped.js → utilities/valueFromASTUntyped.mjs} +6 -7
  219. package/validation/ValidationContext.js +184 -0
  220. package/{module/validation/validate.js.flow → validation/ValidationContext.js.flow} +4 -60
  221. package/{module/validation/validate.js → validation/ValidationContext.mjs} +15 -57
  222. package/validation/index.js +12 -7
  223. package/validation/index.js.flow +6 -2
  224. package/{module/validation/index.js → validation/index.mjs} +6 -2
  225. package/validation/rules/ExecutableDefinitions.js +3 -3
  226. package/validation/rules/ExecutableDefinitions.js.flow +6 -10
  227. package/{module/validation/rules/ExecutableDefinitions.js → validation/rules/ExecutableDefinitions.mjs} +4 -4
  228. package/validation/rules/FieldsOnCorrectType.js +1 -1
  229. package/validation/rules/FieldsOnCorrectType.js.flow +2 -2
  230. package/{module/validation/rules/FieldsOnCorrectType.js → validation/rules/FieldsOnCorrectType.mjs} +1 -1
  231. package/validation/rules/FragmentsOnCompositeTypes.js +1 -1
  232. package/validation/rules/FragmentsOnCompositeTypes.js.flow +2 -2
  233. package/{module/validation/rules/FragmentsOnCompositeTypes.js → validation/rules/FragmentsOnCompositeTypes.mjs} +1 -1
  234. package/validation/rules/KnownArgumentNames.js +3 -3
  235. package/validation/rules/KnownArgumentNames.js.flow +6 -8
  236. package/{module/validation/rules/KnownArgumentNames.js → validation/rules/KnownArgumentNames.mjs} +4 -4
  237. package/validation/rules/KnownDirectives.js +23 -27
  238. package/validation/rules/KnownDirectives.js.flow +3 -3
  239. package/{module/validation/rules/KnownDirectives.js → validation/rules/KnownDirectives.mjs} +2 -2
  240. package/validation/rules/KnownFragmentNames.js +1 -1
  241. package/validation/rules/KnownFragmentNames.js.flow +2 -2
  242. package/{module/validation/rules/KnownFragmentNames.js → validation/rules/KnownFragmentNames.mjs} +1 -1
  243. package/validation/rules/KnownTypeNames.js +1 -1
  244. package/validation/rules/KnownTypeNames.js.flow +2 -2
  245. package/{module/validation/rules/KnownTypeNames.js → validation/rules/KnownTypeNames.mjs} +1 -1
  246. package/validation/rules/LoneAnonymousOperation.js +2 -2
  247. package/validation/rules/LoneAnonymousOperation.js.flow +4 -4
  248. package/{module/validation/rules/LoneAnonymousOperation.js → validation/rules/LoneAnonymousOperation.mjs} +3 -3
  249. package/validation/rules/NoFragmentCycles.js +1 -1
  250. package/validation/rules/NoFragmentCycles.js.flow +2 -2
  251. package/{module/validation/rules/NoFragmentCycles.js → validation/rules/NoFragmentCycles.mjs} +1 -1
  252. package/validation/rules/NoUndefinedVariables.js +1 -1
  253. package/validation/rules/NoUndefinedVariables.js.flow +2 -2
  254. package/{module/validation/rules/NoUndefinedVariables.js → validation/rules/NoUndefinedVariables.mjs} +1 -1
  255. package/validation/rules/NoUnusedFragments.js +1 -1
  256. package/validation/rules/NoUnusedFragments.js.flow +2 -2
  257. package/{module/validation/rules/NoUnusedFragments.js → validation/rules/NoUnusedFragments.mjs} +1 -1
  258. package/validation/rules/NoUnusedVariables.js +1 -1
  259. package/validation/rules/NoUnusedVariables.js.flow +2 -2
  260. package/{module/validation/rules/NoUnusedVariables.js → validation/rules/NoUnusedVariables.mjs} +1 -1
  261. package/validation/rules/OverlappingFieldsCanBeMerged.js +4 -8
  262. package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +3 -3
  263. package/{module/validation/rules/OverlappingFieldsCanBeMerged.js → validation/rules/OverlappingFieldsCanBeMerged.mjs} +2 -2
  264. package/validation/rules/PossibleFragmentSpreads.js +1 -1
  265. package/validation/rules/PossibleFragmentSpreads.js.flow +2 -2
  266. package/{module/validation/rules/PossibleFragmentSpreads.js → validation/rules/PossibleFragmentSpreads.mjs} +1 -1
  267. package/validation/rules/ProvidedNonNullArguments.js +1 -1
  268. package/validation/rules/ProvidedNonNullArguments.js.flow +2 -2
  269. package/{module/validation/rules/ProvidedNonNullArguments.js → validation/rules/ProvidedNonNullArguments.mjs} +1 -1
  270. package/validation/rules/ScalarLeafs.js +1 -1
  271. package/validation/rules/ScalarLeafs.js.flow +2 -2
  272. package/{module/validation/rules/ScalarLeafs.js → validation/rules/ScalarLeafs.mjs} +1 -1
  273. package/validation/rules/SingleFieldSubscriptions.js +1 -1
  274. package/validation/rules/SingleFieldSubscriptions.js.flow +2 -2
  275. package/{module/validation/rules/SingleFieldSubscriptions.js → validation/rules/SingleFieldSubscriptions.mjs} +1 -1
  276. package/validation/rules/UniqueArgumentNames.js +1 -1
  277. package/validation/rules/UniqueArgumentNames.js.flow +2 -2
  278. package/{module/validation/rules/UniqueArgumentNames.js → validation/rules/UniqueArgumentNames.mjs} +1 -1
  279. package/validation/rules/UniqueDirectivesPerLocation.js +1 -1
  280. package/validation/rules/UniqueDirectivesPerLocation.js.flow +2 -2
  281. package/{module/validation/rules/UniqueDirectivesPerLocation.js → validation/rules/UniqueDirectivesPerLocation.mjs} +1 -1
  282. package/validation/rules/UniqueFragmentNames.js +1 -1
  283. package/validation/rules/UniqueFragmentNames.js.flow +2 -2
  284. package/{module/validation/rules/UniqueFragmentNames.js → validation/rules/UniqueFragmentNames.mjs} +1 -1
  285. package/validation/rules/UniqueInputFieldNames.js +1 -1
  286. package/validation/rules/UniqueInputFieldNames.js.flow +2 -2
  287. package/{module/validation/rules/UniqueInputFieldNames.js → validation/rules/UniqueInputFieldNames.mjs} +1 -1
  288. package/validation/rules/UniqueOperationNames.js +1 -1
  289. package/validation/rules/UniqueOperationNames.js.flow +2 -2
  290. package/{module/validation/rules/UniqueOperationNames.js → validation/rules/UniqueOperationNames.mjs} +1 -1
  291. package/validation/rules/UniqueVariableNames.js +1 -1
  292. package/validation/rules/UniqueVariableNames.js.flow +2 -2
  293. package/{module/validation/rules/UniqueVariableNames.js → validation/rules/UniqueVariableNames.mjs} +1 -1
  294. package/validation/rules/ValuesOfCorrectType.js +1 -1
  295. package/validation/rules/ValuesOfCorrectType.js.flow +2 -2
  296. package/{module/validation/rules/ValuesOfCorrectType.js → validation/rules/ValuesOfCorrectType.mjs} +1 -1
  297. package/validation/rules/VariablesAreInputTypes.js +1 -1
  298. package/validation/rules/VariablesAreInputTypes.js.flow +2 -2
  299. package/{module/validation/rules/VariablesAreInputTypes.js → validation/rules/VariablesAreInputTypes.mjs} +1 -1
  300. package/validation/rules/VariablesDefaultValueAllowed.js +1 -1
  301. package/validation/rules/VariablesDefaultValueAllowed.js.flow +2 -2
  302. package/{module/validation/rules/VariablesDefaultValueAllowed.js → validation/rules/VariablesDefaultValueAllowed.mjs} +1 -1
  303. package/validation/rules/VariablesInAllowedPosition.js +9 -11
  304. package/validation/rules/VariablesInAllowedPosition.js.flow +3 -4
  305. package/{module/validation/rules/VariablesInAllowedPosition.js → validation/rules/VariablesInAllowedPosition.mjs} +2 -3
  306. package/validation/specifiedRules.js +1 -1
  307. package/validation/specifiedRules.js.flow +2 -2
  308. package/{module/validation/specifiedRules.js → validation/specifiedRules.mjs} +1 -1
  309. package/validation/validate.js +14 -175
  310. package/validation/validate.js.flow +3 -209
  311. package/validation/validate.mjs +57 -0
  312. package/module/error/GraphQLError.js.flow +0 -209
  313. package/module/error/formatError.js.flow +0 -34
  314. package/module/error/index.js.flow +0 -16
  315. package/module/error/locatedError.js.flow +0 -37
  316. package/module/error/printError.js.flow +0 -82
  317. package/module/error/syntaxError.js.flow +0 -25
  318. package/module/execution/execute.js.flow +0 -1375
  319. package/module/execution/index.js.flow +0 -13
  320. package/module/execution/values.js.flow +0 -206
  321. package/module/graphql.js.flow +0 -202
  322. package/module/index.js.flow +0 -389
  323. package/module/jsutils/dedent.js +0 -45
  324. package/module/jsutils/dedent.js.flow +0 -49
  325. package/module/jsutils/find.js.flow +0 -19
  326. package/module/jsutils/instanceOf.js +0 -27
  327. package/module/jsutils/instanceOf.js.flow +0 -44
  328. package/module/jsutils/invariant.js.flow +0 -15
  329. package/module/jsutils/isInvalid.js.flow +0 -15
  330. package/module/jsutils/isNullish.js.flow +0 -15
  331. package/module/jsutils/keyMap.js.flow +0 -43
  332. package/module/jsutils/keyValMap.js.flow +0 -38
  333. package/module/jsutils/orList.js.flow +0 -24
  334. package/module/jsutils/quotedOrList.js.flow +0 -17
  335. package/module/jsutils/suggestionList.js.flow +0 -94
  336. package/module/language/ast.js.flow +0 -594
  337. package/module/language/blockStringValue.js.flow +0 -64
  338. package/module/language/directiveLocation.js.flow +0 -39
  339. package/module/language/index.js.flow +0 -84
  340. package/module/language/kinds.js +0 -80
  341. package/module/language/kinds.js.flow +0 -80
  342. package/module/language/lexer.js.flow +0 -762
  343. package/module/language/location.js.flow +0 -34
  344. package/module/language/parser.js.flow +0 -1537
  345. package/module/language/printer.js.flow +0 -311
  346. package/module/language/source.js.flow +0 -43
  347. package/module/language/visitor.js.flow +0 -476
  348. package/module/subscription/asyncIteratorReject.js.flow +0 -41
  349. package/module/subscription/index.js.flow +0 -10
  350. package/module/subscription/mapAsyncIterator.js.flow +0 -78
  351. package/module/subscription/subscribe.js.flow +0 -288
  352. package/module/type/definition.js.flow +0 -1225
  353. package/module/type/directives.js.flow +0 -168
  354. package/module/type/index.js.flow +0 -156
  355. package/module/type/introspection.js.flow +0 -482
  356. package/module/type/scalars.js.flow +0 -158
  357. package/module/type/schema.js.flow +0 -271
  358. package/module/type/validate.js.flow +0 -723
  359. package/module/type/wrappers.js +0 -80
  360. package/module/type/wrappers.js.flow +0 -91
  361. package/module/utilities/TypeInfo.js.flow +0 -296
  362. package/module/utilities/assertValidName.js.flow +0 -56
  363. package/module/utilities/astFromValue.js.flow +0 -159
  364. package/module/utilities/buildASTSchema.js.flow +0 -518
  365. package/module/utilities/buildClientSchema.js.flow +0 -418
  366. package/module/utilities/coerceValue.js.flow +0 -257
  367. package/module/utilities/concatAST.js.flow +0 -29
  368. package/module/utilities/extendSchema.js.flow +0 -374
  369. package/module/utilities/findBreakingChanges.js.flow +0 -851
  370. package/module/utilities/findDeprecatedUsages.js.flow +0 -68
  371. package/module/utilities/getOperationAST.js.flow +0 -40
  372. package/module/utilities/index.js.flow +0 -111
  373. package/module/utilities/introspectionQuery.js.flow +0 -271
  374. package/module/utilities/isValidJSValue.js.flow +0 -22
  375. package/module/utilities/isValidLiteralValue.js.flow +0 -36
  376. package/module/utilities/schemaPrinter.js.flow +0 -402
  377. package/module/utilities/separateOperations.js.flow +0 -100
  378. package/module/utilities/typeComparators.js.flow +0 -135
  379. package/module/utilities/typeFromAST.js.flow +0 -56
  380. package/module/utilities/valueFromAST.js.flow +0 -184
  381. package/module/utilities/valueFromASTUntyped.js.flow +0 -64
  382. package/module/validation/index.js.flow +0 -138
  383. package/module/validation/rules/ExecutableDefinitions.js.flow +0 -52
  384. package/module/validation/rules/FieldsOnCorrectType.js.flow +0 -144
  385. package/module/validation/rules/FragmentsOnCompositeTypes.js.flow +0 -74
  386. package/module/validation/rules/KnownArgumentNames.js.flow +0 -98
  387. package/module/validation/rules/KnownDirectives.js.flow +0 -116
  388. package/module/validation/rules/KnownFragmentNames.js.flow +0 -36
  389. package/module/validation/rules/KnownTypeNames.js.flow +0 -59
  390. package/module/validation/rules/LoneAnonymousOperation.js.flow +0 -41
  391. package/module/validation/rules/NoFragmentCycles.js.flow +0 -85
  392. package/module/validation/rules/NoUndefinedVariables.js.flow +0 -57
  393. package/module/validation/rules/NoUnusedFragments.js.flow +0 -59
  394. package/module/validation/rules/NoUnusedVariables.js.flow +0 -62
  395. package/module/validation/rules/OverlappingFieldsCanBeMerged.js.flow +0 -847
  396. package/module/validation/rules/PossibleFragmentSpreads.js.flow +0 -94
  397. package/module/validation/rules/ProvidedNonNullArguments.js.flow +0 -105
  398. package/module/validation/rules/ScalarLeafs.js.flow +0 -69
  399. package/module/validation/rules/SingleFieldSubscriptions.js.flow +0 -44
  400. package/module/validation/rules/UniqueArgumentNames.js.flow +0 -48
  401. package/module/validation/rules/UniqueDirectivesPerLocation.js.flow +0 -57
  402. package/module/validation/rules/UniqueFragmentNames.js.flow +0 -42
  403. package/module/validation/rules/UniqueInputFieldNames.js.flow +0 -53
  404. package/module/validation/rules/UniqueOperationNames.js.flow +0 -44
  405. package/module/validation/rules/UniqueVariableNames.js.flow +0 -44
  406. package/module/validation/rules/ValuesOfCorrectType.js.flow +0 -218
  407. package/module/validation/rules/VariablesAreInputTypes.js.flow +0 -48
  408. package/module/validation/rules/VariablesDefaultValueAllowed.js.flow +0 -55
  409. package/module/validation/rules/VariablesInAllowedPosition.js.flow +0 -83
  410. package/module/validation/specifiedRules.js.flow +0 -127
  411. package/type/wrappers.js +0 -89
  412. package/type/wrappers.js.flow +0 -91
@@ -1,13 +0,0 @@
1
- /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow
8
- */
9
-
10
- export { execute, defaultFieldResolver, responsePathAsArray } from './execute';
11
- export { getDirectiveValues } from './values';
12
-
13
- export type { ExecutionArgs, ExecutionResult } from './execute';
@@ -1,206 +0,0 @@
1
- /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow
8
- */
9
-
10
- import { GraphQLError } from '../error';
11
- import find from '../jsutils/find';
12
- import isInvalid from '../jsutils/isInvalid';
13
- import keyMap from '../jsutils/keyMap';
14
- import { coerceValue } from '../utilities/coerceValue';
15
- import { typeFromAST } from '../utilities/typeFromAST';
16
- import { valueFromAST } from '../utilities/valueFromAST';
17
- import * as Kind from '../language/kinds';
18
- import { print } from '../language/printer';
19
- import { isInputType, isNonNullType } from '../type/definition';
20
- import type { ObjMap } from '../jsutils/ObjMap';
21
- import type { GraphQLField } from '../type/definition';
22
- import type { GraphQLDirective } from '../type/directives';
23
- import type { GraphQLSchema } from '../type/schema';
24
- import type {
25
- FieldNode,
26
- DirectiveNode,
27
- VariableNode,
28
- VariableDefinitionNode,
29
- } from '../language/ast';
30
-
31
- type CoercedVariableValues = {|
32
- errors: $ReadOnlyArray<GraphQLError> | void,
33
- coerced: { [variable: string]: mixed } | void,
34
- |};
35
-
36
- /**
37
- * Prepares an object map of variableValues of the correct type based on the
38
- * provided variable definitions and arbitrary input. If the input cannot be
39
- * parsed to match the variable definitions, a GraphQLError will be thrown.
40
- *
41
- * Note: The returned value is a plain Object with a prototype, since it is
42
- * exposed to user code. Care should be taken to not pull values from the
43
- * Object prototype.
44
- */
45
- export function getVariableValues(
46
- schema: GraphQLSchema,
47
- varDefNodes: Array<VariableDefinitionNode>,
48
- inputs: ObjMap<mixed>,
49
- ): CoercedVariableValues {
50
- const errors = [];
51
- const coercedValues = {};
52
- for (let i = 0; i < varDefNodes.length; i++) {
53
- const varDefNode = varDefNodes[i];
54
- const varName = varDefNode.variable.name.value;
55
- const varType = typeFromAST(schema, varDefNode.type);
56
- if (!isInputType(varType)) {
57
- errors.push(
58
- new GraphQLError(
59
- `Variable "$${varName}" expected value of type ` +
60
- `"${print(
61
- varDefNode.type,
62
- )}" which cannot be used as an input type.`,
63
- [varDefNode.type],
64
- ),
65
- );
66
- } else {
67
- const value = inputs[varName];
68
- if (isInvalid(value)) {
69
- if (isNonNullType(varType)) {
70
- errors.push(
71
- new GraphQLError(
72
- `Variable "$${varName}" of required type ` +
73
- `"${String(varType)}" was not provided.`,
74
- [varDefNode],
75
- ),
76
- );
77
- } else if (varDefNode.defaultValue) {
78
- coercedValues[varName] = valueFromAST(
79
- varDefNode.defaultValue,
80
- varType,
81
- );
82
- }
83
- } else {
84
- const coerced = coerceValue(value, varType, varDefNode);
85
- const coercionErrors = coerced.errors;
86
- if (coercionErrors) {
87
- const messagePrelude = `Variable "$${
88
- varName
89
- }" got invalid value ${JSON.stringify(value)}; `;
90
- coercionErrors.forEach(error => {
91
- error.message = messagePrelude + error.message;
92
- });
93
- errors.push(...coercionErrors);
94
- } else {
95
- coercedValues[varName] = coerced.value;
96
- }
97
- }
98
- }
99
- }
100
- return errors.length === 0
101
- ? { errors: undefined, coerced: coercedValues }
102
- : { errors, coerced: undefined };
103
- }
104
-
105
- /**
106
- * Prepares an object map of argument values given a list of argument
107
- * definitions and list of argument AST nodes.
108
- *
109
- * Note: The returned value is a plain Object with a prototype, since it is
110
- * exposed to user code. Care should be taken to not pull values from the
111
- * Object prototype.
112
- */
113
- export function getArgumentValues(
114
- def: GraphQLField<*, *> | GraphQLDirective,
115
- node: FieldNode | DirectiveNode,
116
- variableValues?: ?ObjMap<mixed>,
117
- ): { [argument: string]: mixed } {
118
- const coercedValues = {};
119
- const argDefs = def.args;
120
- const argNodes = node.arguments;
121
- if (!argDefs || !argNodes) {
122
- return coercedValues;
123
- }
124
- const argNodeMap = keyMap(argNodes, arg => arg.name.value);
125
- for (let i = 0; i < argDefs.length; i++) {
126
- const argDef = argDefs[i];
127
- const name = argDef.name;
128
- const argType = argDef.type;
129
- const argumentNode = argNodeMap[name];
130
- const defaultValue = argDef.defaultValue;
131
- if (!argumentNode) {
132
- if (!isInvalid(defaultValue)) {
133
- coercedValues[name] = defaultValue;
134
- } else if (isNonNullType(argType)) {
135
- throw new GraphQLError(
136
- `Argument "${name}" of required type ` +
137
- `"${String(argType)}" was not provided.`,
138
- [node],
139
- );
140
- }
141
- } else if (argumentNode.value.kind === Kind.VARIABLE) {
142
- const variableName = (argumentNode.value: VariableNode).name.value;
143
- if (
144
- variableValues &&
145
- Object.prototype.hasOwnProperty.call(variableValues, variableName) &&
146
- !isInvalid(variableValues[variableName])
147
- ) {
148
- // Note: this does not check that this variable value is correct.
149
- // This assumes that this query has been validated and the variable
150
- // usage here is of the correct type.
151
- coercedValues[name] = variableValues[variableName];
152
- } else if (!isInvalid(defaultValue)) {
153
- coercedValues[name] = defaultValue;
154
- } else if (isNonNullType(argType)) {
155
- throw new GraphQLError(
156
- `Argument "${name}" of required type "${String(argType)}" was ` +
157
- `provided the variable "$${variableName}" which was not provided ` +
158
- 'a runtime value.',
159
- [argumentNode.value],
160
- );
161
- }
162
- } else {
163
- const valueNode = argumentNode.value;
164
- const coercedValue = valueFromAST(valueNode, argType, variableValues);
165
- if (isInvalid(coercedValue)) {
166
- // Note: ValuesOfCorrectType validation should catch this before
167
- // execution. This is a runtime check to ensure execution does not
168
- // continue with an invalid argument value.
169
- throw new GraphQLError(
170
- `Argument "${name}" has invalid value ${print(valueNode)}.`,
171
- [argumentNode.value],
172
- );
173
- }
174
- coercedValues[name] = coercedValue;
175
- }
176
- }
177
- return coercedValues;
178
- }
179
-
180
- /**
181
- * Prepares an object map of argument values given a directive definition
182
- * and a AST node which may contain directives. Optionally also accepts a map
183
- * of variable values.
184
- *
185
- * If the directive does not exist on the node, returns undefined.
186
- *
187
- * Note: The returned value is a plain Object with a prototype, since it is
188
- * exposed to user code. Care should be taken to not pull values from the
189
- * Object prototype.
190
- */
191
- export function getDirectiveValues(
192
- directiveDef: GraphQLDirective,
193
- node: { +directives?: $ReadOnlyArray<DirectiveNode> },
194
- variableValues?: ?ObjMap<mixed>,
195
- ): void | { [argument: string]: mixed } {
196
- const directiveNode =
197
- node.directives &&
198
- find(
199
- node.directives,
200
- directive => directive.name.value === directiveDef.name,
201
- );
202
-
203
- if (directiveNode) {
204
- return getArgumentValues(directiveDef, directiveNode, variableValues);
205
- }
206
- }
@@ -1,202 +0,0 @@
1
- /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @flow
8
- */
9
-
10
- import { validateSchema } from './type/validate';
11
- import { parse } from './language/parser';
12
- import { validate } from './validation/validate';
13
- import { execute } from './execution/execute';
14
- import type { ObjMap } from './jsutils/ObjMap';
15
- import type { Source } from './language/source';
16
- import type { GraphQLFieldResolver } from './type/definition';
17
- import type { GraphQLSchema } from './type/schema';
18
- import type { ExecutionResult } from './execution/execute';
19
-
20
- /**
21
- * This is the primary entry point function for fulfilling GraphQL operations
22
- * by parsing, validating, and executing a GraphQL document along side a
23
- * GraphQL schema.
24
- *
25
- * More sophisticated GraphQL servers, such as those which persist queries,
26
- * may wish to separate the validation and execution phases to a static time
27
- * tooling step, and a server runtime step.
28
- *
29
- * Accepts either an object with named arguments, or individual arguments:
30
- *
31
- * schema:
32
- * The GraphQL type system to use when validating and executing a query.
33
- * source:
34
- * A GraphQL language formatted string representing the requested operation.
35
- * rootValue:
36
- * The value provided as the first argument to resolver functions on the top
37
- * level type (e.g. the query object type).
38
- * variableValues:
39
- * A mapping of variable name to runtime value to use for all variables
40
- * defined in the requestString.
41
- * operationName:
42
- * The name of the operation to use if requestString contains multiple
43
- * possible operations. Can be omitted if requestString contains only
44
- * one operation.
45
- * fieldResolver:
46
- * A resolver function to use when one is not provided by the schema.
47
- * If not provided, the default field resolver is used (which looks for a
48
- * value or method on the source value with the field's name).
49
- */
50
- export type GraphQLArgs = {|
51
- schema: GraphQLSchema,
52
- source: string | Source,
53
- rootValue?: mixed,
54
- contextValue?: mixed,
55
- variableValues?: ?ObjMap<mixed>,
56
- operationName?: ?string,
57
- fieldResolver?: ?GraphQLFieldResolver<any, any>,
58
- |};
59
- declare function graphql(GraphQLArgs, ..._: []): Promise<ExecutionResult>;
60
- /* eslint-disable no-redeclare */
61
- declare function graphql(
62
- schema: GraphQLSchema,
63
- source: Source | string,
64
- rootValue?: mixed,
65
- contextValue?: mixed,
66
- variableValues?: ?ObjMap<mixed>,
67
- operationName?: ?string,
68
- fieldResolver?: ?GraphQLFieldResolver<any, any>,
69
- ): Promise<ExecutionResult>;
70
- export function graphql(
71
- argsOrSchema,
72
- source,
73
- rootValue,
74
- contextValue,
75
- variableValues,
76
- operationName,
77
- fieldResolver,
78
- ) {
79
- /* eslint-enable no-redeclare */
80
- // Always return a Promise for a consistent API.
81
- return new Promise(resolve =>
82
- resolve(
83
- // Extract arguments from object args if provided.
84
- arguments.length === 1
85
- ? graphqlImpl(
86
- argsOrSchema.schema,
87
- argsOrSchema.source,
88
- argsOrSchema.rootValue,
89
- argsOrSchema.contextValue,
90
- argsOrSchema.variableValues,
91
- argsOrSchema.operationName,
92
- argsOrSchema.fieldResolver,
93
- )
94
- : graphqlImpl(
95
- argsOrSchema,
96
- source,
97
- rootValue,
98
- contextValue,
99
- variableValues,
100
- operationName,
101
- fieldResolver,
102
- ),
103
- ),
104
- );
105
- }
106
-
107
- /**
108
- * The graphqlSync function also fulfills GraphQL operations by parsing,
109
- * validating, and executing a GraphQL document along side a GraphQL schema.
110
- * However, it guarantees to complete synchronously (or throw an error) assuming
111
- * that all field resolvers are also synchronous.
112
- */
113
- declare function graphqlSync(GraphQLArgs, ..._: []): ExecutionResult;
114
- /* eslint-disable no-redeclare */
115
- declare function graphqlSync(
116
- schema: GraphQLSchema,
117
- source: Source | string,
118
- rootValue?: mixed,
119
- contextValue?: mixed,
120
- variableValues?: ?ObjMap<mixed>,
121
- operationName?: ?string,
122
- fieldResolver?: ?GraphQLFieldResolver<any, any>,
123
- ): ExecutionResult;
124
- export function graphqlSync(
125
- argsOrSchema,
126
- source,
127
- rootValue,
128
- contextValue,
129
- variableValues,
130
- operationName,
131
- fieldResolver,
132
- ) {
133
- // Extract arguments from object args if provided.
134
- const result =
135
- arguments.length === 1
136
- ? graphqlImpl(
137
- argsOrSchema.schema,
138
- argsOrSchema.source,
139
- argsOrSchema.rootValue,
140
- argsOrSchema.contextValue,
141
- argsOrSchema.variableValues,
142
- argsOrSchema.operationName,
143
- argsOrSchema.fieldResolver,
144
- )
145
- : graphqlImpl(
146
- argsOrSchema,
147
- source,
148
- rootValue,
149
- contextValue,
150
- variableValues,
151
- operationName,
152
- fieldResolver,
153
- );
154
-
155
- // Assert that the execution was synchronous.
156
- if (result.then) {
157
- throw new Error('GraphQL execution failed to complete synchronously.');
158
- }
159
-
160
- return result;
161
- }
162
-
163
- function graphqlImpl(
164
- schema,
165
- source,
166
- rootValue,
167
- contextValue,
168
- variableValues,
169
- operationName,
170
- fieldResolver,
171
- ): Promise<ExecutionResult> | ExecutionResult {
172
- // Validate Schema
173
- const schemaValidationErrors = validateSchema(schema);
174
- if (schemaValidationErrors.length > 0) {
175
- return { errors: schemaValidationErrors };
176
- }
177
-
178
- // Parse
179
- let document;
180
- try {
181
- document = parse(source);
182
- } catch (syntaxError) {
183
- return { errors: [syntaxError] };
184
- }
185
-
186
- // Validate
187
- const validationErrors = validate(schema, document);
188
- if (validationErrors.length > 0) {
189
- return { errors: validationErrors };
190
- }
191
-
192
- // Execute
193
- return execute(
194
- schema,
195
- document,
196
- rootValue,
197
- contextValue,
198
- variableValues,
199
- operationName,
200
- fieldResolver,
201
- );
202
- }