From 3dceaf8b12294767e51632a870424dad37de7f29 Mon Sep 17 00:00:00 2001 From: aottolini Date: Fri, 3 Jun 2022 19:57:24 -0300 Subject: [PATCH 1/3] merge added to validated --- .../arrow-core/src/commonMain/kotlin/arrow/core/Validated.kt | 3 +++ 1 file changed, 3 insertions(+) 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..2585e342214 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 @@ -214,6 +214,9 @@ public sealed class Validated { is Invalid -> (fe(value)) } + public inline fun Validated.merge(): A = + fold(::identity, ::identity) + public val isValid: Boolean = fold({ false }, { true }) public val isInvalid: Boolean = From d314bf6d5e4801eecbd6b27a62d347e726a6ae3e Mon Sep 17 00:00:00 2001 From: aottolini Date: Mon, 6 Jun 2022 15:01:29 -0300 Subject: [PATCH 2/3] arrow-core.api updated --- arrow-libs/core/arrow-core/api/arrow-core.api | 1 + 1 file changed, 1 insertion(+) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index c97d8c6ca3c..2ee27651f18 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -2319,6 +2319,7 @@ public abstract class arrow/core/Validated { public static final fun lift (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1; public final fun map (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; public final fun mapLeft (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; + public final fun merge (Larrow/core/Validated;)Ljava/lang/Object; public final fun swap ()Larrow/core/Validated; public final fun tap (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; public final fun tapInvalid (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; From 7941f08fe983df0d79107bf12646dfd91453c28c Mon Sep 17 00:00:00 2001 From: aottolini Date: Fri, 10 Jun 2022 15:09:17 -0300 Subject: [PATCH 3/3] moved outside of Validated --- arrow-libs/core/arrow-core/api/arrow-core.api | 2 +- .../src/commonMain/kotlin/arrow/core/Validated.kt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 2ee27651f18..3f18274171f 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -2319,7 +2319,6 @@ public abstract class arrow/core/Validated { public static final fun lift (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1; public final fun map (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; public final fun mapLeft (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; - public final fun merge (Larrow/core/Validated;)Ljava/lang/Object; public final fun swap ()Larrow/core/Validated; public final fun tap (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; public final fun tapInvalid (Lkotlin/jvm/functions/Function1;)Larrow/core/Validated; @@ -2399,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 2585e342214..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 @@ -214,9 +214,6 @@ public sealed class Validated { is Invalid -> (fe(value)) } - public inline fun Validated.merge(): A = - fold(::identity, ::identity) - public val isValid: Boolean = fold({ false }, { true }) public val isInvalid: Boolean = @@ -815,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,