public static <T> Mono<T> from(Publisher<? extends T> source) {
		if (source instanceof Mono) {
			@SuppressWarnings("unchecked")
			Mono<T> casted = (Mono<T>) source;
			return casted;
		}
		if (source instanceof FluxSourceMono
				|| source instanceof FluxSourceMonoFuseable) {
			@SuppressWarnings("unchecked")
			FluxFromMonoOperator<T, T> wrapper = (FluxFromMonoOperator<T,T>) source;
			@SuppressWarnings("unchecked")
			Mono<T> extracted = (Mono<T>) wrapper.source;
			return extracted;
		}
		if (source instanceof Flux) {
			@SuppressWarnings("unchecked")
			Flux<T> casted = (Flux<T>) source;
			return casted.next();
		}
		return onAssembly(new MonoFromPublisher<>(source));
	}
public static <T> Mono<T> from(Publisher<? extends T> source) {
		if (source instanceof Mono) {
			@SuppressWarnings("unchecked")
			Mono<T> casted = (Mono<T>) source;
			return casted;
		}
		if (source instanceof FluxSourceMono
				|| source instanceof FluxSourceMonoFuseable) {
			@SuppressWarnings("unchecked")
			FluxFromMonoOperator<T, T> wrapper = (FluxFromMonoOperator<T,T>) source;
			@SuppressWarnings("unchecked")
			Mono<T> extracted = (Mono<T>) wrapper.source;
			return extracted;
		}
		if (source instanceof Flux) {
			@SuppressWarnings("unchecked")
			Flux<T> casted = (Flux<T>) source;
			return casted.next();
		}
		return onAssembly(new MonoFromPublisher<>(source));
	}
public static < T > Mono < T > from ( Publisher < ? extends T > source ) { if ( source instanceof Mono ) { @ SuppressWarnings ( "unchecked" ) Mono < T > casted = ( Mono < T > ) source ; return casted ; } if ( source instanceof FluxSourceMono || source instanceof FluxSourceMonoFuseable ) { @ SuppressWarnings ( "unchecked" ) FluxFromMonoOperator < T , T > wrapper = ( FluxFromMonoOperator < T , T > ) source ; @ SuppressWarnings ( "unchecked" ) Mono < T > extracted = ( Mono < T > ) wrapper . source ; return extracted ; } if ( source instanceof Flux ) { @ SuppressWarnings ( "unchecked" ) Flux < T > casted = ( Flux < T > ) source ; return casted . next ( ) ; } return onAssembly ( new MonoFromPublisher <> ( source ) ) ; }
Expose the specified {@link Publisher} with the {@link Mono} API, and ensure it will emit 0 or 1 item.
The source emitter will be cancelled on the first `onNext`.
<p>
<img class="marble" src="doc-files/marbles/fromForMono.svg" alt="">
<p>
@param source the {@link Publisher} source
@param <T> the source type

@return the next item emitted as a {@link Mono}
Expose the specified { @link Publisher } with the { @link Mono } API and ensure it will emit 0 or 1 item . The source emitter will be cancelled on the first onNext . <p > <img class = marble src = doc - files / marbles / fromForMono . svg alt = > <p > @param source the { @link Publisher } source @param <T > the source type