Edit File: rejection-stream.js
/** * rejection-stream.js: TODO: add file header handler. * * (C) 2010 Charlie Robbins * MIT LICENCE */ 'use strict'; const { Writable } = require('readable-stream'); /** * TODO: add class description. * @type {RejectionStream} * @extends {Writable} */ module.exports = class RejectionStream extends Writable { /** * Constructor function for the RejectionStream responsible for wrapping a * TransportStream; only allowing writes of `info` objects with * `info.rejection` set to true. * @param {!TransportStream} transport - Stream to filter to rejections */ constructor(transport) { super({ objectMode: true }); if (!transport) { throw new Error('RejectionStream requires a TransportStream instance.'); } this.handleRejections = true; this.transport = transport; } /** * Writes the info object to our transport instance if (and only if) the * `rejection` property is set on the info. * @param {mixed} info - TODO: add param description. * @param {mixed} enc - TODO: add param description. * @param {mixed} callback - TODO: add param description. * @returns {mixed} - TODO: add return description. * @private */ _write(info, enc, callback) { if (info.rejection) { return this.transport.log(info, callback); } callback(); return true; } };
Back to File Manager