31 lines
		
	
	
		
			790 B
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			790 B
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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 = '';
 | |
|     }
 | |
| };
 | 
