UNPKG

@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
"use strict"; 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;