mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
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:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user