Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 7x 7x 6x 6x 1x 5x 5x 3x 2x 1x 1x | /** * exception-stream.js: TODO: add file header handler. * * (C) 2010 Charlie Robbins * MIT LICENCE */ 'use strict'; const Writable = require('readable-stream/writable'); /** * TODO: add class description. * @type {ExceptionStream} * @extends {Writable} */ module.exports = class ExceptionStream extends Writable { /** * Constructor function for the ExceptionStream responsible for wrapping a * TransportStream; only allowing writes of `info` objects with * `info.exception` set to true. * @param {!TransportStream} transport - Stream to filter to exceptions */ constructor(transport) { super({ objectMode: true }); if (!transport) { throw new Error('ExceptionStream requires a TransportStream instance.'); } // Remark (indexzero): we set `handleExceptions` here because it's the // predicate checked in ExceptionHandler.prototype.__getExceptionHandlers this.handleExceptions = true; this.transport = transport; } /** * Writes the info object to our transport instance if (and only if) the * `exception` 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.exception) { return this.transport.log(info, callback); } callback(); return true; } }; |