UNPKG

@gecut/mixins

Version:

A tiny, TypeScript-powered package of hyper-fast LitElement mixins. Enhance your web components with swift, type-safe functionality that’s easy to integrate.

26 lines 861 B
import { LitElement } from 'lit'; export function SignalMixin(superClass) { class SignalMixinClass extends superClass { constructor() { super(...arguments); // eslint-disable-next-line @typescript-eslint/no-explicit-any Object.defineProperty(this, "signalSubscribers", { enumerable: true, configurable: true, writable: true, value: [] }); } disconnectedCallback() { super.disconnectedCallback(); for (const signalReturn of this.signalSubscribers) { signalReturn.unsubscribe(); } } addSignalSubscriber(signalReturn) { this.signalSubscribers.push(signalReturn); } } return SignalMixinClass; } //# sourceMappingURL=signal.js.map