From e88d0579b0e5b5a0a89b5ffba66a733b912aad12 Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Mon, 29 Sep 2014 14:53:11 +0200 Subject: [PATCH] Use nice-pipe instead of own code. --- packages/xo-cli/index.js | 27 +++------------------------ packages/xo-cli/package.json | 1 + 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/packages/xo-cli/index.js b/packages/xo-cli/index.js index 9fde2d5b9..cdd4e71f8 100755 --- a/packages/xo-cli/index.js +++ b/packages/xo-cli/index.js @@ -21,6 +21,7 @@ var got = require('got'); var humanFormat = require('human-format'); var isObject = require('lodash.isobject'); var multiline = require('multiline'); +var nicePipe = require('nice-pipe'); var pairs = require('lodash.pairs'); var prettyMs = require('pretty-ms'); var progressStream = require('progress-stream'); @@ -53,28 +54,6 @@ function connect() { }); } -function pipeWithErrors(streams) { - var current; - - forEach(streams, function (stream) { - if (!stream) { - return; - } - - if (current) { - current.on('error', function forwardError(error) { - stream.emit('error', error); - }); - current = current.pipe(stream); - } - else { - current = stream; - } - }); - - return current; -} - function printProgress(progress) { if (progress.length) { console.warn('%s% of %s @ %s/s - ETA %s', @@ -275,7 +254,7 @@ function call(args) { url = resolveUrl(baseUrl, result[key]); var output = createWriteStream(file); - return eventToPromise(pipeWithErrors([ + return eventToPromise(nicePipe([ got(url), progressStream({ time: 1e3 }, printProgress), output, @@ -288,7 +267,7 @@ function call(args) { return stat(file).then(function (stats) { var length = stats.size; - var input = pipeWithErrors([ + var input = nicePipe([ createReadStream(file), progressStream({ length: length, diff --git a/packages/xo-cli/package.json b/packages/xo-cli/package.json index 259910988..cd6985368 100644 --- a/packages/xo-cli/package.json +++ b/packages/xo-cli/package.json @@ -38,6 +38,7 @@ "lodash.pairs": "^2.4.1", "mkdirp": "^0.5.0", "multiline": "^0.3.4", + "nice-pipe": "0.0.0", "pretty-ms": "^1.0.0", "progress-stream": "^0.5.0", "sent": "^1.1.0",