@@ -2,6 +2,7 @@ import type { LightningElementStyle } from '@plextv/react-lightning';
22import  {  EventEmitter  }  from  'tseep' ; 
33import  {  NodeOperations  }  from  './types/NodeOperations' ; 
44import  {  SimpleDataView  }  from  './util/SimpleDataView' ; 
5+ import  {  toSerializableValue  }  from  './util/toSerializableValue' ; 
56import  Worker  from  './worker?worker&inline' ; 
67import  type  {  YogaManager ,  YogaManagerEvents  }  from  './YogaManager' ; 
78
@@ -64,8 +65,6 @@ function wrapWorker<T>(worker: Worker): Workerized<T> {
6465  let  _sizeRequestPromise : Promise < void >  |  null  =  null ; 
6566
6667  function  flushSendStyles ( )  { 
67-     const  needsRender  =  _needsRender ; 
68- 
6968    if  ( Object . keys ( _stylesToSend ) . length  ===  0 )  { 
7069      return ; 
7170    } 
@@ -76,7 +75,7 @@ function wrapWorker<T>(worker: Worker): Workerized<T> {
7675
7776    worker . postMessage ( { 
7877      method : 'applyStyles' , 
79-       args : [ _stylesToSend ,  ! needsRender ] , 
78+       args : [ _stylesToSend ,  ! _needsRender ] , 
8079    } ) ; 
8180
8281    _needsRender  =  false ; 
@@ -92,14 +91,23 @@ function wrapWorker<T>(worker: Worker): Workerized<T> {
9291    skipRender  =  false , 
9392  )  { 
9493    if  ( style )  { 
95-       if  ( ! _stylesToSend [ elementId ] )  { 
94+       let  styleToSend  =  _stylesToSend [ elementId ] ; 
95+ 
96+       if  ( ! styleToSend )  { 
9697        _numStylesToSend ++ ; 
98+         styleToSend  =  { } ; 
99+         _stylesToSend [ elementId ]  =  styleToSend ; 
97100      } 
98101
99-       _stylesToSend [ elementId ]  =  { 
100-         ..._stylesToSend [ elementId ] , 
101-         ...style , 
102-       } ; 
102+       // Add style props if they're serializable 
103+       for  ( const  [ key ,  value ]  of  Object . entries ( style ) )  { 
104+         const  serializedValue  =  toSerializableValue ( key ,  value ) ; 
105+ 
106+         if  ( serializedValue  !=  null )  { 
107+           // @ts -expect-error 
108+           styleToSend [ key ]  =  serializedValue ; 
109+         } 
110+       } 
103111    }  else  { 
104112      delete  _stylesToSend [ elementId ] ; 
105113      _numStylesToSend -- ; 
0 commit comments