@descope/sdk-mixins
Version:
Descope JavaScript SDK mixins
36 lines (33 loc) • 1.75 kB
JavaScript
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