3.x: improve combineLatest method names · Issue #6634 · ReactiveX/RxJava (original) (raw)
Calling combineLatest
from Kotlin is a bit awkward. The function has a lot of different parameters, including Iterable, Array as well as 2-x call sites for passing multiple Observables.
Is it possible to prefix these so we have some kind of combineLatestFromIterable
which takes the Iterable<T>
:
-public static <T, R> Observable combineLatest(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super Object[], ? extends R> combiner) { +public static <T, R> Observable combineLatestFromIterable(Iterable<? extends ObservableSource<? extends T>> sources, Function<? super Object[], ? extends R> combiner) {
and then combineLatest
which takes the 2-x call sites.
public static <T1, T2, R> Observable combineLatest( ObservableSource<? extends T1> source1, ObservableSource<? extends T2> source2, BiFunction<? super T1, ? super T2, ? extends R> combiner) {
The array call we could call combineLatestFromArray
.
-public static <T, R> Observable combineLatest(ObservableSource<? extends T>[] sources, Function<? super Object[], ? extends R> combiner) { +public static <T, R> Observable combineLatestFromArray(ObservableSource<? extends T>[] sources, Function<? super Object[], ? extends R> combiner) {
What should we do with?
public static <T, R> Observable combineLatest(Function<? super Object[], ? extends R> combiner, int bufferSize, ObservableSource<? extends T>... sources) {
Is it really required? Callers could just use the array overload.
combineLatestDelayError
is equivalent and could get the method name improvements as well.
Other methods, such as concat/merge could benefit from this change too.