@benev/slate
Version:
frontend web stuff
23 lines • 638 B
JavaScript
export function mixinSetups(Base) {
return class extends Base {
#setups = new Set()
.add(() => this.setup());
#setdowns = new Set();
register_setup(setup) {
this.#setups.add(setup);
}
setup() {
return () => { };
}
connectedCallback() {
for (const setup of this.#setups)
this.#setdowns.add(setup());
}
disconnectedCallback() {
for (const setdown of this.#setdowns)
setdown();
this.#setdowns.clear();
}
};
}
//# sourceMappingURL=mixin_setups.js.map