88
99/** Formatted signal update for external consumers */
1010export interface FormattedSignalUpdate {
11- type : "update" | "effect" ;
12- signalType : "signal" | "computed" | "effect" ;
11+ type : "update" | "effect" | "component" ;
12+ signalType : "signal" | "computed" | "effect" | "component" ;
1313 signalName : string ;
1414 signalId : string ;
1515 prevValue ?: any ;
@@ -24,7 +24,7 @@ export interface FormattedSignalUpdate {
2424/** Formatted signal disposal event for external consumers */
2525export interface FormattedSignalDisposed {
2626 type : "disposed" ;
27- signalType : "signal" | "computed" | "effect" ;
27+ signalType : "signal" | "computed" | "effect" | "component" ;
2828 signalName : string ;
2929 signalId : string ;
3030 timestamp : number ;
@@ -144,25 +144,35 @@ class DevToolsCommunicator {
144144 }
145145
146146 const formattedUpdates = updateInfoList . map ( ( { signal, ...info } ) => {
147- return info . type === "value"
148- ? {
149- ...info ,
150- type : "update" as const ,
151- newValue : deeplyRemoveFunctions ( info . newValue ) ,
152- prevValue : deeplyRemoveFunctions ( info . prevValue ) ,
153- signalType : ( "_fn" in signal ? "computed" : "signal" ) as
154- | "signal"
155- | "computed" ,
156- signalName : this . getSignalName ( signal , false ) ,
157- signalId : this . getSignalId ( signal ) ,
158- }
159- : {
160- ...info ,
161- type : "effect" as const ,
162- signalType : "effect" as const ,
163- signalName : this . getSignalName ( signal , true ) ,
164- signalId : this . getSignalId ( signal ) ,
165- } ;
147+ if ( info . type === "value" ) {
148+ return {
149+ ...info ,
150+ type : "update" as const ,
151+ newValue : deeplyRemoveFunctions ( info . newValue ) ,
152+ prevValue : deeplyRemoveFunctions ( info . prevValue ) ,
153+ signalType : ( "_fn" in signal ? "computed" : "signal" ) as
154+ | "signal"
155+ | "computed" ,
156+ signalName : this . getSignalName ( signal , "value" ) ,
157+ signalId : this . getSignalId ( signal ) ,
158+ } ;
159+ } else if ( info . type === "component" ) {
160+ return {
161+ ...info ,
162+ type : "component" as const ,
163+ signalType : "component" as const ,
164+ signalName : this . getSignalName ( signal , "component" ) ,
165+ signalId : this . getSignalId ( signal ) ,
166+ } ;
167+ } else {
168+ return {
169+ ...info ,
170+ type : "effect" as const ,
171+ signalType : "effect" as const ,
172+ signalName : this . getSignalName ( signal , "effect" ) ,
173+ signalId : this . getSignalId ( signal ) ,
174+ } ;
175+ }
166176 } ) ;
167177
168178 // Emit for direct listeners (e.g., DirectAdapter)
@@ -212,8 +222,8 @@ class DevToolsCommunicator {
212222 } ;
213223 }
214224
215- public getSignalName ( signal : any , isEffect : boolean ) : string {
216- return getSignalName ( signal , isEffect ) ;
225+ public getSignalName ( signal : any , type : any ) : string {
226+ return getSignalName ( signal , type ) ;
217227 }
218228
219229 public getSignalId ( signal : any ) : string {
@@ -231,7 +241,10 @@ class DevToolsCommunicator {
231241 const disposal : FormattedSignalDisposed = {
232242 type : "disposed" ,
233243 signalType,
234- signalName : this . getSignalName ( signal , signalType === "effect" ) ,
244+ signalName : this . getSignalName (
245+ signal ,
246+ signalType === "signal" ? "value" : signalType
247+ ) ,
235248 signalId : this . getSignalId ( signal ) ,
236249 timestamp : Date . now ( ) ,
237250 } ;
0 commit comments