@descope/sdk-mixins
Version:
Descope JavaScript SDK mixins
35 lines (32 loc) • 1.56 kB
JavaScript
import { __classPrivateFieldGet } from 'tslib';
import { createSingletonMixin, compose } from '@descope/sdk-helpers';
import { initLifecycleMixin } from './initLifecycleMixin.js';
import { observeAttributesMixin } from './observeAttributesMixin/observeAttributesMixin.js';
const cspNonceMixin = createSingletonMixin((superclass) => {
var _CspNonceMixinClass_instances, _CspNonceMixinClass_setNonce, _a;
const BaseClass = compose(initLifecycleMixin, observeAttributesMixin)(superclass);
return _a = class CspNonceMixinClass extends BaseClass {
constructor() {
super(...arguments);
_CspNonceMixinClass_instances.add(this);
}
get nonce() {
return this.getAttribute('nonce') || '';
}
async init() {
var _b;
await ((_b = super.init) === null || _b === void 0 ? void 0 : _b.call(this));
this.observeAttribute('nonce', __classPrivateFieldGet(this, _CspNonceMixinClass_instances, "m", _CspNonceMixinClass_setNonce).bind(this));
__classPrivateFieldGet(this, _CspNonceMixinClass_instances, "m", _CspNonceMixinClass_setNonce).call(this);
}
},
_CspNonceMixinClass_instances = new WeakSet(),
_CspNonceMixinClass_setNonce = function _CspNonceMixinClass_setNonce() {
if (this.nonce) {
window.DESCOPE_NONCE = this.nonce;
}
},
_a;
});
export { cspNonceMixin };
//# sourceMappingURL=cspNonceMixin.js.map