cli-block
Version:
Create nice looking CLI Blocks
54 lines • 2.46 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.empty = exports.createEmpty = exports.renewLine = exports.asyncNewLine = exports.newLine = exports.clear = exports.logger = void 0;
const readline_1 = __importDefault(require("readline"));
const tools_1 = require("@sil/tools");
const settings_1 = require("../types/settings");
const settings_2 = require("../settings");
const logger = (v = "", settings = {}) => {
const { newLine, logger, logLevel, logOutputLevel } = (0, settings_2.useSettings)(settings);
if (logOutputLevel < logLevel && logOutputLevel && logLevel)
return;
switch (logger) {
case settings_1.LoggerType.CONSOLE:
console.log(v);
break;
case settings_1.LoggerType.STDOUT:
process.stdout.write(newLine ? v + "\n" : v);
break;
}
};
exports.logger = logger;
const clear = () => {
process.stdout.clearLine(null);
process.stdout.cursorTo(0);
};
exports.clear = clear;
const newLine = () => process.stdout.write("\n");
exports.newLine = newLine;
const asyncNewLine = () => __awaiter(void 0, void 0, void 0, function* () { return yield (0, tools_1.promisify)(exports.newLine); });
exports.asyncNewLine = asyncNewLine;
const renewLine = (msg) => {
readline_1.default.cursorTo(process.stdout, 0);
process.stdout.write(`${msg}`);
};
exports.renewLine = renewLine;
const createEmpty = () => {
return "";
};
exports.createEmpty = createEmpty;
const empty = (settings = {}) => (0, exports.logger)((0, exports.createEmpty)(), settings);
exports.empty = empty;
//# sourceMappingURL=logging.js.map
;