UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

48 lines 5.36 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1saXN0ZW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnNvbGUtbGlzdGVuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBQ2pDLG1DQUFzQztBQWF0QyxNQUFNLGVBQWU7SUFJbkIsWUFBWSxNQUEwQixFQUFFLE9BQWlCO1FBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3RELEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUM3QjtRQUVELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLE1BQU0sR0FBRyxHQUFzQyxJQUFJLHFCQUFZLEVBQUUsQ0FBQztRQUVsRSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUNoQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDdEI7UUFFRCxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNwQixHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUNqQixNQUFNLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztZQUM3QixNQUFNLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztRQUMvQixDQUFDLENBQUM7UUFDRixPQUFRLEdBQWlCLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUE0QjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSTtZQUNGLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEI7Z0JBQVM7WUFDUixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbkI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDeEIsQ0FBQztDQUVGO0FBRVksUUFBQSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdDLFFBQUEsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9vcmRlciAqL1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcblxuZXhwb3J0IHR5cGUgT3V0cHV0ID0gUmVhZG9ubHlBcnJheTxzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICBpc1RUWT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zcGVjdG9yIHtcbiAgb3V0cHV0OiBPdXRwdXQ7XG4gIHJlc3RvcmU6ICgpID0+IHZvaWQ7XG59XG5cbmNsYXNzIENvbnNvbGVMaXN0ZW5lciB7XG4gIHByaXZhdGUgX3N0cmVhbTogTm9kZUpTLldyaXRlU3RyZWFtO1xuICBwcml2YXRlIF9vcHRpb25zPzogT3B0aW9uc1xuXG4gIGNvbnN0cnVjdG9yKHN0cmVhbTogTm9kZUpTLldyaXRlU3RyZWFtLCBvcHRpb25zPzogT3B0aW9ucykge1xuICAgIHRoaXMuX3N0cmVhbSA9IHN0cmVhbTtcbiAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIGluc3BlY3QoKTogSW5zcGVjdG9yIHtcbiAgICBsZXQgaXNUVFk7XG4gICAgaWYgKHRoaXMuX29wdGlvbnMgJiYgdGhpcy5fb3B0aW9ucy5pc1RUWSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpc1RUWSA9IHRoaXMuX29wdGlvbnMuaXNUVFk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IHN0cmVhbSA9IHRoaXMuX3N0cmVhbTtcbiAgICBjb25zdCByZXM6IEV2ZW50RW1pdHRlciAmIFBhcnRpYWw8SW5zcGVjdG9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0IG9yaWdpbmFsV3JpdGUgPSBzdHJlYW0ud3JpdGU7XG4gICAgc3RyZWFtLndyaXRlID0gKHN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgICBvdXRwdXQucHVzaChzdHJpbmcpO1xuICAgICAgcmV0dXJuIHJlcy5lbWl0KCdkYXRhJywgc3RyaW5nKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb3JpZ2luYWxJc1RUWSA9IHN0cmVhbS5pc1RUWTtcbiAgICBpZiAoaXNUVFkgPT09IHRydWUpIHtcbiAgICAgIHN0cmVhbS5pc1RUWSA9IGlzVFRZO1xuICAgIH1cblxuICAgIHJlcy5vdXRwdXQgPSBvdXRwdXQ7XG4gICAgcmVzLnJlc3RvcmUgPSAoKSA9PiB7XG4gICAgICBzdHJlYW0ud3JpdGUgPSBvcmlnaW5hbFdyaXRlO1xuICAgICAgc3RyZWFtLmlzVFRZID0gb3JpZ2luYWxJc1RUWTtcbiAgICB9O1xuICAgIHJldHVybiAocmVzIGFzIEluc3BlY3Rvcik7XG4gIH1cblxuICBpbnNwZWN0U3luYyhmbjogKG91dHB1dDogT3V0cHV0KSA9PiB2b2lkKTogT3V0cHV0IHtcbiAgICBjb25zdCBpbnNwZWN0ID0gdGhpcy5pbnNwZWN0KCk7XG4gICAgdHJ5IHtcbiAgICAgIGZuKGluc3BlY3Qub3V0cHV0KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaW5zcGVjdC5yZXN0b3JlKCk7XG4gICAgfVxuICAgIHJldHVybiBpbnNwZWN0Lm91dHB1dDtcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCBzdGRvdXQgPSBuZXcgQ29uc29sZUxpc3RlbmVyKHByb2Nlc3Muc3Rkb3V0KTtcbmV4cG9ydCBjb25zdCBzdGRlcnIgPSBuZXcgQ29uc29sZUxpc3RlbmVyKHByb2Nlc3Muc3RkZXJyKTtcbiJdfQ==