@@ -272,25 +272,33 @@ export class Inspector {
272272 ) : CoreNode | CoreTextNode {
273273 // Define traps for each property in knownProperties
274274 knownProperties . forEach ( ( property ) => {
275- const originalProp = Object . getOwnPropertyDescriptor ( node , property ) ;
276- if ( ! originalProp ) {
275+ let originalProp = Object . getOwnPropertyDescriptor ( node , property ) ;
276+
277+ if ( originalProp === undefined ) {
278+ // Search the prototype chain for the property descriptor
279+ const proto = Object . getPrototypeOf ( node ) as CoreNode | CoreTextNode ;
280+ originalProp = Object . getOwnPropertyDescriptor ( proto , property ) ;
281+ }
282+
283+ if ( originalProp === undefined ) {
277284 return ;
278285 }
279286
280- Object . defineProperties ( node , {
281- [ property ] : {
282- get ( ) {
283- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
284- return originalProp . get ?. call ( node ) ;
285- } ,
286- set ( value ) {
287- originalProp . set ?. call ( node , value ) ;
288- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
289- this . updateNodeProperty ( div , property , value ) ;
290- } ,
291- configurable : true ,
292- enumerable : true ,
287+ Object . defineProperty ( node , property , {
288+ get ( ) {
289+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
290+ return originalProp ?. get ?. call ( node ) ;
291+ } ,
292+ set : ( value ) => {
293+ originalProp ?. set ?. call ( node , value ) ;
294+ this . updateNodeProperty (
295+ div ,
296+ property as keyof CoreNodeProps | keyof CoreTextNodeProps ,
297+ value ,
298+ ) ;
293299 } ,
300+ configurable : true ,
301+ enumerable : true ,
294302 } ) ;
295303 } ) ;
296304
0 commit comments