UNPKG

next

Version:

The React Framework

126 lines (125 loc) 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { bootstrap: null, error: null, event: null, info: null, prefixes: null, ready: null, trace: null, wait: null, warn: null, warnOnce: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { bootstrap: function() { return bootstrap; }, error: function() { return error; }, event: function() { return event; }, info: function() { return info; }, prefixes: function() { return prefixes; }, ready: function() { return ready; }, trace: function() { return trace; }, wait: function() { return wait; }, warn: function() { return warn; }, warnOnce: function() { return warnOnce; } }); const _picocolors = require("../../lib/picocolors"); const _lrucache = require("../../server/lib/lru-cache"); const prefixes = { wait: (0, _picocolors.white)((0, _picocolors.bold)('○')), error: (0, _picocolors.red)((0, _picocolors.bold)('⨯')), warn: (0, _picocolors.yellow)((0, _picocolors.bold)('⚠')), ready: '▲', info: (0, _picocolors.white)((0, _picocolors.bold)(' ')), event: (0, _picocolors.green)((0, _picocolors.bold)('✓')), trace: (0, _picocolors.magenta)((0, _picocolors.bold)('»')) }; const LOGGING_METHOD = { log: 'log', warn: 'warn', error: 'error' }; function prefixedLog(prefixType, ...message) { if ((message[0] === '' || message[0] === undefined) && message.length === 1) { message.shift(); } const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : 'log'; const prefix = prefixes[prefixType]; // If there's no message, don't print the prefix but a new line if (message.length === 0) { console[consoleMethod](''); } else { // Ensure if there's ANSI escape codes it's concatenated into one string. // Chrome DevTool can only handle color if it's in one string. if (message.length === 1 && typeof message[0] === 'string') { console[consoleMethod](' ' + prefix + ' ' + message[0]); } else { console[consoleMethod](' ' + prefix, ...message); } } } function bootstrap(...message) { // logging format: ' <prefix> <message>' // e.g. ' ✓ Compiled successfully' // Add spaces to align with the indent of other logs console.log(' ' + message.join(' ')); } function wait(...message) { prefixedLog('wait', ...message); } function error(...message) { prefixedLog('error', ...message); } function warn(...message) { prefixedLog('warn', ...message); } function ready(...message) { prefixedLog('ready', ...message); } function info(...message) { prefixedLog('info', ...message); } function event(...message) { prefixedLog('event', ...message); } function trace(...message) { prefixedLog('trace', ...message); } const warnOnceCache = new _lrucache.LRUCache(10000, (value)=>value.length); function warnOnce(...message) { const key = message.join(' '); if (!warnOnceCache.has(key)) { warnOnceCache.set(key, key); warn(...message); } } //# sourceMappingURL=log.js.map