23 lines
438 B
JavaScript
23 lines
438 B
JavaScript
'use strict';
|
|
|
|
const {Writable} = require('stream');
|
|
|
|
class Emitter extends Writable {
|
|
static make(options) {
|
|
return new Emitter(options);
|
|
}
|
|
|
|
constructor(options) {
|
|
super(Object.assign({}, options, {objectMode: true}));
|
|
}
|
|
|
|
_write(chunk, encoding, callback) {
|
|
this.emit(chunk.name, chunk.value);
|
|
callback(null);
|
|
}
|
|
}
|
|
Emitter.emitter = Emitter.make;
|
|
Emitter.make.Constructor = Emitter;
|
|
|
|
module.exports = Emitter;
|