utils/lib/cjs/utils.js

50 lines
5.6 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.readJsonIfExists = exports.log = exports.getTime = exports.convertCamelToUpperSnakeCase = void 0;
const chalk_1 = __importDefault(require("chalk"));
const fs_1 = __importDefault(require("fs"));
const json5_1 = __importDefault(require("json5"));
const convertCamelToUpperSnakeCase = (str) => str.replace(/[A-Z]/g, (letter) => `_${letter}`).toUpperCase();
exports.convertCamelToUpperSnakeCase = convertCamelToUpperSnakeCase;
const getTime = () => {
const now = new Date(), tzo = -now.getTimezoneOffset(), dif = tzo >= 0 ? "+" : "-", pad = (num) => {
const norm = Math.floor(Math.abs(num));
return `${norm < 10 ? "0" : ""}${norm}`;
};
return [
now.getFullYear(),
"-",
pad(now.getMonth() + 1),
"-",
pad(now.getDate()),
"T",
pad(now.getHours()),
":",
pad(now.getMinutes()),
":",
pad(now.getSeconds()),
dif,
pad(tzo / 60),
":",
pad(tzo % 60),
].join("");
};
exports.getTime = getTime;
const log = (...msg) => console.log(`${chalk_1.default.grey(`${(0, exports.getTime)()}:`)} ${msg}`);
exports.log = log;
const readJsonIfExists = (filePath) => {
try {
return json5_1.default.parse(fs_1.default.readFileSync(filePath, { encoding: "utf8" }));
}
catch (err) {
// if no file, return empty object
if (err?.code === "ENOENT")
return {};
throw err;
}
};
exports.readJsonIfExists = readJsonIfExists;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDRDQUFvQjtBQUNwQixrREFBMEI7QUFNbkIsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQzNELEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFEbEQsUUFBQSw0QkFBNEIsZ0NBQ3NCO0FBRXhELE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtJQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxFQUNyQixHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsRUFDOUIsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUMxQixHQUFHLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQyxDQUFDO0lBQ0gsT0FBTztRQUNOLEdBQUcsQ0FBQyxXQUFXLEVBQUU7UUFDakIsR0FBRztRQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLEdBQUc7UUFDSCxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLEdBQUc7UUFDSCxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLEdBQUc7UUFDSCxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLEdBQUc7UUFDSCxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JCLEdBQUc7UUFDSCxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLEdBQUc7UUFDSCxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztLQUNiLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBekJXLFFBQUEsT0FBTyxXQXlCbEI7QUFFSyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBYyxFQUFFLEVBQUUsQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGVBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLGVBQU8sR0FBRSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBRHpDLFFBQUEsR0FBRyxPQUNzQztBQUUvQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBc0IsRUFBRSxFQUFFO0lBQzFELElBQUksQ0FBQztRQUNKLE9BQU8sZUFBSyxDQUFDLEtBQUssQ0FBQyxZQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDZCxrQ0FBa0M7UUFDbEMsSUFBSyxHQUFxQixFQUFFLElBQUksS0FBSyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekQsTUFBTSxHQUFHLENBQUM7SUFDWCxDQUFDO0FBQ0YsQ0FBQyxDQUFDO0FBUlcsUUFBQSxnQkFBZ0Isb0JBUTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gXCJjaGFsa1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IGpzb241IGZyb20gXCJqc29uNVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yV2l0aENvZGUge1xuXHRjb2RlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0Q2FtZWxUb1VwcGVyU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuXHRzdHIucmVwbGFjZSgvW0EtWl0vZywgKGxldHRlcikgPT4gYF8ke2xldHRlcn1gKS50b1VwcGVyQ2FzZSgpO1xuXG5leHBvcnQgY29uc3QgZ2V0VGltZSA9ICgpID0+IHtcblx0Y29uc3Qgbm93ID0gbmV3IERhdGUoKSxcblx0XHR0em8gPSAtbm93LmdldFRpbWV6b25lT2Zmc2V0KCksXG5cdFx0ZGlmID0gdHpvID49IDAgPyBcIitcIiA6IFwiLVwiLFxuXHRcdHBhZCA9IChudW06IG51bWJlcikgPT4ge1xuXHRcdFx0Y29uc3Qgbm9ybSA9IE1hdGguZmxvb3IoTWF0aC5hYnMobnVtKSk7XG5cdFx0XHRyZXR1cm4gYCR7bm9ybSA8IDEwID8gXCIwXCIgOiBcIlwifSR7bm9ybX1gO1xuXHRcdH07XG5cdHJldHVybiBbXG5cdFx0bm93LmdldEZ1bGxZZWFyKCksXG5cdFx0XCItXCIsXG5cdFx0cGFkKG5vdy5nZXRNb250aCgpICsgMSksXG5cdFx0XCItXCIsXG5cdFx0cGFkKG5vdy5nZXREYXRlKCkpLFxuXHRcdFwiVFwiLFxuXHRcdHBhZChub3cuZ2V0SG91cnMoKSksXG5cdFx0XCI6XCIsXG5cdFx0cGFkKG5vdy5nZXRNaW51dGVzKCkpLFxuXHRcdFwiOlwiLFxuXHRcdHBhZChub3cuZ2V0U2Vjb25kcygpKSxcblx0XHRkaWYsXG5cdFx0cGFkKHR6byAvIDYwKSxcblx0XHRcIjpcIixcblx0XHRwYWQodHpvICUgNjApLFxuXHRdLmpvaW4oXCJcIik7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nID0gKC4uLm1zZzogdW5rbm93bltdKSA9PlxuXHRjb25zb2xlLmxvZyhgJHtjaGFsay5ncmV5KGAke2dldFRpbWUoKX06YCl9ICR7bXNnfWApO1xuXG5leHBvcnQgY29uc3QgcmVhZEpzb25JZkV4aXN0cyA9IChmaWxlUGF0aDogc3RyaW5nIHwgVVJMKSA9PiB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIGpzb241LnBhcnNlKGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSkpO1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHQvLyBpZiBubyBmaWxlLCByZXR1cm4gZW1wdHkgb2JqZWN0XG5cdFx0aWYgKChlcnIgYXMgRXJyb3JXaXRoQ29kZSk/LmNvZGUgPT09IFwiRU5PRU5UXCIpIHJldHVybiB7fTtcblx0XHR0aHJvdyBlcnI7XG5cdH1cbn07XG4iXX0=