Open jason-whitted opened 4 years ago
Thanks for the feedback. This does need some attention. Originally this goal of this was to serve the same purpose as Reselect with redux, not clone the JS version. It also was forked from another project as a quick way to get something together. Perhaps naming this repo something other than 'Reselect' would be helpful.
I have some local work that I haven't merged into this repo yet that I've found helpful and more kotlin friendly. I'd like to get that pushed up this week and I'll tag you when I do.
The above looks interesting too. Maybe after I push up my PR we can discuss future direction and what we want out of this library. Any other opinions are welcome too.
@jason-whitted i am interested in working code if you have some available! We are coming to jetpack compose + redux from SwiftUI + Reswift and subscribing to a substate of the store is critical.
@sjmueller I don't want to spam this repository with links to mine. But if you go to bintray and search for kotlin-redux
, kotlin-redux-reselect
, or kotlin-redux-thunk
from groupId com.github.etalisoft
you should be able to find it.
The
redux-kotlin
andredux-kotlin-thunk
libraries are pretty much clones of their JS counterparts. However, in addition to this library currently not working, it is also very disjointed from JS Reselect.Reselect does not require redux, it just happens to be extremely useful with it. The
SelectorSubscriberFn<AppState>(store)
method implies that Reselect is coupled with redux. ThewithSingleField
andwithSingleFieldByValue
syntax also has no counterpart in Reselect.I have been playing around with a library that mimics reselect as much as possible.
Here's an example of my library:
It's also properly memoized at various depths -- similar to JS Reselect.
If you are at all interested in the code, let me know. I'd much rather support an existing OSS project than confuse the ecosystem by publishing another similarly named product. If this was not the intended direction of this repository then I understand that as well.