MCPcopy
hub / github.com/angular/angular / linkedSignal

Function linkedSignal

packages/core/src/render3/reactivity/linked_signal.ts:49–75  ·  view source on GitHub ↗
(
  optionsOrComputation:
    | {
        source: () => S;
        computation: ComputationFn<S, D>;
        equal?: ValueEqualityFn<D>;
        debugName?: string;
      }
    | (() => D),
  options?: {equal?: ValueEqualityFn<D>; debugName?: string},
)

Source from the content-addressed store, hash-verified

47}): WritableSignal<D>;
48
49export function linkedSignal<S, D>(
50 optionsOrComputation:
51 | {
52 source: () => S;
53 computation: ComputationFn<S, D>;
54 equal?: ValueEqualityFn<D>;
55 debugName?: string;
56 }
57 | (() => D),
58 options?: {equal?: ValueEqualityFn<D>; debugName?: string},
59): WritableSignal<D> {
60 if (typeof optionsOrComputation === 'function') {
61 const getter = createLinkedSignal<D, D>(
62 optionsOrComputation,
63 identityFn<D>,
64 options?.equal,
65 ) as LinkedSignalGetter<D, D> & WritableSignal<D>;
66 return upgradeLinkedSignalGetter(getter, options?.debugName);
67 } else {
68 const getter = createLinkedSignal<S, D>(
69 optionsOrComputation.source,
70 optionsOrComputation.computation,
71 optionsOrComputation.equal,
72 );
73 return upgradeLinkedSignalGetter(getter, optionsOrComputation.debugName);
74 }
75}
76
77function upgradeLinkedSignalGetter<S, D>(
78 getter: LinkedSignalGetter<S, D>,

Callers 15

constructorMethod · 0.90
debouncedFunction · 0.90
AppClass · 0.90
transformedValueFunction · 0.90
createParserFunction · 0.90
FieldNodeClass · 0.90
controlValueSignalMethod · 0.90
constructorMethod · 0.90

Calls 2

createLinkedSignalFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…