UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

48 lines 5.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stderr = exports.stdout = void 0; /* eslint-disable import/order */ const events_1 = require("events"); class ConsoleListener { constructor(stream, options) { this._stream = stream; this._options = options; } inspect() { let isTTY; if (this._options && this._options.isTTY !== undefined) { isTTY = this._options.isTTY; } const output = []; const stream = this._stream; const res = new events_1.EventEmitter(); const originalWrite = stream.write; stream.write = (string) => { output.push(string); return res.emit('data', string); }; const originalIsTTY = stream.isTTY; if (isTTY === true) { stream.isTTY = isTTY; } res.output = output; res.restore = () => { stream.write = originalWrite; stream.isTTY = originalIsTTY; }; return res; } inspectSync(fn) { const inspect = this.inspect(); try { fn(inspect.output); } finally { inspect.restore(); } return inspect.output; } } exports.stdout = new ConsoleListener(process.stdout); exports.stderr = new ConsoleListener(process.stderr); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1saXN0ZW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnNvbGUtbGlzdGVuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBQ2pDLG1DQUFzQztBQWF0QyxNQUFNLGVBQWU7SUFJbkIsWUFBWSxNQUEwQixFQUFFLE9BQWlCO1FBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkQsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBc0MsSUFBSSxxQkFBWSxFQUFFLENBQUM7UUFFbEUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNuQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztRQUVELEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBQy9CLENBQUMsQ0FBQztRQUNGLE9BQVEsR0FBaUIsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQTRCO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUM7WUFDSCxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLENBQUM7Z0JBQVMsQ0FBQztZQUNULE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQUVZLFFBQUEsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QyxRQUFBLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvb3JkZXIgKi9cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5cbmV4cG9ydCB0eXBlIE91dHB1dCA9IFJlYWRvbmx5QXJyYXk8c3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgaXNUVFk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluc3BlY3RvciB7XG4gIG91dHB1dDogT3V0cHV0O1xuICByZXN0b3JlOiAoKSA9PiB2b2lkO1xufVxuXG5jbGFzcyBDb25zb2xlTGlzdGVuZXIge1xuICBwcml2YXRlIF9zdHJlYW06IE5vZGVKUy5Xcml0ZVN0cmVhbTtcbiAgcHJpdmF0ZSBfb3B0aW9ucz86IE9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3Ioc3RyZWFtOiBOb2RlSlMuV3JpdGVTdHJlYW0sIG9wdGlvbnM/OiBPcHRpb25zKSB7XG4gICAgdGhpcy5fc3RyZWFtID0gc3RyZWFtO1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgaW5zcGVjdCgpOiBJbnNwZWN0b3Ige1xuICAgIGxldCBpc1RUWTtcbiAgICBpZiAodGhpcy5fb3B0aW9ucyAmJiB0aGlzLl9vcHRpb25zLmlzVFRZICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlzVFRZID0gdGhpcy5fb3B0aW9ucy5pc1RUWTtcbiAgICB9XG5cbiAgICBjb25zdCBvdXRwdXQ6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgc3RyZWFtID0gdGhpcy5fc3RyZWFtO1xuICAgIGNvbnN0IHJlczogRXZlbnRFbWl0dGVyICYgUGFydGlhbDxJbnNwZWN0b3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxXcml0ZSA9IHN0cmVhbS53cml0ZTtcbiAgICBzdHJlYW0ud3JpdGUgPSAoc3RyaW5nOiBzdHJpbmcpID0+IHtcbiAgICAgIG91dHB1dC5wdXNoKHN0cmluZyk7XG4gICAgICByZXR1cm4gcmVzLmVtaXQoJ2RhdGEnLCBzdHJpbmcpO1xuICAgIH07XG5cbiAgICBjb25zdCBvcmlnaW5hbElzVFRZID0gc3RyZWFtLmlzVFRZO1xuICAgIGlmIChpc1RUWSA9PT0gdHJ1ZSkge1xuICAgICAgc3RyZWFtLmlzVFRZID0gaXNUVFk7XG4gICAgfVxuXG4gICAgcmVzLm91dHB1dCA9IG91dHB1dDtcbiAgICByZXMucmVzdG9yZSA9ICgpID0+IHtcbiAgICAgIHN0cmVhbS53cml0ZSA9IG9yaWdpbmFsV3JpdGU7XG4gICAgICBzdHJlYW0uaXNUVFkgPSBvcmlnaW5hbElzVFRZO1xuICAgIH07XG4gICAgcmV0dXJuIChyZXMgYXMgSW5zcGVjdG9yKTtcbiAgfVxuXG4gIGluc3BlY3RTeW5jKGZuOiAob3V0cHV0OiBPdXRwdXQpID0+IHZvaWQpOiBPdXRwdXQge1xuICAgIGNvbnN0IGluc3BlY3QgPSB0aGlzLmluc3BlY3QoKTtcbiAgICB0cnkge1xuICAgICAgZm4oaW5zcGVjdC5vdXRwdXQpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpbnNwZWN0LnJlc3RvcmUoKTtcbiAgICB9XG4gICAgcmV0dXJuIGluc3BlY3Qub3V0cHV0O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBzdGRvdXQgPSBuZXcgQ29uc29sZUxpc3RlbmVyKHByb2Nlc3Muc3Rkb3V0KTtcbmV4cG9ydCBjb25zdCBzdGRlcnIgPSBuZXcgQ29uc29sZUxpc3RlbmVyKHByb2Nlc3Muc3RkZXJyKTtcbiJdfQ==