The upcoming version "4" will feature several changes, but most will be straightforward to migrate. Here is the list of main changes.
It's still being discussed.
@reatom/framework
), except for adapters.
This will simplify code organization and versioning for both library authors and consumer developers.
@reatom/lens
.
We aim to reduce the number of variants for solving the same task; most operators will be replaced with guidelines that follow best practices.
filter
operator as an alternative to existing select
, which accepts an atom and the mapper function (next: State, prev?: State) => T
.This is necessary for feature migration to implicit context ("AsyncContext"). For explicit usage of "spy" or "get" semantics, we will export additional methods.
pipe
operator in favor of the more capable mix
operator.
We have received feedback that "pipe" is strongly associated with RxJS, which is not accurate, but marketing considerations take precedence here.
reatomAsync
with a regular action that includes an async function, and replace reatomResource
with a standard atom that includes an async function.
This will enable applying all async operators for all actions and atoms! Also, we plan to allow asynchronous "spy" of dependencies!
withRetry
api
The
onReject
cb should return not the amount of ms to retry, but the promise which successful resolve should mean the necessity of retry (and an error (abort error) should prevent retries).
Minor fixes:
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too