diff options
author | isaacs <i@izs.me> | 2012-03-28 00:50:59 +0400 |
---|---|---|
committer | isaacs <i@izs.me> | 2012-03-28 00:50:59 +0400 |
commit | d3eb770edf8d2cf0376b4f526a4d4a8da5eb387f (patch) | |
tree | 003147e359658f1b9d7ca136ba07c8d099bb89d6 /node_modules/fstream | |
parent | 4ca6aa67c2ef60cec079720b1251cebdc63b29e9 (diff) |
Update fstream
Diffstat (limited to 'node_modules/fstream')
-rw-r--r-- | node_modules/fstream/lib/dir-reader.js | 6 | ||||
-rw-r--r-- | node_modules/fstream/lib/reader.js | 26 | ||||
-rw-r--r-- | node_modules/fstream/package.json | 6 |
3 files changed, 25 insertions, 13 deletions
diff --git a/node_modules/fstream/lib/dir-reader.js b/node_modules/fstream/lib/dir-reader.js index ef769dd33..6a418c0bc 100644 --- a/node_modules/fstream/lib/dir-reader.js +++ b/node_modules/fstream/lib/dir-reader.js @@ -130,7 +130,11 @@ DirReader.prototype._read = function () { }) entry.on("stat", function (props) { - me.emit("entryStat", entry, props) + me.emit("_entryStat", entry, props) + if (entry._aborted) return + if (entry._paused) entry.once("resume", function () { + me.emit("entryStat", entry, props) + }) }) entry.on("ready", function EMITCHILD () { diff --git a/node_modules/fstream/lib/reader.js b/node_modules/fstream/lib/reader.js index 16f0d1ea0..e4e1b482c 100644 --- a/node_modules/fstream/lib/reader.js +++ b/node_modules/fstream/lib/reader.js @@ -200,17 +200,25 @@ Reader.prototype._stat = function (currentStat) { } // last chance to abort or disown before the flow starts! - me.emit("stat", props) - if (me._aborted) { - me.emit("end") - me.emit("close") - return - } + var events = ["_stat", "stat", "ready"] + var e = 0 + ;(function go () { + if (me._aborted) { + me.emit("end") + me.emit("close") + return + } - me.emit("ready", props) + if (me._paused) { + me.once("resume", go) + return + } - // if it's a directory, then we'll be emitting "entry" events. - if (!me._paused) me._read() + var ev = events[e ++] + if (!ev) return me._read() + me.emit(ev, props) + go() + })() } } diff --git a/node_modules/fstream/package.json b/node_modules/fstream/package.json index 425308ead..c503ac00d 100644 --- a/node_modules/fstream/package.json +++ b/node_modules/fstream/package.json @@ -6,7 +6,7 @@ }, "name": "fstream", "description": "Advanced file system stream things", - "version": "0.1.16", + "version": "0.1.17", "repository": { "type": "git", "url": "git://github.com/isaacs/fstream.git" @@ -32,11 +32,11 @@ "name": "isaacs", "email": "i@izs.me" }, - "_id": "fstream@0.1.16", + "_id": "fstream@0.1.17", "optionalDependencies": {}, "_engineSupported": true, "_npmVersion": "1.1.12", "_nodeVersion": "v0.7.7-pre", "_defaultsLoaded": true, - "_from": "fstream@~0.1.15" + "_from": "fstream@~0.1.16" } |