base_stream.js 454 Bytes
Newer Older
Li Mingzhe's avatar
Li Mingzhe committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
'use strict';

const stream = require('stream');

class BaseStream extends stream.Readable {
  addEntry(/* entry, opts */) {
    throw new Error('.addEntry not implemented in sub class!');
  }

  _read() {}

  emit(event, data) {
    if (event === 'error') {
      const error = data;
      if (error.name === 'Error') {
        error.name = this.constructor.name + 'Error';
      }
    }
    super.emit(event, data);
  }
}

module.exports = BaseStream;