Refactor names and delimiters of complex values in pretty-format #3986
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
There are some inconsistencies in names of complex types for various options:
Arguments []
but general case withmin: true
is[]
Array []
and so on, but general case withmin: true
is[]
hitMaxDepth
for typed array is[Array]
instead of[Uint32Array]
and so onhitMaxDepth
for constructed object is[Object]
instead of'[' + (val.constructor ? val.constructor.name : 'Object') + ']'
and I’m not sure tests cover this caseIf y’all are willing to approve breaking changes to edge cases, I can submit an additional PR.
Whether or not, this PR applies advice from Kent Beck: move similar elements closer together.
printBasicValue
toprintComplexValue
printComplexValue
printArguments
andprintArray
Effect of refactoring on performance:
indent
when it isn’t used for those values. It has been confusing to me that the special cases inprintBasicValue
(where I don’t expect to find arguments or arrays) are inconsistent with the general cases inprintCompexValue
:(isToStringedArrayType
only 1 time instead of 2 and callingprintList
directly for arguments and array is subtle, within the precision of measurement.Test plan
Jest