fix(errors): default options so transform works without a second argument - #359
Open
sarathfrancis90 wants to merge 1 commit into
Open
fix(errors): default options so transform works without a second argument#359sarathfrancis90 wants to merge 1 commit into
sarathfrancis90 wants to merge 1 commit into
Conversation
…ment
The errors format destructured its options parameter directly
((einfo, { stack, cause }) => ...), so calling transform with only an
info argument threw 'Cannot destructure property stack of undefined'.
This is the exact call shown in the README's Errors example
(errorsFormat.transform(new Error('Oh no!'))).
Default the options to an empty object (as timestamp, metadata and
pretty-print already do) and destructure stack/cause from it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #238
The README's Errors example calls
errorsFormat.transform(new Error('Oh no!'))with a single argument, but that throwsTypeError: Cannot destructure property 'stack' of 'undefined'. Several people have hit this and worked around it by passing the error twice.Cause:
errors.jsdestructured its options parameter directly —(einfo, { stack, cause }) => ...— so whentransformis called without a second argument, the destructure runs onundefinedand throws.Fix: default the options to an empty object and destructure
stack/causefrom it. This matches whattimestamp,metadataandpretty-printalready do, and is a no-op when options are passed normally through the format pipeline.Testing: added a test that calls
transformwith a single argument (fails before, passes after). Full suite (170 tests) and lint are green.