UNPKG

tape

Version:

tap-producing test harness for node and browsers

32 lines (28 loc) 805 B
var through = require('through'); var fs = require('fs'); module.exports = function () { var line = ''; var stream = through(write, flush); return stream; function write (buf) { for (var i = 0; i < buf.length; i++) { var c = typeof buf === 'string' ? buf.charAt(i) : String.fromCharCode(buf[i]) ; if (c === '\n') flush(); else line += c; } } function flush () { if (fs.writeSync && /^win/.test(process.platform)) { try { fs.writeSync(1, line + '\n'); } catch (e) { stream.emit('error', e) } } else { try { console.log(line) } catch (e) { stream.emit('error', e) } } line = ''; } };