Emitter.js 438 B

12345678910111213141516171819202122
  1. 'use strict';
  2. const {Writable} = require('stream');
  3. class Emitter extends Writable {
  4. static make(options) {
  5. return new Emitter(options);
  6. }
  7. constructor(options) {
  8. super(Object.assign({}, options, {objectMode: true}));
  9. }
  10. _write(chunk, encoding, callback) {
  11. this.emit(chunk.name, chunk.value);
  12. callback(null);
  13. }
  14. }
  15. Emitter.emitter = Emitter.make;
  16. Emitter.make.Constructor = Emitter;
  17. module.exports = Emitter;