From ef321f4be1ee127c3a9d767cca59fa230db57e0e Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Sun, 6 Jun 2021 02:24:46 +0200 Subject: [PATCH] Add extra utils --- src/main/java/it/tdlight/utils/MonoUtils.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/it/tdlight/utils/MonoUtils.java b/src/main/java/it/tdlight/utils/MonoUtils.java index cfc6b4d..e1c6271 100644 --- a/src/main/java/it/tdlight/utils/MonoUtils.java +++ b/src/main/java/it/tdlight/utils/MonoUtils.java @@ -15,6 +15,7 @@ import io.vertx.reactivex.core.streams.Pipe; import io.vertx.reactivex.core.streams.ReadStream; import io.vertx.reactivex.core.streams.WriteStream; import it.tdlight.jni.TdApi; +import it.tdlight.jni.TdApi.Chat; import it.tdlight.jni.TdApi.Object; import it.tdlight.tdlibsession.td.TdError; import it.tdlight.tdlibsession.td.TdResult; @@ -29,6 +30,7 @@ import java.util.function.Consumer; import java.util.function.Supplier; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.reactivestreams.Publisher; import org.reactivestreams.Subscription; import org.warp.commonutils.concurrency.future.CompletableFutureUtils; import org.warp.commonutils.log.Logger; @@ -295,6 +297,10 @@ public class MonoUtils { return Mono.defer(() -> fromEmitResult(sink.tryEmitEmpty())); } + public static Mono emitEmpty(One sink) { + return Mono.defer(() -> fromEmitResult(sink.tryEmitEmpty())); + } + public static Mono emitError(Empty sink, Throwable value) { return Mono.defer(() -> fromEmitResult(sink.tryEmitError(value))); } @@ -435,6 +441,12 @@ public class MonoUtils { return mono.map(Optional::of).defaultIfEmpty(Optional.empty()); } + public static Mono isSet(Mono mono) { + return mono + .map(res -> true) + .defaultIfEmpty(false); + } + public static class SinkRWStream implements io.vertx.core.streams.WriteStream, io.vertx.core.streams.ReadStream { private final Many sink;