This repository has been archived by the owner on Mar 22, 2024. It is now read-only.
Prevent unhandled error events from the first stream of utils.safePipe
#75
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.
We have a utility function called
utils.safePipe()
that accepts anarray of streams and pipes them all together attaching error handlers at
every step.
We didn't recognise a subtle flaw that would prevent the error handler
(and any event listener, really) to be attached to the first stream on
the pipe chain: we check if
current
exists, and if not, set thecurrent stream as
current
however wereturn
right away, which meansthe error handler and event handlers defined just below never get called
on the first stream (which is the only case where
current
is notdefined).
As a bonus, this commit adds some unit tests for
utils.safePipe()
.See: balena-io/etcher#981
Signed-off-by: Juan Cruz Viotti jviotti@openmailbox.org