mirror of
https://github.com/musix-org/musix-oss
synced 2024-12-24 01:43:18 +00:00
1 line
8.3 KiB
Plaintext
1 line
8.3 KiB
Plaintext
{"version":3,"file":"index.cjs.js","sources":["../src/logger.ts","../index.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A container for all of the Logger instances\n */\nexport const instances: Logger[] = [];\n\n/**\n * The JS SDK supports 5 log levels and also allows a user the ability to\n * silence the logs altogether.\n *\n * The order is a follows:\n * DEBUG < VERBOSE < INFO < WARN < ERROR\n *\n * All of the log types above the current log level will be captured (i.e. if\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\n * `VERBOSE` logs will not)\n */\nexport enum LogLevel {\n DEBUG,\n VERBOSE,\n INFO,\n WARN,\n ERROR,\n SILENT\n}\n\n/**\n * The default log level\n */\nconst defaultLogLevel: LogLevel = LogLevel.INFO;\n\n/**\n * We allow users the ability to pass their own log handler. We will pass the\n * type of log, the current log level, and any other arguments passed (i.e. the\n * messages that the user wants to log) to this function.\n */\nexport type LogHandler = (\n loggerInstance: Logger,\n logType: LogLevel,\n ...args: unknown[]\n) => void;\n\n/**\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\n * messages on to their corresponding console counterparts (if the log method\n * is supported by the current log level)\n */\nconst defaultLogHandler: LogHandler = (instance, logType, ...args): void => {\n if (logType < instance.logLevel) {\n return;\n }\n const now = new Date().toISOString();\n switch (logType) {\n /**\n * By default, `console.debug` is not displayed in the developer console (in\n * chrome). To avoid forcing users to have to opt-in to these logs twice\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\n * logs to the `console.log` function.\n */\n case LogLevel.DEBUG:\n console.log(`[${now}] ${instance.name}:`, ...args);\n break;\n case LogLevel.VERBOSE:\n console.log(`[${now}] ${instance.name}:`, ...args);\n break;\n case LogLevel.INFO:\n console.info(`[${now}] ${instance.name}:`, ...args);\n break;\n case LogLevel.WARN:\n console.warn(`[${now}] ${instance.name}:`, ...args);\n break;\n case LogLevel.ERROR:\n console.error(`[${now}] ${instance.name}:`, ...args);\n break;\n default:\n throw new Error(\n `Attempted to log a message with an invalid logType (value: ${logType})`\n );\n }\n};\n\nexport class Logger {\n /**\n * Gives you an instance of a Logger to capture messages according to\n * Firebase's logging scheme.\n *\n * @param name The name that the logs will be associated with\n */\n constructor(public name: string) {\n /**\n * Capture the current instance for later use\n */\n instances.push(this);\n }\n\n /**\n * The log level of the given Logger instance.\n */\n private _logLevel = defaultLogLevel;\n get logLevel(): LogLevel {\n return this._logLevel;\n }\n set logLevel(val: LogLevel) {\n if (!(val in LogLevel)) {\n throw new TypeError('Invalid value assigned to `logLevel`');\n }\n this._logLevel = val;\n }\n\n /**\n * The log handler for the Logger instance.\n */\n private _logHandler: LogHandler = defaultLogHandler;\n get logHandler(): LogHandler {\n return this._logHandler;\n }\n set logHandler(val: LogHandler) {\n if (typeof val !== 'function') {\n throw new TypeError('Value assigned to `logHandler` must be a function');\n }\n this._logHandler = val;\n }\n\n /**\n * The functions below are all based on the `console` interface\n */\n\n debug(...args: unknown[]): void {\n this._logHandler(this, LogLevel.DEBUG, ...args);\n }\n log(...args: unknown[]): void {\n this._logHandler(this, LogLevel.VERBOSE, ...args);\n }\n info(...args: unknown[]): void {\n this._logHandler(this, LogLevel.INFO, ...args);\n }\n warn(...args: unknown[]): void {\n this._logHandler(this, LogLevel.WARN, ...args);\n }\n error(...args: unknown[]): void {\n this._logHandler(this, LogLevel.ERROR, ...args);\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { instances, LogLevel } from './src/logger';\n\nexport function setLogLevel(level: LogLevel): void {\n instances.forEach(inst => {\n inst.logLevel = level;\n });\n}\n\nexport { Logger, LogLevel, LogHandler } from './src/logger';\n"],"names":["LogLevel"],"mappings":"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"} |