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:
authorisaacs <i@izs.me>2019-05-22 02:48:14 +0300
committerisaacs <i@izs.me>2019-06-30 06:23:53 +0300
commit011ae67f074556890b6de44c84545829497e31fb (patch)
tree70f50931ff0f6b51cd2d5468b762ee6018d1da74 /node_modules/readable-stream
parent31718e72cb5a03cee7127fc36843e4b55c868d93 (diff)
readable-stream@3.3.0
This fixes a ERR_INVALID_OPT_VALUE error on Node v12
Diffstat (limited to 'node_modules/readable-stream')
-rw-r--r--node_modules/readable-stream/README.md2
-rw-r--r--node_modules/readable-stream/lib/_stream_readable.js30
-rw-r--r--node_modules/readable-stream/lib/internal/streams/async_iterator.js17
-rw-r--r--node_modules/readable-stream/lib/internal/streams/end-of-stream.js43
-rw-r--r--node_modules/readable-stream/package.json23
5 files changed, 77 insertions, 38 deletions
diff --git a/node_modules/readable-stream/README.md b/node_modules/readable-stream/README.md
index 08aca9c42..28ccae161 100644
--- a/node_modules/readable-stream/README.md
+++ b/node_modules/readable-stream/README.md
@@ -15,7 +15,7 @@ npm install --save readable-stream
This package is a mirror of the streams implementations in Node.js.
-Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.15.2/docs/api/stream.html).
+Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.15.3/docs/api/stream.html).
If you want to guarantee a stable streams base, regardless of what version of
Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
diff --git a/node_modules/readable-stream/lib/_stream_readable.js b/node_modules/readable-stream/lib/_stream_readable.js
index 42e16bc8b..33f478d7e 100644
--- a/node_modules/readable-stream/lib/_stream_readable.js
+++ b/node_modules/readable-stream/lib/_stream_readable.js
@@ -544,13 +544,35 @@ function maybeReadMore(stream, state) {
}
function maybeReadMore_(stream, state) {
- var len = state.length;
-
- while (!state.reading && !state.ended && state.length < state.highWaterMark) {
+ // Attempt to read more data if we should.
+ //
+ // The conditions for reading more data are (one of):
+ // - Not enough data buffered (state.length < state.highWaterMark). The loop
+ // is responsible for filling the buffer with enough data if such data
+ // is available. If highWaterMark is 0 and we are not in the flowing mode
+ // we should _not_ attempt to buffer any extra data. We'll get more data
+ // when the stream consumer calls read() instead.
+ // - No data in the buffer, and the stream is in flowing mode. In this mode
+ // the loop below is responsible for ensuring read() is called. Failing to
+ // call read here would abort the flow and there's no other mechanism for
+ // continuing the flow if the stream consumer has just subscribed to the
+ // 'data' event.
+ //
+ // In addition to the above conditions to keep reading data, the following
+ // conditions prevent the data from being read:
+ // - The stream has ended (state.ended).
+ // - There is already a pending 'read' operation (state.reading). This is a
+ // case where the the stream has called the implementation defined _read()
+ // method, but they are processing the call asynchronously and have _not_
+ // called push() with new data. In this case we skip performing more
+ // read()s. The execution ends in this method again after the _read() ends
+ // up calling push() with more data.
+ while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
+ var len = state.length;
debug('maybeReadMore read 0');
stream.read(0);
if (len === state.length) // didn't get any data, stop spinning.
- break;else len = state.length;
+ break;
}
state.readingMore = false;
diff --git a/node_modules/readable-stream/lib/internal/streams/async_iterator.js b/node_modules/readable-stream/lib/internal/streams/async_iterator.js
index 79a6e1e11..9fb615a2f 100644
--- a/node_modules/readable-stream/lib/internal/streams/async_iterator.js
+++ b/node_modules/readable-stream/lib/internal/streams/async_iterator.js
@@ -47,6 +47,11 @@ function onReadable(iter) {
function wrapForNext(lastPromise, iter) {
return function (resolve, reject) {
lastPromise.then(function () {
+ if (iter[kEnded]) {
+ resolve(createIterResult(undefined, true));
+ return;
+ }
+
iter[kHandlePromise](resolve, reject);
}, reject);
};
@@ -70,7 +75,7 @@ var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPro
}
if (this[kEnded]) {
- return Promise.resolve(createIterResult(null, true));
+ return Promise.resolve(createIterResult(undefined, true));
}
if (this[kStream].destroyed) {
@@ -83,7 +88,7 @@ var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPro
if (_this[kError]) {
reject(_this[kError]);
} else {
- resolve(createIterResult(null, true));
+ resolve(createIterResult(undefined, true));
}
});
});
@@ -128,7 +133,7 @@ var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPro
return;
}
- resolve(createIterResult(null, true));
+ resolve(createIterResult(undefined, true));
});
});
}), _Object$setPrototypeO), AsyncIteratorPrototype);
@@ -151,9 +156,6 @@ var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterat
}), _defineProperty(_Object$create, kEnded, {
value: stream._readableState.endEmitted,
writable: true
- }), _defineProperty(_Object$create, kLastPromise, {
- value: null,
- writable: true
}), _defineProperty(_Object$create, kHandlePromise, {
value: function value(resolve, reject) {
var data = iterator[kStream].read();
@@ -170,6 +172,7 @@ var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterat
},
writable: true
}), _Object$create));
+ iterator[kLastPromise] = null;
finished(stream, function (err) {
if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {
var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise
@@ -192,7 +195,7 @@ var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterat
iterator[kLastPromise] = null;
iterator[kLastResolve] = null;
iterator[kLastReject] = null;
- resolve(createIterResult(null, true));
+ resolve(createIterResult(undefined, true));
}
iterator[kEnded] = true;
diff --git a/node_modules/readable-stream/lib/internal/streams/end-of-stream.js b/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
index cf23d53b5..831f286d9 100644
--- a/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+++ b/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
@@ -4,27 +4,30 @@
var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;
-function noop() {}
-
-function isRequest(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-}
-
function once(callback) {
var called = false;
- return function (err) {
+ return function () {
if (called) return;
called = true;
- callback.call(this, err);
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ callback.apply(this, args);
};
}
+function noop() {}
+
+function isRequest(stream) {
+ return stream.setHeader && typeof stream.abort === 'function';
+}
+
function eos(stream, opts, callback) {
if (typeof opts === 'function') return eos(stream, null, opts);
if (!opts) opts = {};
callback = once(callback || noop);
- var ws = stream._writableState;
- var rs = stream._readableState;
var readable = opts.readable || opts.readable !== false && stream.readable;
var writable = opts.writable || opts.writable !== false && stream.writable;
@@ -32,13 +35,19 @@ function eos(stream, opts, callback) {
if (!stream.writable) onfinish();
};
+ var writableEnded = stream._writableState && stream._writableState.finished;
+
var onfinish = function onfinish() {
writable = false;
+ writableEnded = true;
if (!readable) callback.call(stream);
};
+ var readableEnded = stream._readableState && stream._readableState.endEmitted;
+
var onend = function onend() {
readable = false;
+ readableEnded = true;
if (!writable) callback.call(stream);
};
@@ -47,12 +56,16 @@ function eos(stream, opts, callback) {
};
var onclose = function onclose() {
- if (readable && !(rs && rs.ended)) {
- return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+ var err;
+
+ if (readable && !readableEnded) {
+ if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
+ return callback.call(stream, err);
}
- if (writable && !(ws && ws.ended)) {
- return callback.call(stream, new ERR_STREAM_PREMATURE_CLOSE());
+ if (writable && !writableEnded) {
+ if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
+ return callback.call(stream, err);
}
};
@@ -64,7 +77,7 @@ function eos(stream, opts, callback) {
stream.on('complete', onfinish);
stream.on('abort', onclose);
if (stream.req) onrequest();else stream.on('request', onrequest);
- } else if (writable && !ws) {
+ } else if (writable && !stream._writableState) {
// legacy streams
stream.on('end', onlegacyfinish);
stream.on('close', onlegacyfinish);
diff --git a/node_modules/readable-stream/package.json b/node_modules/readable-stream/package.json
index 5b9bab6b7..e2cd94359 100644
--- a/node_modules/readable-stream/package.json
+++ b/node_modules/readable-stream/package.json
@@ -1,29 +1,30 @@
{
- "_from": "readable-stream@3.2.0",
- "_id": "readable-stream@3.2.0",
+ "_from": "readable-stream@3.3.0",
+ "_id": "readable-stream@3.3.0",
"_inBundle": false,
- "_integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==",
+ "_integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==",
"_location": "/readable-stream",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "readable-stream@3.2.0",
+ "raw": "readable-stream@3.3.0",
"name": "readable-stream",
"escapedName": "readable-stream",
- "rawSpec": "3.2.0",
+ "rawSpec": "3.3.0",
"saveSpec": null,
- "fetchSpec": "3.2.0"
+ "fetchSpec": "3.3.0"
},
"_requiredBy": [
"#USER",
"/",
+ "/bl",
"/tar-stream"
],
- "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz",
- "_shasum": "de17f229864c120a9f56945756e4f32c4045245d",
- "_spec": "readable-stream@3.2.0",
- "_where": "/Users/aeschright/code/cli",
+ "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz",
+ "_shasum": "cb8011aad002eb717bf040291feba8569c986fb9",
+ "_spec": "readable-stream@3.3.0",
+ "_where": "/Users/isaacs/dev/npm/cli",
"browser": {
"util": false,
"worker_threads": false,
@@ -93,5 +94,5 @@
"test-browsers": "airtap --sauce-connect --loopback airtap.local -- test/browser.js",
"update-browser-errors": "babel -o errors-browser.js errors.js"
},
- "version": "3.2.0"
+ "version": "3.3.0"
}