@@ -90,25 +90,28 @@ interface UpgradableCustomElementConstructor extends CustomElementConstructor {
9090 new ( upgradeCallback ?: UpgradeCallback ) : HTMLElement ;
9191}
9292export let getUpgradableElement : ( name : string ) => CustomElementConstructor ;
93+ export let getUserConstructor : (
94+ upgradeCallback : UpgradeCallback
95+ ) => UpgradableCustomElementConstructor | UpgradeCallback ;
9396if ( isCustomElementRegistryAvailable ( ) ) {
9497 const getPivotCustomElement = patchCustomElementRegistry ( ) ;
9598 const cachedConstructor : Record < string , CustomElementConstructor > = create ( null ) ;
9699 getUpgradableElement = ( name : string ) => {
97100 let Ctor = cachedConstructor [ name ] ;
98101 if ( ! Ctor ) {
99- class LWCUpgradableElement extends HTMLElement {
100- constructor ( upgradeCallback ?: UpgradeCallback ) {
101- super ( ) ;
102- if ( isFunction ( upgradeCallback ) ) {
103- upgradeCallback ( this ) ; // nothing to do with the result for now
104- }
105- }
106- }
107-
102+ class LWCUpgradableElement extends HTMLElement { }
108103 Ctor = getPivotCustomElement ( name , LWCUpgradableElement ) ;
109104 }
110105 return Ctor ;
111106 } ;
107+ getUserConstructor = ( upgradeCallback : UpgradeCallback ) => {
108+ return class UserElement extends HTMLElement {
109+ constructor ( ) {
110+ super ( ) ;
111+ upgradeCallback ( this ) ;
112+ }
113+ } ;
114+ } ;
112115} else {
113116 // no registry available here
114117 getUpgradableElement = ( name : string ) : UpgradableCustomElementConstructor => {
@@ -120,17 +123,9 @@ if (isCustomElementRegistryAvailable()) {
120123 return elm ;
121124 } as unknown as UpgradableCustomElementConstructor ;
122125 } ;
126+ getUserConstructor = ( upgradeCallback : UpgradeCallback ) => upgradeCallback ;
123127}
124128
125- export const getUserConstructor = ( upgradeCallback : UpgradeCallback ) => {
126- return class UserElement extends HTMLElement {
127- constructor ( ) {
128- super ( ) ;
129- upgradeCallback ( this ) ;
130- }
131- } ;
132- } ;
133-
134129let hydrating = false ;
135130
136131export function setIsHydrating ( value : boolean ) {
0 commit comments