dynamic-forms / Function

derivedFromDeferred

Generic types:T R

Like derivedFrom from ngxtension, but uses defer() to avoid input availability issues. This ensures toObservable is called at subscription time, not at field initialization.

Supports three source types:

Presentation

function derivedFromDeferred(
  source: Signal<T>,
  operator: OperatorFunction<T, R>,
  options: DerivedFromDeferredOptions<R>,
): Signal<R>;

Returns

Signal<R>

Parameters

NameTypeDescription
source
Signal<T>
operator
OperatorFunction<T, R>
options
DerivedFromDeferredOptions<R>

Overloads

Overload #1

Like derivedFrom from ngxtension, but uses defer() to avoid input availability issues. This ensures toObservable is called at subscription time, not at field initialization.

Supports three source types:

Presentation
derivedFromDeferred(source: Signal<T>, operator: OperatorFunction<T, R>, options: DerivedFromDeferredOptions<R>): Signal<R>;
Parameters
NameTypeDescription
source
Signal<T>
operator
OperatorFunction<T, R>
options
DerivedFromDeferredOptions<R>
Returns
Signal<R>
Example usage
// Single signal
const result = derivedFromDeferred(
  mySignal,
  pipe(map(v => v * 2)),
  { initialValue: 0, injector }
);

// Array of signals
const result = derivedFromDeferred(
  [signalA, signalB],
  pipe(map(([a, b]) => a + b)),
  { initialValue: 0, injector }
);

// Object of signals
const result = derivedFromDeferred(
  { x: signalX, y: signalY },
  pipe(map(({ x, y }) => x + y)),
  { initialValue: 0, injector }
);
Overload #2

No documentation has been provided.

Presentation
derivedFromDeferred(sources: [...T], operator: OperatorFunction<SignalValues<T>, R>, options: DerivedFromDeferredOptions<R>): Signal<R>;
Parameters
NameTypeDescription
sources
[...T]
operator
OperatorFunction<SignalValues<T>, R>
options
DerivedFromDeferredOptions<R>
Returns
Signal<R>
Overload #3

No documentation has been provided.

Presentation
derivedFromDeferred(sources: T, operator: OperatorFunction<SignalObjectValues<T>, R>, options: DerivedFromDeferredOptions<R>): Signal<R>;
Parameters
NameTypeDescription
sources
T
operator
OperatorFunction<SignalObjectValues<T>, R>
options
DerivedFromDeferredOptions<R>
Returns
Signal<R>

Example usage

// Single signal
const result = derivedFromDeferred(
  mySignal,
  pipe(map(v => v * 2)),
  { initialValue: 0, injector }
);

// Array of signals
const result = derivedFromDeferred(
  [signalA, signalB],
  pipe(map(([a, b]) => a + b)),
  { initialValue: 0, injector }
);

// Object of signals
const result = derivedFromDeferred(
  { x: signalX, y: signalY },
  pipe(map(({ x, y }) => x + y)),
  { initialValue: 0, injector }
);