Remove deprecated functions
This commit is contained in:
parent
60769f9983
commit
eecd1b7d99
@ -1,22 +0,0 @@
|
|||||||
package com.github.michaelbull.result.coroutines.binding
|
|
||||||
|
|
||||||
import com.github.michaelbull.result.Result
|
|
||||||
import com.github.michaelbull.result.coroutines.CoroutineBindingScope
|
|
||||||
import com.github.michaelbull.result.coroutines.coroutineBinding
|
|
||||||
|
|
||||||
@Deprecated(
|
|
||||||
message = "Use coroutineBinding instead",
|
|
||||||
replaceWith = ReplaceWith(
|
|
||||||
expression = "coroutineBinding(block)",
|
|
||||||
imports = ["com.github.michaelbull.result.coroutines.coroutineBinding"]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
public suspend inline fun <V, E> binding(crossinline block: suspend CoroutineBindingScope<E>.() -> V): Result<V, E> {
|
|
||||||
return coroutineBinding(block)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated(
|
|
||||||
message = "Use CoroutineBindingScope instead",
|
|
||||||
replaceWith = ReplaceWith("CoroutineBindingScope<E>")
|
|
||||||
)
|
|
||||||
public typealias SuspendableResultBinding<E> = CoroutineBindingScope<E>
|
|
@ -15,15 +15,6 @@ public infix fun <V, E, U> Result<V, E>.and(result: Result<U, E>): Result<U, E>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated("Use andThen instead", ReplaceWith("andThen { result() }"))
|
|
||||||
public inline infix fun <V, E, U> Result<V, E>.and(result: () -> Result<U, E>): Result<U, E> {
|
|
||||||
contract {
|
|
||||||
callsInPlace(result, InvocationKind.AT_MOST_ONCE)
|
|
||||||
}
|
|
||||||
|
|
||||||
return andThen { result() }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maps this [Result<V, E>][Result] to [Result<U, E>][Result] by either applying the [transform]
|
* Maps this [Result<V, E>][Result] to [Result<U, E>][Result] by either applying the [transform]
|
||||||
* function if this result [is ok][Result.isOk], or returning [this].
|
* function if this result [is ok][Result.isOk], or returning [this].
|
||||||
|
@ -41,12 +41,6 @@ public inline fun <V, E> binding(crossinline block: BindingScope<E>.() -> V): Re
|
|||||||
|
|
||||||
internal expect object BindException : Exception
|
internal expect object BindException : Exception
|
||||||
|
|
||||||
@Deprecated(
|
|
||||||
message = "Use BindingScope instead",
|
|
||||||
replaceWith = ReplaceWith("BindingScope<E>")
|
|
||||||
)
|
|
||||||
public typealias ResultBinding<E> = BindingScope<E>
|
|
||||||
|
|
||||||
public interface BindingScope<E> {
|
public interface BindingScope<E> {
|
||||||
public fun <V> Result<V, E>.bind(): V
|
public fun <V> Result<V, E>.bind(): V
|
||||||
}
|
}
|
||||||
|
@ -55,15 +55,6 @@ public infix fun <V, E> Result<V, E>.getOr(default: V): V {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated("Use getOrElse instead", ReplaceWith("getOrElse { default() }"))
|
|
||||||
public inline infix fun <V, E> Result<V, E>.getOr(default: () -> V): V {
|
|
||||||
contract {
|
|
||||||
callsInPlace(default, InvocationKind.AT_MOST_ONCE)
|
|
||||||
}
|
|
||||||
|
|
||||||
return getOrElse { default() }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the [error][Result.error] if this result [is an error][Result.isErr], otherwise
|
* Returns the [error][Result.error] if this result [is an error][Result.isErr], otherwise
|
||||||
* [default].
|
* [default].
|
||||||
@ -80,15 +71,6 @@ public infix fun <V, E> Result<V, E>.getErrorOr(default: E): E {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated("Use getOrElse instead", ReplaceWith("getErrorOrElse { default() }"))
|
|
||||||
public inline infix fun <V, E> Result<V, E>.getErrorOr(default: () -> E): E {
|
|
||||||
contract {
|
|
||||||
callsInPlace(default, InvocationKind.AT_MOST_ONCE)
|
|
||||||
}
|
|
||||||
|
|
||||||
return getErrorOrElse { default() }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the [value][Result.value] if this result [is ok][Result.isOk], otherwise the
|
* Returns the [value][Result.value] if this result [is ok][Result.isOk], otherwise the
|
||||||
* [transformation][transform] of the [error][Result.error].
|
* [transformation][transform] of the [error][Result.error].
|
||||||
|
@ -170,29 +170,6 @@ public fun <V, E, R : Result<V, E>> valuesOf(vararg results: R): List<V> {
|
|||||||
return results.asIterable().filterValues()
|
return results.asIterable().filterValues()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated(
|
|
||||||
message = "Use allValuesOf instead",
|
|
||||||
replaceWith = ReplaceWith("valuesOf(results)")
|
|
||||||
)
|
|
||||||
public fun <V, E, R : Result<V, E>> getAll(vararg results: R): List<V> {
|
|
||||||
return results.asIterable().filterValues()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extracts from an [Iterable] of [Results][Result] all the [Ok] elements. All the [Ok] elements
|
|
||||||
* are extracted in order.
|
|
||||||
*
|
|
||||||
* - Haskell: [Data.Either.lefts](https://hackage.haskell.org/package/base-4.10.0.0/docs/Data-Either.html#v:lefts)
|
|
||||||
*/
|
|
||||||
@Deprecated(
|
|
||||||
message = "Use filterValues instead",
|
|
||||||
replaceWith = ReplaceWith("filterValues()")
|
|
||||||
)
|
|
||||||
public fun <V, E> Iterable<Result<V, E>>.getAll(): List<V> {
|
|
||||||
return filterValues()
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a [List] containing the [error][Result.error] of each element in the specified [results]
|
* Returns a [List] containing the [error][Result.error] of each element in the specified [results]
|
||||||
* that [is an error][Result.isErr]. Elements in the returned list are in the same order as the
|
* that [is an error][Result.isErr]. Elements in the returned list are in the same order as the
|
||||||
@ -204,28 +181,6 @@ public fun <V, E, R : Result<V, E>> errorsOf(vararg results: R): List<E> {
|
|||||||
return results.asIterable().filterErrors()
|
return results.asIterable().filterErrors()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated(
|
|
||||||
message = "Use errorsOf instead",
|
|
||||||
replaceWith = ReplaceWith("errorsOf(results)")
|
|
||||||
)
|
|
||||||
public fun <V, E, R : Result<V, E>> getAllErrors(vararg results: R): List<E> {
|
|
||||||
return results.asIterable().filterErrors()
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extracts from an [Iterable] of [Results][Result] all the [Err] elements. All the [Err] elements
|
|
||||||
* are extracted in order.
|
|
||||||
*
|
|
||||||
* - Haskell: [Data.Either.rights](https://hackage.haskell.org/package/base-4.10.0.0/docs/Data-Either.html#v:rights)
|
|
||||||
*/
|
|
||||||
@Deprecated(
|
|
||||||
message = "Use filterErrors instead",
|
|
||||||
replaceWith = ReplaceWith("filterErrors()")
|
|
||||||
)
|
|
||||||
public fun <V, E> Iterable<Result<V, E>>.getAllErrors(): List<E> {
|
|
||||||
return filterErrors()
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Partitions the specified [results] into a [Pair] of [Lists][List]. An element that
|
* Partitions the specified [results] into a [Pair] of [Lists][List]. An element that
|
||||||
* [is ok][Result.isOk] will appear in the [first][Pair.first] list, whereas an element that
|
* [is ok][Result.isOk] will appear in the [first][Pair.first] list, whereas an element that
|
||||||
|
@ -15,15 +15,6 @@ public infix fun <V, E, F> Result<V, E>.or(result: Result<V, F>): Result<V, F> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated("Use orElse instead", ReplaceWith("orElse { result() }"))
|
|
||||||
public inline infix fun <V, E, F> Result<V, E>.or(result: () -> Result<V, F>): Result<V, F> {
|
|
||||||
contract {
|
|
||||||
callsInPlace(result, InvocationKind.AT_MOST_ONCE)
|
|
||||||
}
|
|
||||||
|
|
||||||
return orElse { result() }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the [transformation][transform] of the [error][Result.error] if this result
|
* Returns the [transformation][transform] of the [error][Result.error] if this result
|
||||||
* [is an error][Result.isErr], otherwise [this].
|
* [is an error][Result.isErr], otherwise [this].
|
||||||
|
@ -51,22 +51,6 @@ public sealed class Result<out V, out E> {
|
|||||||
|
|
||||||
public abstract operator fun component1(): V?
|
public abstract operator fun component1(): V?
|
||||||
public abstract operator fun component2(): E?
|
public abstract operator fun component2(): E?
|
||||||
|
|
||||||
public companion object {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Invokes a [function] and wraps it in a [Result], returning an [Err]
|
|
||||||
* if an [Exception] was thrown, otherwise [Ok].
|
|
||||||
*/
|
|
||||||
@Deprecated("Use top-level runCatching instead", ReplaceWith("runCatching(function)"))
|
|
||||||
public inline fun <V> of(function: () -> V): Result<V, Exception> {
|
|
||||||
return try {
|
|
||||||
Ok(function.invoke())
|
|
||||||
} catch (ex: Exception) {
|
|
||||||
Err(ex)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,15 +24,6 @@ public fun <V, E> Result<V, E>.unwrap(): V {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated("Use lazy-evaluating variant instead", ReplaceWith("expect { message }"))
|
|
||||||
public infix fun <V, E> Result<V, E>.expect(message: String): V {
|
|
||||||
contract {
|
|
||||||
returns() implies (this@expect is Ok<V>)
|
|
||||||
}
|
|
||||||
|
|
||||||
return expect { message }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the [value][Result.value] if this result [is ok][Result.isOk], otherwise throws an
|
* Returns the [value][Result.value] if this result [is ok][Result.isOk], otherwise throws an
|
||||||
* [UnwrapException] with the specified [message].
|
* [UnwrapException] with the specified [message].
|
||||||
@ -75,15 +66,6 @@ public fun <V, E> Result<V, E>.unwrapError(): E {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated("Use lazy-evaluating variant instead", ReplaceWith("expectError { message }"))
|
|
||||||
public infix fun <V, E> Result<V, E>.expectError(message: String): E {
|
|
||||||
contract {
|
|
||||||
returns() implies (this@expectError is Err<E>)
|
|
||||||
}
|
|
||||||
|
|
||||||
return expectError { message }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the [error][Result.error] if this result [is an error][Result.isErr], otherwise throws
|
* Returns the [error][Result.error] if this result [is an error][Result.isErr], otherwise throws
|
||||||
* an [UnwrapException] with the specified [message].
|
* an [UnwrapException] with the specified [message].
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
package com.github.michaelbull.result.coroutines
|
|
||||||
|
|
||||||
import com.github.michaelbull.result.BindException
|
|
||||||
import com.github.michaelbull.result.BindingScope
|
|
||||||
import com.github.michaelbull.result.BindingScopeImpl
|
|
||||||
import com.github.michaelbull.result.Ok
|
|
||||||
import com.github.michaelbull.result.Result
|
|
||||||
import kotlin.contracts.InvocationKind
|
|
||||||
import kotlin.contracts.contract
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Suspending variant of [binding][com.github.michaelbull.result.binding].
|
|
||||||
*/
|
|
||||||
@Deprecated(
|
|
||||||
message = "Will throw a runtime exception if used with async requests that fail to bind. " +
|
|
||||||
"See https://github.com/michaelbull/kotlin-result/pull/28 " +
|
|
||||||
"Please import the kotlin-result-coroutines library to continue using this feature.",
|
|
||||||
level = DeprecationLevel.WARNING
|
|
||||||
)
|
|
||||||
public suspend inline fun <V, E> binding(crossinline block: suspend BindingScope<E>.() -> V): Result<V, E> {
|
|
||||||
contract {
|
|
||||||
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
|
|
||||||
}
|
|
||||||
|
|
||||||
return with(BindingScopeImpl<E>()) {
|
|
||||||
try {
|
|
||||||
Ok(block())
|
|
||||||
} catch (ex: BindException) {
|
|
||||||
result!!
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user