UNPKG

@clickup/pg-mig

Version:

PostgreSQL schema migration tool with microsharding and clustering support

67 lines 2.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var _a, _b; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProgressPrinterStream = exports.ProgressPrinterTTY = void 0; const throttle_1 = __importDefault(require("lodash/throttle")); const log_update_1 = __importDefault(require("log-update")); const render_1 = require("./render"); if (!process.stdout.columns && parseInt((_a = process.env["COLUMNS"]) !== null && _a !== void 0 ? _a : "")) { process.stdout.columns = parseInt(process.env["COLUMNS"]); } if (!process.stdout.rows && parseInt((_b = process.env["ROWS"]) !== null && _b !== void 0 ? _b : "")) { process.stdout.rows = parseInt(process.env["ROWS"]); } class ProgressPrinterTTY { constructor() { this.logUpdate = log_update_1.default.create(process.stdout, { showCursor: true, }); } throttle(render) { return (0, throttle_1.default)(render, 100, { trailing: false }); } print(rows) { if (rows.length > 0) { this.logUpdate(rows.slice(0, Math.max((process.stdout.rows || 25) - 3, 3)).join("\n")); } else { this.logUpdate.clear(); } } clear() { this.logUpdate.clear(); } skipEmptyLines() { return false; } } exports.ProgressPrinterTTY = ProgressPrinterTTY; class ProgressPrinterStream { constructor() { this.printedNormalized = new Set(); } throttle(render) { return render; } print(rows) { for (const line of rows) { const normalized = line.replace(/^(\w+:.*) elapsed.*/s, "$1"); if (this.printedNormalized.has(normalized)) { continue; } (0, render_1.printText)(line); this.printedNormalized.add(normalized); } } clear() { this.printedNormalized.clear(); } skipEmptyLines() { return true; } } exports.ProgressPrinterStream = ProgressPrinterStream; //# sourceMappingURL=ProgressPrinter.js.map