@descope/sdk-mixins
Version:
Descope JavaScript SDK mixins
44 lines (40 loc) • 2.01 kB
JavaScript
;
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