UNPKG

@descope/sdk-mixins

Version:
48 lines (44 loc) 2.38 kB
'use strict'; var tslib = require('tslib'); var sdkHelpers = require('@descope/sdk-helpers'); var commonValidators = require('./createValidateAttributesMixin/commonValidators.js'); var createValidateAttributesMixin = require('./createValidateAttributesMixin/createValidateAttributesMixin.js'); const resetMixin = sdkHelpers.createSingletonMixin((superclass) => { var _ResetMixinClass_callbacks, _a; const BaseClass = sdkHelpers.compose(createValidateAttributesMixin.createValidateAttributesMixin({ 'project-id': commonValidators.missingAttrValidator }))(superclass); return _a = class ResetMixinClass extends BaseClass { constructor() { super(...arguments); _ResetMixinClass_callbacks.set(this, new Map()); } onReset(sectionId, callback) { if (!tslib.__classPrivateFieldGet(this, _ResetMixinClass_callbacks, "f").has(sectionId)) { tslib.__classPrivateFieldGet(this, _ResetMixinClass_callbacks, "f").set(sectionId, callback); return () => { tslib.__classPrivateFieldGet(this, _ResetMixinClass_callbacks, "f").delete(sectionId); }; } else { throw new Error(`Callback for sectionId ${sectionId} already exists`); } } async reset(...sectionIds) { if (sectionIds.length === 0) { await Promise.all(Array.from(tslib.__classPrivateFieldGet(this, _ResetMixinClass_callbacks, "f").values()).map((callback) => callback())); } else { await Promise.all(sectionIds.map((sectionId) => { var _b; if (!tslib.__classPrivateFieldGet(this, _ResetMixinClass_callbacks, "f").has(sectionId)) { throw new Error(`Callback for sectionId ${sectionId} does not exist`); } return (_b = tslib.__classPrivateFieldGet(this, _ResetMixinClass_callbacks, "f").get(sectionId)) === null || _b === void 0 ? void 0 : _b(); })); } } }, _ResetMixinClass_callbacks = new WeakMap(), _a; }); exports.resetMixin = resetMixin; //# sourceMappingURL=resetMixin.js.map