Skip to main content

1.1.0 (2022-11-15)

What's new ?

Add debugObservablePipe

Add the function debugObservablePipe.

It allows to debug the state of an Observable. Its goal is to optimize the pipeline, avoid memory-leeks, and print what appends with the data.

Breaking changes

Deprecate logStateObservablePipe

logStateObservablePipe is deprecated. It's replaced by debugObservablePipe.

Change let$$ definition

let$$ now returns a tuple instead of a Source. We've seen that let$$ was mostly used like this const { emit: $value, subscribe: value$, getValue } = let$$('');. So we decided to reduce this complexity by returning a tuple instead of an object.

Performances improvements

Remove Object.freeze

Previously, the Notifications where frozen using Object.freeze.

This was done to prevent anyone from updating the properties of a Notification at runtime (like updating the name or value, through a map$$$ pipe for example). Changing a property would create critical undefined behaviour.

However, this safety mesure has a non-negligible impact on performances. So, we decided to remove this runtime security (removing all Object.freeze), and only keep the compile time check (though typescript using readonly properties), as we consider the developers mature enough not to bypass the typechecking and mutate the properties of the Notifications.

This update allows a performance gain around 30% for each Observable based on Notifications.

Experimental

Add experimental function mapObservableToObserver

Add experimental function isMouseOverElementObservable

Add experimental function isFocusedElementObservable