flatMap

inline fun <R> flatMap(transform: (T) -> BleResult<R>): BleResult<R>

Transforms the success value using a function that returns a BleResult.

This is useful for chaining operations that can also fail.

val result: BleResult<ParsedData> = connection
.readCharacteristicResult(serviceUuid, charUuid)
.flatMap { bytes -> parseData(bytes) } // parseData returns BleResult<ParsedData>

Return

The result of transform if this is a success, or the original failure.

Parameters

transform

The function to apply to the success value, returning a new BleResult.