From 6f814a601b37db1f44113e56a1eaa0c32a33b0a2 Mon Sep 17 00:00:00 2001 From: Dominic Tarr Date: Wed, 24 Apr 2013 16:27:50 +0100 Subject: [PATCH] emit "end" exactly once --- index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 5531117..7b935bf 100644 --- a/index.js +++ b/index.js @@ -14,7 +14,7 @@ function through (write, end, opts) { write = write || function (data) { this.queue(data) } end = end || function () { this.queue(null) } - var ended = false, destroyed = false, buffer = [] + var ended = false, destroyed = false, buffer = [], _ended = false var stream = new Stream() stream.readable = stream.writable = true stream.paused = false @@ -38,6 +38,9 @@ function through (write, end, opts) { } stream.queue = stream.push = function (data) { +// console.error(ended) + if(_ended) return stream + if(data == null) _ended = true buffer.push(data) drain() return stream