Skip to main content

1.5.0 (2023-11-11)

What's new ?​

combineLatestObject​

Add a new Observables builder: combineLatestObject.

It's similar to combineLatest but works with objects instead.

IReplayLastSource​

Add a new unsafe?: boolean argument to the getValue(...) method of IReplayLastSource, to support uninitialized value.

Performance​

Signals have been considerably improved in performance (~x10 faster), thanks to various testing and fine optimizations.

Breaking changes​

Put IUnsubscribe into a separate library​

IUnsubscribe is now a type of @lirx/unsubscribe.

Signals​

Add the throw method​

Now, a signal may have an error state.

Change toObservable(...) options and return type​

toObservable may return an Observable sending notifications instead of values to support errors.

Update default signal's equal function​

The default signal's equal function is now EQUAL_FUNCTION_STRICT_EQUAL instead of EQUAL_FUNCTION_NON_PRIMITIVES_ALWAYS_FALSE

Changes in typing​

  • IWritableSignal becomes ISignal
  • ISignal becomes IReadonlySignal
  • some other interfaces or types

sourceObservablePipe​

The argument given to sourceObservablePipe changes to allow a more generic pipe.

In consequence, its related pipes like shareObservablePipe partially change too.

However, this should be transparent as the change touches properties that was managed internally.

toObservable => unknownToObservable​

Rename toObservable into unknownToObservable.

Remove reactiveString​

Was deprecated since 1.2.0.

Remove logStateObservablePipe​

Was deprecated since 1.1.0.