unbag
Version:
一个专门用来开发npm工具的包
104 lines (103 loc) • 2.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useLog = exports.LogTypeEnum = exports.LogConfigDefault = void 0;
var _chalk = _interopRequireDefault(require("chalk"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
var LogTypeEnum = exports.LogTypeEnum = /* @__PURE__ */(LogTypeEnum2 => {
LogTypeEnum2["Info"] = "Info";
LogTypeEnum2["Warn"] = "Warn";
LogTypeEnum2["Error"] = "Error";
LogTypeEnum2["Debug"] = "Debug";
return LogTypeEnum2;
})(LogTypeEnum || {});
const LogConfigDefault = exports.LogConfigDefault = {
disabled: false,
console: ({
type,
message
}) => {
if (type === "Error" /* Error */) {
console.log(`${_chalk.default.red(`[error]`)}`, message);
}
if (type === "Info" /* Info */) {
console.log(message);
}
if (type === "Warn" /* Warn */) {
console.log(`${_chalk.default.yellow(`[warn]`)}`, message);
}
if (type === "Debug" /* Debug */) {
console.log(`${_chalk.default.green(`[debug]`)}`, message);
}
},
catchThrowError: () => {}
};
const useLog = params => {
const {
finalUserConfig
} = params;
const _console = p => {
const {
type,
message
} = p;
const {
log: {
console: console2,
disabled,
debug: debug2
}
} = finalUserConfig;
if (disabled) {
return;
}
if (type === "Debug" /* Debug */) {
if (!debug2) {
return;
}
}
console2({
finalUserConfig,
type,
message
});
};
const info = message => _console({
type: "Info" /* Info */,
message
});
const warn = message => _console({
type: "Warn" /* Warn */,
message
});
const error = message => _console({
type: "Error" /* Error */,
message
});
const debug = message => _console({
type: "Debug" /* Debug */,
message
});
const resolveMessageFromError = error2 => {
return error2?.message || error2?.msg;
};
const catchThrowError = e => {
const {
log: {
catchThrowError: cte
}
} = finalUserConfig;
const message = resolveMessageFromError(e);
error(message || "unknown error");
cte(e);
};
return {
info,
warn,
error,
debug,
catchThrowError
};
};
exports.useLog = useLog;