Fix issue where ending a stream in the middle of a stream callback would result in erroneous parent stream state for the rest of that emit.
This commit is contained in:
Isiah Meadows 2020-06-16 08:36:40 -07:00 committed by GitHub
parent cf7a841c4c
commit 31d1df5caa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 1 deletions

View file

@ -29,7 +29,11 @@ function Stream(value) {
if (open(stream)) {
stream._changing()
stream._state = "active"
dependentStreams.forEach(function(s, i) { s(dependentFns[i](value)) })
// Cloning the list to ensure it's still iterated in intended
// order
dependentStreams.slice().forEach(function(s, i) {
if (open(s)) s(this[i](value))
}, dependentFns.slice())
}
}