You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

30 lines
671 B

'use strict';
var ansiEscapes = require('ansi-escapes');
var cliCursor = require('cli-cursor');
function main(stream) {
var prevLineCount = 0;
var render = function () {
cliCursor.hide();
var out = [].join.call(arguments, ' ') + '\n';
stream.write(ansiEscapes.eraseLines(prevLineCount) + out);
prevLineCount = out.split('\n').length;
};
render.clear = function () {
stream.write(ansiEscapes.eraseLines(prevLineCount));
prevLineCount = 0;
};
render.done = function () {
prevLineCount = 0;
cliCursor.show();
};
return render;
}
module.exports = main(process.stdout);
module.exports.stderr = main(process.stderr);
module.exports.create = main;