summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@firebase/logger/dist/index.cjs.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend-old/node_modules/@firebase/logger/dist/index.cjs.js')
-rw-r--r--frontend-old/node_modules/@firebase/logger/dist/index.cjs.js225
1 files changed, 225 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@firebase/logger/dist/index.cjs.js b/frontend-old/node_modules/@firebase/logger/dist/index.cjs.js
new file mode 100644
index 0000000..30dbcd2
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/logger/dist/index.cjs.js
@@ -0,0 +1,225 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+/**
+ * @license
+ * Copyright 2017 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * A container for all of the Logger instances
+ */
+const instances = [];
+/**
+ * The JS SDK supports 5 log levels and also allows a user the ability to
+ * silence the logs altogether.
+ *
+ * The order is a follows:
+ * DEBUG < VERBOSE < INFO < WARN < ERROR
+ *
+ * All of the log types above the current log level will be captured (i.e. if
+ * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and
+ * `VERBOSE` logs will not)
+ */
+exports.LogLevel = void 0;
+(function (LogLevel) {
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
+ LogLevel[LogLevel["VERBOSE"] = 1] = "VERBOSE";
+ LogLevel[LogLevel["INFO"] = 2] = "INFO";
+ LogLevel[LogLevel["WARN"] = 3] = "WARN";
+ LogLevel[LogLevel["ERROR"] = 4] = "ERROR";
+ LogLevel[LogLevel["SILENT"] = 5] = "SILENT";
+})(exports.LogLevel || (exports.LogLevel = {}));
+const levelStringToEnum = {
+ 'debug': exports.LogLevel.DEBUG,
+ 'verbose': exports.LogLevel.VERBOSE,
+ 'info': exports.LogLevel.INFO,
+ 'warn': exports.LogLevel.WARN,
+ 'error': exports.LogLevel.ERROR,
+ 'silent': exports.LogLevel.SILENT
+};
+/**
+ * The default log level
+ */
+const defaultLogLevel = exports.LogLevel.INFO;
+/**
+ * By default, `console.debug` is not displayed in the developer console (in
+ * chrome). To avoid forcing users to have to opt-in to these logs twice
+ * (i.e. once for firebase, and once in the console), we are sending `DEBUG`
+ * logs to the `console.log` function.
+ */
+const ConsoleMethod = {
+ [exports.LogLevel.DEBUG]: 'log',
+ [exports.LogLevel.VERBOSE]: 'log',
+ [exports.LogLevel.INFO]: 'info',
+ [exports.LogLevel.WARN]: 'warn',
+ [exports.LogLevel.ERROR]: 'error'
+};
+/**
+ * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR
+ * messages on to their corresponding console counterparts (if the log method
+ * is supported by the current log level)
+ */
+const defaultLogHandler = (instance, logType, ...args) => {
+ if (logType < instance.logLevel) {
+ return;
+ }
+ const now = new Date().toISOString();
+ const method = ConsoleMethod[logType];
+ if (method) {
+ console[method](`[${now}] ${instance.name}:`, ...args);
+ }
+ else {
+ throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);
+ }
+};
+class Logger {
+ /**
+ * Gives you an instance of a Logger to capture messages according to
+ * Firebase's logging scheme.
+ *
+ * @param name The name that the logs will be associated with
+ */
+ constructor(name) {
+ this.name = name;
+ /**
+ * The log level of the given Logger instance.
+ */
+ this._logLevel = defaultLogLevel;
+ /**
+ * The main (internal) log handler for the Logger instance.
+ * Can be set to a new function in internal package code but not by user.
+ */
+ this._logHandler = defaultLogHandler;
+ /**
+ * The optional, additional, user-defined log handler for the Logger instance.
+ */
+ this._userLogHandler = null;
+ /**
+ * Capture the current instance for later use
+ */
+ instances.push(this);
+ }
+ get logLevel() {
+ return this._logLevel;
+ }
+ set logLevel(val) {
+ if (!(val in exports.LogLevel)) {
+ throw new TypeError(`Invalid value "${val}" assigned to \`logLevel\``);
+ }
+ this._logLevel = val;
+ }
+ // Workaround for setter/getter having to be the same type.
+ setLogLevel(val) {
+ this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;
+ }
+ get logHandler() {
+ return this._logHandler;
+ }
+ set logHandler(val) {
+ if (typeof val !== 'function') {
+ throw new TypeError('Value assigned to `logHandler` must be a function');
+ }
+ this._logHandler = val;
+ }
+ get userLogHandler() {
+ return this._userLogHandler;
+ }
+ set userLogHandler(val) {
+ this._userLogHandler = val;
+ }
+ /**
+ * The functions below are all based on the `console` interface
+ */
+ debug(...args) {
+ this._userLogHandler && this._userLogHandler(this, exports.LogLevel.DEBUG, ...args);
+ this._logHandler(this, exports.LogLevel.DEBUG, ...args);
+ }
+ log(...args) {
+ this._userLogHandler &&
+ this._userLogHandler(this, exports.LogLevel.VERBOSE, ...args);
+ this._logHandler(this, exports.LogLevel.VERBOSE, ...args);
+ }
+ info(...args) {
+ this._userLogHandler && this._userLogHandler(this, exports.LogLevel.INFO, ...args);
+ this._logHandler(this, exports.LogLevel.INFO, ...args);
+ }
+ warn(...args) {
+ this._userLogHandler && this._userLogHandler(this, exports.LogLevel.WARN, ...args);
+ this._logHandler(this, exports.LogLevel.WARN, ...args);
+ }
+ error(...args) {
+ this._userLogHandler && this._userLogHandler(this, exports.LogLevel.ERROR, ...args);
+ this._logHandler(this, exports.LogLevel.ERROR, ...args);
+ }
+}
+function setLogLevel(level) {
+ instances.forEach(inst => {
+ inst.setLogLevel(level);
+ });
+}
+function setUserLogHandler(logCallback, options) {
+ for (const instance of instances) {
+ let customLogLevel = null;
+ if (options && options.level) {
+ customLogLevel = levelStringToEnum[options.level];
+ }
+ if (logCallback === null) {
+ instance.userLogHandler = null;
+ }
+ else {
+ instance.userLogHandler = (instance, level, ...args) => {
+ const message = args
+ .map(arg => {
+ if (arg == null) {
+ return null;
+ }
+ else if (typeof arg === 'string') {
+ return arg;
+ }
+ else if (typeof arg === 'number' || typeof arg === 'boolean') {
+ return arg.toString();
+ }
+ else if (arg instanceof Error) {
+ return arg.message;
+ }
+ else {
+ try {
+ return JSON.stringify(arg);
+ }
+ catch (ignored) {
+ return null;
+ }
+ }
+ })
+ .filter(arg => arg)
+ .join(' ');
+ if (level >= (customLogLevel ?? instance.logLevel)) {
+ logCallback({
+ level: exports.LogLevel[level].toLowerCase(),
+ message,
+ args,
+ type: instance.name
+ });
+ }
+ };
+ }
+ }
+}
+
+exports.Logger = Logger;
+exports.setLogLevel = setLogLevel;
+exports.setUserLogHandler = setUserLogHandler;
+//# sourceMappingURL=index.cjs.js.map