use a Duplex stream for EOF

This commit is contained in:
Danny Coates 2018-06-25 14:01:08 -07:00
parent beccd80902
commit 126ea8c7e6
No known key found for this signature in database
GPG key ID: 4C442633C62E00CB
3 changed files with 31 additions and 30 deletions

View file

@ -1,23 +1,15 @@
const { Transform } = require('stream');
const { Duplex } = require('stream');
class StreamParser extends Transform {
constructor() {
super();
let res;
this.promise = new Promise(resolve => {
res = resolve;
});
this.res = res;
}
_transform(chunk, encoding, callback) {
class StreamParser extends Duplex {
_write(chunk, encoding, callback) {
if (chunk.byteLength === 1 && chunk[0] === 0) {
this.res();
this.push(null);
} else {
this.push(chunk);
}
callback();
}
_read() {}
}
module.exports = StreamParser;