Skip to content

Commit a4bad8d

Browse files
mturcothePunderWoman
authored andcommitted
feat(core): export signalGetFn from signal primitives (#60497)
This updates `createSignal` to use `signalGetFn` to define the signal getter and exports `signalGetFn` from the shared signal primitives. PR Close #60497
1 parent ea62a4f commit a4bad8d

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

goldens/public-api/core/primitives/signals/index.api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@ export const SIGNAL: unique symbol;
161161
// @public (undocumented)
162162
export const SIGNAL_NODE: SignalNode<unknown>;
163163

164+
// @public (undocumented)
165+
export function signalGetFn<T>(node: SignalNode<T>): T;
166+
164167
// @public (undocumented)
165168
export interface SignalGetter<T> extends SignalBaseGetter<T> {
166169
// (undocumented)

packages/core/primitives/signals/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export {
4848
createSignal,
4949
runPostSignalSetFn,
5050
setPostSignalSetFn,
51+
signalGetFn,
5152
signalSetFn,
5253
signalUpdateFn,
5354
} from './src/signal';

packages/core/primitives/signals/src/signal.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,7 @@ export function createSignal<T>(initialValue: T, equal?: ValueEqualityFn<T>): Si
5454
if (equal !== undefined) {
5555
node.equal = equal;
5656
}
57-
const getter = (() => {
58-
producerAccessed(node);
59-
return node.value;
60-
}) as SignalGetter<T>;
57+
const getter = (() => signalGetFn(node)) as SignalGetter<T>;
6158
(getter as any)[SIGNAL] = node;
6259
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
6360
const debugName = node.debugName ? ' (' + node.debugName + ')' : '';
@@ -75,9 +72,9 @@ export function setPostSignalSetFn(fn: ReactiveHookFn | null): ReactiveHookFn |
7572
return prev;
7673
}
7774

78-
export function signalGetFn<T>(this: SignalNode<T>): T {
79-
producerAccessed(this);
80-
return this.value;
75+
export function signalGetFn<T>(node: SignalNode<T>): T {
76+
producerAccessed(node);
77+
return node.value;
8178
}
8279

8380
export function signalSetFn<T>(node: SignalNode<T>, newValue: T) {

0 commit comments

Comments
 (0)