Wraps a SingleSource instance into a new Single instance if not already a Single instance. Scheduler: wrap does no
(@NonNull SingleSource<T> source)
| 2045 | * @throws NullPointerException if {@code source} is {@code null} |
| 2046 | */ |
| 2047 | @CheckReturnValue |
| 2048 | @NonNull |
| 2049 | @SchedulerSupport(SchedulerSupport.NONE) |
| 2050 | public static <@NonNull T> Single<T> wrap(@NonNull SingleSource<T> source) { |
| 2051 | Objects.requireNonNull(source, "source is null"); |
| 2052 | if (source instanceof Single) { |
| 2053 | return RxJavaPlugins.onAssembly((Single<T>)source); |
| 2054 | } |
| 2055 | return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource<>(source)); |
| 2056 | } |
| 2057 | |
| 2058 | /** |
| 2059 | * Waits until all {@link SingleSource} sources provided by the {@link Iterable} sequence signal a success |