-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2.0.0] API improvements and other fixes #620
Comments
Created a new branch: version-2.0, all PRs for this task should go there. |
With the Duration API becoming stable in 1.6, is that something that could be added to the reaktive API to improve functions like the |
@plusmobileapps yes, we have this in the task list for v2. I will investigate and provide updates here. |
Is for 1.6 (#655) threadLocal still required? |
@galdp Yes it is. |
We should also remove |
There are some APIs that can be improved/simplified. This issue is to collect all the cases. This is also a good place to raise and discuss any proposals or concerns.
flatMap
- add default value for themaxConcurrency
argument, removeflatMap
variants without themaxConcurrency
argumentflatMap
withresultSelector
- reorder arguments in the following way:resultSelector
,maxConcurrency
,mapper
observableInterval
- putstartDelayMillis
afterperiodMillis
and add default valuestartDelayMillis: Long = periodMillis
, remove anotherobservableInterval
variantObservable.replay
- add default forbufferSize
argument, remove the variant without argumentsCompletable.asMaybe
andCompletable.asObservable
- remove the generic parameter and make the return generic typeNothing
doOnAfterSuccess
- renameaction
argument toconsumer
repeat(count: Int = -1)
- the argument name should betimes
, for consistency withretry
and RxJava. The type should beLong
, and the default value should beLong.MAX_VALUE
.repeat
with value0
should return emptyObservable
,repeat
with value1
should subscribe only once, and so on. For consistency with RxJava.retry(times: Int)
- the argument type should beLong
, and the default value should beLong.MAX_VALUE
.Observable.scan(getSeed, accumulate)
andObservable.scan(accumulate)
, - theaccumulate
argument should be renamed toaccumulator
for consistency with RxJava.Observable.throttle
- should accept aScheduler
for timings instead of usingClock
implicitly, for better testing on the client side.ExperimentalReaktiveApi
, perhaps we can stabilise something.collect
should have a mutable collection supplier argument,accumulator
function should returnUnit
.millis
durations to the newDuration
API, if it becomes stableWait for Multiple Receivers to become stable and extract all(removed, context receivers will become stable no earlier than Kotlin 2.0)subscribeXyz
extensions fromDisposableScope
, and alsoT.scope(dispose: (T) -> Unit)
limit
arguments inObservable.buffer
operators should be of typeInt
iosArm32
andlinuxArm32Hfp
targets, as they are deprecated since Kotlin1.8.20
and will be removed in Kotlin1.9.20
(see the blog post)asRxJavaSingleSource
, etc.The text was updated successfully, but these errors were encountered: