diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index c97d8c6ca3c..3f18274171f 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -2398,6 +2398,7 @@ public final class arrow/core/ValidatedKt { public static final fun invalid (Ljava/lang/Object;)Larrow/core/Validated; public static final fun invalidNel (Ljava/lang/Object;)Larrow/core/Validated; public static final fun leftWiden (Larrow/core/Validated;)Larrow/core/Validated; + public static final fun merge (Larrow/core/Validated;)Ljava/lang/Object; public static final fun orElse (Larrow/core/Validated;Lkotlin/jvm/functions/Function0;)Larrow/core/Validated; public static final fun orNone (Larrow/core/Validated;)Larrow/core/Option; public static final fun orNull (Larrow/core/Validated;)Ljava/lang/Object; diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Validated.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Validated.kt index 27922f7c4a8..cf668335f19 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Validated.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Validated.kt @@ -812,6 +812,9 @@ public inline fun Validated.redeem(fe: (E) -> B, fa: (A) -> B): public fun Validated.attempt(): Validated> = map { Right(it) }.handleError { Left(it) } +public inline fun Validated.merge(): A = + fold(::identity, ::identity) + public fun Validated.combine( SE: Semigroup, SA: Semigroup,