summaryrefslogtreecommitdiff
path: root/node_modules/webpack/hot/log.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/hot/log.js')
-rw-r--r--node_modules/webpack/hot/log.js78
1 files changed, 78 insertions, 0 deletions
diff --git a/node_modules/webpack/hot/log.js b/node_modules/webpack/hot/log.js
new file mode 100644
index 00000000..63758822
--- /dev/null
+++ b/node_modules/webpack/hot/log.js
@@ -0,0 +1,78 @@
+/** @typedef {"info" | "warning" | "error"} LogLevel */
+
+/** @type {LogLevel} */
+var logLevel = "info";
+
+function dummy() {}
+
+/**
+ * @param {LogLevel} level log level
+ * @returns {boolean} true, if should log
+ */
+function shouldLog(level) {
+ var shouldLog =
+ (logLevel === "info" && level === "info") ||
+ (["info", "warning"].indexOf(logLevel) >= 0 && level === "warning") ||
+ (["info", "warning", "error"].indexOf(logLevel) >= 0 && level === "error");
+ return shouldLog;
+}
+
+/**
+ * @param {(msg?: string) => void} logFn log function
+ * @returns {(level: LogLevel, msg?: string) => void} function that logs when log level is sufficient
+ */
+function logGroup(logFn) {
+ return function (level, msg) {
+ if (shouldLog(level)) {
+ logFn(msg);
+ }
+ };
+}
+
+/**
+ * @param {LogLevel} level log level
+ * @param {string|Error} msg message
+ */
+module.exports = function (level, msg) {
+ if (shouldLog(level)) {
+ if (level === "info") {
+ console.log(msg);
+ } else if (level === "warning") {
+ console.warn(msg);
+ } else if (level === "error") {
+ console.error(msg);
+ }
+ }
+};
+
+var group = console.group || dummy;
+var groupCollapsed = console.groupCollapsed || dummy;
+var groupEnd = console.groupEnd || dummy;
+
+module.exports.group = logGroup(group);
+
+module.exports.groupCollapsed = logGroup(groupCollapsed);
+
+module.exports.groupEnd = logGroup(groupEnd);
+
+/**
+ * @param {LogLevel} level log level
+ */
+module.exports.setLogLevel = function (level) {
+ logLevel = level;
+};
+
+/**
+ * @param {Error} err error
+ * @returns {string} formatted error
+ */
+module.exports.formatError = function (err) {
+ var message = err.message;
+ var stack = err.stack;
+ if (!stack) {
+ return message;
+ } else if (stack.indexOf(message) < 0) {
+ return message + "\n" + stack;
+ }
+ return stack;
+};