UNPKG

@descope/sdk-mixins

Version:
36 lines (33 loc) 1.75 kB
import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib'; import { createSingletonMixin } from '@descope/sdk-helpers'; const logLevels = ['error', 'warn', 'info', 'debug']; const loggerMixin = 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, __classPrivateFieldGet(this, _LoggerMixinClass_instances, "m", _LoggerMixinClass_wrapLogger).call(this, console)); } set logger(logger) { __classPrivateFieldSet(this, _LoggerMixinClass_logger, __classPrivateFieldGet(this, _LoggerMixinClass_instances, "m", _LoggerMixinClass_wrapLogger).call(this, logger || console), "f"); } get logger() { return __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; }); export { loggerMixin }; //# sourceMappingURL=loggerMixin.js.map