node-qrcode-lite/test/mocks/writable-stream.js
2020-04-16 22:50:11 +01:00

30 lines
644 B
JavaScript

const stream = require('stream')
const util = require('util')
function WritableStream () {
stream.Writable.call(this)
this.forceError = false
this.once('finish', function () {
this.close()
})
}
util.inherits(WritableStream, stream.Writable)
WritableStream.prototype._write = function (data, encoding, cb) {
if (this.forceError) this.emit('error', new Error('Fake error'))
cb(this.forceError || null)
}
WritableStream.prototype.close = function (cb) {
this.emit('close')
if (cb) cb()
}
WritableStream.prototype.forceErrorOnWrite = function () {
this.forceError = true
return this
}
module.exports = WritableStream