20
20
import org .reactivestreams .*;
21
21
22
22
import io .reactivex .rxjava3 .annotations .*;
23
- import io .reactivex .rxjava3 .core .Observable ;
24
23
import io .reactivex .rxjava3 .disposables .Disposable ;
25
24
import io .reactivex .rxjava3 .exceptions .*;
26
25
import io .reactivex .rxjava3 .functions .*;
32
31
import io .reactivex .rxjava3 .internal .operators .flowable .*;
33
32
import io .reactivex .rxjava3 .internal .operators .maybe .*;
34
33
import io .reactivex .rxjava3 .internal .operators .mixed .*;
35
- import io .reactivex .rxjava3 .internal .operators .observable .* ;
34
+ import io .reactivex .rxjava3 .internal .operators .observable .ObservableSingleSingle ;
36
35
import io .reactivex .rxjava3 .internal .operators .single .*;
37
36
import io .reactivex .rxjava3 .internal .util .ErrorMode ;
38
37
import io .reactivex .rxjava3 .observers .TestObserver ;
@@ -195,7 +194,7 @@ public static <T> Single<T> ambArray(@NonNull SingleSource<? extends T>... sourc
195
194
@ SchedulerSupport (SchedulerSupport .NONE )
196
195
@ BackpressureSupport (BackpressureKind .FULL )
197
196
public static <T > Flowable <T > concat (@ NonNull Iterable <@ NonNull ? extends SingleSource <? extends T >> sources ) {
198
- return concat ( Flowable .fromIterable (sources ));
197
+ return Flowable .fromIterable (sources ). concatMapSingleDelayError ( Functions . identity (), false );
199
198
}
200
199
201
200
/**
@@ -216,10 +215,9 @@ public static <T> Flowable<T> concat(@NonNull Iterable<@NonNull ? extends Single
216
215
@ CheckReturnValue
217
216
@ NonNull
218
217
@ SchedulerSupport (SchedulerSupport .NONE )
219
- @ SuppressWarnings ({ "unchecked" , "rawtypes" })
220
218
public static <T > Observable <T > concat (@ NonNull ObservableSource <? extends SingleSource <? extends T >> sources ) {
221
219
Objects .requireNonNull (sources , "sources is null" );
222
- return RxJavaPlugins .onAssembly (new ObservableConcatMap (sources , SingleInternalHelper . toObservable (), 2 , ErrorMode .IMMEDIATE ));
220
+ return RxJavaPlugins .onAssembly (new ObservableConcatMapSingle <> (sources , Functions . identity (), ErrorMode .IMMEDIATE , 2 ));
223
221
}
224
222
225
223
/**
@@ -272,11 +270,10 @@ public static <T> Flowable<T> concat(@NonNull Publisher<@NonNull ? extends Singl
272
270
@ NonNull
273
271
@ BackpressureSupport (BackpressureKind .FULL )
274
272
@ SchedulerSupport (SchedulerSupport .NONE )
275
- @ SuppressWarnings ({ "unchecked" , "rawtypes" })
276
273
public static <T > Flowable <T > concat (@ NonNull Publisher <@ NonNull ? extends SingleSource <? extends T >> sources , int prefetch ) {
277
274
Objects .requireNonNull (sources , "sources is null" );
278
275
ObjectHelper .verifyPositive (prefetch , "prefetch" );
279
- return RxJavaPlugins .onAssembly (new FlowableConcatMapPublisher (sources , SingleInternalHelper . toFlowable (), prefetch , ErrorMode .IMMEDIATE ));
276
+ return RxJavaPlugins .onAssembly (new FlowableConcatMapSinglePublisher <> (sources , Functions . identity (), ErrorMode .IMMEDIATE , prefetch ));
280
277
}
281
278
282
279
/**
@@ -308,7 +305,7 @@ public static <T> Flowable<T> concat(
308
305
) {
309
306
Objects .requireNonNull (source1 , "source1 is null" );
310
307
Objects .requireNonNull (source2 , "source2 is null" );
311
- return concat ( Flowable .fromArray (source1 , source2 ));
308
+ return Flowable .fromArray (source1 , source2 ). concatMapSingleDelayError ( Functions . identity (), false );
312
309
}
313
310
314
311
/**
@@ -344,7 +341,7 @@ public static <T> Flowable<T> concat(
344
341
Objects .requireNonNull (source1 , "source1 is null" );
345
342
Objects .requireNonNull (source2 , "source2 is null" );
346
343
Objects .requireNonNull (source3 , "source3 is null" );
347
- return concat ( Flowable .fromArray (source1 , source2 , source3 ));
344
+ return Flowable .fromArray (source1 , source2 , source3 ). concatMapSingleDelayError ( Functions . identity (), false );
348
345
}
349
346
350
347
/**
@@ -383,7 +380,7 @@ public static <T> Flowable<T> concat(
383
380
Objects .requireNonNull (source2 , "source2 is null" );
384
381
Objects .requireNonNull (source3 , "source3 is null" );
385
382
Objects .requireNonNull (source4 , "source4 is null" );
386
- return concat ( Flowable .fromArray (source1 , source2 , source3 , source4 ));
383
+ return Flowable .fromArray (source1 , source2 , source3 , source4 ). concatMapSingleDelayError ( Functions . identity (), false );
387
384
}
388
385
389
386
/**
@@ -409,7 +406,7 @@ public static <T> Flowable<T> concat(
409
406
@ SchedulerSupport (SchedulerSupport .NONE )
410
407
@ SafeVarargs
411
408
public static <T > Flowable <T > concatArray (@ NonNull SingleSource <? extends T >... sources ) {
412
- return Flowable .fromArray (sources ).concatMap ( SingleInternalHelper . toFlowable (), 2 );
409
+ return Flowable .fromArray (sources ).concatMapSingleDelayError ( Functions . identity (), false );
413
410
}
414
411
415
412
/**
@@ -435,7 +432,7 @@ public static <T> Flowable<T> concatArray(@NonNull SingleSource<? extends T>...
435
432
@ SchedulerSupport (SchedulerSupport .NONE )
436
433
@ SafeVarargs
437
434
public static <T > Flowable <T > concatArrayDelayError (@ NonNull SingleSource <? extends T >... sources ) {
438
- return Flowable .fromArray (sources ).concatMapDelayError ( SingleInternalHelper . toFlowable (), true , 2 );
435
+ return Flowable .fromArray (sources ).concatMapSingleDelayError ( Functions . identity (), true );
439
436
}
440
437
441
438
/**
@@ -1091,7 +1088,7 @@ public static <T> Single<T> fromObservable(@NonNull ObservableSource<? extends T
1091
1088
@ BackpressureSupport (BackpressureKind .FULL )
1092
1089
@ SchedulerSupport (SchedulerSupport .NONE )
1093
1090
public static <T > Flowable <T > merge (@ NonNull Iterable <@ NonNull ? extends SingleSource <? extends T >> sources ) {
1094
- return merge ( Flowable .fromIterable (sources ));
1091
+ return Flowable .fromIterable (sources ). flatMapSingle ( Functions . identity ( ));
1095
1092
}
1096
1093
1097
1094
/**
@@ -1129,10 +1126,9 @@ public static <T> Flowable<T> merge(@NonNull Iterable<@NonNull ? extends SingleS
1129
1126
@ NonNull
1130
1127
@ BackpressureSupport (BackpressureKind .FULL )
1131
1128
@ SchedulerSupport (SchedulerSupport .NONE )
1132
- @ SuppressWarnings ({ "unchecked" , "rawtypes" })
1133
1129
public static <T > Flowable <T > merge (@ NonNull Publisher <@ NonNull ? extends SingleSource <? extends T >> sources ) {
1134
1130
Objects .requireNonNull (sources , "sources is null" );
1135
- return RxJavaPlugins .onAssembly (new FlowableFlatMapPublisher (sources , SingleInternalHelper . toFlowable (), false , Integer .MAX_VALUE , Flowable . bufferSize () ));
1131
+ return RxJavaPlugins .onAssembly (new FlowableFlatMapSinglePublisher <> (sources , Functions . identity (), false , Integer .MAX_VALUE ));
1136
1132
}
1137
1133
1138
1134
/**
@@ -1212,7 +1208,7 @@ public static <T> Flowable<T> merge(
1212
1208
) {
1213
1209
Objects .requireNonNull (source1 , "source1 is null" );
1214
1210
Objects .requireNonNull (source2 , "source2 is null" );
1215
- return merge ( Flowable .fromArray (source1 , source2 ));
1211
+ return Flowable .fromArray (source1 , source2 ). flatMapSingle ( Functions . identity (), false , Integer . MAX_VALUE );
1216
1212
}
1217
1213
1218
1214
/**
@@ -1265,7 +1261,7 @@ public static <T> Flowable<T> merge(
1265
1261
Objects .requireNonNull (source1 , "source1 is null" );
1266
1262
Objects .requireNonNull (source2 , "source2 is null" );
1267
1263
Objects .requireNonNull (source3 , "source3 is null" );
1268
- return merge ( Flowable .fromArray (source1 , source2 , source3 ));
1264
+ return Flowable .fromArray (source1 , source2 , source3 ). flatMapSingle ( Functions . identity (), false , Integer . MAX_VALUE );
1269
1265
}
1270
1266
1271
1267
/**
@@ -1321,7 +1317,7 @@ public static <T> Flowable<T> merge(
1321
1317
Objects .requireNonNull (source2 , "source2 is null" );
1322
1318
Objects .requireNonNull (source3 , "source3 is null" );
1323
1319
Objects .requireNonNull (source4 , "source4 is null" );
1324
- return merge ( Flowable .fromArray (source1 , source2 , source3 , source4 ));
1320
+ return Flowable .fromArray (source1 , source2 , source3 , source4 ). flatMapSingle ( Functions . identity (), false , Integer . MAX_VALUE );
1325
1321
}
1326
1322
1327
1323
/**
@@ -1360,7 +1356,7 @@ public static <T> Flowable<T> merge(
1360
1356
@ SchedulerSupport (SchedulerSupport .NONE )
1361
1357
@ SafeVarargs
1362
1358
public static <T > Flowable <T > mergeArray (SingleSource <? extends T >... sources ) {
1363
- return Flowable .fromArray (sources ).flatMapSingle (Functions .identity (), false , sources .length );
1359
+ return Flowable .fromArray (sources ).flatMapSingle (Functions .identity (), false , Math . max ( 1 , sources .length ) );
1364
1360
}
1365
1361
1366
1362
/**
@@ -1396,7 +1392,7 @@ public static <T> Flowable<T> mergeArray(SingleSource<? extends T>... sources) {
1396
1392
@ SafeVarargs
1397
1393
@ NonNull
1398
1394
public static <T > Flowable <T > mergeArrayDelayError (@ NonNull SingleSource <? extends T >... sources ) {
1399
- return Flowable .fromArray (sources ).flatMapSingle (Functions .identity (), true , sources .length );
1395
+ return Flowable .fromArray (sources ).flatMapSingle (Functions .identity (), true , Math . max ( 1 , sources .length ) );
1400
1396
}
1401
1397
1402
1398
/**
@@ -1423,7 +1419,7 @@ public static <T> Flowable<T> mergeArrayDelayError(@NonNull SingleSource<? exten
1423
1419
@ BackpressureSupport (BackpressureKind .FULL )
1424
1420
@ SchedulerSupport (SchedulerSupport .NONE )
1425
1421
public static <T > Flowable <T > mergeDelayError (@ NonNull Iterable <@ NonNull ? extends SingleSource <? extends T >> sources ) {
1426
- return mergeDelayError ( Flowable .fromIterable (sources ));
1422
+ return Flowable .fromIterable (sources ). flatMapSingle ( Functions . identity (), true , Integer . MAX_VALUE );
1427
1423
}
1428
1424
1429
1425
/**
@@ -1449,10 +1445,9 @@ public static <T> Flowable<T> mergeDelayError(@NonNull Iterable<@NonNull ? exten
1449
1445
@ NonNull
1450
1446
@ BackpressureSupport (BackpressureKind .FULL )
1451
1447
@ SchedulerSupport (SchedulerSupport .NONE )
1452
- @ SuppressWarnings ({ "unchecked" , "rawtypes" })
1453
1448
public static <T > Flowable <T > mergeDelayError (@ NonNull Publisher <@ NonNull ? extends SingleSource <? extends T >> sources ) {
1454
1449
Objects .requireNonNull (sources , "sources is null" );
1455
- return RxJavaPlugins .onAssembly (new FlowableFlatMapPublisher (sources , SingleInternalHelper . toFlowable (), true , Integer .MAX_VALUE , Flowable . bufferSize () ));
1450
+ return RxJavaPlugins .onAssembly (new FlowableFlatMapSinglePublisher <> (sources , Functions . identity (), true , Integer .MAX_VALUE ));
1456
1451
}
1457
1452
1458
1453
/**
@@ -1490,7 +1485,7 @@ public static <T> Flowable<T> mergeDelayError(
1490
1485
) {
1491
1486
Objects .requireNonNull (source1 , "source1 is null" );
1492
1487
Objects .requireNonNull (source2 , "source2 is null" );
1493
- return mergeDelayError ( Flowable .fromArray (source1 , source2 ));
1488
+ return Flowable .fromArray (source1 , source2 ). flatMapSingle ( Functions . identity (), true , Integer . MAX_VALUE );
1494
1489
}
1495
1490
1496
1491
/**
@@ -1532,7 +1527,7 @@ public static <T> Flowable<T> mergeDelayError(
1532
1527
Objects .requireNonNull (source1 , "source1 is null" );
1533
1528
Objects .requireNonNull (source2 , "source2 is null" );
1534
1529
Objects .requireNonNull (source3 , "source3 is null" );
1535
- return mergeDelayError ( Flowable .fromArray (source1 , source2 , source3 ));
1530
+ return Flowable .fromArray (source1 , source2 , source3 ). flatMapSingle ( Functions . identity (), true , Integer . MAX_VALUE );
1536
1531
}
1537
1532
1538
1533
/**
@@ -1577,7 +1572,7 @@ public static <T> Flowable<T> mergeDelayError(
1577
1572
Objects .requireNonNull (source2 , "source2 is null" );
1578
1573
Objects .requireNonNull (source3 , "source3 is null" );
1579
1574
Objects .requireNonNull (source4 , "source4 is null" );
1580
- return mergeDelayError ( Flowable .fromArray (source1 , source2 , source3 , source4 ));
1575
+ return Flowable .fromArray (source1 , source2 , source3 , source4 ). flatMapSingle ( Functions . identity (), true , Integer . MAX_VALUE );
1581
1576
}
1582
1577
1583
1578
/**
0 commit comments