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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy