/** * Needed for asynchronous loading * @param props Array of property names to "upgrade", without losing value set while element was Unknown * @param defaultValues: If property value not set, set it from the defaultValues lookup * @private */ export function propUp(self: HTMLElement, props: string[], defaultValues?: T){ for(const prop of props){ let value = (self)[prop]; if(value === undefined && defaultValues !== undefined){ value = (defaultValues)[prop]; } if (self.hasOwnProperty(prop)) { delete (self)[prop]; } //some properties are read only. try{(self)[prop] = value;}catch{} } }