source: frontend/node_modules/webpack/hot/log.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/** @typedef {"info" | "warning" | "error"} LogLevel */
2
3/** @type {LogLevel} */
4var logLevel = "info";
5
6function dummy() {}
7
8/**
9 * @param {LogLevel} level log level
10 * @returns {boolean} true, if should log
11 */
12function shouldLog(level) {
13 var shouldLog =
14 (logLevel === "info" && level === "info") ||
15 (["info", "warning"].indexOf(logLevel) >= 0 && level === "warning") ||
16 (["info", "warning", "error"].indexOf(logLevel) >= 0 && level === "error");
17 return shouldLog;
18}
19
20/**
21 * @param {(msg?: string) => void} logFn log function
22 * @returns {(level: LogLevel, msg?: string) => void} function that logs when log level is sufficient
23 */
24function logGroup(logFn) {
25 return function (level, msg) {
26 if (shouldLog(level)) {
27 logFn(msg);
28 }
29 };
30}
31
32/**
33 * @param {LogLevel} level log level
34 * @param {string|Error} msg message
35 */
36module.exports = function (level, msg) {
37 if (shouldLog(level)) {
38 if (level === "info") {
39 console.log(msg);
40 } else if (level === "warning") {
41 console.warn(msg);
42 } else if (level === "error") {
43 console.error(msg);
44 }
45 }
46};
47
48/**
49 * @param {Error} err error
50 * @returns {string} formatted error
51 */
52module.exports.formatError = function (err) {
53 var message = err.message;
54 var stack = err.stack;
55 if (!stack) {
56 return message;
57 } else if (stack.indexOf(message) < 0) {
58 return message + "\n" + stack;
59 }
60 return stack;
61};
62
63var group = console.group || dummy;
64var groupCollapsed = console.groupCollapsed || dummy;
65var groupEnd = console.groupEnd || dummy;
66
67module.exports.group = logGroup(group);
68
69module.exports.groupCollapsed = logGroup(groupCollapsed);
70
71module.exports.groupEnd = logGroup(groupEnd);
72
73/**
74 * @param {LogLevel} level log level
75 */
76module.exports.setLogLevel = function (level) {
77 logLevel = level;
78};
Note: See TracBrowser for help on using the repository browser.