graphql 15.2.0 → 15.5.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 (338) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +19 -10
  3. package/error/GraphQLError.js +8 -8
  4. package/error/GraphQLError.js.flow +2 -3
  5. package/error/GraphQLError.mjs +2 -2
  6. package/error/formatError.js +1 -1
  7. package/error/formatError.js.flow +0 -1
  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 +10 -4
  13. package/error/locatedError.mjs +6 -4
  14. package/error/syntaxError.js +1 -1
  15. package/error/syntaxError.js.flow +0 -1
  16. package/execution/execute.d.ts +11 -15
  17. package/execution/execute.js +110 -110
  18. package/execution/execute.js.flow +132 -139
  19. package/execution/execute.mjs +92 -88
  20. package/execution/index.d.ts +1 -0
  21. package/execution/index.js +3 -3
  22. package/execution/index.js.flow +6 -2
  23. package/execution/values.js +11 -11
  24. package/execution/values.js.flow +0 -1
  25. package/graphql.js +5 -5
  26. package/graphql.js.flow +0 -1
  27. package/index.d.ts +2 -0
  28. package/index.js +9 -9
  29. package/index.js.flow +5 -2
  30. package/jsutils/ObjMap.js.flow +0 -1
  31. package/jsutils/Path.js.flow +0 -1
  32. package/jsutils/PromiseOrValue.js.flow +0 -1
  33. package/jsutils/defineInspect.js +2 -2
  34. package/jsutils/defineInspect.js.flow +0 -1
  35. package/jsutils/devAssert.js.flow +0 -1
  36. package/jsutils/didYouMean.js.flow +0 -1
  37. package/jsutils/identityFunc.js.flow +0 -1
  38. package/jsutils/inspect.js +1 -2
  39. package/jsutils/inspect.js.flow +10 -8
  40. package/jsutils/inspect.mjs +1 -1
  41. package/jsutils/instanceOf.js.flow +2 -3
  42. package/jsutils/invariant.js.flow +0 -1
  43. package/jsutils/isAsyncIterable.js +13 -0
  44. package/jsutils/isAsyncIterable.js.flow +14 -0
  45. package/jsutils/isAsyncIterable.mjs +10 -0
  46. package/jsutils/isObjectLike.js.flow +0 -1
  47. package/jsutils/isPromise.js.flow +0 -1
  48. package/jsutils/keyMap.js.flow +0 -1
  49. package/jsutils/keyValMap.js.flow +0 -1
  50. package/jsutils/mapValue.js +1 -1
  51. package/jsutils/mapValue.js.flow +0 -1
  52. package/jsutils/memoize3.js +2 -5
  53. package/jsutils/memoize3.js.flow +2 -5
  54. package/jsutils/memoize3.mjs +2 -5
  55. package/jsutils/naturalCompare.js +69 -0
  56. package/jsutils/naturalCompare.js.flow +59 -0
  57. package/jsutils/naturalCompare.mjs +61 -0
  58. package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
  59. package/jsutils/printPathArray.js.flow +0 -1
  60. package/jsutils/promiseForObject.js.flow +0 -1
  61. package/jsutils/promiseReduce.js +1 -1
  62. package/jsutils/promiseReduce.js.flow +0 -1
  63. package/jsutils/safeArrayFrom.js +73 -0
  64. package/jsutils/safeArrayFrom.js.flow +59 -0
  65. package/jsutils/safeArrayFrom.mjs +66 -0
  66. package/jsutils/suggestionList.js +5 -1
  67. package/jsutils/suggestionList.js.flow +3 -2
  68. package/jsutils/suggestionList.mjs +3 -1
  69. package/jsutils/toObjMap.js +1 -1
  70. package/jsutils/toObjMap.js.flow +0 -1
  71. package/language/ast.js +1 -1
  72. package/language/ast.js.flow +0 -1
  73. package/language/blockString.d.ts +1 -1
  74. package/language/blockString.js +53 -32
  75. package/language/blockString.js.flow +51 -36
  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 +188 -184
  95. package/language/lexer.mjs +238 -179
  96. package/language/location.js.flow +0 -1
  97. package/language/parser.js +73 -68
  98. package/language/parser.js.flow +62 -57
  99. package/language/parser.mjs +64 -60
  100. package/language/predicates.js +1 -1
  101. package/language/predicates.js.flow +0 -1
  102. package/language/printLocation.js +1 -1
  103. package/language/printLocation.js.flow +0 -1
  104. package/language/printer.js +20 -13
  105. package/language/printer.js.flow +26 -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 +26 -9
  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 +3 -4
  115. package/language/visitor.mjs +3 -3
  116. package/package.json +2 -3
  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 +1 -2
  131. package/polyfills/objectEntries.mjs +1 -1
  132. package/polyfills/objectValues.js +1 -1
  133. package/polyfills/objectValues.js.flow +1 -2
  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 +8 -9
  142. package/subscription/mapAsyncIterator.mjs +1 -1
  143. package/subscription/subscribe.js +61 -73
  144. package/subscription/subscribe.js.flow +71 -85
  145. package/subscription/subscribe.mjs +53 -65
  146. package/type/definition.d.ts +17 -9
  147. package/type/definition.js +37 -32
  148. package/type/definition.js.flow +93 -63
  149. package/type/definition.mjs +19 -14
  150. package/type/directives.js +17 -16
  151. package/type/directives.js.flow +20 -13
  152. package/type/directives.mjs +6 -5
  153. package/type/index.js +6 -6
  154. package/type/index.js.flow +0 -1
  155. package/type/introspection.js +86 -65
  156. package/type/introspection.js.flow +75 -43
  157. package/type/introspection.mjs +79 -58
  158. package/type/scalars.js +9 -9
  159. package/type/scalars.js.flow +1 -2
  160. package/type/scalars.mjs +1 -1
  161. package/type/schema.js +13 -13
  162. package/type/schema.js.flow +2 -3
  163. package/type/schema.mjs +1 -1
  164. package/type/validate.js +52 -19
  165. package/type/validate.js.flow +54 -8
  166. package/type/validate.mjs +43 -9
  167. package/utilities/TypeInfo.js +7 -7
  168. package/utilities/TypeInfo.js.flow +1 -2
  169. package/utilities/assertValidName.js +2 -2
  170. package/utilities/assertValidName.js.flow +0 -1
  171. package/utilities/astFromValue.js +14 -16
  172. package/utilities/astFromValue.js.flow +6 -7
  173. package/utilities/astFromValue.mjs +6 -7
  174. package/utilities/buildASTSchema.js +17 -27
  175. package/utilities/buildASTSchema.js.flow +5 -21
  176. package/utilities/buildASTSchema.mjs +11 -21
  177. package/utilities/buildClientSchema.js +16 -15
  178. package/utilities/buildClientSchema.js.flow +28 -12
  179. package/utilities/buildClientSchema.mjs +5 -4
  180. package/utilities/coerceInputValue.js +17 -18
  181. package/utilities/coerceInputValue.js.flow +12 -10
  182. package/utilities/coerceInputValue.mjs +7 -7
  183. package/utilities/concatAST.js +9 -8
  184. package/utilities/concatAST.js.flow +8 -8
  185. package/utilities/concatAST.mjs +9 -6
  186. package/utilities/extendSchema.js +26 -19
  187. package/utilities/extendSchema.js.flow +19 -7
  188. package/utilities/extendSchema.mjs +8 -1
  189. package/utilities/findBreakingChanges.js +15 -11
  190. package/utilities/findBreakingChanges.js.flow +6 -3
  191. package/utilities/findBreakingChanges.mjs +5 -2
  192. package/utilities/findDeprecatedUsages.js +2 -2
  193. package/utilities/findDeprecatedUsages.js.flow +0 -1
  194. package/utilities/getIntrospectionQuery.d.ts +6 -0
  195. package/utilities/getIntrospectionQuery.js +8 -2
  196. package/utilities/getIntrospectionQuery.js.flow +17 -5
  197. package/utilities/getIntrospectionQuery.mjs +8 -2
  198. package/utilities/getOperationAST.js +1 -1
  199. package/utilities/getOperationAST.js.flow +0 -1
  200. package/utilities/getOperationRootType.js +1 -1
  201. package/utilities/getOperationRootType.js.flow +0 -1
  202. package/utilities/index.d.ts +3 -0
  203. package/utilities/index.js +22 -22
  204. package/utilities/index.js.flow +0 -1
  205. package/utilities/introspectionFromSchema.js +7 -5
  206. package/utilities/introspectionFromSchema.js.flow +2 -1
  207. package/utilities/introspectionFromSchema.mjs +3 -1
  208. package/utilities/lexicographicSortSchema.js +13 -9
  209. package/utilities/lexicographicSortSchema.js.flow +21 -13
  210. package/utilities/lexicographicSortSchema.mjs +5 -2
  211. package/utilities/printSchema.js +15 -16
  212. package/utilities/printSchema.js.flow +23 -16
  213. package/utilities/printSchema.mjs +5 -6
  214. package/utilities/separateOperations.js +46 -42
  215. package/utilities/separateOperations.js.flow +46 -37
  216. package/utilities/separateOperations.mjs +44 -40
  217. package/utilities/stripIgnoredCharacters.js +6 -16
  218. package/utilities/stripIgnoredCharacters.js.flow +4 -13
  219. package/utilities/stripIgnoredCharacters.mjs +3 -10
  220. package/utilities/typeComparators.js +1 -1
  221. package/utilities/typeComparators.js.flow +0 -1
  222. package/utilities/typeFromAST.js +6 -6
  223. package/utilities/typeFromAST.js.flow +2 -3
  224. package/utilities/typeFromAST.mjs +2 -2
  225. package/utilities/typedQueryDocumentNode.d.ts +20 -0
  226. package/utilities/valueFromAST.js +6 -6
  227. package/utilities/valueFromAST.js.flow +4 -2
  228. package/utilities/valueFromASTUntyped.js +4 -4
  229. package/utilities/valueFromASTUntyped.js.flow +0 -1
  230. package/validation/ValidationContext.js +3 -3
  231. package/validation/ValidationContext.js.flow +3 -4
  232. package/validation/index.js +38 -38
  233. package/validation/index.js.flow +0 -1
  234. package/validation/rules/ExecutableDefinitions.js +1 -1
  235. package/validation/rules/ExecutableDefinitions.js.flow +0 -1
  236. package/validation/rules/ExecutableDefinitionsRule.js +3 -3
  237. package/validation/rules/ExecutableDefinitionsRule.js.flow +0 -1
  238. package/validation/rules/FieldsOnCorrectTypeRule.js +8 -6
  239. package/validation/rules/FieldsOnCorrectTypeRule.js.flow +2 -2
  240. package/validation/rules/FieldsOnCorrectTypeRule.mjs +2 -1
  241. package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
  242. package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +0 -1
  243. package/validation/rules/KnownArgumentNamesRule.js +5 -5
  244. package/validation/rules/KnownArgumentNamesRule.js.flow +1 -1
  245. package/validation/rules/KnownDirectivesRule.js +6 -6
  246. package/validation/rules/KnownDirectivesRule.js.flow +4 -3
  247. package/validation/rules/KnownFragmentNamesRule.js +1 -1
  248. package/validation/rules/KnownFragmentNamesRule.js.flow +0 -1
  249. package/validation/rules/KnownTypeNamesRule.js +6 -6
  250. package/validation/rules/KnownTypeNamesRule.js.flow +1 -2
  251. package/validation/rules/LoneAnonymousOperationRule.js +2 -2
  252. package/validation/rules/LoneAnonymousOperationRule.js.flow +0 -1
  253. package/validation/rules/LoneSchemaDefinition.js +1 -1
  254. package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
  255. package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
  256. package/validation/rules/LoneSchemaDefinitionRule.js.flow +0 -1
  257. package/validation/rules/NoFragmentCyclesRule.js +1 -1
  258. package/validation/rules/NoFragmentCyclesRule.js.flow +1 -2
  259. package/validation/rules/NoUndefinedVariablesRule.js +1 -1
  260. package/validation/rules/NoUndefinedVariablesRule.js.flow +0 -1
  261. package/validation/rules/NoUnusedFragmentsRule.js +1 -1
  262. package/validation/rules/NoUnusedFragmentsRule.js.flow +0 -1
  263. package/validation/rules/NoUnusedVariablesRule.js +1 -1
  264. package/validation/rules/NoUnusedVariablesRule.js.flow +0 -1
  265. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
  266. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +14 -14
  267. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
  268. package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
  269. package/validation/rules/PossibleFragmentSpreadsRule.js.flow +5 -2
  270. package/validation/rules/PossibleTypeExtensions.js +1 -1
  271. package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
  272. package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
  273. package/validation/rules/PossibleTypeExtensionsRule.js.flow +6 -4
  274. package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
  275. package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +4 -3
  276. package/validation/rules/ScalarLeafsRule.js +3 -3
  277. package/validation/rules/ScalarLeafsRule.js.flow +0 -1
  278. package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
  279. package/validation/rules/SingleFieldSubscriptionsRule.js.flow +0 -1
  280. package/validation/rules/UniqueArgumentNamesRule.js +1 -1
  281. package/validation/rules/UniqueArgumentNamesRule.js.flow +0 -1
  282. package/validation/rules/UniqueDirectiveNames.js +1 -1
  283. package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
  284. package/validation/rules/UniqueDirectiveNamesRule.js +2 -2
  285. package/validation/rules/UniqueDirectiveNamesRule.js.flow +0 -1
  286. package/validation/rules/UniqueDirectiveNamesRule.mjs +1 -1
  287. package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
  288. package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +0 -1
  289. package/validation/rules/UniqueEnumValueNames.js +1 -1
  290. package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
  291. package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
  292. package/validation/rules/UniqueEnumValueNamesRule.js.flow +7 -2
  293. package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
  294. package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
  295. package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
  296. package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +13 -4
  297. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
  298. package/validation/rules/UniqueFragmentNamesRule.js +1 -1
  299. package/validation/rules/UniqueFragmentNamesRule.js.flow +0 -1
  300. package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
  301. package/validation/rules/UniqueInputFieldNamesRule.js.flow +0 -1
  302. package/validation/rules/UniqueOperationNamesRule.js +1 -1
  303. package/validation/rules/UniqueOperationNamesRule.js.flow +0 -1
  304. package/validation/rules/UniqueOperationTypes.js +1 -1
  305. package/validation/rules/UniqueOperationTypes.js.flow +0 -1
  306. package/validation/rules/UniqueOperationTypesRule.js +1 -1
  307. package/validation/rules/UniqueOperationTypesRule.js.flow +7 -2
  308. package/validation/rules/UniqueTypeNames.js +1 -1
  309. package/validation/rules/UniqueTypeNames.js.flow +0 -1
  310. package/validation/rules/UniqueTypeNamesRule.js +2 -2
  311. package/validation/rules/UniqueTypeNamesRule.js.flow +0 -1
  312. package/validation/rules/UniqueTypeNamesRule.mjs +1 -1
  313. package/validation/rules/UniqueVariableNamesRule.js +1 -1
  314. package/validation/rules/UniqueVariableNamesRule.js.flow +0 -1
  315. package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
  316. package/validation/rules/ValuesOfCorrectTypeRule.js.flow +0 -1
  317. package/validation/rules/VariablesAreInputTypesRule.js +4 -4
  318. package/validation/rules/VariablesAreInputTypesRule.js.flow +0 -1
  319. package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
  320. package/validation/rules/VariablesInAllowedPositionRule.js.flow +0 -1
  321. package/validation/rules/custom/NoDeprecatedCustomRule.js +47 -9
  322. package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +56 -13
  323. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +43 -8
  324. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -3
  325. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +0 -1
  326. package/validation/specifiedRules.js +33 -33
  327. package/validation/specifiedRules.js.flow +0 -1
  328. package/validation/validate.js +7 -7
  329. package/validation/validate.js.flow +4 -5
  330. package/version.js +2 -2
  331. package/version.js.flow +2 -3
  332. package/version.mjs +2 -2
  333. package/jsutils/isCollection.js +0 -47
  334. package/jsutils/isCollection.js.flow +0 -39
  335. package/jsutils/isCollection.mjs +0 -40
  336. package/polyfills/flatMap.js +0 -30
  337. package/polyfills/flatMap.js.flow +0 -28
  338. package/polyfills/flatMap.mjs +0 -23
@@ -7,25 +7,25 @@ exports.printSchema = printSchema;
7
7
  exports.printIntrospectionSchema = printIntrospectionSchema;
8
8
  exports.printType = printType;
9
9
 
10
- var _objectValues = _interopRequireDefault(require("../polyfills/objectValues"));
10
+ var _objectValues = _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 _printer = require("../language/printer");
16
+ var _printer = require("../language/printer.js");
17
17
 
18
- var _blockString = require("../language/blockString");
18
+ var _blockString = require("../language/blockString.js");
19
19
 
20
- var _introspection = require("../type/introspection");
20
+ var _introspection = require("../type/introspection.js");
21
21
 
22
- var _scalars = require("../type/scalars");
22
+ var _scalars = require("../type/scalars.js");
23
23
 
24
- var _directives = require("../type/directives");
24
+ var _directives = require("../type/directives.js");
25
25
 
26
- var _definition = require("../type/definition");
26
+ var _definition = require("../type/definition.js");
27
27
 
28
- var _astFromValue = require("./astFromValue");
28
+ var _astFromValue = require("./astFromValue.js");
29
29
 
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
31
 
@@ -179,7 +179,7 @@ function printUnion(type, options) {
179
179
 
180
180
  function printEnum(type, options) {
181
181
  var values = type.getValues().map(function (value, i) {
182
- return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value);
182
+ return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value.deprecationReason);
183
183
  });
184
184
  return printDescription(options, type) + "enum ".concat(type.name) + printBlock(values);
185
185
  }
@@ -193,7 +193,7 @@ function printInputObject(type, options) {
193
193
 
194
194
  function printFields(options, type) {
195
195
  var fields = (0, _objectValues.default)(type.getFields()).map(function (f, i) {
196
- return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f);
196
+ return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f.deprecationReason);
197
197
  });
198
198
  return printBlock(fields);
199
199
  }
@@ -229,19 +229,18 @@ function printInputValue(arg) {
229
229
  argDecl += " = ".concat((0, _printer.print)(defaultAST));
230
230
  }
231
231
 
232
- return argDecl;
232
+ return argDecl + printDeprecated(arg.deprecationReason);
233
233
  }
234
234
 
235
235
  function printDirective(directive, options) {
236
236
  return printDescription(options, directive) + 'directive @' + directive.name + printArgs(options, directive.args) + (directive.isRepeatable ? ' repeatable' : '') + ' on ' + directive.locations.join(' | ');
237
237
  }
238
238
 
239
- function printDeprecated(fieldOrEnumVal) {
240
- if (!fieldOrEnumVal.isDeprecated) {
239
+ function printDeprecated(reason) {
240
+ if (reason == null) {
241
241
  return '';
242
242
  }
243
243
 
244
- var reason = fieldOrEnumVal.deprecationReason;
245
244
  var reasonAST = (0, _astFromValue.astFromValue)(reason, _scalars.GraphQLString);
246
245
 
247
246
  if (reasonAST && reason !== _directives.DEFAULT_DEPRECATION_REASON) {
@@ -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';
@@ -12,6 +11,8 @@ import type { GraphQLSchema } from '../type/schema';
12
11
  import type { GraphQLDirective } from '../type/directives';
13
12
  import type {
14
13
  GraphQLNamedType,
14
+ GraphQLArgument,
15
+ GraphQLInputField,
15
16
  GraphQLScalarType,
16
17
  GraphQLEnumType,
17
18
  GraphQLObjectType,
@@ -232,7 +233,7 @@ function printEnum(type: GraphQLEnumType, options): string {
232
233
  printDescription(options, value, ' ', !i) +
233
234
  ' ' +
234
235
  value.name +
235
- printDeprecated(value),
236
+ printDeprecated(value.deprecationReason),
236
237
  );
237
238
 
238
239
  return (
@@ -250,7 +251,10 @@ function printInputObject(type: GraphQLInputObjectType, options): string {
250
251
  );
251
252
  }
252
253
 
253
- function printFields(options, type) {
254
+ function printFields(
255
+ options,
256
+ type: GraphQLObjectType | GraphQLInterfaceType,
257
+ ): string {
254
258
  const fields = objectValues(type.getFields()).map(
255
259
  (f, i) =>
256
260
  printDescription(options, f, ' ', !i) +
@@ -259,16 +263,20 @@ function printFields(options, type) {
259
263
  printArgs(options, f.args, ' ') +
260
264
  ': ' +
261
265
  String(f.type) +
262
- printDeprecated(f),
266
+ printDeprecated(f.deprecationReason),
263
267
  );
264
268
  return printBlock(fields);
265
269
  }
266
270
 
267
- function printBlock(items) {
271
+ function printBlock(items: $ReadOnlyArray<string>): string {
268
272
  return items.length !== 0 ? ' {\n' + items.join('\n') + '\n}' : '';
269
273
  }
270
274
 
271
- function printArgs(options, args, indentation = '') {
275
+ function printArgs(
276
+ options,
277
+ args: Array<GraphQLArgument>,
278
+ indentation: string = '',
279
+ ): string {
272
280
  if (args.length === 0) {
273
281
  return '';
274
282
  }
@@ -295,16 +303,16 @@ function printArgs(options, args, indentation = '') {
295
303
  );
296
304
  }
297
305
 
298
- function printInputValue(arg) {
306
+ function printInputValue(arg: GraphQLInputField): string {
299
307
  const defaultAST = astFromValue(arg.defaultValue, arg.type);
300
308
  let argDecl = arg.name + ': ' + String(arg.type);
301
309
  if (defaultAST) {
302
310
  argDecl += ` = ${print(defaultAST)}`;
303
311
  }
304
- return argDecl;
312
+ return argDecl + printDeprecated(arg.deprecationReason);
305
313
  }
306
314
 
307
- function printDirective(directive, options) {
315
+ function printDirective(directive: GraphQLDirective, options): string {
308
316
  return (
309
317
  printDescription(options, directive) +
310
318
  'directive @' +
@@ -316,11 +324,10 @@ function printDirective(directive, options) {
316
324
  );
317
325
  }
318
326
 
319
- function printDeprecated(fieldOrEnumVal) {
320
- if (!fieldOrEnumVal.isDeprecated) {
327
+ function printDeprecated(reason: ?string): string {
328
+ if (reason == null) {
321
329
  return '';
322
330
  }
323
- const reason = fieldOrEnumVal.deprecationReason;
324
331
  const reasonAST = astFromValue(reason, GraphQLString);
325
332
  if (reasonAST && reason !== DEFAULT_DEPRECATION_REASON) {
326
333
  return ' @deprecated(reason: ' + print(reasonAST) + ')';
@@ -328,7 +335,7 @@ function printDeprecated(fieldOrEnumVal) {
328
335
  return ' @deprecated';
329
336
  }
330
337
 
331
- function printSpecifiedByUrl(scalar: GraphQLScalarType) {
338
+ function printSpecifiedByUrl(scalar: GraphQLScalarType): string {
332
339
  if (scalar.specifiedByUrl == null) {
333
340
  return '';
334
341
  }
@@ -343,9 +350,9 @@ function printSpecifiedByUrl(scalar: GraphQLScalarType) {
343
350
 
344
351
  function printDescription(
345
352
  options,
346
- def,
347
- indentation = '',
348
- firstInBlock = true,
353
+ def: { +description: ?string, ... },
354
+ indentation: string = '',
355
+ firstInBlock: boolean = true,
349
356
  ): string {
350
357
  const { description } = def;
351
358
  if (description == null) {
@@ -158,7 +158,7 @@ function printUnion(type, options) {
158
158
 
159
159
  function printEnum(type, options) {
160
160
  var values = type.getValues().map(function (value, i) {
161
- return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value);
161
+ return printDescription(options, value, ' ', !i) + ' ' + value.name + printDeprecated(value.deprecationReason);
162
162
  });
163
163
  return printDescription(options, type) + "enum ".concat(type.name) + printBlock(values);
164
164
  }
@@ -172,7 +172,7 @@ function printInputObject(type, options) {
172
172
 
173
173
  function printFields(options, type) {
174
174
  var fields = objectValues(type.getFields()).map(function (f, i) {
175
- return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f);
175
+ return printDescription(options, f, ' ', !i) + ' ' + f.name + printArgs(options, f.args, ' ') + ': ' + String(f.type) + printDeprecated(f.deprecationReason);
176
176
  });
177
177
  return printBlock(fields);
178
178
  }
@@ -208,19 +208,18 @@ function printInputValue(arg) {
208
208
  argDecl += " = ".concat(print(defaultAST));
209
209
  }
210
210
 
211
- return argDecl;
211
+ return argDecl + printDeprecated(arg.deprecationReason);
212
212
  }
213
213
 
214
214
  function printDirective(directive, options) {
215
215
  return printDescription(options, directive) + 'directive @' + directive.name + printArgs(options, directive.args) + (directive.isRepeatable ? ' repeatable' : '') + ' on ' + directive.locations.join(' | ');
216
216
  }
217
217
 
218
- function printDeprecated(fieldOrEnumVal) {
219
- if (!fieldOrEnumVal.isDeprecated) {
218
+ function printDeprecated(reason) {
219
+ if (reason == null) {
220
220
  return '';
221
221
  }
222
222
 
223
- var reason = fieldOrEnumVal.deprecationReason;
224
223
  var reasonAST = astFromValue(reason, GraphQLString);
225
224
 
226
225
  if (reasonAST && reason !== DEFAULT_DEPRECATION_REASON) {
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.separateOperations = separateOperations;
7
7
 
8
- var _kinds = require("../language/kinds");
8
+ var _kinds = require("../language/kinds.js");
9
9
 
10
- var _visitor = require("../language/visitor");
10
+ var _visitor = require("../language/visitor.js");
11
11
 
12
12
  /**
13
13
  * separateOperations accepts a single AST document which may contain many
@@ -17,72 +17,76 @@ var _visitor = require("../language/visitor");
17
17
  */
18
18
  function separateOperations(documentAST) {
19
19
  var operations = [];
20
- var depGraph = Object.create(null);
21
- var fromName; // Populate metadata and build a dependency graph.
22
-
23
- (0, _visitor.visit)(documentAST, {
24
- OperationDefinition: function OperationDefinition(node) {
25
- fromName = opName(node);
26
- operations.push(node);
27
- },
28
- FragmentDefinition: function FragmentDefinition(node) {
29
- fromName = node.name.value;
30
- },
31
- FragmentSpread: function FragmentSpread(node) {
32
- var toName = node.name.value;
33
- var dependents = depGraph[fromName];
20
+ var depGraph = Object.create(null); // Populate metadata and build a dependency graph.
34
21
 
35
- if (dependents === undefined) {
36
- dependents = depGraph[fromName] = Object.create(null);
37
- }
22
+ for (var _i2 = 0, _documentAST$definiti2 = documentAST.definitions; _i2 < _documentAST$definiti2.length; _i2++) {
23
+ var definitionNode = _documentAST$definiti2[_i2];
38
24
 
39
- dependents[toName] = true;
25
+ switch (definitionNode.kind) {
26
+ case _kinds.Kind.OPERATION_DEFINITION:
27
+ operations.push(definitionNode);
28
+ break;
29
+
30
+ case _kinds.Kind.FRAGMENT_DEFINITION:
31
+ depGraph[definitionNode.name.value] = collectDependencies(definitionNode.selectionSet);
32
+ break;
40
33
  }
41
- }); // For each operation, produce a new synthesized AST which includes only what
34
+ } // For each operation, produce a new synthesized AST which includes only what
42
35
  // is necessary for completing that operation.
43
36
 
37
+
44
38
  var separatedDocumentASTs = Object.create(null);
45
39
 
46
- var _loop = function _loop(_i2) {
47
- var operation = operations[_i2];
48
- var operationName = opName(operation);
49
- var dependencies = Object.create(null);
50
- collectTransitiveDependencies(dependencies, depGraph, operationName); // The list of definition nodes to be included for this operation, sorted
40
+ var _loop = function _loop(_i4) {
41
+ var operation = operations[_i4];
42
+ var dependencies = new Set();
43
+
44
+ for (var _i6 = 0, _collectDependencies2 = collectDependencies(operation.selectionSet); _i6 < _collectDependencies2.length; _i6++) {
45
+ var fragmentName = _collectDependencies2[_i6];
46
+ collectTransitiveDependencies(dependencies, depGraph, fragmentName);
47
+ } // Provides the empty string for anonymous operations.
48
+
49
+
50
+ var operationName = operation.name ? operation.name.value : ''; // The list of definition nodes to be included for this operation, sorted
51
51
  // to retain the same order as the original document.
52
52
 
53
53
  separatedDocumentASTs[operationName] = {
54
54
  kind: _kinds.Kind.DOCUMENT,
55
55
  definitions: documentAST.definitions.filter(function (node) {
56
- return node === operation || node.kind === _kinds.Kind.FRAGMENT_DEFINITION && dependencies[node.name.value];
56
+ return node === operation || node.kind === _kinds.Kind.FRAGMENT_DEFINITION && dependencies.has(node.name.value);
57
57
  })
58
58
  };
59
59
  };
60
60
 
61
- for (var _i2 = 0; _i2 < operations.length; _i2++) {
62
- _loop(_i2);
61
+ for (var _i4 = 0; _i4 < operations.length; _i4++) {
62
+ _loop(_i4);
63
63
  }
64
64
 
65
65
  return separatedDocumentASTs;
66
66
  }
67
67
 
68
- // Provides the empty string for anonymous operations.
69
- function opName(operation) {
70
- return operation.name ? operation.name.value : '';
71
- } // From a dependency graph, collects a list of transitive dependencies by
68
+ // From a dependency graph, collects a list of transitive dependencies by
72
69
  // recursing through a dependency graph.
73
-
74
-
75
70
  function collectTransitiveDependencies(collected, depGraph, fromName) {
76
- var immediateDeps = depGraph[fromName];
71
+ if (!collected.has(fromName)) {
72
+ collected.add(fromName);
73
+ var immediateDeps = depGraph[fromName];
77
74
 
78
- if (immediateDeps) {
79
- for (var _i4 = 0, _Object$keys2 = Object.keys(immediateDeps); _i4 < _Object$keys2.length; _i4++) {
80
- var toName = _Object$keys2[_i4];
81
-
82
- if (!collected[toName]) {
83
- collected[toName] = true;
75
+ if (immediateDeps !== undefined) {
76
+ for (var _i8 = 0; _i8 < immediateDeps.length; _i8++) {
77
+ var toName = immediateDeps[_i8];
84
78
  collectTransitiveDependencies(collected, depGraph, toName);
85
79
  }
86
80
  }
87
81
  }
88
82
  }
83
+
84
+ function collectDependencies(selectionSet) {
85
+ var dependencies = [];
86
+ (0, _visitor.visit)(selectionSet, {
87
+ FragmentSpread: function FragmentSpread(node) {
88
+ dependencies.push(node.name.value);
89
+ }
90
+ });
91
+ return dependencies;
92
+ }
@@ -1,8 +1,11 @@
1
1
  // @flow strict
2
-
3
2
  import type { ObjMap } from '../jsutils/ObjMap';
4
3
 
5
- import type { DocumentNode, OperationDefinitionNode } from '../language/ast';
4
+ import type {
5
+ DocumentNode,
6
+ OperationDefinitionNode,
7
+ SelectionSetNode,
8
+ } from '../language/ast';
6
9
  import { Kind } from '../language/kinds';
7
10
  import { visit } from '../language/visitor';
8
11
 
@@ -15,36 +18,35 @@ import { visit } from '../language/visitor';
15
18
  export function separateOperations(
16
19
  documentAST: DocumentNode,
17
20
  ): ObjMap<DocumentNode> {
18
- const operations = [];
21
+ const operations: Array<OperationDefinitionNode> = [];
19
22
  const depGraph: DepGraph = Object.create(null);
20
- let fromName;
21
23
 
22
24
  // Populate metadata and build a dependency graph.
23
- visit(documentAST, {
24
- OperationDefinition(node) {
25
- fromName = opName(node);
26
- operations.push(node);
27
- },
28
- FragmentDefinition(node) {
29
- fromName = node.name.value;
30
- },
31
- FragmentSpread(node) {
32
- const toName = node.name.value;
33
- let dependents = depGraph[fromName];
34
- if (dependents === undefined) {
35
- dependents = depGraph[fromName] = Object.create(null);
36
- }
37
- dependents[toName] = true;
38
- },
39
- });
25
+ for (const definitionNode of documentAST.definitions) {
26
+ switch (definitionNode.kind) {
27
+ case Kind.OPERATION_DEFINITION:
28
+ operations.push(definitionNode);
29
+ break;
30
+ case Kind.FRAGMENT_DEFINITION:
31
+ depGraph[definitionNode.name.value] = collectDependencies(
32
+ definitionNode.selectionSet,
33
+ );
34
+ break;
35
+ }
36
+ }
40
37
 
41
38
  // For each operation, produce a new synthesized AST which includes only what
42
39
  // is necessary for completing that operation.
43
40
  const separatedDocumentASTs = Object.create(null);
44
41
  for (const operation of operations) {
45
- const operationName = opName(operation);
46
- const dependencies = Object.create(null);
47
- collectTransitiveDependencies(dependencies, depGraph, operationName);
42
+ const dependencies = new Set();
43
+
44
+ for (const fragmentName of collectDependencies(operation.selectionSet)) {
45
+ collectTransitiveDependencies(dependencies, depGraph, fragmentName);
46
+ }
47
+
48
+ // Provides the empty string for anonymous operations.
49
+ const operationName = operation.name ? operation.name.value : '';
48
50
 
49
51
  // The list of definition nodes to be included for this operation, sorted
50
52
  // to retain the same order as the original document.
@@ -54,7 +56,7 @@ export function separateOperations(
54
56
  (node) =>
55
57
  node === operation ||
56
58
  (node.kind === Kind.FRAGMENT_DEFINITION &&
57
- dependencies[node.name.value]),
59
+ dependencies.has(node.name.value)),
58
60
  ),
59
61
  };
60
62
  }
@@ -62,27 +64,34 @@ export function separateOperations(
62
64
  return separatedDocumentASTs;
63
65
  }
64
66
 
65
- type DepGraph = ObjMap<ObjMap<boolean>>;
66
-
67
- // Provides the empty string for anonymous operations.
68
- function opName(operation: OperationDefinitionNode): string {
69
- return operation.name ? operation.name.value : '';
70
- }
67
+ type DepGraph = ObjMap<Array<string>>;
71
68
 
72
69
  // From a dependency graph, collects a list of transitive dependencies by
73
70
  // recursing through a dependency graph.
74
71
  function collectTransitiveDependencies(
75
- collected: ObjMap<boolean>,
72
+ collected: Set<string>,
76
73
  depGraph: DepGraph,
77
74
  fromName: string,
78
75
  ): void {
79
- const immediateDeps = depGraph[fromName];
80
- if (immediateDeps) {
81
- for (const toName of Object.keys(immediateDeps)) {
82
- if (!collected[toName]) {
83
- collected[toName] = true;
76
+ if (!collected.has(fromName)) {
77
+ collected.add(fromName);
78
+
79
+ const immediateDeps = depGraph[fromName];
80
+ if (immediateDeps !== undefined) {
81
+ for (const toName of immediateDeps) {
84
82
  collectTransitiveDependencies(collected, depGraph, toName);
85
83
  }
86
84
  }
87
85
  }
88
86
  }
87
+
88
+ function collectDependencies(selectionSet: SelectionSetNode): Array<string> {
89
+ const dependencies = [];
90
+
91
+ visit(selectionSet, {
92
+ FragmentSpread(node) {
93
+ dependencies.push(node.name.value);
94
+ },
95
+ });
96
+ return dependencies;
97
+ }
@@ -9,72 +9,76 @@ import { visit } from "../language/visitor.mjs";
9
9
 
10
10
  export function separateOperations(documentAST) {
11
11
  var operations = [];
12
- var depGraph = Object.create(null);
13
- var fromName; // Populate metadata and build a dependency graph.
14
-
15
- visit(documentAST, {
16
- OperationDefinition: function OperationDefinition(node) {
17
- fromName = opName(node);
18
- operations.push(node);
19
- },
20
- FragmentDefinition: function FragmentDefinition(node) {
21
- fromName = node.name.value;
22
- },
23
- FragmentSpread: function FragmentSpread(node) {
24
- var toName = node.name.value;
25
- var dependents = depGraph[fromName];
12
+ var depGraph = Object.create(null); // Populate metadata and build a dependency graph.
26
13
 
27
- if (dependents === undefined) {
28
- dependents = depGraph[fromName] = Object.create(null);
29
- }
14
+ for (var _i2 = 0, _documentAST$definiti2 = documentAST.definitions; _i2 < _documentAST$definiti2.length; _i2++) {
15
+ var definitionNode = _documentAST$definiti2[_i2];
30
16
 
31
- dependents[toName] = true;
17
+ switch (definitionNode.kind) {
18
+ case Kind.OPERATION_DEFINITION:
19
+ operations.push(definitionNode);
20
+ break;
21
+
22
+ case Kind.FRAGMENT_DEFINITION:
23
+ depGraph[definitionNode.name.value] = collectDependencies(definitionNode.selectionSet);
24
+ break;
32
25
  }
33
- }); // For each operation, produce a new synthesized AST which includes only what
26
+ } // For each operation, produce a new synthesized AST which includes only what
34
27
  // is necessary for completing that operation.
35
28
 
29
+
36
30
  var separatedDocumentASTs = Object.create(null);
37
31
 
38
- var _loop = function _loop(_i2) {
39
- var operation = operations[_i2];
40
- var operationName = opName(operation);
41
- var dependencies = Object.create(null);
42
- collectTransitiveDependencies(dependencies, depGraph, operationName); // The list of definition nodes to be included for this operation, sorted
32
+ var _loop = function _loop(_i4) {
33
+ var operation = operations[_i4];
34
+ var dependencies = new Set();
35
+
36
+ for (var _i6 = 0, _collectDependencies2 = collectDependencies(operation.selectionSet); _i6 < _collectDependencies2.length; _i6++) {
37
+ var fragmentName = _collectDependencies2[_i6];
38
+ collectTransitiveDependencies(dependencies, depGraph, fragmentName);
39
+ } // Provides the empty string for anonymous operations.
40
+
41
+
42
+ var operationName = operation.name ? operation.name.value : ''; // The list of definition nodes to be included for this operation, sorted
43
43
  // to retain the same order as the original document.
44
44
 
45
45
  separatedDocumentASTs[operationName] = {
46
46
  kind: Kind.DOCUMENT,
47
47
  definitions: documentAST.definitions.filter(function (node) {
48
- return node === operation || node.kind === Kind.FRAGMENT_DEFINITION && dependencies[node.name.value];
48
+ return node === operation || node.kind === Kind.FRAGMENT_DEFINITION && dependencies.has(node.name.value);
49
49
  })
50
50
  };
51
51
  };
52
52
 
53
- for (var _i2 = 0; _i2 < operations.length; _i2++) {
54
- _loop(_i2);
53
+ for (var _i4 = 0; _i4 < operations.length; _i4++) {
54
+ _loop(_i4);
55
55
  }
56
56
 
57
57
  return separatedDocumentASTs;
58
58
  }
59
59
 
60
- // Provides the empty string for anonymous operations.
61
- function opName(operation) {
62
- return operation.name ? operation.name.value : '';
63
- } // From a dependency graph, collects a list of transitive dependencies by
60
+ // From a dependency graph, collects a list of transitive dependencies by
64
61
  // recursing through a dependency graph.
65
-
66
-
67
62
  function collectTransitiveDependencies(collected, depGraph, fromName) {
68
- var immediateDeps = depGraph[fromName];
63
+ if (!collected.has(fromName)) {
64
+ collected.add(fromName);
65
+ var immediateDeps = depGraph[fromName];
69
66
 
70
- if (immediateDeps) {
71
- for (var _i4 = 0, _Object$keys2 = Object.keys(immediateDeps); _i4 < _Object$keys2.length; _i4++) {
72
- var toName = _Object$keys2[_i4];
73
-
74
- if (!collected[toName]) {
75
- collected[toName] = true;
67
+ if (immediateDeps !== undefined) {
68
+ for (var _i8 = 0; _i8 < immediateDeps.length; _i8++) {
69
+ var toName = immediateDeps[_i8];
76
70
  collectTransitiveDependencies(collected, depGraph, toName);
77
71
  }
78
72
  }
79
73
  }
80
74
  }
75
+
76
+ function collectDependencies(selectionSet) {
77
+ var dependencies = [];
78
+ visit(selectionSet, {
79
+ FragmentSpread: function FragmentSpread(node) {
80
+ dependencies.push(node.name.value);
81
+ }
82
+ });
83
+ return dependencies;
84
+ }
@@ -5,17 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.stripIgnoredCharacters = stripIgnoredCharacters;
7
7
 
8
- var _inspect = _interopRequireDefault(require("../jsutils/inspect"));
8
+ var _source = require("../language/source.js");
9
9
 
10
- var _source = require("../language/source");
10
+ var _tokenKind = require("../language/tokenKind.js");
11
11
 
12
- var _tokenKind = require("../language/tokenKind");
12
+ var _lexer = require("../language/lexer.js");
13
13
 
14
- var _lexer = require("../language/lexer");
15
-
16
- var _blockString = require("../language/blockString");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ var _blockString = require("../language/blockString.js");
19
15
 
20
16
  /**
21
17
  * Strips characters that are not significant to the validity or execution
@@ -70,12 +66,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
70
66
  * """Type description""" type Foo{"""Field description""" bar:String}
71
67
  */
72
68
  function stripIgnoredCharacters(source) {
73
- var sourceObj = typeof source === 'string' ? new _source.Source(source) : source;
74
-
75
- if (!(sourceObj instanceof _source.Source)) {
76
- throw new TypeError("Must provide string or Source. Received: ".concat((0, _inspect.default)(sourceObj), "."));
77
- }
78
-
69
+ var sourceObj = (0, _source.isSource)(source) ? source : new _source.Source(source);
79
70
  var body = sourceObj.body;
80
71
  var lexer = new _lexer.Lexer(sourceObj);
81
72
  var strippedBody = '';
@@ -116,9 +107,8 @@ function dedentBlockString(blockStr) {
116
107
  // skip leading and trailing triple quotations
117
108
  var rawStr = blockStr.slice(3, -3);
118
109
  var body = (0, _blockString.dedentBlockStringValue)(rawStr);
119
- var lines = body.split(/\r\n|[\n\r]/g);
120
110
 
121
- if ((0, _blockString.getBlockStringIndentation)(lines) > 0) {
111
+ if ((0, _blockString.getBlockStringIndentation)(body) > 0) {
122
112
  body = '\n' + body;
123
113
  }
124
114