12345678910111213141516171819202122232425262728293031323334353637383940 |
- '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); // eslint-disable-line no-console
- } catch (e) {
- stream.emit('error', e);
- }
- }
- line = '';
- }
- };
|