UNPKG

@descope/sdk-mixins

Version:
44 lines (40 loc) 2.01 kB
'use strict'; var tslib = require('tslib'); var sdkHelpers = require('@descope/sdk-helpers'); const logLevels = ['error', 'warn', 'info', 'debug']; const defaultLogger = { error: console.error.bind(console, '[Descope]'), warn: console.warn.bind(console, '[Descope]'), info: console.info.bind(console, '[Descope]'), debug: console.debug.bind(console, '[Descope]'), }; const loggerMixin = sdkHelpers.createSingletonMixin((superclass) => { var _LoggerMixinClass_instances, _LoggerMixinClass_logger, _LoggerMixinClass_wrapLogger, _a; return _a = class LoggerMixinClass extends superclass { constructor() { super(...arguments); _LoggerMixinClass_instances.add(this); _LoggerMixinClass_logger.set(this, tslib.__classPrivateFieldGet(this, _LoggerMixinClass_instances, "m", _LoggerMixinClass_wrapLogger).call(this, defaultLogger)); } set logger(logger) { tslib.__classPrivateFieldSet(this, _LoggerMixinClass_logger, tslib.__classPrivateFieldGet(this, _LoggerMixinClass_instances, "m", _LoggerMixinClass_wrapLogger).call(this, logger || defaultLogger), "f"); } get logger() { return tslib.__classPrivateFieldGet(this, _LoggerMixinClass_logger, "f"); } // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars onLogEvent(logLevel, data) { } }, _LoggerMixinClass_logger = new WeakMap(), _LoggerMixinClass_instances = new WeakSet(), _LoggerMixinClass_wrapLogger = function _LoggerMixinClass_wrapLogger(logger) { return logLevels.reduce((acc, logLevel) => { acc[logLevel] = (...args) => { var _b; this.onLogEvent(logLevel, args); (_b = logger[logLevel]) === null || _b === void 0 ? void 0 : _b.call(logger, ...args); }; return acc; }, {}); }, _a; }); exports.loggerMixin = loggerMixin; //# sourceMappingURL=loggerMixin.js.map