UNPKG

unbag

Version:

一个专门用来开发npm工具的包

104 lines (103 loc) 2.35 kB
"use strict"; 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;