{"version":3,"sources":["https:\/\/vlm2.ub.ac.id\/lib\/amd\/src\/loglevel.js"],"names":["root","definition","define","amd","module","exports","log","noop","undefinedType","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","realMethod","console","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","self","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","toUpperCase","window","localStorage","ignore","document","cookie","encodeURIComponent","getPersistedLevel","storedLevel","location","indexOf","exec","slice","levels","getLevel","setLevel","persist","SILENT","setDefaultLevel","enableAll","TRACE","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers"],"mappings":"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","sourcesContent":["\/\/ The MIT License\n\/\/\n\/\/ Copyright (c) 2013 Tim Perry\n\/\/\n\/\/ Permission is hereby granted, free of charge, to any person obtaining\n\/\/ a copy of this software and associated documentation files (the\n\/\/ \"Software\"), to deal in the Software without restriction, including\n\/\/ without limitation the rights to use, copy, modify, merge, publish,\n\/\/ distribute, sublicense, and\/or sell copies of the Software, and to\n\/\/ permit persons to whom the Software is furnished to do so, subject to\n\/\/ the following 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 OF\n\/\/ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n\/\/ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n\/\/ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n\/\/ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n\/\/ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\/\/\n\n\/\/ Description of import into Moodle:\n\/\/ Download from https:\/\/github.com\/pimterry\/loglevel\/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\/*\n * loglevel - https:\/\/github.com\/pimterry\/loglevel\n *\n * Copyright (c) 2013 Tim Perry\n * Licensed under the MIT license.\n *\/\n\/*! loglevel - v1.6.2 - https:\/\/github.com\/pimterry\/loglevel - (c) 2019 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\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 \/\/ 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 (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 var storageKey = \"loglevel\";\n if (name) {\n storageKey += \":\" + name;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType) 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) 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 \/*\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 if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\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 == null ? \"WARN\" : 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 !== \"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 return defaultLogger;\n}));\n"],"file":"loglevel.min.js"}