123456789101112131415161718192021222324252627282930 |
- 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 = '';
- }
- };
|