UNPKG

@ozen-ui/logger

Version:

A client logger

55 lines (54 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setConfig = exports.once = exports.deprecate = exports.logger = void 0; let defaultConfig = { scope: 'ozen-ui', }; const setConfig = (config) => { defaultConfig = Object.assign(Object.assign({}, defaultConfig), config); }; exports.setConfig = setConfig; const getMessage = (message) => { if (!defaultConfig.scope) { return message; } return `[${defaultConfig.scope}] ${message}`; }; const logger = { info: (message, ...rest) => { console.info(getMessage(message), ...rest); }, warn: (message, ...rest) => { console.warn(getMessage(message), ...rest); }, error: (message, ...rest) => { console.error(getMessage(message), ...rest); }, log: (message, ...rest) => { console.log(getMessage(message), ...rest); }, trace: (message, ...rest) => { console.trace(getMessage(message), ...rest); }, debug: (message, ...rest) => { console.debug(getMessage(message), ...rest); }, }; exports.logger = logger; const logged = new Set(); const once = (type) => (message, ...rest) => { if (!logged.has(message)) { logger[type](message, ...rest); logged.add(message); } }; exports.once = once; once.clear = () => logged.clear(); once.trace = once('trace'); once.debug = once('debug'); once.info = once('info'); once.warn = once('warn'); once.error = once('error'); once.log = once('log'); const deprecate = once('warn'); exports.deprecate = deprecate;