graphql 14.1.1 → 14.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/error/GraphQLError.js +12 -10
  4. package/error/GraphQLError.js.flow +11 -6
  5. package/error/GraphQLError.mjs +20 -3
  6. package/error/formatError.js +2 -2
  7. package/error/formatError.js.flow +3 -3
  8. package/error/formatError.mjs +2 -2
  9. package/error/index.js +1 -1
  10. package/error/index.js.flow +5 -2
  11. package/error/index.mjs +2 -2
  12. package/error/locatedError.js +2 -2
  13. package/error/locatedError.js.flow +2 -2
  14. package/error/locatedError.mjs +2 -2
  15. package/error/printError.js +2 -2
  16. package/error/printError.js.flow +4 -5
  17. package/error/printError.mjs +2 -2
  18. package/error/syntaxError.js +2 -2
  19. package/error/syntaxError.js.flow +2 -2
  20. package/error/syntaxError.mjs +2 -2
  21. package/execution/execute.js +52 -37
  22. package/execution/execute.js.flow +66 -51
  23. package/execution/execute.mjs +50 -38
  24. package/execution/index.js +7 -1
  25. package/execution/index.js.flow +9 -4
  26. package/execution/index.mjs +3 -3
  27. package/execution/values.js +11 -11
  28. package/execution/values.js.flow +23 -19
  29. package/execution/values.mjs +11 -11
  30. package/graphql.js +13 -9
  31. package/graphql.js.flow +28 -10
  32. package/graphql.mjs +10 -9
  33. package/index.js +83 -53
  34. package/index.js.flow +60 -47
  35. package/index.mjs +26 -23
  36. package/jsutils/ObjMap.js +1 -1
  37. package/jsutils/ObjMap.js.flow +1 -1
  38. package/jsutils/ObjMap.mjs +1 -0
  39. package/jsutils/PromiseOrValue.js +1 -0
  40. package/jsutils/{MaybePromise.js.flow → PromiseOrValue.js.flow} +2 -2
  41. package/jsutils/PromiseOrValue.mjs +1 -0
  42. package/jsutils/dedent.js +2 -2
  43. package/jsutils/dedent.js.flow +1 -1
  44. package/jsutils/dedent.mjs +2 -2
  45. package/jsutils/defineToJSON.js +2 -2
  46. package/jsutils/defineToJSON.js.flow +1 -1
  47. package/jsutils/defineToJSON.mjs +2 -2
  48. package/jsutils/defineToStringTag.js +2 -2
  49. package/jsutils/defineToStringTag.js.flow +1 -1
  50. package/jsutils/defineToStringTag.mjs +2 -2
  51. package/jsutils/inspect.js +94 -19
  52. package/jsutils/inspect.js.flow +98 -20
  53. package/jsutils/inspect.mjs +94 -20
  54. package/jsutils/instanceOf.js +2 -2
  55. package/jsutils/instanceOf.js.flow +1 -1
  56. package/jsutils/instanceOf.mjs +2 -2
  57. package/jsutils/invariant.js +5 -3
  58. package/jsutils/invariant.js.flow +3 -2
  59. package/jsutils/invariant.mjs +5 -3
  60. package/jsutils/isInvalid.js +2 -2
  61. package/jsutils/isInvalid.js.flow +1 -1
  62. package/jsutils/isInvalid.mjs +2 -2
  63. package/jsutils/isNullish.js +2 -2
  64. package/jsutils/isNullish.js.flow +1 -1
  65. package/jsutils/isNullish.mjs +2 -2
  66. package/jsutils/isPromise.js +2 -2
  67. package/jsutils/isPromise.js.flow +1 -1
  68. package/jsutils/isPromise.mjs +2 -2
  69. package/jsutils/keyMap.js +4 -3
  70. package/jsutils/keyMap.js.flow +6 -6
  71. package/jsutils/keyMap.mjs +4 -3
  72. package/jsutils/keyValMap.js +4 -3
  73. package/jsutils/keyValMap.js.flow +6 -6
  74. package/jsutils/keyValMap.mjs +4 -3
  75. package/jsutils/mapValue.js +2 -2
  76. package/jsutils/mapValue.js.flow +2 -2
  77. package/jsutils/mapValue.mjs +2 -2
  78. package/jsutils/memoize3.js +3 -3
  79. package/jsutils/memoize3.js.flow +2 -2
  80. package/jsutils/memoize3.mjs +3 -3
  81. package/jsutils/nodejsCustomInspectSymbol.js +2 -2
  82. package/jsutils/nodejsCustomInspectSymbol.js.flow +1 -1
  83. package/jsutils/nodejsCustomInspectSymbol.mjs +2 -2
  84. package/jsutils/orList.js +2 -2
  85. package/jsutils/orList.js.flow +1 -1
  86. package/jsutils/orList.mjs +2 -2
  87. package/jsutils/promiseForObject.js +2 -2
  88. package/jsutils/promiseForObject.js.flow +2 -2
  89. package/jsutils/promiseForObject.mjs +2 -2
  90. package/jsutils/promiseReduce.js +2 -2
  91. package/jsutils/promiseReduce.js.flow +5 -5
  92. package/jsutils/promiseReduce.mjs +2 -2
  93. package/jsutils/quotedOrList.js +2 -2
  94. package/jsutils/quotedOrList.js.flow +1 -1
  95. package/jsutils/quotedOrList.mjs +2 -2
  96. package/jsutils/suggestionList.js +2 -2
  97. package/jsutils/suggestionList.js.flow +1 -1
  98. package/jsutils/suggestionList.mjs +2 -2
  99. package/language/ast.js +1 -1
  100. package/language/ast.js.flow +3 -3
  101. package/language/ast.mjs +1 -0
  102. package/language/blockString.js +114 -0
  103. package/language/blockString.js.flow +102 -0
  104. package/language/blockString.mjs +104 -0
  105. package/language/directiveLocation.js +2 -2
  106. package/language/directiveLocation.js.flow +1 -1
  107. package/language/directiveLocation.mjs +2 -2
  108. package/language/index.js +9 -9
  109. package/language/index.js.flow +10 -5
  110. package/language/index.mjs +3 -3
  111. package/language/kinds.js +2 -2
  112. package/language/kinds.js.flow +1 -1
  113. package/language/kinds.mjs +2 -2
  114. package/language/lexer.js +52 -44
  115. package/language/lexer.js.flow +65 -54
  116. package/language/lexer.mjs +49 -43
  117. package/language/location.js +2 -2
  118. package/language/location.js.flow +2 -2
  119. package/language/location.mjs +2 -2
  120. package/language/parser.js +75 -67
  121. package/language/parser.js.flow +138 -127
  122. package/language/parser.mjs +76 -68
  123. package/language/predicates.js +2 -2
  124. package/language/predicates.js.flow +2 -2
  125. package/language/predicates.mjs +2 -2
  126. package/language/printer.js +6 -14
  127. package/language/printer.js.flow +8 -17
  128. package/language/printer.mjs +5 -14
  129. package/language/source.js +2 -2
  130. package/language/source.js.flow +1 -1
  131. package/language/source.mjs +2 -2
  132. package/language/visitor.js +4 -6
  133. package/language/visitor.js.flow +3 -3
  134. package/language/visitor.mjs +4 -6
  135. package/package.json +1 -1
  136. package/polyfills/find.js +2 -2
  137. package/polyfills/find.js.flow +1 -1
  138. package/polyfills/find.mjs +2 -2
  139. package/polyfills/flatMap.js +38 -0
  140. package/polyfills/flatMap.js.flow +34 -0
  141. package/polyfills/flatMap.mjs +30 -0
  142. package/polyfills/isFinite.js +2 -2
  143. package/polyfills/isFinite.js.flow +1 -1
  144. package/polyfills/isFinite.mjs +2 -2
  145. package/polyfills/isInteger.js +2 -2
  146. package/polyfills/isInteger.js.flow +1 -1
  147. package/polyfills/isInteger.mjs +2 -2
  148. package/polyfills/objectEntries.js +2 -2
  149. package/polyfills/objectEntries.js.flow +2 -2
  150. package/polyfills/objectEntries.mjs +2 -2
  151. package/polyfills/objectValues.js +2 -2
  152. package/polyfills/objectValues.js.flow +2 -2
  153. package/polyfills/objectValues.mjs +2 -2
  154. package/subscription/asyncIteratorReject.js +1 -1
  155. package/subscription/asyncIteratorReject.js.flow +1 -1
  156. package/subscription/asyncIteratorReject.mjs +2 -2
  157. package/subscription/index.js +1 -1
  158. package/subscription/index.js.flow +1 -1
  159. package/subscription/index.mjs +2 -2
  160. package/subscription/mapAsyncIterator.js +1 -1
  161. package/subscription/mapAsyncIterator.js.flow +5 -5
  162. package/subscription/mapAsyncIterator.mjs +2 -2
  163. package/subscription/subscribe.js +2 -2
  164. package/subscription/subscribe.js.flow +6 -6
  165. package/subscription/subscribe.mjs +2 -2
  166. package/type/definition.js +138 -22
  167. package/type/definition.js.flow +184 -36
  168. package/type/definition.mjs +136 -23
  169. package/type/directives.js +14 -3
  170. package/type/directives.js.flow +24 -11
  171. package/type/directives.mjs +16 -5
  172. package/type/index.js +7 -7
  173. package/type/index.js.flow +8 -4
  174. package/type/index.mjs +10 -6
  175. package/type/introspection.js +14 -9
  176. package/type/introspection.js.flow +12 -18
  177. package/type/introspection.mjs +14 -9
  178. package/type/scalars.js +5 -4
  179. package/type/scalars.js.flow +4 -10
  180. package/type/scalars.mjs +7 -6
  181. package/type/schema.js +55 -3
  182. package/type/schema.js.flow +73 -17
  183. package/type/schema.mjs +56 -4
  184. package/type/validate.js +19 -47
  185. package/type/validate.js.flow +17 -29
  186. package/type/validate.mjs +18 -47
  187. package/utilities/TypeInfo.js +93 -73
  188. package/utilities/TypeInfo.js.flow +30 -23
  189. package/utilities/TypeInfo.mjs +93 -73
  190. package/utilities/assertValidName.js +2 -2
  191. package/utilities/assertValidName.js.flow +2 -2
  192. package/utilities/assertValidName.mjs +2 -2
  193. package/utilities/astFromValue.js +5 -4
  194. package/utilities/astFromValue.js.flow +8 -7
  195. package/utilities/astFromValue.mjs +7 -6
  196. package/utilities/buildASTSchema.js +63 -62
  197. package/utilities/buildASTSchema.js.flow +92 -108
  198. package/utilities/buildASTSchema.mjs +61 -62
  199. package/utilities/buildClientSchema.js +38 -45
  200. package/utilities/buildClientSchema.js.flow +66 -79
  201. package/utilities/buildClientSchema.mjs +37 -44
  202. package/utilities/coerceValue.js +6 -7
  203. package/utilities/coerceValue.js.flow +5 -4
  204. package/utilities/coerceValue.mjs +7 -8
  205. package/utilities/concatAST.js +9 -13
  206. package/utilities/concatAST.js.flow +4 -10
  207. package/utilities/concatAST.mjs +6 -13
  208. package/utilities/extendSchema.js +219 -511
  209. package/utilities/extendSchema.js.flow +195 -304
  210. package/utilities/extendSchema.mjs +218 -512
  211. package/utilities/findBreakingChanges.js +54 -95
  212. package/utilities/findBreakingChanges.js.flow +49 -47
  213. package/utilities/findBreakingChanges.mjs +80 -95
  214. package/utilities/findDeprecatedUsages.js +4 -4
  215. package/utilities/findDeprecatedUsages.js.flow +5 -5
  216. package/utilities/findDeprecatedUsages.mjs +4 -4
  217. package/utilities/getOperationAST.js +2 -2
  218. package/utilities/getOperationAST.js.flow +5 -2
  219. package/utilities/getOperationAST.mjs +2 -2
  220. package/utilities/getOperationRootType.js +24 -24
  221. package/utilities/getOperationRootType.js.flow +40 -35
  222. package/utilities/getOperationRootType.mjs +24 -24
  223. package/utilities/index.js +9 -1
  224. package/utilities/index.js.flow +13 -6
  225. package/utilities/index.mjs +13 -8
  226. package/utilities/introspectionFromSchema.js +6 -4
  227. package/utilities/introspectionFromSchema.js.flow +8 -7
  228. package/utilities/introspectionFromSchema.mjs +6 -5
  229. package/utilities/introspectionQuery.js +2 -2
  230. package/utilities/introspectionQuery.js.flow +2 -2
  231. package/utilities/introspectionQuery.mjs +2 -2
  232. package/utilities/isValidJSValue.js +4 -2
  233. package/utilities/isValidJSValue.js.flow +3 -2
  234. package/utilities/isValidJSValue.mjs +4 -2
  235. package/utilities/isValidLiteralValue.js +2 -2
  236. package/utilities/isValidLiteralValue.js.flow +4 -4
  237. package/utilities/isValidLiteralValue.mjs +2 -2
  238. package/utilities/lexicographicSortSchema.js +84 -123
  239. package/utilities/lexicographicSortSchema.js.flow +68 -96
  240. package/utilities/lexicographicSortSchema.mjs +84 -123
  241. package/utilities/schemaPrinter.js +47 -73
  242. package/utilities/schemaPrinter.js.flow +69 -120
  243. package/utilities/schemaPrinter.mjs +45 -72
  244. package/utilities/separateOperations.js +8 -12
  245. package/utilities/separateOperations.js.flow +6 -3
  246. package/utilities/separateOperations.mjs +8 -12
  247. package/utilities/stripIgnoredCharacters.js +140 -0
  248. package/utilities/stripIgnoredCharacters.js.flow +129 -0
  249. package/utilities/stripIgnoredCharacters.mjs +127 -0
  250. package/utilities/typeComparators.js +2 -2
  251. package/utilities/typeComparators.js.flow +4 -3
  252. package/utilities/typeComparators.mjs +2 -2
  253. package/utilities/typeFromAST.js +9 -4
  254. package/utilities/typeFromAST.js.flow +15 -9
  255. package/utilities/typeFromAST.mjs +6 -4
  256. package/utilities/valueFromAST.js +7 -4
  257. package/utilities/valueFromAST.js.flow +7 -5
  258. package/utilities/valueFromAST.mjs +6 -4
  259. package/utilities/valueFromASTUntyped.js +11 -6
  260. package/utilities/valueFromASTUntyped.js.flow +9 -5
  261. package/utilities/valueFromASTUntyped.mjs +10 -6
  262. package/validation/ValidationContext.js +1 -1
  263. package/validation/ValidationContext.js.flow +19 -20
  264. package/validation/ValidationContext.mjs +2 -2
  265. package/validation/index.js +1 -1
  266. package/validation/index.js.flow +2 -1
  267. package/validation/index.mjs +3 -2
  268. package/validation/rules/ExecutableDefinitions.js +3 -3
  269. package/validation/rules/ExecutableDefinitions.js.flow +4 -4
  270. package/validation/rules/ExecutableDefinitions.mjs +3 -3
  271. package/validation/rules/FieldsOnCorrectType.js +3 -3
  272. package/validation/rules/FieldsOnCorrectType.js.flow +7 -7
  273. package/validation/rules/FieldsOnCorrectType.mjs +3 -3
  274. package/validation/rules/FragmentsOnCompositeTypes.js +4 -4
  275. package/validation/rules/FragmentsOnCompositeTypes.js.flow +5 -5
  276. package/validation/rules/FragmentsOnCompositeTypes.mjs +4 -4
  277. package/validation/rules/KnownArgumentNames.js +1 -1
  278. package/validation/rules/KnownArgumentNames.js.flow +5 -5
  279. package/validation/rules/KnownArgumentNames.mjs +2 -2
  280. package/validation/rules/KnownDirectives.js +8 -6
  281. package/validation/rules/KnownDirectives.js.flow +11 -9
  282. package/validation/rules/KnownDirectives.mjs +8 -6
  283. package/validation/rules/KnownFragmentNames.js +3 -3
  284. package/validation/rules/KnownFragmentNames.js.flow +4 -4
  285. package/validation/rules/KnownFragmentNames.mjs +3 -3
  286. package/validation/rules/KnownTypeNames.js +2 -2
  287. package/validation/rules/KnownTypeNames.js.flow +6 -6
  288. package/validation/rules/KnownTypeNames.mjs +2 -2
  289. package/validation/rules/LoneAnonymousOperation.js +3 -3
  290. package/validation/rules/LoneAnonymousOperation.js.flow +4 -4
  291. package/validation/rules/LoneAnonymousOperation.mjs +3 -3
  292. package/validation/rules/LoneSchemaDefinition.js +2 -2
  293. package/validation/rules/LoneSchemaDefinition.js.flow +3 -3
  294. package/validation/rules/LoneSchemaDefinition.mjs +2 -2
  295. package/validation/rules/NoFragmentCycles.js +2 -2
  296. package/validation/rules/NoFragmentCycles.js.flow +4 -4
  297. package/validation/rules/NoFragmentCycles.mjs +2 -2
  298. package/validation/rules/NoUndefinedVariables.js +2 -2
  299. package/validation/rules/NoUndefinedVariables.js.flow +3 -3
  300. package/validation/rules/NoUndefinedVariables.mjs +2 -2
  301. package/validation/rules/NoUnusedFragments.js +7 -7
  302. package/validation/rules/NoUnusedFragments.js.flow +4 -4
  303. package/validation/rules/NoUnusedFragments.mjs +7 -7
  304. package/validation/rules/NoUnusedVariables.js +5 -5
  305. package/validation/rules/NoUnusedVariables.js.flow +6 -5
  306. package/validation/rules/NoUnusedVariables.mjs +5 -5
  307. package/validation/rules/OverlappingFieldsCanBeMerged.js +26 -23
  308. package/validation/rules/OverlappingFieldsCanBeMerged.js.flow +17 -17
  309. package/validation/rules/OverlappingFieldsCanBeMerged.mjs +26 -23
  310. package/validation/rules/PossibleFragmentSpreads.js +4 -4
  311. package/validation/rules/PossibleFragmentSpreads.js.flow +5 -5
  312. package/validation/rules/PossibleFragmentSpreads.mjs +4 -4
  313. package/validation/rules/PossibleTypeExtensions.js +3 -3
  314. package/validation/rules/PossibleTypeExtensions.js.flow +5 -5
  315. package/validation/rules/PossibleTypeExtensions.mjs +4 -4
  316. package/validation/rules/ProvidedRequiredArguments.js +6 -8
  317. package/validation/rules/ProvidedRequiredArguments.js.flow +8 -8
  318. package/validation/rules/ProvidedRequiredArguments.mjs +7 -9
  319. package/validation/rules/ScalarLeafs.js +4 -4
  320. package/validation/rules/ScalarLeafs.js.flow +6 -6
  321. package/validation/rules/ScalarLeafs.mjs +4 -4
  322. package/validation/rules/SingleFieldSubscriptions.js +2 -2
  323. package/validation/rules/SingleFieldSubscriptions.js.flow +4 -4
  324. package/validation/rules/SingleFieldSubscriptions.mjs +2 -2
  325. package/validation/rules/UniqueArgumentNames.js +2 -2
  326. package/validation/rules/UniqueArgumentNames.js.flow +3 -3
  327. package/validation/rules/UniqueArgumentNames.mjs +2 -2
  328. package/validation/rules/UniqueDirectiveNames.js +2 -2
  329. package/validation/rules/UniqueDirectiveNames.js.flow +3 -3
  330. package/validation/rules/UniqueDirectiveNames.mjs +2 -2
  331. package/validation/rules/UniqueDirectivesPerLocation.js +3 -2
  332. package/validation/rules/UniqueDirectivesPerLocation.js.flow +4 -4
  333. package/validation/rules/UniqueDirectivesPerLocation.mjs +3 -2
  334. package/validation/rules/UniqueEnumValueNames.js +4 -8
  335. package/validation/rules/UniqueEnumValueNames.js.flow +6 -8
  336. package/validation/rules/UniqueEnumValueNames.mjs +4 -8
  337. package/validation/rules/UniqueFieldDefinitionNames.js +4 -8
  338. package/validation/rules/UniqueFieldDefinitionNames.js.flow +6 -8
  339. package/validation/rules/UniqueFieldDefinitionNames.mjs +4 -8
  340. package/validation/rules/UniqueFragmentNames.js +2 -2
  341. package/validation/rules/UniqueFragmentNames.js.flow +3 -3
  342. package/validation/rules/UniqueFragmentNames.mjs +2 -2
  343. package/validation/rules/UniqueInputFieldNames.js +2 -4
  344. package/validation/rules/UniqueInputFieldNames.js.flow +3 -4
  345. package/validation/rules/UniqueInputFieldNames.mjs +2 -4
  346. package/validation/rules/UniqueOperationNames.js +2 -2
  347. package/validation/rules/UniqueOperationNames.js.flow +3 -3
  348. package/validation/rules/UniqueOperationNames.mjs +2 -2
  349. package/validation/rules/UniqueOperationTypes.js +2 -2
  350. package/validation/rules/UniqueOperationTypes.js.flow +3 -3
  351. package/validation/rules/UniqueOperationTypes.mjs +2 -2
  352. package/validation/rules/UniqueTypeNames.js +2 -2
  353. package/validation/rules/UniqueTypeNames.js.flow +4 -4
  354. package/validation/rules/UniqueTypeNames.mjs +2 -2
  355. package/validation/rules/UniqueVariableNames.js +2 -2
  356. package/validation/rules/UniqueVariableNames.js.flow +4 -4
  357. package/validation/rules/UniqueVariableNames.mjs +2 -2
  358. package/validation/rules/ValuesOfCorrectType.js +2 -2
  359. package/validation/rules/ValuesOfCorrectType.js.flow +5 -5
  360. package/validation/rules/ValuesOfCorrectType.mjs +2 -2
  361. package/validation/rules/VariablesAreInputTypes.js +3 -3
  362. package/validation/rules/VariablesAreInputTypes.js.flow +5 -5
  363. package/validation/rules/VariablesAreInputTypes.mjs +3 -3
  364. package/validation/rules/VariablesInAllowedPosition.js +3 -3
  365. package/validation/rules/VariablesInAllowedPosition.js.flow +7 -8
  366. package/validation/rules/VariablesInAllowedPosition.mjs +3 -3
  367. package/validation/specifiedRules.js +2 -2
  368. package/validation/specifiedRules.js.flow +13 -6
  369. package/validation/specifiedRules.mjs +7 -7
  370. package/validation/validate.js +2 -2
  371. package/validation/validate.js.flow +10 -6
  372. package/validation/validate.mjs +2 -2
  373. package/jsutils/MaybePromise.js +0 -1
  374. package/jsutils/MaybePromise.mjs +0 -0
  375. package/language/blockStringValue.js +0 -73
  376. package/language/blockStringValue.js.flow +0 -64
  377. package/language/blockStringValue.mjs +0 -66
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -53,4 +53,4 @@ export default function dedent(strings) {
53
53
  return next;
54
54
  }, '');
55
55
  return fixIndent(str);
56
- }
56
+ }
@@ -10,7 +10,7 @@ var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomI
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
12
12
  /**
13
- * Copyright (c) 2015-present, Facebook, Inc.
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
@@ -31,4 +31,4 @@ classObject) {
31
31
  if (_nodejsCustomInspectSymbol.default) {
32
32
  classObject.prototype[_nodejsCustomInspectSymbol.default] = fn;
33
33
  }
34
- }
34
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -21,4 +21,4 @@ classObject) {
21
21
  if (nodejsCustomInspectSymbol) {
22
22
  classObject.prototype[nodejsCustomInspectSymbol] = fn;
23
23
  }
24
- }
24
+ }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = defineToStringTag;
7
7
 
8
8
  /**
9
- * Copyright (c) 2015-present, Facebook, Inc.
9
+ * Copyright (c) Facebook, Inc. and its affiliates.
10
10
  *
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
@@ -35,4 +35,4 @@ function defineToStringTag(classObject) {
35
35
  }
36
36
  });
37
37
  }
38
- }
38
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -28,4 +28,4 @@ export default function defineToStringTag(classObject) {
28
28
  }
29
29
  });
30
30
  }
31
- }
31
+ }
@@ -11,10 +11,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
 
12
12
  function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
13
13
 
14
+ var MAX_ARRAY_LENGTH = 10;
15
+ var MAX_RECURSIVE_DEPTH = 2;
14
16
  /**
15
17
  * Used to print values in error messages.
16
18
  */
19
+
17
20
  function inspect(value) {
21
+ return formatValue(value, []);
22
+ }
23
+
24
+ function formatValue(value, seenValues) {
18
25
  switch (_typeof(value)) {
19
26
  case 'string':
20
27
  return JSON.stringify(value);
@@ -23,30 +30,84 @@ function inspect(value) {
23
30
  return value.name ? "[function ".concat(value.name, "]") : '[function]';
24
31
 
25
32
  case 'object':
26
- if (value) {
27
- var customInspectFn = getCustomFn(value);
28
-
29
- if (customInspectFn) {
30
- // $FlowFixMe(>=0.90.0)
31
- var customValue = customInspectFn.call(value);
32
- return typeof customValue === 'string' ? customValue : inspect(customValue);
33
- } else if (Array.isArray(value)) {
34
- return '[' + value.map(inspect).join(', ') + ']';
35
- }
36
-
37
- var properties = Object.keys(value).map(function (k) {
38
- return "".concat(k, ": ").concat(inspect(value[k]));
39
- }).join(', ');
40
- return properties ? '{ ' + properties + ' }' : '{}';
41
- }
42
-
43
- return String(value);
33
+ return formatObjectValue(value, seenValues);
44
34
 
45
35
  default:
46
36
  return String(value);
47
37
  }
48
38
  }
49
39
 
40
+ function formatObjectValue(value, previouslySeenValues) {
41
+ if (previouslySeenValues.indexOf(value) !== -1) {
42
+ return '[Circular]';
43
+ }
44
+
45
+ var seenValues = [].concat(previouslySeenValues, [value]);
46
+
47
+ if (value) {
48
+ var customInspectFn = getCustomFn(value);
49
+
50
+ if (customInspectFn !== undefined) {
51
+ // $FlowFixMe(>=0.90.0)
52
+ var customValue = customInspectFn.call(value); // check for infinite recursion
53
+
54
+ if (customValue !== value) {
55
+ return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);
56
+ }
57
+ } else if (Array.isArray(value)) {
58
+ return formatArray(value, seenValues);
59
+ }
60
+
61
+ return formatObject(value, seenValues);
62
+ }
63
+
64
+ return String(value);
65
+ }
66
+
67
+ function formatObject(object, seenValues) {
68
+ var keys = Object.keys(object);
69
+
70
+ if (keys.length === 0) {
71
+ return '{}';
72
+ }
73
+
74
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
75
+ return '[' + getObjectTag(object) + ']';
76
+ }
77
+
78
+ var properties = keys.map(function (key) {
79
+ var value = formatValue(object[key], seenValues);
80
+ return key + ': ' + value;
81
+ });
82
+ return '{ ' + properties.join(', ') + ' }';
83
+ }
84
+
85
+ function formatArray(array, seenValues) {
86
+ if (array.length === 0) {
87
+ return '[]';
88
+ }
89
+
90
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
91
+ return '[Array]';
92
+ }
93
+
94
+ var len = Math.min(MAX_ARRAY_LENGTH, array.length);
95
+ var remaining = array.length - len;
96
+ var items = [];
97
+
98
+ for (var i = 0; i < len; ++i) {
99
+ items.push(formatValue(array[i], seenValues));
100
+ }
101
+
102
+ if (remaining === 1) {
103
+ items.push('... 1 more item');
104
+ } else if (remaining > 1) {
105
+ items.push("... ".concat(remaining, " more items"));
106
+ }
107
+
108
+ return '[' + items.join(', ') + ']';
109
+ }
110
+
50
111
  function getCustomFn(object) {
51
112
  var customInspectFn = object[String(_nodejsCustomInspectSymbol.default)];
52
113
 
@@ -57,4 +118,18 @@ function getCustomFn(object) {
57
118
  if (typeof object.inspect === 'function') {
58
119
  return object.inspect;
59
120
  }
60
- }
121
+ }
122
+
123
+ function getObjectTag(object) {
124
+ var tag = Object.prototype.toString.call(object).replace(/^\[object /, '').replace(/]$/, '');
125
+
126
+ if (tag === 'Object' && typeof object.constructor === 'function') {
127
+ var name = object.constructor.name;
128
+
129
+ if (typeof name === 'string') {
130
+ return name;
131
+ }
132
+ }
133
+
134
+ return tag;
135
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -9,40 +9,102 @@
9
9
 
10
10
  import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
11
11
 
12
+ const MAX_ARRAY_LENGTH = 10;
13
+ const MAX_RECURSIVE_DEPTH = 2;
14
+
12
15
  /**
13
16
  * Used to print values in error messages.
14
17
  */
15
18
  export default function inspect(value: mixed): string {
19
+ return formatValue(value, []);
20
+ }
21
+
22
+ function formatValue(value, seenValues) {
16
23
  switch (typeof value) {
17
24
  case 'string':
18
25
  return JSON.stringify(value);
19
26
  case 'function':
20
27
  return value.name ? `[function ${value.name}]` : '[function]';
21
28
  case 'object':
22
- if (value) {
23
- const customInspectFn = getCustomFn(value);
24
-
25
- if (customInspectFn) {
26
- // $FlowFixMe(>=0.90.0)
27
- const customValue = customInspectFn.call(value);
28
- return typeof customValue === 'string'
29
- ? customValue
30
- : inspect(customValue);
31
- } else if (Array.isArray(value)) {
32
- return '[' + value.map(inspect).join(', ') + ']';
33
- }
34
-
35
- const properties = Object.keys(value)
36
- .map(k => `${k}: ${inspect(value[k])}`)
37
- .join(', ');
38
- return properties ? '{ ' + properties + ' }' : '{}';
39
- }
40
- return String(value);
29
+ return formatObjectValue(value, seenValues);
41
30
  default:
42
31
  return String(value);
43
32
  }
44
33
  }
45
34
 
35
+ function formatObjectValue(value, previouslySeenValues) {
36
+ if (previouslySeenValues.indexOf(value) !== -1) {
37
+ return '[Circular]';
38
+ }
39
+ const seenValues = [...previouslySeenValues, value];
40
+
41
+ if (value) {
42
+ const customInspectFn = getCustomFn(value);
43
+
44
+ if (customInspectFn !== undefined) {
45
+ // $FlowFixMe(>=0.90.0)
46
+ const customValue = customInspectFn.call(value);
47
+
48
+ // check for infinite recursion
49
+ if (customValue !== value) {
50
+ return typeof customValue === 'string'
51
+ ? customValue
52
+ : formatValue(customValue, seenValues);
53
+ }
54
+ } else if (Array.isArray(value)) {
55
+ return formatArray(value, seenValues);
56
+ }
57
+
58
+ return formatObject(value, seenValues);
59
+ }
60
+
61
+ return String(value);
62
+ }
63
+
64
+ function formatObject(object, seenValues) {
65
+ const keys = Object.keys(object);
66
+ if (keys.length === 0) {
67
+ return '{}';
68
+ }
69
+
70
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
71
+ return '[' + getObjectTag(object) + ']';
72
+ }
73
+
74
+ const properties = keys.map(key => {
75
+ const value = formatValue(object[key], seenValues);
76
+ return key + ': ' + value;
77
+ });
78
+
79
+ return '{ ' + properties.join(', ') + ' }';
80
+ }
81
+
82
+ function formatArray(array, seenValues) {
83
+ if (array.length === 0) {
84
+ return '[]';
85
+ }
86
+
87
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
88
+ return '[Array]';
89
+ }
90
+
91
+ const len = Math.min(MAX_ARRAY_LENGTH, array.length);
92
+ const remaining = array.length - len;
93
+ const items = [];
94
+
95
+ for (let i = 0; i < len; ++i) {
96
+ items.push(formatValue(array[i], seenValues));
97
+ }
98
+
99
+ if (remaining === 1) {
100
+ items.push('... 1 more item');
101
+ } else if (remaining > 1) {
102
+ items.push(`... ${remaining} more items`);
103
+ }
104
+
105
+ return '[' + items.join(', ') + ']';
106
+ }
107
+
46
108
  function getCustomFn(object) {
47
109
  const customInspectFn = object[String(nodejsCustomInspectSymbol)];
48
110
 
@@ -54,3 +116,19 @@ function getCustomFn(object) {
54
116
  return object.inspect;
55
117
  }
56
118
  }
119
+
120
+ function getObjectTag(object) {
121
+ const tag = Object.prototype.toString
122
+ .call(object)
123
+ .replace(/^\[object /, '')
124
+ .replace(/]$/, '');
125
+
126
+ if (tag === 'Object' && typeof object.constructor === 'function') {
127
+ const name = object.constructor.name;
128
+ if (typeof name === 'string') {
129
+ return name;
130
+ }
131
+ }
132
+
133
+ return tag;
134
+ }
@@ -1,7 +1,7 @@
1
1
  function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
2
 
3
3
  /**
4
- * Copyright (c) 2015-present, Facebook, Inc.
4
+ * Copyright (c) Facebook, Inc. and its affiliates.
5
5
  *
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -9,11 +9,17 @@ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterat
9
9
  *
10
10
  */
11
11
  import nodejsCustomInspectSymbol from './nodejsCustomInspectSymbol';
12
+ var MAX_ARRAY_LENGTH = 10;
13
+ var MAX_RECURSIVE_DEPTH = 2;
12
14
  /**
13
15
  * Used to print values in error messages.
14
16
  */
15
17
 
16
18
  export default function inspect(value) {
19
+ return formatValue(value, []);
20
+ }
21
+
22
+ function formatValue(value, seenValues) {
17
23
  switch (_typeof(value)) {
18
24
  case 'string':
19
25
  return JSON.stringify(value);
@@ -22,30 +28,84 @@ export default function inspect(value) {
22
28
  return value.name ? "[function ".concat(value.name, "]") : '[function]';
23
29
 
24
30
  case 'object':
25
- if (value) {
26
- var customInspectFn = getCustomFn(value);
27
-
28
- if (customInspectFn) {
29
- // $FlowFixMe(>=0.90.0)
30
- var customValue = customInspectFn.call(value);
31
- return typeof customValue === 'string' ? customValue : inspect(customValue);
32
- } else if (Array.isArray(value)) {
33
- return '[' + value.map(inspect).join(', ') + ']';
34
- }
35
-
36
- var properties = Object.keys(value).map(function (k) {
37
- return "".concat(k, ": ").concat(inspect(value[k]));
38
- }).join(', ');
39
- return properties ? '{ ' + properties + ' }' : '{}';
40
- }
41
-
42
- return String(value);
31
+ return formatObjectValue(value, seenValues);
43
32
 
44
33
  default:
45
34
  return String(value);
46
35
  }
47
36
  }
48
37
 
38
+ function formatObjectValue(value, previouslySeenValues) {
39
+ if (previouslySeenValues.indexOf(value) !== -1) {
40
+ return '[Circular]';
41
+ }
42
+
43
+ var seenValues = [].concat(previouslySeenValues, [value]);
44
+
45
+ if (value) {
46
+ var customInspectFn = getCustomFn(value);
47
+
48
+ if (customInspectFn !== undefined) {
49
+ // $FlowFixMe(>=0.90.0)
50
+ var customValue = customInspectFn.call(value); // check for infinite recursion
51
+
52
+ if (customValue !== value) {
53
+ return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);
54
+ }
55
+ } else if (Array.isArray(value)) {
56
+ return formatArray(value, seenValues);
57
+ }
58
+
59
+ return formatObject(value, seenValues);
60
+ }
61
+
62
+ return String(value);
63
+ }
64
+
65
+ function formatObject(object, seenValues) {
66
+ var keys = Object.keys(object);
67
+
68
+ if (keys.length === 0) {
69
+ return '{}';
70
+ }
71
+
72
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
73
+ return '[' + getObjectTag(object) + ']';
74
+ }
75
+
76
+ var properties = keys.map(function (key) {
77
+ var value = formatValue(object[key], seenValues);
78
+ return key + ': ' + value;
79
+ });
80
+ return '{ ' + properties.join(', ') + ' }';
81
+ }
82
+
83
+ function formatArray(array, seenValues) {
84
+ if (array.length === 0) {
85
+ return '[]';
86
+ }
87
+
88
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
89
+ return '[Array]';
90
+ }
91
+
92
+ var len = Math.min(MAX_ARRAY_LENGTH, array.length);
93
+ var remaining = array.length - len;
94
+ var items = [];
95
+
96
+ for (var i = 0; i < len; ++i) {
97
+ items.push(formatValue(array[i], seenValues));
98
+ }
99
+
100
+ if (remaining === 1) {
101
+ items.push('... 1 more item');
102
+ } else if (remaining > 1) {
103
+ items.push("... ".concat(remaining, " more items"));
104
+ }
105
+
106
+ return '[' + items.join(', ') + ']';
107
+ }
108
+
49
109
  function getCustomFn(object) {
50
110
  var customInspectFn = object[String(nodejsCustomInspectSymbol)];
51
111
 
@@ -56,4 +116,18 @@ function getCustomFn(object) {
56
116
  if (typeof object.inspect === 'function') {
57
117
  return object.inspect;
58
118
  }
59
- }
119
+ }
120
+
121
+ function getObjectTag(object) {
122
+ var tag = Object.prototype.toString.call(object).replace(/^\[object /, '').replace(/]$/, '');
123
+
124
+ if (tag === 'Object' && typeof object.constructor === 'function') {
125
+ var name = object.constructor.name;
126
+
127
+ if (typeof name === 'string') {
128
+ return name;
129
+ }
130
+ }
131
+
132
+ return tag;
133
+ }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
 
8
8
  /**
9
- * Copyright (c) 2015-present, Facebook, Inc.
9
+ * Copyright (c) Facebook, Inc. and its affiliates.
10
10
  *
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
@@ -41,4 +41,4 @@ function instanceOf(value, constructor) {
41
41
  return false;
42
42
  };
43
43
 
44
- exports.default = _default;
44
+ exports.default = _default;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -32,4 +32,4 @@ function instanceOf(value, constructor) {
32
32
  }
33
33
 
34
34
  return false;
35
- };
35
+ };
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = invariant;
7
7
 
8
8
  /**
9
- * Copyright (c) 2015-present, Facebook, Inc.
9
+ * Copyright (c) Facebook, Inc. and its affiliates.
10
10
  *
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
@@ -14,8 +14,10 @@ exports.default = invariant;
14
14
  *
15
15
  */
16
16
  function invariant(condition, message) {
17
+ var booleanCondition = Boolean(condition);
17
18
  /* istanbul ignore else */
18
- if (!condition) {
19
+
20
+ if (!booleanCondition) {
19
21
  throw new Error(message);
20
22
  }
21
- }
23
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -8,8 +8,9 @@
8
8
  */
9
9
 
10
10
  export default function invariant(condition: mixed, message: string) {
11
+ const booleanCondition = Boolean(condition);
11
12
  /* istanbul ignore else */
12
- if (!condition) {
13
+ if (!booleanCondition) {
13
14
  throw new Error(message);
14
15
  }
15
16
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,8 +7,10 @@
7
7
  *
8
8
  */
9
9
  export default function invariant(condition, message) {
10
+ var booleanCondition = Boolean(condition);
10
11
  /* istanbul ignore else */
11
- if (!condition) {
12
+
13
+ if (!booleanCondition) {
12
14
  throw new Error(message);
13
15
  }
14
- }
16
+ }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = isInvalid;
7
7
 
8
8
  /**
9
- * Copyright (c) 2015-present, Facebook, Inc.
9
+ * Copyright (c) Facebook, Inc. and its affiliates.
10
10
  *
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
@@ -19,4 +19,4 @@ exports.default = isInvalid;
19
19
  */
20
20
  function isInvalid(value) {
21
21
  return value === undefined || value !== value;
22
- }
22
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -12,4 +12,4 @@
12
12
  */
13
13
  export default function isInvalid(value) {
14
14
  return value === undefined || value !== value;
15
- }
15
+ }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = isNullish;
7
7
 
8
8
  /**
9
- * Copyright (c) 2015-present, Facebook, Inc.
9
+ * Copyright (c) Facebook, Inc. and its affiliates.
10
10
  *
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
@@ -19,4 +19,4 @@ exports.default = isNullish;
19
19
  */
20
20
  function isNullish(value) {
21
21
  return value === null || value === undefined || value !== value;
22
- }
22
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2015-present, Facebook, Inc.
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.