@winstrike/next-i18next-koa
Version:
The easiest way to translate your NextJs apps. With Koa support only. Forked from 'next-i18next'.
81 lines (65 loc) • 2.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createConsoleLog;
/* eslint-disable no-console */
/**
* @readonly
* @enum {String} A console.log type
*/
var messageTypes = {
error: 'error',
info: 'info',
warn: 'warn'
};
Object.freeze(messageTypes);
/**
* Logs a custom message to console
* @param {messageTypes} messageType One of: error, warn or info
* @param {String} message
*/
function logMessage(messageType, message) {
if (Object.values(messageTypes).includes(messageType)) {
console[messageType](message);
} else {
console.info(message);
}
}
/**
* Create a console log with specified log type, a message and options
* @param {messageTypes} messageType One of: error, warn or info
* @param {String} message
* @param {Object} options
*/
function createConsoleLog(messageType, message) {
var _this$config = this.config,
errorStackTraceLimit = _this$config.errorStackTraceLimit,
strictMode = _this$config.strictMode;
var prevStackLimit = Error.stackTraceLimit;
Error.stackTraceLimit = errorStackTraceLimit;
var util;
if (!strictMode) {
return;
}
if (process.env.NODE_ENV !== 'production') {
util = require('util');
} else {
return;
}
/* Temporarily set the stacktrace to 0 or errorStackTraceLimit,
in order to only display a message */
Error.errorStackTraceLimit = errorStackTraceLimit; // Make room for new message
console.log(); // Make sure the message is a string
if (typeof message !== 'string') {
var metaError = new Error();
metaError.name = 'Meta';
metaError.message = "Param message needs to be of type: string. Instead, '".concat(typeof message, "' was provided.\n\n------------------------------------------------\n\n\u200B\n The provided ").concat(typeof message, ":\n\n\u200B\n ").concat(util.inspect(message, true, 8, true), "\n\u200B\n------------------------------------------------\n\n ");
console.error(metaError);
return;
} // Log the message to console
logMessage(messageType, message); // Reset stack limit
Error.stackTraceLimit = prevStackLimit;
}
module.exports = exports.default;
module.exports.default = exports.default;