jevstrudel.git / packages / core / logger.mjs
1export const logKey = 'strudel.log';
2
3let debounce = 1000,
4  lastMessage,
5  lastTime;
6
7export function errorLogger(e, origin = 'cyclist') {
8  if (process.env.NODE_ENV === 'development') {
9    console.error(e);
10  }
11  logger(`[${origin}] error: ${e.message}`);
12}
13
14export function logger(message, type, data = {}) {
15  let t = performance.now();
16  if (lastMessage === message && t - lastTime < debounce) {
17    return;
18  }
19  lastMessage = message;
20  lastTime = t;
21  console.log(`%c${message}`, 'background-color: black;color:white;border-radius:15px');
22  if (typeof document !== 'undefined' && typeof CustomEvent !== 'undefined') {
23    document.dispatchEvent(
24      new CustomEvent(logKey, {
25        detail: {
26          message,
27          type,
28          data,
29        },
30      }),
31    );
32  }
33}
34
35logger.key = logKey;