- From: Nicolas Gilbert <notifications@github.com>
- Date: Thu, 09 Mar 2023 04:36:40 -0800
- To: WICG/webcomponents <webcomponents@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Thursday, 9 March 2023 12:36:54 UTC
This proposal introduces the `requiredElements` static prop to add definition-time validation of custom element dependencies. There is a precedent for static property used during definition with `observedAttributes`. ```js class ComponentA extends HTMLElement {} // ComponentB requires ComponentA class ComponentB extends HTMLElement { static requiredElements = [ComponentA]; connectedCallback() { this.appendChild(new ComponentA()); } } // ComponentB requires ComponentB, but also ComponentA through ComponentB class ComponentC extends HTMLElement { static requiredElements = [ComponentB]; connectedCallback() { this.appendChild(new ComponentB()); } } // This would throw an error complaining that ComponentB and ComponentA have to be defined. customElements.define('component-c', ComponentC); ``` Tools like eslint could be used to ensure that every elements used have been added to `requiredElements`. -- Reply to this email directly or view it on GitHub: https://github.com/WICG/webcomponents/issues/988 You are receiving this because you are subscribed to this thread. Message ID: <WICG/webcomponents/issues/988@github.com>
Received on Thursday, 9 March 2023 12:36:54 UTC