Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

{"version":3,"file":"loglevel.min.js","sources":["../src/loglevel.js"],"sourcesContent":["// Copyright (c) 2013 Tim Perry\n//\n// Permission is hereby granted, free of charge, to any person\n// obtaining a copy of this software and associated documentation\n// files (the \"Software\"), to deal in the Software without\n// restriction, including without limitation the rights to use,\n// copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the\n// Software is furnished to do so, subject to the following\n// conditions:\n//\n// The above copyright notice and this permission notice shall be\n// included in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n// OTHER DEALINGS IN THE SOFTWARE.\n\n// Description of import into Moodle:\n// Download from https://github.com/pimterry/loglevel/tree/master/dist\n// Copy loglevel.js into lib/amd/src/ in Moodle folder.\n// Add the license as a comment to the file and these instructions.\n\n/*! loglevel - v1.8.1 - https://github.com/pimterry/loglevel - (c) 2022 Tim Perry - licensed MIT */\n(function (root, definition) {\n    \"use strict\";\n    if (typeof define === 'function' && define.amd) {\n        define(definition);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = definition();\n    } else {\n        root.log = definition();\n    }\n}(this, function () {\n    \"use strict\";\n\n    // Slightly dubious tricks to cut down minimized file size\n    var noop = function() {};\n    var undefinedType = \"undefined\";\n    var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n        /Trident\\/|MSIE /.test(window.navigator.userAgent)\n    );\n\n    var logMethods = [\n        \"trace\",\n        \"debug\",\n        \"info\",\n        \"warn\",\n        \"error\"\n    ];\n\n    // Cross-browser bind equivalent that works at least back to IE6\n    function bindMethod(obj, methodName) {\n        var method = obj[methodName];\n        if (typeof method.bind === 'function') {\n            return method.bind(obj);\n        } else {\n            try {\n                return Function.prototype.bind.call(method, obj);\n            } catch (e) {\n                // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n                return function() {\n                    return Function.prototype.apply.apply(method, [obj, arguments]);\n                };\n            }\n        }\n    }\n\n    // Trace() doesn't print the message in IE, so for that case we need to wrap it\n    function traceForIE() {\n        if (console.log) {\n            if (console.log.apply) {\n                console.log.apply(console, arguments);\n            } else {\n                // In old IE, native console methods themselves don't have apply().\n                Function.prototype.apply.apply(console.log, [console, arguments]);\n            }\n        }\n        if (console.trace) console.trace();\n    }\n\n    // Build the best logging method possible for this env\n    // Wherever possible we want to bind, not wrap, to preserve stack traces\n    function realMethod(methodName) {\n        if (methodName === 'debug') {\n            methodName = 'log';\n        }\n\n        if (typeof console === undefinedType) {\n            return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n        } else if (methodName === 'trace' && isIE) {\n            return traceForIE;\n        } else if (console[methodName] !== undefined) {\n            return bindMethod(console, methodName);\n        } else if (console.log !== undefined) {\n            return bindMethod(console, 'log');\n        } else {\n            return noop;\n        }\n    }\n\n    // These private functions always need `this` to be set properly\n\n    function replaceLoggingMethods(level, loggerName) {\n        /*jshint validthis:true */\n        for (var i = 0; i < logMethods.length; i++) {\n            var methodName = logMethods[i];\n            this[methodName] = (i < level) ?\n                noop :\n                this.methodFactory(methodName, level, loggerName);\n        }\n\n        // Define log.log as an alias for log.debug\n        this.log = this.debug;\n    }\n\n    // In old IE versions, the console isn't present until you first open it.\n    // We build realMethod() replacements here that regenerate logging methods\n    function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n        return function () {\n            if (typeof console !== undefinedType) {\n                replaceLoggingMethods.call(this, level, loggerName);\n                this[methodName].apply(this, arguments);\n            }\n        };\n    }\n\n    // By default, we use closely bound real methods wherever possible, and\n    // otherwise we wait for a console to appear, and then try again.\n    function defaultMethodFactory(methodName, level, loggerName) {\n        /*jshint validthis:true */\n        return realMethod(methodName) ||\n               enableLoggingWhenConsoleArrives.apply(this, arguments);\n    }\n\n    function Logger(name, defaultLevel, factory) {\n      var self = this;\n      var currentLevel;\n      defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n      var storageKey = \"loglevel\";\n      if (typeof name === \"string\") {\n        storageKey += \":\" + name;\n      } else if (typeof name === \"symbol\") {\n        storageKey = undefined;\n      }\n\n      function persistLevelIfPossible(levelNum) {\n          var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage[storageKey] = levelName;\n              return;\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n          } catch (ignore) {}\n      }\n\n      function getPersistedLevel() {\n          var storedLevel;\n\n          if (typeof window === undefinedType || !storageKey) return;\n\n          try {\n              storedLevel = window.localStorage[storageKey];\n          } catch (ignore) {}\n\n          // Fallback to cookies if local storage gives us nothing\n          if (typeof storedLevel === undefinedType) {\n              try {\n                  var cookie = window.document.cookie;\n                  var location = cookie.indexOf(\n                      encodeURIComponent(storageKey) + \"=\");\n                  if (location !== -1) {\n                      storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n                  }\n              } catch (ignore) {}\n          }\n\n          // If the stored level is not valid, treat it as if nothing was stored.\n          if (self.levels[storedLevel] === undefined) {\n              storedLevel = undefined;\n          }\n\n          return storedLevel;\n      }\n\n      function clearPersistedLevel() {\n          if (typeof window === undefinedType || !storageKey) return;\n\n          // Use localStorage if available\n          try {\n              window.localStorage.removeItem(storageKey);\n              return;\n          } catch (ignore) {}\n\n          // Use session cookie as fallback\n          try {\n              window.document.cookie =\n                encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n          } catch (ignore) {}\n      }\n\n      /*\n       *\n       * Public logger API - see https://github.com/pimterry/loglevel for details\n       *\n       */\n\n      self.name = name;\n\n      self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n          \"ERROR\": 4, \"SILENT\": 5};\n\n      self.methodFactory = factory || defaultMethodFactory;\n\n      self.getLevel = function () {\n          return currentLevel;\n      };\n\n      self.setLevel = function (level, persist) {\n          if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n              level = self.levels[level.toUpperCase()];\n          }\n          if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n              currentLevel = level;\n              if (persist !== false) {  // defaults to true\n                  persistLevelIfPossible(level);\n              }\n              replaceLoggingMethods.call(self, level, name);\n              if (typeof console === undefinedType && level < self.levels.SILENT) {\n                  return \"No console available for logging\";\n              }\n          } else {\n              throw \"log.setLevel() called with invalid level: \" + level;\n          }\n      };\n\n      self.setDefaultLevel = function (level) {\n          defaultLevel = level;\n          if (!getPersistedLevel()) {\n              self.setLevel(level, false);\n          }\n      };\n\n      self.resetLevel = function () {\n          self.setLevel(defaultLevel, false);\n          clearPersistedLevel();\n      };\n\n      self.enableAll = function(persist) {\n          self.setLevel(self.levels.TRACE, persist);\n      };\n\n      self.disableAll = function(persist) {\n          self.setLevel(self.levels.SILENT, persist);\n      };\n\n      // Initialize with the right level\n      var initialLevel = getPersistedLevel();\n      if (initialLevel == null) {\n          initialLevel = defaultLevel;\n      }\n      self.setLevel(initialLevel, false);\n    }\n\n    /*\n     *\n     * Top-level API\n     *\n     */\n\n    var defaultLogger = new Logger();\n\n    var _loggersByName = {};\n    defaultLogger.getLogger = function getLogger(name) {\n        if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n          throw new TypeError(\"You must supply a name when creating a logger.\");\n        }\n\n        var logger = _loggersByName[name];\n        if (!logger) {\n          logger = _loggersByName[name] = new Logger(\n            name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n        }\n        return logger;\n    };\n\n    // Grab the current global log variable in case of overwrite\n    var _log = (typeof window !== undefinedType) ? window.log : undefined;\n    defaultLogger.noConflict = function() {\n        if (typeof window !== undefinedType &&\n               window.log === defaultLogger) {\n            window.log = _log;\n        }\n\n        return defaultLogger;\n    };\n\n    defaultLogger.getLoggers = function getLoggers() {\n        return _loggersByName;\n    };\n\n    // ES6 default export, for compatibility\n    defaultLogger['default'] = defaultLogger;\n\n    return defaultLogger;\n}));\n"],"names":["root","definition","this","noop","isIE","window","navigator","test","userAgent","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","realMethod","undefined","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","currentLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","location","indexOf","encodeURIComponent","exec","slice","levels","getLevel","setLevel","persist","toUpperCase","SILENT","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers","define","amd","module","exports"],"mappings":"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"}