fix(persist): introduce in-house synchronous Storage interface #3673
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rationale
Currently RQ has
createWebStoragePersistor
andcreateAsyncStoragePersistor
which assumes that non-web platforms can have async storages only, which is not true. React Native has performant synchronous MMKV adapters support, which can't be used with RQ 3 right now directly because of interface incompatibility andwindow
check(already fixed in v4).Related discussion: #3667
Changes
Introduce own
Storage
interface to make possible usingcreateWebStoragePersistor
in React Native without TS errors.