Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/combined-stream')
-rw-r--r--node_modules/combined-stream/lib/combined_stream.js23
-rw-r--r--node_modules/combined-stream/lib/defer.js26
-rw-r--r--node_modules/combined-stream/package.json23
-rw-r--r--node_modules/combined-stream/yarn.lock17
4 files changed, 50 insertions, 39 deletions
diff --git a/node_modules/combined-stream/lib/combined_stream.js b/node_modules/combined-stream/lib/combined_stream.js
index 809b3c2e7..125f097f3 100644
--- a/node_modules/combined-stream/lib/combined_stream.js
+++ b/node_modules/combined-stream/lib/combined_stream.js
@@ -1,7 +1,6 @@
var util = require('util');
var Stream = require('stream').Stream;
var DelayedStream = require('delayed-stream');
-var defer = require('./defer.js');
module.exports = CombinedStream;
function CombinedStream() {
@@ -14,6 +13,8 @@ function CombinedStream() {
this._released = false;
this._streams = [];
this._currentStream = null;
+ this._insideLoop = false;
+ this._pendingNext = false;
}
util.inherits(CombinedStream, Stream);
@@ -68,6 +69,24 @@ CombinedStream.prototype.pipe = function(dest, options) {
CombinedStream.prototype._getNext = function() {
this._currentStream = null;
+
+ if (this._insideLoop) {
+ this._pendingNext = true;
+ return; // defer call
+ }
+
+ this._insideLoop = true;
+ try {
+ do {
+ this._pendingNext = false;
+ this._realGetNext();
+ } while (this._pendingNext);
+ } finally {
+ this._insideLoop = false;
+ }
+};
+
+CombinedStream.prototype._realGetNext = function() {
var stream = this._streams.shift();
@@ -89,7 +108,7 @@ CombinedStream.prototype._getNext = function() {
this._handleErrors(stream);
}
- defer(this._pipeNext.bind(this, stream));
+ this._pipeNext(stream);
}.bind(this));
};
diff --git a/node_modules/combined-stream/lib/defer.js b/node_modules/combined-stream/lib/defer.js
deleted file mode 100644
index b67110c7a..000000000
--- a/node_modules/combined-stream/lib/defer.js
+++ /dev/null
@@ -1,26 +0,0 @@
-module.exports = defer;
-
-/**
- * Runs provided function on next iteration of the event loop
- *
- * @param {function} fn - function to run
- */
-function defer(fn)
-{
- var nextTick = typeof setImmediate == 'function'
- ? setImmediate
- : (
- typeof process == 'object' && typeof process.nextTick == 'function'
- ? process.nextTick
- : null
- );
-
- if (nextTick)
- {
- nextTick(fn);
- }
- else
- {
- setTimeout(fn, 0);
- }
-}
diff --git a/node_modules/combined-stream/package.json b/node_modules/combined-stream/package.json
index 86c891cd4..ce92c10a0 100644
--- a/node_modules/combined-stream/package.json
+++ b/node_modules/combined-stream/package.json
@@ -1,28 +1,29 @@
{
- "_from": "combined-stream@~1.0.5",
- "_id": "combined-stream@1.0.6",
+ "_from": "combined-stream@~1.0.6",
+ "_id": "combined-stream@1.0.8",
"_inBundle": false,
- "_integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+ "_integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"_location": "/combined-stream",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "combined-stream@~1.0.5",
+ "raw": "combined-stream@~1.0.6",
"name": "combined-stream",
"escapedName": "combined-stream",
- "rawSpec": "~1.0.5",
+ "rawSpec": "~1.0.6",
"saveSpec": null,
- "fetchSpec": "~1.0.5"
+ "fetchSpec": "~1.0.6"
},
"_requiredBy": [
+ "/@types/request/form-data",
"/form-data",
"/request"
],
- "_resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
- "_shasum": "723e7df6e801ac5613113a7e445a9b69cb632818",
- "_spec": "combined-stream@~1.0.5",
- "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "_resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "_shasum": "c3d45a8b34fd730631a110a8a2520682b31d5a7f",
+ "_spec": "combined-stream@~1.0.6",
+ "_where": "/Users/isaacs/dev/npm/cli/node_modules/request",
"author": {
"name": "Felix Geisendörfer",
"email": "felix@debuggable.com",
@@ -54,5 +55,5 @@
"scripts": {
"test": "node test/run.js"
},
- "version": "1.0.6"
+ "version": "1.0.8"
}
diff --git a/node_modules/combined-stream/yarn.lock b/node_modules/combined-stream/yarn.lock
new file mode 100644
index 000000000..7edf41840
--- /dev/null
+++ b/node_modules/combined-stream/yarn.lock
@@ -0,0 +1,17 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+far@~0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/far/-/far-0.0.7.tgz#01c1fd362bcd26ce9cf161af3938aa34619f79a7"
+ dependencies:
+ oop "0.0.3"
+
+oop@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/oop/-/oop-0.0.3.tgz#70fa405a5650891a194fdc82ca68dad6dabf4401"