update fstream to v0.1.18

This commit is contained in:
Nathan Rajlich 2012-06-06 14:31:56 -07:00
parent a07f082717
commit aa8bc9d7cf
9 changed files with 275 additions and 124 deletions

33
node_modules/fstream/lib/reader.js generated vendored
View file

@ -187,19 +187,38 @@ Reader.prototype._stat = function (currentStat) {
// if the filter doesn't pass, then just skip over this one.
// still have to emit end so that dir-walking can move on.
if (me.filter) {
var who = me._proxy || me
// special handling for ProxyReaders
if (!me.filter.call(me._proxy || me)) {
me._aborted = true
me.emit("end")
me.emit("close")
if (!me.filter.call(who, who, props)) {
if (!me._disowned) {
me.abort()
me.emit("end")
me.emit("close")
}
return
}
}
me.emit("ready", props)
// last chance to abort or disown before the flow starts!
var events = ["_stat", "stat", "ready"]
var e = 0
;(function go () {
if (me._aborted) {
me.emit("end")
me.emit("close")
return
}
// if it's a directory, then we'll be emitting "entry" events.
me._read()
if (me._paused) {
me.once("resume", go)
return
}
var ev = events[e ++]
if (!ev) return me._read()
me.emit(ev, props)
go()
})()
}
}