summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/readable-stream/lib/_stream_writable.js
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2018-04-05 22:51:49 +0200
committerAnna Henningsen <anna@addaleax.net>2018-04-05 23:00:02 +0200
commite37effe4cec98688e75d770f4d0b7f68927e2b73 (patch)
treee7efa0fc8a2139f9aba4b66ea3f3613262f20cef /deps/npm/node_modules/readable-stream/lib/_stream_writable.js
parent026f6b787a7a23597790f1f0b076c58a68c7c38b (diff)
downloadandroid-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.tar.gz
android-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.tar.bz2
android-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.zip
Revert "deps: upgrade npm to 5.8.0"
This reverts commit 25a816dcda7b1db0929501acfe13f2fe5119759b. PR-URL: https://github.com/nodejs/node/pull/19837 Reviewed-By: Gus Caplan <me@gus.host>
Diffstat (limited to 'deps/npm/node_modules/readable-stream/lib/_stream_writable.js')
-rw-r--r--deps/npm/node_modules/readable-stream/lib/_stream_writable.js37
1 files changed, 12 insertions, 25 deletions
diff --git a/deps/npm/node_modules/readable-stream/lib/_stream_writable.js b/deps/npm/node_modules/readable-stream/lib/_stream_writable.js
index 0e1c28df51..d20da88c75 100644
--- a/deps/npm/node_modules/readable-stream/lib/_stream_writable.js
+++ b/deps/npm/node_modules/readable-stream/lib/_stream_writable.js
@@ -27,7 +27,7 @@
/*<replacement>*/
-var pna = require('process-nextick-args');
+var processNextTick = require('process-nextick-args');
/*</replacement>*/
module.exports = Writable;
@@ -54,7 +54,7 @@ function CorkedRequest(state) {
/* </replacement> */
/*<replacement>*/
-var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
+var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick;
/*</replacement>*/
/*<replacement>*/
@@ -79,7 +79,6 @@ var Stream = require('./internal/streams/stream');
/*</replacement>*/
/*<replacement>*/
-
var Buffer = require('safe-buffer').Buffer;
var OurUint8Array = global.Uint8Array || function () {};
function _uint8ArrayToBuffer(chunk) {
@@ -88,7 +87,6 @@ function _uint8ArrayToBuffer(chunk) {
function _isUint8Array(obj) {
return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
}
-
/*</replacement>*/
var destroyImpl = require('./internal/streams/destroy');
@@ -102,27 +100,18 @@ function WritableState(options, stream) {
options = options || {};
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream.
- // These options can be provided separately as readableXXX and writableXXX.
- var isDuplex = stream instanceof Duplex;
-
// object stream flag to indicate whether or not this stream
// contains buffers or objects.
this.objectMode = !!options.objectMode;
- if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
+ if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
// the point at which write() starts returning false
// Note: 0 is a valid value, means that we always return false if
// the entire buffer is not flushed immediately on write()
var hwm = options.highWaterMark;
- var writableHwm = options.writableHighWaterMark;
var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-
- if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;
+ this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
// cast to ints.
this.highWaterMark = Math.floor(this.highWaterMark);
@@ -236,7 +225,6 @@ if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.protot
Object.defineProperty(Writable, Symbol.hasInstance, {
value: function (object) {
if (realHasInstance.call(this, object)) return true;
- if (this !== Writable) return false;
return object && object._writableState instanceof WritableState;
}
@@ -288,7 +276,7 @@ function writeAfterEnd(stream, cb) {
var er = new Error('write after end');
// TODO: defer error events consistently everywhere, not just the cb
stream.emit('error', er);
- pna.nextTick(cb, er);
+ processNextTick(cb, er);
}
// Checks that a user-supplied chunk is valid, especially for the particular
@@ -305,7 +293,7 @@ function validChunk(stream, state, chunk, cb) {
}
if (er) {
stream.emit('error', er);
- pna.nextTick(cb, er);
+ processNextTick(cb, er);
valid = false;
}
return valid;
@@ -314,7 +302,7 @@ function validChunk(stream, state, chunk, cb) {
Writable.prototype.write = function (chunk, encoding, cb) {
var state = this._writableState;
var ret = false;
- var isBuf = !state.objectMode && _isUint8Array(chunk);
+ var isBuf = _isUint8Array(chunk) && !state.objectMode;
if (isBuf && !Buffer.isBuffer(chunk)) {
chunk = _uint8ArrayToBuffer(chunk);
@@ -425,10 +413,10 @@ function onwriteError(stream, state, sync, er, cb) {
if (sync) {
// defer the callback if we are being called synchronously
// to avoid piling up things on the stack
- pna.nextTick(cb, er);
+ processNextTick(cb, er);
// this can emit finish, and it will always happen
// after error
- pna.nextTick(finishMaybe, stream, state);
+ processNextTick(finishMaybe, stream, state);
stream._writableState.errorEmitted = true;
stream.emit('error', er);
} else {
@@ -526,7 +514,6 @@ function clearBuffer(stream, state) {
} else {
state.corkedRequestsFree = new CorkedRequest(state);
}
- state.bufferedRequestCount = 0;
} else {
// Slow case, write chunks one-by-one
while (entry) {
@@ -537,7 +524,6 @@ function clearBuffer(stream, state) {
doWrite(stream, state, false, len, chunk, encoding, cb);
entry = entry.next;
- state.bufferedRequestCount--;
// if we didn't call the onwrite immediately, then
// it means that we need to wait until it does.
// also, that means that the chunk and cb are currently
@@ -550,6 +536,7 @@ function clearBuffer(stream, state) {
if (entry === null) state.lastBufferedRequest = null;
}
+ state.bufferedRequestCount = 0;
state.bufferedRequest = entry;
state.bufferProcessing = false;
}
@@ -603,7 +590,7 @@ function prefinish(stream, state) {
if (typeof stream._final === 'function') {
state.pendingcb++;
state.finalCalled = true;
- pna.nextTick(callFinal, stream, state);
+ processNextTick(callFinal, stream, state);
} else {
state.prefinished = true;
stream.emit('prefinish');
@@ -627,7 +614,7 @@ function endWritable(stream, state, cb) {
state.ending = true;
finishMaybe(stream, state);
if (cb) {
- if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);
+ if (state.finished) processNextTick(cb);else stream.once('finish', cb);
}
state.ended = true;
stream.writable = false;