@studiometa/js-toolkit
Version:
A set of useful little bits of JavaScript to boost your project! 🚀
29 lines (28 loc) • 644 B
JavaScript
function withFreezedOptions(BaseClass) {
class WithFreezedOptions extends BaseClass {
/**
* Hold freezed options
*
* @private
*/
__freezedOptions;
/**
* Lazyly freeze the `$options` property.
*/
get $options() {
if (!this.__freezedOptions) {
Object.defineProperty(this, "__freezedOptions", {
value: Object.freeze({ ...super.$options }),
enumerable: false,
configurable: true
});
}
return this.__freezedOptions;
}
}
return WithFreezedOptions;
}
export {
withFreezedOptions
};
//# sourceMappingURL=withFreezedOptions.js.map