{"version":3,"file":"static/js/vendor.js-logger.306cb719.chunk.js","mappings":"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","sources":["../node_modules/js-logger/src/logger.js"],"sourcesContent":["/*!\r\n * js-logger - http://github.com/jonnyreeves/js-logger\r\n * Jonny Reeves, http://jonnyreeves.co.uk/\r\n * js-logger may be freely distributed under the MIT license.\r\n */\r\n(function (global) {\r\n\t\"use strict\";\r\n\r\n\t// Top level module for the global, static logger instance.\r\n\tvar Logger = { };\r\n\r\n\t// For those that are at home that are keeping score.\r\n\tLogger.VERSION = \"1.6.1\";\r\n\r\n\t// Function which handles all incoming log messages.\r\n\tvar logHandler;\r\n\r\n\t// Map of ContextualLogger instances by name; used by Logger.get() to return the same named instance.\r\n\tvar contextualLoggersByNameMap = {};\r\n\r\n\t// Polyfill for ES5's Function.bind.\r\n\tvar bind = function(scope, func) {\r\n\t\treturn function() {\r\n\t\t\treturn func.apply(scope, arguments);\r\n\t\t};\r\n\t};\r\n\r\n\t// Super exciting object merger-matron 9000 adding another 100 bytes to your download.\r\n\tvar merge = function () {\r\n\t\tvar args = arguments, target = args[0], key, i;\r\n\t\tfor (i = 1; i < args.length; i++) {\r\n\t\t\tfor (key in args[i]) {\r\n\t\t\t\tif (!(key in target) && args[i].hasOwnProperty(key)) {\r\n\t\t\t\t\ttarget[key] = args[i][key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn target;\r\n\t};\r\n\r\n\t// Helper to define a logging level object; helps with optimisation.\r\n\tvar defineLogLevel = function(value, name) {\r\n\t\treturn { value: value, name: name };\r\n\t};\r\n\r\n\t// Predefined logging levels.\r\n\tLogger.TRACE = defineLogLevel(1, 'TRACE');\r\n\tLogger.DEBUG = defineLogLevel(2, 'DEBUG');\r\n\tLogger.INFO = defineLogLevel(3, 'INFO');\r\n\tLogger.TIME = defineLogLevel(4, 'TIME');\r\n\tLogger.WARN = defineLogLevel(5, 'WARN');\r\n\tLogger.ERROR = defineLogLevel(8, 'ERROR');\r\n\tLogger.OFF = defineLogLevel(99, 'OFF');\r\n\r\n\t// Inner class which performs the bulk of the work; ContextualLogger instances can be configured independently\r\n\t// of each other.\r\n\tvar ContextualLogger = function(defaultContext) {\r\n\t\tthis.context = defaultContext;\r\n\t\tthis.setLevel(defaultContext.filterLevel);\r\n\t\tthis.log = this.info; // Convenience alias.\r\n\t};\r\n\r\n\tContextualLogger.prototype = {\r\n\t\t// Changes the current logging level for the logging instance.\r\n\t\tsetLevel: function (newLevel) {\r\n\t\t\t// Ensure the supplied Level object looks valid.\r\n\t\t\tif (newLevel && \"value\" in newLevel) {\r\n\t\t\t\tthis.context.filterLevel = newLevel;\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\t// Gets the current logging level for the logging instance\r\n\t\tgetLevel: function () {\r\n\t\t\treturn this.context.filterLevel;\r\n\t\t},\r\n\r\n\t\t// Is the logger configured to output messages at the supplied level?\r\n\t\tenabledFor: function (lvl) {\r\n\t\t\tvar filterLevel = this.context.filterLevel;\r\n\t\t\treturn lvl.value >= filterLevel.value;\r\n\t\t},\r\n\r\n\t\ttrace: function () {\r\n\t\t\tthis.invoke(Logger.TRACE, arguments);\r\n\t\t},\r\n\r\n\t\tdebug: function () {\r\n\t\t\tthis.invoke(Logger.DEBUG, arguments);\r\n\t\t},\r\n\r\n\t\tinfo: function () {\r\n\t\t\tthis.invoke(Logger.INFO, arguments);\r\n\t\t},\r\n\r\n\t\twarn: function () {\r\n\t\t\tthis.invoke(Logger.WARN, arguments);\r\n\t\t},\r\n\r\n\t\terror: function () {\r\n\t\t\tthis.invoke(Logger.ERROR, arguments);\r\n\t\t},\r\n\r\n\t\ttime: function (label) {\r\n\t\t\tif (typeof label === 'string' && label.length > 0) {\r\n\t\t\t\tthis.invoke(Logger.TIME, [ label, 'start' ]);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\ttimeEnd: function (label) {\r\n\t\t\tif (typeof label === 'string' && label.length > 0) {\r\n\t\t\t\tthis.invoke(Logger.TIME, [ label, 'end' ]);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// Invokes the logger callback if it's not being filtered.\r\n\t\tinvoke: function (level, msgArgs) {\r\n\t\t\tif (logHandler && this.enabledFor(level)) {\r\n\t\t\t\tlogHandler(msgArgs, merge({ level: level }, this.context));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Protected instance which all calls to the to level `Logger` module will be routed through.\r\n\tvar globalLogger = new ContextualLogger({ filterLevel: Logger.OFF });\r\n\r\n\t// Configure the global Logger instance.\r\n\t(function() {\r\n\t\t// Shortcut for optimisers.\r\n\t\tvar L = Logger;\r\n\r\n\t\tL.enabledFor = bind(globalLogger, globalLogger.enabledFor);\r\n\t\tL.trace = bind(globalLogger, globalLogger.trace);\r\n\t\tL.debug = bind(globalLogger, globalLogger.debug);\r\n\t\tL.time = bind(globalLogger, globalLogger.time);\r\n\t\tL.timeEnd = bind(globalLogger, globalLogger.timeEnd);\r\n\t\tL.info = bind(globalLogger, globalLogger.info);\r\n\t\tL.warn = bind(globalLogger, globalLogger.warn);\r\n\t\tL.error = bind(globalLogger, globalLogger.error);\r\n\r\n\t\t// Don't forget the convenience alias!\r\n\t\tL.log = L.info;\r\n\t}());\r\n\r\n\t// Set the global logging handler. The supplied function should expect two arguments, the first being an arguments\r\n\t// object with the supplied log messages and the second being a context object which contains a hash of stateful\r\n\t// parameters which the logging function can consume.\r\n\tLogger.setHandler = function (func) {\r\n\t\tlogHandler = func;\r\n\t};\r\n\r\n\t// Sets the global logging filter level which applies to *all* previously registered, and future Logger instances.\r\n\t// (note that named loggers (retrieved via `Logger.get`) can be configured independently if required).\r\n\tLogger.setLevel = function(level) {\r\n\t\t// Set the globalLogger's level.\r\n\t\tglobalLogger.setLevel(level);\r\n\r\n\t\t// Apply this level to all registered contextual loggers.\r\n\t\tfor (var key in contextualLoggersByNameMap) {\r\n\t\t\tif (contextualLoggersByNameMap.hasOwnProperty(key)) {\r\n\t\t\t\tcontextualLoggersByNameMap[key].setLevel(level);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Gets the global logging filter level\r\n\tLogger.getLevel = function() {\r\n\t\treturn globalLogger.getLevel();\r\n\t};\r\n\r\n\t// Retrieve a ContextualLogger instance. Note that named loggers automatically inherit the global logger's level,\r\n\t// default context and log handler.\r\n\tLogger.get = function (name) {\r\n\t\t// All logger instances are cached so they can be configured ahead of use.\r\n\t\treturn contextualLoggersByNameMap[name] ||\r\n\t\t\t(contextualLoggersByNameMap[name] = new ContextualLogger(merge({ name: name }, globalLogger.context)));\r\n\t};\r\n\r\n\t// CreateDefaultHandler returns a handler function which can be passed to `Logger.setHandler()` which will\r\n\t// write to the window's console object (if present); the optional options object can be used to customise the\r\n\t// formatter used to format each log message.\r\n\tLogger.createDefaultHandler = function (options) {\r\n\t\toptions = options || {};\r\n\r\n\t\toptions.formatter = options.formatter || function defaultMessageFormatter(messages, context) {\r\n\t\t\t// Prepend the logger's name to the log message for easy identification.\r\n\t\t\tif (context.name) {\r\n\t\t\t\tmessages.unshift(\"[\" + context.name + \"]\");\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Map of timestamps by timer labels used to track `#time` and `#timeEnd()` invocations in environments\r\n\t\t// that don't offer a native console method.\r\n\t\tvar timerStartTimeByLabelMap = {};\r\n\r\n\t\t// Support for IE8+ (and other, slightly more sane environments)\r\n\t\tvar invokeConsoleMethod = function (hdlr, messages) {\r\n\t\t\tFunction.prototype.apply.call(hdlr, console, messages);\r\n\t\t};\r\n\r\n\t\t// Check for the presence of a logger.\r\n\t\tif (typeof console === \"undefined\") {\r\n\t\t\treturn function () { /* no console */ };\r\n\t\t}\r\n\r\n\t\treturn function(messages, context) {\r\n\t\t\t// Convert arguments object to Array.\r\n\t\t\tmessages = Array.prototype.slice.call(messages);\r\n\r\n\t\t\tvar hdlr = console.log;\r\n\t\t\tvar timerLabel;\r\n\r\n\t\t\tif (context.level === Logger.TIME) {\r\n\t\t\t\ttimerLabel = (context.name ? '[' + context.name + '] ' : '') + messages[0];\r\n\r\n\t\t\t\tif (messages[1] === 'start') {\r\n\t\t\t\t\tif (console.time) {\r\n\t\t\t\t\t\tconsole.time(timerLabel);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\ttimerStartTimeByLabelMap[timerLabel] = new Date().getTime();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (console.timeEnd) {\r\n\t\t\t\t\t\tconsole.timeEnd(timerLabel);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tinvokeConsoleMethod(hdlr, [ timerLabel + ': ' +\r\n\t\t\t\t\t\t\t(new Date().getTime() - timerStartTimeByLabelMap[timerLabel]) + 'ms' ]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// Delegate through to custom warn/error loggers if present on the console.\r\n\t\t\t\tif (context.level === Logger.WARN && console.warn) {\r\n\t\t\t\t\thdlr = console.warn;\r\n\t\t\t\t} else if (context.level === Logger.ERROR && console.error) {\r\n\t\t\t\t\thdlr = console.error;\r\n\t\t\t\t} else if (context.level === Logger.INFO && console.info) {\r\n\t\t\t\t\thdlr = console.info;\r\n\t\t\t\t} else if (context.level === Logger.DEBUG && console.debug) {\r\n\t\t\t\t\thdlr = console.debug;\r\n\t\t\t\t} else if (context.level === Logger.TRACE && console.trace) {\r\n\t\t\t\t\thdlr = console.trace;\r\n\t\t\t\t}\r\n\r\n\t\t\t\toptions.formatter(messages, context);\r\n\t\t\t\tinvokeConsoleMethod(hdlr, messages);\r\n\t\t\t}\r\n\t\t};\r\n\t};\r\n\r\n\t// Configure and example a Default implementation which writes to the `window.console` (if present). The\r\n\t// `options` hash can be used to configure the default logLevel and provide a custom message formatter.\r\n\tLogger.useDefaults = function(options) {\r\n\t\tLogger.setLevel(options && options.defaultLevel || Logger.DEBUG);\r\n\t\tLogger.setHandler(Logger.createDefaultHandler(options));\r\n\t};\r\n\r\n\t// Createa an alias to useDefaults to avoid reaking a react-hooks rule.\r\n\tLogger.setDefaults = Logger.useDefaults;\r\n\r\n\t// Export to popular environments boilerplate.\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\tdefine(Logger);\r\n\t}\r\n\telse if (typeof module !== 'undefined' && module.exports) {\r\n\t\tmodule.exports = Logger;\r\n\t}\r\n\telse {\r\n\t\tLogger._prevLogger = global.Logger;\r\n\r\n\t\tLogger.noConflict = function () {\r\n\t\t\tglobal.Logger = Logger._prevLogger;\r\n\t\t\treturn Logger;\r\n\t\t};\r\n\r\n\t\tglobal.Logger = Logger;\r\n\t}\r\n}(this));\r\n"],"names":["global","logHandler","Logger","VERSION","contextualLoggersByNameMap","bind","scope","func","apply","arguments","merge","key","i","args","target","length","hasOwnProperty","defineLogLevel","value","name","TRACE","DEBUG","INFO","TIME","WARN","ERROR","OFF","ContextualLogger","defaultContext","this","context","setLevel","filterLevel","log","info","prototype","newLevel","getLevel","enabledFor","lvl","trace","invoke","debug","warn","error","time","label","timeEnd","level","msgArgs","globalLogger","L","setHandler","get","createDefaultHandler","options","formatter","messages","unshift","timerStartTimeByLabelMap","invokeConsoleMethod","hdlr","Function","call","console","Array","slice","timerLabel","Date","getTime","useDefaults","defaultLevel","setDefaults","define"],"sourceRoot":""}