auth-api/tests/node_modules/tape/lib/default_stream.js

33 lines
805 B
JavaScript
Raw Normal View History

2021-06-23 22:30:45 +02:00
'use strict';
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 = '';
}
};