From 5b053118eb4d3a68f9ada3b684f194e3010ca4ca Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Thu, 16 Jun 2016 00:41:37 +0200 Subject: [PATCH 1/3] Switch to argonaut 6.2 --- build.sbt | 6 +++--- .../scala/argonaut/derive/JsonSumCodec.scala | 10 ++++------ .../argonaut/Refined211DecodeTests.scala | 16 ++++++++-------- .../test/scala/argonaut/ProductEncodeTests.scala | 2 +- .../test/scala/argonaut/RefinedDecodeTests.scala | 16 ++++++++-------- .../scala/argonaut/RefinedFieldDecodeTests.scala | 6 +++--- .../src/test/scala/argonaut/ShapelessTests.scala | 5 ++--- 7 files changed, 29 insertions(+), 32 deletions(-) diff --git a/build.sbt b/build.sbt index 069dba2..fd1b9f3 100644 --- a/build.sbt +++ b/build.sbt @@ -44,19 +44,19 @@ lazy val doc = project val shapelessVersion = "2.3.1" -lazy val coreName = "argonaut-shapeless_6.1" +lazy val coreName = "argonaut-shapeless_6.2" lazy val coreSettings = Seq( organization := "com.github.alexarchambault", name := coreName, moduleName := coreName, libraryDependencies ++= Seq( - "io.argonaut" %% "argonaut" % "6.1a", + "io.argonaut" %% "argonaut" % "6.2-M3", "com.chuusai" %% "shapeless" % shapelessVersion ) ) -lazy val refinedName = "argonaut-refined_6.1" +lazy val refinedName = "argonaut-refined_6.2" lazy val refinedSettings = Seq( organization := "com.github.alexarchambault", diff --git a/core/src/main/scala/argonaut/derive/JsonSumCodec.scala b/core/src/main/scala/argonaut/derive/JsonSumCodec.scala index abf2b13..2294a66 100644 --- a/core/src/main/scala/argonaut/derive/JsonSumCodec.scala +++ b/core/src/main/scala/argonaut/derive/JsonSumCodec.scala @@ -1,8 +1,6 @@ package argonaut package derive -import scalaz.{ -\/, \/- } - trait JsonSumCodec { def encodeEmpty: Nothing def encodeField(fieldOrObj: Either[Json, (String, Json)]): Json @@ -47,9 +45,9 @@ class JsonSumObjCodec extends JsonSumCodec { DecodeResult.fail(s"unrecognized type(s): ${cursor.fields.getOrElse(Nil).mkString(", ")}", cursor.history) def decodeField[A](name: String, cursor: HCursor, decode: DecodeJson[A]): DecodeResult[Either[ACursor, A]] = cursor.--\(toJsonName(name)).either match { - case -\/(_) => + case Left(_) => DecodeResult.ok(Left(ACursor.ok(cursor))) - case \/-(content) => + case Right(content) => decode.decode(content).map(Right(_)) } } @@ -78,8 +76,8 @@ class JsonSumTypeFieldCodec extends JsonSumCodec { cursor.history ) def decodeField[A](name: String, cursor: HCursor, decode: DecodeJson[A]): DecodeResult[Either[ACursor, A]] = - cursor.--\(typeField).as[String].toDisjunction match { - case \/-(name0) if toTypeValue(name) == name0 => + cursor.--\(typeField).as[String].result match { + case Right(name0) if toTypeValue(name) == name0 => decode.decode(cursor).map(Right(_)) case _ => DecodeResult.ok(Left(ACursor.ok(cursor))) diff --git a/test/src/test/scala-2.11/argonaut/Refined211DecodeTests.scala b/test/src/test/scala-2.11/argonaut/Refined211DecodeTests.scala index 9782882..dc34b9d 100644 --- a/test/src/test/scala-2.11/argonaut/Refined211DecodeTests.scala +++ b/test/src/test/scala-2.11/argonaut/Refined211DecodeTests.scala @@ -16,8 +16,8 @@ object Refined211DecodeTests extends TestSuite { val json = n0.asJson - val n = json.as[Int].toDisjunction.getOrElse(???) - val nT = json.as[Int @@ Positive].toDisjunction.getOrElse(???) + val n = json.as[Int].getOr(???) + val nT = json.as[Int @@ Positive].getOr(???) assert(n == n0) assert(nT == nT0) @@ -29,8 +29,8 @@ object Refined211DecodeTests extends TestSuite { val json = s0.asJson - val s = json.as[String].toDisjunction.getOrElse(???) - val sT = json.as[String @@ NonEmpty].toDisjunction.getOrElse(???) + val s = json.as[String].getOr(???) + val sT = json.as[String @@ NonEmpty].getOr(???) assert(s == s0) assert(sT == sT0) @@ -42,8 +42,8 @@ object Refined211DecodeTests extends TestSuite { val json = n0.asJson - val n = json.as[Int].toDisjunction.getOrElse(???) - val nT = json.as[Int @@ (Not[Less[_0]] And Not[Greater[_3]])].toDisjunction.getOrElse(???) + val n = json.as[Int].getOr(???) + val nT = json.as[Int @@ (Not[Less[_0]] And Not[Greater[_3]])].getOr(???) assert(n == n0) assert(nT == nT0) @@ -55,8 +55,8 @@ object Refined211DecodeTests extends TestSuite { val json = n0.asJson - val n = json.as[List[Int]].toDisjunction.getOrElse(???) - val nT = json.as[List[Int] @@ Size[Greater[_3]]].toDisjunction.getOrElse(???) + val n = json.as[List[Int]].getOr(???) + val nT = json.as[List[Int] @@ Size[Greater[_3]]].getOr(???) assert(n == n0) assert(nT == nT0) diff --git a/test/src/test/scala/argonaut/ProductEncodeTests.scala b/test/src/test/scala/argonaut/ProductEncodeTests.scala index d1e01ec..3904554 100644 --- a/test/src/test/scala/argonaut/ProductEncodeTests.scala +++ b/test/src/test/scala/argonaut/ProductEncodeTests.scala @@ -108,7 +108,7 @@ object ProductEncodeTests extends TestSuite { Default.AsOptions[WrappedMap], HListProductEncodeJson.hcons( Witness('m), - MapLikeEncodeJson[Map, Json](JsonEncodeJson), + MapEncodeJson[String, Json](EncodeJsonKey.StringEncodeJsonKey, JsonEncodeJson), HListProductEncodeJson.hnil ) ), diff --git a/test/src/test/scala/argonaut/RefinedDecodeTests.scala b/test/src/test/scala/argonaut/RefinedDecodeTests.scala index 2b2e60c..e19785c 100644 --- a/test/src/test/scala/argonaut/RefinedDecodeTests.scala +++ b/test/src/test/scala/argonaut/RefinedDecodeTests.scala @@ -16,8 +16,8 @@ object RefinedDecodeTests extends TestSuite { val json = n0.asJson - val n = json.as[Int].toDisjunction.getOrElse(???) - val nV = json.as[Refined[Int, Positive]].toDisjunction.getOrElse(???) + val n = json.as[Int].getOr(???) + val nV = json.as[Refined[Int, Positive]].getOr(???) assert(n == n0) assert(nV == nV0) @@ -29,8 +29,8 @@ object RefinedDecodeTests extends TestSuite { val json = s0.asJson - val s = json.as[String].toDisjunction.getOrElse(???) - val sV = json.as[Refined[String, NonEmpty]].toDisjunction.getOrElse(???) + val s = json.as[String].getOr(???) + val sV = json.as[Refined[String, NonEmpty]].getOr(???) assert(s == s0) assert(sV == sV0) @@ -42,8 +42,8 @@ object RefinedDecodeTests extends TestSuite { val json = n0.asJson - val n = json.as[Int].toDisjunction.getOrElse(???) - val nV = json.as[Refined[Int, Not[Less[_0]] And Not[Greater[_3]]]].toDisjunction.getOrElse(???) + val n = json.as[Int].getOr(???) + val nV = json.as[Refined[Int, Not[Less[_0]] And Not[Greater[_3]]]].getOr(???) assert(n == n0) assert(nV == nV0) @@ -55,8 +55,8 @@ object RefinedDecodeTests extends TestSuite { val json = n0.asJson - val n = json.as[List[Int]].toDisjunction.getOrElse(???) - val nV = json.as[Refined[List[Int], Size[Greater[_3]]]].toDisjunction.getOrElse(???) + val n = json.as[List[Int]].getOr(???) + val nV = json.as[Refined[List[Int], Size[Greater[_3]]]].getOr(???) assert(n == n0) assert(nV == nV0) diff --git a/test/src/test/scala/argonaut/RefinedFieldDecodeTests.scala b/test/src/test/scala/argonaut/RefinedFieldDecodeTests.scala index 908ad0c..bd04eb2 100644 --- a/test/src/test/scala/argonaut/RefinedFieldDecodeTests.scala +++ b/test/src/test/scala/argonaut/RefinedFieldDecodeTests.scala @@ -18,8 +18,8 @@ object RefinedFieldDecodeTests extends TestSuite { val json = simple0.asJson - val simple = json.as[Simple0].toDisjunction.getOrElse(???) - val simpleV = json.as[SimpleV].toDisjunction.getOrElse(???) + val simple = json.as[Simple0].getOr(???) + val simpleV = json.as[SimpleV].getOr(???) assert(simple == simple0) assert(simpleV == simpleV0) @@ -30,7 +30,7 @@ object RefinedFieldDecodeTests extends TestSuite { val json = simple0.asJson - val simple = json.as[Simple0].toDisjunction.getOrElse(???) + val simple = json.as[Simple0].getOr(???) val resultV = json.as[SimpleV] assert(simple == simple0) diff --git a/test/src/test/scala/argonaut/ShapelessTests.scala b/test/src/test/scala/argonaut/ShapelessTests.scala index 254051b..46eaf09 100644 --- a/test/src/test/scala/argonaut/ShapelessTests.scala +++ b/test/src/test/scala/argonaut/ShapelessTests.scala @@ -1,7 +1,6 @@ package argonaut import argonaut.Argonaut.ToJsonIdentity -import scalaz.Scalaz.ToEitherOps import org.scalacheck.{ Arbitrary, Prop } import shapeless.test.illTyped @@ -15,7 +14,7 @@ object ShapelessTests extends TestSuite { private def sameAfterBeforeSerialization[T: Arbitrary : EncodeJson : DecodeJson]: Unit = Prop.forAll { t: T => - toFromJson(t).result == t.right + toFromJson(t).result == Right(t) }.validate import org.scalacheck.Shapeless._ @@ -59,7 +58,7 @@ object ShapelessTests extends TestSuite { val json = Parse.parseOption("{}").get // assert macro crashes if result is substituted by its value below val result = json.as[OI].result - assert(result == OI(None).right) + assert(result == Right(OI(None))) } 'base - { From e05970c75464a3dc3ecca90af749af0c9496a4df Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 19 Jun 2016 15:38:48 +0200 Subject: [PATCH 2/3] Set version to 1.2.0-SNAPSHOT --- version.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.sbt b/version.sbt index ab92045..a8bd390 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "1.1.1-SNAPSHOT" +version in ThisBuild := "1.2.0-SNAPSHOT" From 6d00ba4d8ad67f9ea05cea95cfb8f90e616cdeb7 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Sun, 19 Jun 2016 23:43:35 +0200 Subject: [PATCH 3/3] Switch to refined 0.5.0 --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index fd1b9f3..48315a3 100644 --- a/build.sbt +++ b/build.sbt @@ -65,7 +65,7 @@ lazy val refinedSettings = Seq( libraryDependencies ++= Seq( "io.argonaut" %% "argonaut" % "6.1", "com.chuusai" %% "shapeless" % shapelessVersion, - "eu.timepit" %% "refined" % "0.4.0" + "eu.timepit" %% "refined" % "0.5.0" ) )