Cleanup lib exports (#50)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import { DEV } from 'esm-env';
|
||||
|
||||
const use_logger = Object.freeze({
|
||||
info: console.info,
|
||||
error: console.error,
|
||||
warn: console.warn,
|
||||
});
|
||||
|
||||
const base_styles = `padding: 4px 8px; border-radius:4px;`;
|
||||
const logger_styles = {
|
||||
error: `color: #FFFFFF; background-color: #FF0055; ${base_styles}`,
|
||||
warn: `color: #662200; background-color: #FFBB33; ${base_styles}`,
|
||||
info: `color: #80EAFF; background-color: #132686; ${base_styles}`,
|
||||
} satisfies { [K in keyof typeof use_logger]: string };
|
||||
|
||||
function log(type: keyof typeof use_logger, ...content: unknown[]) {
|
||||
// If type is info and not in dev mode, return early
|
||||
if (type === 'info' && !DEV) return;
|
||||
|
||||
const logger = use_logger[type];
|
||||
const styles = logger_styles[type];
|
||||
|
||||
// Log message
|
||||
logger('%c🔊 svelte-podcast:', styles, ...content);
|
||||
}
|
||||
|
||||
export const announce = {
|
||||
/**
|
||||
* Log an info message.
|
||||
* @param {...unknown} content - Content to log.
|
||||
*/
|
||||
info: (...content: unknown[]) => log('info', ...content),
|
||||
/**
|
||||
* Log a warning message.
|
||||
* @param {...unknown} content - Content to log.
|
||||
*/
|
||||
warn: (...content: unknown[]) => log('warn', ...content),
|
||||
/**
|
||||
* Log an error message.
|
||||
* @param {...unknown} content - Content to log.
|
||||
*/
|
||||
error: (...content: unknown[]) => log('error', ...content),
|
||||
} as const;
|
||||
Reference in New Issue
Block a user