UNPKG

zcatalyst-cli

Version:

Command Line Tool for CATALYST

44 lines (43 loc) 1.85 kB
'use strict'; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.cleanStream = exports.writeStream = exports.getLinesLength = exports.breakText = void 0; const readline_1 = require("readline"); const strip_ansi_1 = __importDefault(require("strip-ansi")); function breakText(text, prefixLength) { return (0, strip_ansi_1.default)(text) .split('\n') .map((line, index) => (index === 0 ? breakLine(line, prefixLength) : breakLine(line, 0))) .join('\n'); } exports.breakText = breakText; function breakLine(line, prefixLength) { const columns = process.stderr.columns || 95; return line.length >= columns - prefixLength ? `${line.substring(0, columns - prefixLength - 1)}\n${breakLine(line.substring(columns - prefixLength - 1, line.length), 0)}` : line; } function getLinesLength(text, prefixLength) { return (0, strip_ansi_1.default)(text) .split('\n') .map((line, index) => (index === 0 ? line.length + prefixLength : line.length)); } exports.getLinesLength = getLinesLength; function writeStream(stream, output, rawLines) { stream.write(output); (0, readline_1.moveCursor)(stream, 0, -rawLines.length); } exports.writeStream = writeStream; function cleanStream(stream, rawLines) { rawLines.forEach((lineLength, index) => { (0, readline_1.moveCursor)(stream, lineLength, index); (0, readline_1.clearLine)(stream, 1); (0, readline_1.moveCursor)(stream, -lineLength, -index); }); (0, readline_1.moveCursor)(stream, 0, rawLines.length); (0, readline_1.clearScreenDown)(stream); (0, readline_1.moveCursor)(stream, 0, -rawLines.length); } exports.cleanStream = cleanStream;