@@ -42,6 +42,7 @@ export function linkedSignal<S, D>(options: {
4242 source : ( ) => S ;
4343 computation : ( source : NoInfer < S > , previous ?: { source : NoInfer < S > ; value : NoInfer < D > } ) => D ;
4444 equal ?: ValueEqualityFn < NoInfer < D > > ;
45+ debugName ?: string ;
4546} ) : WritableSignal < D > ;
4647
4748export function linkedSignal < S , D > (
@@ -50,30 +51,35 @@ export function linkedSignal<S, D>(
5051 source : ( ) => S ;
5152 computation : ComputationFn < S , D > ;
5253 equal ?: ValueEqualityFn < D > ;
54+ debugName ?: string ;
5355 }
5456 | ( ( ) => D ) ,
55- options ?: { equal ?: ValueEqualityFn < D > } ,
57+ options ?: { equal ?: ValueEqualityFn < D > ; debugName ?: string } ,
5658) : WritableSignal < D > {
5759 if ( typeof optionsOrComputation === 'function' ) {
5860 const getter = createLinkedSignal < D , D > (
5961 optionsOrComputation ,
6062 identityFn < D > ,
6163 options ?. equal ,
6264 ) as LinkedSignalGetter < D , D > & WritableSignal < D > ;
63- return upgradeLinkedSignalGetter ( getter ) ;
65+ return upgradeLinkedSignalGetter ( getter , options ?. debugName ) ;
6466 } else {
6567 const getter = createLinkedSignal < S , D > (
6668 optionsOrComputation . source ,
6769 optionsOrComputation . computation ,
6870 optionsOrComputation . equal ,
6971 ) ;
70- return upgradeLinkedSignalGetter ( getter ) ;
72+ return upgradeLinkedSignalGetter ( getter , optionsOrComputation . debugName ) ;
7173 }
7274}
7375
74- function upgradeLinkedSignalGetter < S , D > ( getter : LinkedSignalGetter < S , D > ) : WritableSignal < D > {
76+ function upgradeLinkedSignalGetter < S , D > (
77+ getter : LinkedSignalGetter < S , D > ,
78+ debugName ?: string ,
79+ ) : WritableSignal < D > {
7580 if ( ngDevMode ) {
7681 getter . toString = ( ) => `[LinkedSignal: ${ getter ( ) } ]` ;
82+ getter [ SIGNAL ] . debugName = debugName ;
7783 }
7884
7985 const node = getter [ SIGNAL ] as LinkedSignalNode < S , D > ;
0 commit comments