@descope/sdk-mixins
Version:
Descope JavaScript SDK mixins
72 lines (69 loc) • 4.04 kB
JavaScript
import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
import { createSingletonMixin, compose } from '@descope/sdk-helpers';
import { initLifecycleMixin } from '../initLifecycleMixin.js';
import { loggerMixin } from '../loggerMixin/loggerMixin.js';
const debuggerMixin = createSingletonMixin((superclass) => { var _DebuggerMixinClass_instances, _DebuggerMixinClass_debuggerEle, _DebuggerMixinClass_disableDebugger, _DebuggerMixinClass_enableDebugger, _DebuggerMixinClass_handleDebugMode, _DebuggerMixinClass_updateDebuggerMessages, _a; return _a = class DebuggerMixinClass extends compose(initLifecycleMixin, loggerMixin)(superclass) {
constructor() {
super(...arguments);
_DebuggerMixinClass_instances.add(this);
_DebuggerMixinClass_debuggerEle.set(this, void 0);
this.attributeChangedCallback = (attrName, oldValue, newValue) => {
var _b;
(_b = super.attributeChangedCallback) === null || _b === void 0 ? void 0 : _b.call(this, attrName, oldValue, newValue);
if (attrName === 'debug') {
__classPrivateFieldGet(this, _DebuggerMixinClass_instances, "m", _DebuggerMixinClass_handleDebugMode).call(this);
}
};
}
get debug() {
return this.getAttribute('debug') === 'true';
}
onLogEvent(logLevel, args) {
var _b;
(_b = super.onLogEvent) === null || _b === void 0 ? void 0 : _b.call(this, logLevel, args);
if (logLevel === 'error') {
__classPrivateFieldGet(this, _DebuggerMixinClass_instances, "m", _DebuggerMixinClass_updateDebuggerMessages).call(this, args[0] || 'Error', args[1]);
}
}
async init() {
var _b;
await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));
__classPrivateFieldGet(this, _DebuggerMixinClass_instances, "m", _DebuggerMixinClass_handleDebugMode).call(this);
}
},
_DebuggerMixinClass_debuggerEle = new WeakMap(),
_DebuggerMixinClass_instances = new WeakSet(),
_DebuggerMixinClass_disableDebugger = function _DebuggerMixinClass_disableDebugger() {
var _b;
(_b = __classPrivateFieldGet(this, _DebuggerMixinClass_debuggerEle, "f")) === null || _b === void 0 ? void 0 : _b.remove();
__classPrivateFieldSet(this, _DebuggerMixinClass_debuggerEle, null, "f");
},
_DebuggerMixinClass_enableDebugger = async function _DebuggerMixinClass_enableDebugger() {
__classPrivateFieldSet(this, _DebuggerMixinClass_debuggerEle, document.createElement('descope-debugger'), "f");
Object.assign(__classPrivateFieldGet(this, _DebuggerMixinClass_debuggerEle, "f").style, {
position: 'fixed',
top: '0',
right: '0',
height: '100vh',
width: '100vw',
pointerEvents: 'none',
zIndex: 99999,
});
// we are importing the debugger dynamically so we won't load it when it's not needed
await import('./debugger-wc.js');
document.body.appendChild(__classPrivateFieldGet(this, _DebuggerMixinClass_debuggerEle, "f"));
},
_DebuggerMixinClass_handleDebugMode = function _DebuggerMixinClass_handleDebugMode() {
if (this.debug)
__classPrivateFieldGet(this, _DebuggerMixinClass_instances, "m", _DebuggerMixinClass_enableDebugger).call(this);
else
__classPrivateFieldGet(this, _DebuggerMixinClass_instances, "m", _DebuggerMixinClass_disableDebugger).call(this);
},
_DebuggerMixinClass_updateDebuggerMessages = function _DebuggerMixinClass_updateDebuggerMessages(title, description) {
var _b;
if (title)
(_b = __classPrivateFieldGet(this, _DebuggerMixinClass_debuggerEle, "f")) === null || _b === void 0 ? void 0 : _b.updateData({ title, description });
},
_a; });
export { debuggerMixin };
//# sourceMappingURL=debuggerMixin.js.map