astro-ghostcms/.pnpm-store/v3/files/1c/253cdf31fd89360d780c4c25340...

73 lines
1.9 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import { createConsola as createConsola$1 } from './core.mjs';
export { Consola, LogLevels, LogTypes } from './core.mjs';
class BrowserReporter {
constructor(options) {
this.options = { ...options };
this.defaultColor = "#7f8c8d";
this.levelColorMap = {
0: "#c0392b",
// Red
1: "#f39c12",
// Yellow
3: "#00BCD4"
// Cyan
};
this.typeColorMap = {
success: "#2ecc71"
// Green
};
}
_getLogFn(level) {
if (level < 1) {
return console.__error || console.error;
}
if (level === 1) {
return console.__warn || console.warn;
}
return console.__log || console.log;
}
log(logObj) {
const consoleLogFn = this._getLogFn(logObj.level);
const type = logObj.type === "log" ? "" : logObj.type;
const tag = logObj.tag || "";
const color = this.typeColorMap[logObj.type] || this.levelColorMap[logObj.level] || this.defaultColor;
const style = `
background: ${color};
border-radius: 0.5em;
color: white;
font-weight: bold;
padding: 2px 0.5em;
`;
const badge = `%c${[tag, type].filter(Boolean).join(":")}`;
if (typeof logObj.args[0] === "string") {
consoleLogFn(
`${badge}%c ${logObj.args[0]}`,
style,
// Empty string as style resets to default console style
"",
...logObj.args.slice(1)
);
} else {
consoleLogFn(badge, style, ...logObj.args);
}
}
}
function createConsola(options = {}) {
const consola2 = createConsola$1({
reporters: options.reporters || [new BrowserReporter({})],
prompt(message, options2 = {}) {
if (options2.type === "confirm") {
return Promise.resolve(confirm(message));
}
return Promise.resolve(prompt(message));
},
...options
});
return consola2;
}
const consola = createConsola();
export { consola, createConsola, consola as default };