@react-slate/core
Version:
Write interactive CLI apps with React
34 lines • 1.07 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const console_1 = require("console");
const stream_1 = __importDefault(require("stream"));
class ConsoleBuffer extends stream_1.default.Writable {
constructor(buffer) {
super();
this.buffer = buffer;
}
_write(chunk, enc, next) {
this.buffer.push(chunk.toString());
next();
}
}
function createBufferedConsole() {
let buffer = [];
const stdout = new ConsoleBuffer(buffer);
const stderr = new ConsoleBuffer(buffer);
const bufferedConsole = new console_1.Console(stdout, stderr);
return {
bufferedConsole,
flushConsole: (terminal) => {
buffer.forEach(message => {
terminal(message);
});
buffer = [];
},
};
}
exports.createBufferedConsole = createBufferedConsole;
//# sourceMappingURL=bufferedConsole.js.map