refactor(core): expose debuggableFn for effects in signal debug graph

Exposes the internal fn reference of effect reactive nodes on DebugSignalGraphNode as debuggableFn. This allows Angular DevTools to inspect and set breakpoints on effect callbacks.
This commit is contained in:
Edu
2026-07-20 23:07:57 +00:00
committed by Jessica Janiuk
parent 262fba7f7d
commit 6bfbfcc3a1
2 changed files with 10 additions and 0 deletions
@@ -104,6 +104,14 @@ function getNodesAndEdgesFromSignalMap(signalMap: ReadonlyMap<ReactiveNode, Reac
debuggableFn: consumer.lView?.[CONTEXT]?.constructor as (() => unknown) | undefined,
id,
});
} else if (isEffectNode(consumer)) {
debugSignalGraphNodes.push({
label: consumer.debugName,
kind: consumer.kind,
epoch: consumer.version,
debuggableFn: consumer.fn,
id,
});
} else {
debugSignalGraphNodes.push({
label: consumer.debugName,
@@ -116,6 +116,8 @@ describe('getSignalGraph', () => {
const effectNode = nodes.find((node) => node.label === 'primitiveSignalEffect')!;
expect(effectNode).toBeDefined();
expect(effectNode.debuggableFn).toBeDefined();
expect(typeof effectNode.debuggableFn).toBe('function');
const signalNode = nodes.find((node) => node.label === 'primitiveSignal')!;
expect(signalNode).toBeDefined();