zip and error consumption
- Dominant language
- JavaScript
- Stars
- 3.4k
- Forks
- 145
- PR merge metrics
- No merged PRs in 30d
Description
From my reading of the zip implementation, when 2 streams S1 and S2 are zipped, errors are considered independent on each streams.
Indeed, each nextValue on S1 or S2 stream does
```
if (err) {
push(err);
nextValue(index, max, src, push, next);
}
```
so 2 streams [1,2,3] and [1,2,3] could lead to [[1,1], err, [3,2]] with a leftover of [3]
Am I correct in my reading of the code or are the 2 streams guaranteed to keep their one-to-one relationship leading to [[1,1], err, [3,3]] ?
If I am correct, could that be considered as a bug since zipping 2 streams seems to mean that they have some kind of semantic binding ?
Contributor guide
Research direction
Start with the zip implementation and trace the nextValue error-handling path described in the issue. Determine whether errors preserve the streams’ one-to-one relationship, then check existing coverage around zip behavior. Done means the intended error semantics are decided and reflected in the relevant tests or documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- stream-processing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100