• Overview
@angular/core/rxjs-interop

ToSignalOptions

interface

Options for toSignal.

  
    interface ToSignalOptions<T> {}
  
  

initialValue

unknown

Initial value for the signal produced by toSignal.

This will be the value of the signal until the observable emits its first value.

requireSync

boolean | undefined

Whether to require that the observable emits synchronously when toSignal subscribes.

If this is true, toSignal will assert that the observable produces a value immediately upon subscription. Setting this option removes the need to either deal with undefined in the signal type or provide an initialValue, at the cost of a runtime error if this requirement is not met.

injector

Injector | undefined

Injector which will provide the DestroyRef used to clean up the Observable subscription.

If this is not provided, a DestroyRef will be retrieved from the current injection context, unless manual cleanup is requested.

manualCleanup

boolean | undefined

Whether the subscription should be automatically cleaned up (via DestroyRef) when toSignal's creation context is destroyed.

If manual cleanup is enabled, then DestroyRef is not used, and the subscription will persist until the Observable itself completes.

rejectErrors

boolean | undefined

Whether toSignal should throw errors from the Observable error channel back to RxJS, where they'll be processed as uncaught exceptions.

In practice, this means that the signal returned by toSignal will keep returning the last good value forever, as Observables which error produce no further values. This option emulates the behavior of the async pipe.

equal

ValueEqualityFn<T> | undefined

A comparison function which defines equality for values emitted by the observable.

Equality comparisons are executed against the initial value if one is provided.

Jump to details