piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
129 lines • 4.16 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLogLevel = getLogLevel;
exports.setLogLevel = setLogLevel;
exports.logInfo = logInfo;
exports.logDebug = logDebug;
exports.logVerbose = logVerbose;
exports.logDone = logDone;
exports.logWarn = logWarn;
exports.logFail = logFail;
exports.progress = progress;
exports.logReset = logReset;
exports.logSuspend = logSuspend;
exports.fail = fail;
exports.log = log;
const messages = __importStar(require("../messages"));
const util_1 = require("util");
const external_1 = require("../external");
const types_1 = require("../types");
let currentProgress = undefined;
let logLevel = types_1.LogLevels.info;
let instance = (0, external_1.ora)();
function getLogLevel() {
return logLevel;
}
function setLogLevel(value) {
logLevel = value;
}
function logInfo(message, ...args) {
const msg = (0, util_1.format)(message, ...args);
instance.info(msg);
return msg;
}
function logDebug(message, ...args) {
const msg = (0, util_1.format)(message, ...args);
if (logLevel >= types_1.LogLevels.debug) {
instance.info(msg);
}
return msg;
}
function logVerbose(message, ...args) {
const msg = (0, util_1.format)(message, ...args);
if (logLevel >= types_1.LogLevels.verbose) {
instance.info(msg);
}
return msg;
}
function logDone(message, ...args) {
const msg = (0, util_1.format)(message, ...args);
instance.succeed(msg);
return msg;
}
function logWarn(message, ...args) {
const msg = (0, util_1.format)(message, ...args);
instance.warn(msg);
return msg;
}
function logFail(message, ...args) {
const msg = (0, util_1.format)(message, ...args);
instance.fail(msg);
return msg;
}
function progress(message, ...args) {
const msg = (0, util_1.format)(message, ...args);
instance.start(msg);
currentProgress = msg;
}
function logReset() {
instance.stop();
}
function logSuspend() {
logReset();
return () => instance.start(currentProgress);
}
function fail(type, ...args) {
const message = log(type, ...args);
const error = new Error(message);
error.logged = true;
throw error;
}
function log(type, ...args) {
const [level, code, message] = messages[type].apply(this, args);
switch (level) {
case types_1.LogLevels.error:
return logFail(`[%s] ${message}`, code);
case types_1.LogLevels.warning:
return logWarn(`[%s] ${message}`, code);
case types_1.LogLevels.info:
return logInfo(`[%s] ${message}`, code);
case types_1.LogLevels.debug:
return logDebug(`[%s] ${message}`, code);
case types_1.LogLevels.verbose:
return logVerbose(`[%s] ${message}`, code);
}
}
//# sourceMappingURL=log.js.map