Skip to content

Commit a0f5207

Browse files
ronagtargos
authored andcommitted
stream: simplify isBuf
PR-URL: #31067 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Denys Otrishko <shishugi@gmail.com>
1 parent 83f8939 commit a0f5207

1 file changed

Lines changed: 9 additions & 20 deletions

File tree

‎lib/_stream_writable.js‎

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ Writable.prototype.write = function(chunk, encoding, cb) {
313313
writeAfterEnd(this,cb);
314314
elseif(isBuf||validChunk(this,state,chunk,cb)){
315315
state.pendingcb++;
316-
ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb);
316+
ret=writeOrBuffer(this,state,chunk,encoding,cb);
317317
}
318318

319319
returnret;
@@ -357,15 +357,6 @@ ObjectDefineProperty(Writable.prototype, 'writableBuffer', {
357357
}
358358
});
359359

360-
functiondecodeChunk(state,chunk,encoding){
361-
if(!state.objectMode&&
362-
state.decodeStrings!==false&&
363-
typeofchunk==='string'){
364-
chunk=Buffer.from(chunk,encoding);
365-
}
366-
returnchunk;
367-
}
368-
369360
ObjectDefineProperty(Writable.prototype,'writableEnded',{
370361
// Making it explicit this property is not enumerable
371362
// because otherwise some prototype manipulation in
@@ -399,14 +390,13 @@ ObjectDefineProperty(Writable.prototype, 'writableCorked', {
399390
// If we're already writing something, then just put this
400391
// in the queue, and wait our turn. Otherwise, call _write
401392
// If we return false, then we need a drain event, so set that flag.
402-
functionwriteOrBuffer(stream,state,isBuf,chunk,encoding,cb){
403-
if(!isBuf){
404-
varnewChunk=decodeChunk(state,chunk,encoding);
405-
if(chunk!==newChunk){
406-
isBuf=true;
407-
encoding='buffer';
408-
chunk=newChunk;
409-
}
393+
functionwriteOrBuffer(stream,state,chunk,encoding,cb){
394+
if(!state.objectMode&&
395+
state.decodeStrings!==false&&
396+
encoding!=='buffer'&&
397+
typeofchunk==='string'){
398+
chunk=Buffer.from(chunk,encoding);
399+
encoding='buffer';
410400
}
411401
constlen=state.objectMode ? 1 : chunk.length;
412402

@@ -422,7 +412,6 @@ function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
422412
state.lastBufferedRequest={
423413
chunk,
424414
encoding,
425-
isBuf,
426415
callback: cb,
427416
next: null
428417
};
@@ -558,7 +547,7 @@ function clearBuffer(stream, state) {
558547
varallBuffers=true;
559548
while(entry){
560549
buffer[count]=entry;
561-
if(!entry.isBuf)
550+
if(entry.encoding!=='buffer')
562551
allBuffers=false;
563552
entry=entry.next;
564553
count+=1;

0 commit comments

Comments
 (0)