@redpanda-data/docs-extensions-and-macros
Version:
Antora extensions and macros developed for Redpanda documentation.
19 lines (15 loc) • 538 B
JavaScript
const { PassThrough } = require('stream')
// adapted from https://github.com/jpommerening/node-lazystream/blob/master/lib/lazystream.js | license: MIT
class LazyReadable extends PassThrough {
constructor (fn, options) {
super(options)
this._read = function () {
delete this._read // restores original method
fn.call(this, options).on('error', this.emit.bind(this, 'error')).pipe(this)
return this._read.apply(this, arguments)
}
this.emit('readable')
}
}
module.exports = LazyReadable