reactor-core/src/main/java/reactor/core/publisher/Mono.java
public static <T> Mono<T> fromSupplier(Supplier<? extends T> supplier) {
		return onAssembly(new MonoSupplier<>(supplier));
	}
public static <T> Mono<T> fromSupplier(Supplier<? extends T> supplier) {
		return onAssembly(new MonoSupplier<>(supplier));
	}
Create a {@link Mono}, producing its value using the provided {@link Supplier}. If
the Supplier resolves to {@code null}, the resulting Mono completes empty.

<p>
<img class="marble" src="doc-files/marbles/fromSupplier.svg" alt="">
<p>
@param supplier {@link Supplier} that will produce the value
@param <T> type of the expected value

@return A {@link Mono}.