UNPKG

funstream

Version:

Funstream gives you iteratorish methods on your streams.

28 lines (25 loc) 610 B
'use strict' const EventEmitter = require('events').EventEmitter const mixinPromiseStream = require('./mixin-promise-stream.js') class MiniSyncSink extends EventEmitter { constructor (opts) { super(opts) mixinPromiseStream(opts.Promise || Promise, this) if (opts.write) this._write = opts.write } write (data, encoding, next) { try { this._write(data, encoding) if (next) next() return true } catch (err) { this.emit('error', err) return false } } end () { this.emit('prefinish') this.emit('finish') } } module.exports = MiniSyncSink