diff --git a/src/main/java/it/tdlight/utils/MonoUtils.java b/src/main/java/it/tdlight/utils/MonoUtils.java index 1311e16..cfc6b4d 100644 --- a/src/main/java/it/tdlight/utils/MonoUtils.java +++ b/src/main/java/it/tdlight/utils/MonoUtils.java @@ -20,6 +20,7 @@ import it.tdlight.tdlibsession.td.TdError; import it.tdlight.tdlibsession.td.TdResult; import java.time.Duration; import java.util.Objects; +import java.util.Optional; import java.util.Queue; import java.util.concurrent.Callable; import java.util.concurrent.CompletableFuture; @@ -430,6 +431,10 @@ public class MonoUtils { ); } + public static Mono> toOptional(Mono mono) { + return mono.map(Optional::of).defaultIfEmpty(Optional.empty()); + } + public static class SinkRWStream implements io.vertx.core.streams.WriteStream, io.vertx.core.streams.ReadStream { private final Many sink;