Conversation
| id 'org.jetbrains.kotlin.multiplatform' | ||
| } | ||
|
|
||
| kotlin { |
There was a problem hiding this comment.
How about iosX64 and iosArm64 targest?
There was a problem hiding this comment.
We can always add more, probably there's also watchos or such?
| @@ -0,0 +1,43 @@ | |||
| package com.badoo.mvicore.common | |||
|
|
|||
| interface Sink<T> { | |||
There was a problem hiding this comment.
Please enable the Kotlin | Style issues | Type parameter can have 'in' or 'out' variance check, set to Weak Wraning.
The T parameter can be in.
There was a problem hiding this comment.
Also please check all other places. Having in and out properly specified is very important.
| import com.badoo.mvicore.common.Source | ||
|
|
||
| interface Connector<Out, In> { | ||
| operator fun invoke(source: Source<out Out>): Source<In> |
There was a problem hiding this comment.
The Source should have out specified. Not here.
|
|
||
| import com.badoo.mvicore.common.Source | ||
|
|
||
| interface Connector<Out, In> { |
| operator fun invoke(): Source<Action> | ||
| } | ||
|
|
||
| interface Actor<State, Action, Effect> { |
There was a problem hiding this comment.
I'm curious how coroutines and Reactive interop will look like?
There was a problem hiding this comment.
you can check rx interop, I am pretty sure reaktive will be close
| } | ||
|
|
||
| companion object { | ||
| fun manual() = ManualLifecycle() |
There was a problem hiding this comment.
We already have public ManualLifecycle class that can be instantiated directly. Do we want this duplication?
Multiplatform / framework implementation of MVICore.
Consists of several steps:
✅
Source/Sink/Cancellabletypes✅
Binder✅
BaseFeature/ActorReducerFeature/ReducerFeature⬜️
Middleware