aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2018-04-19 16:21:15 -0700
committerJakob Odersky <jakob@odersky.com>2018-04-19 16:36:31 -0700
commit19d6b785421acc94edd92c1dc011b7ac37806758 (patch)
treee5954ff3384c78d07e2faa38398c424ade430165
parent3c00a1ad8013c375a598dd88139dce174e9bf401 (diff)
downloadspray-json-derivation-19d6b785421acc94edd92c1dc011b7ac37806758.tar.gz
spray-json-derivation-19d6b785421acc94edd92c1dc011b7ac37806758.tar.bz2
spray-json-derivation-19d6b785421acc94edd92c1dc011b7ac37806758.zip
Group formats and default protocols into utility objects
-rw-r--r--shared/src/main/scala/DerivedFormats.scala12
-rw-r--r--shared/src/test/scala/ImplicitDerivedFormatTests.scala3
-rw-r--r--shared/src/test/scala/ProductTypeFormatTests.scala3
3 files changed, 14 insertions, 4 deletions
diff --git a/shared/src/main/scala/DerivedFormats.scala b/shared/src/main/scala/DerivedFormats.scala
index 4a0b8b4..122e744 100644
--- a/shared/src/main/scala/DerivedFormats.scala
+++ b/shared/src/main/scala/DerivedFormats.scala
@@ -89,16 +89,28 @@ trait DerivedFormats { self: BasicFormats =>
macro DerivedFormatMacros.derivedFormat[T]
}
+
+@deprecated("use DerivedJsonProtocol", "spray-json-derivation 0.4.3")
object DerivedFormats extends DerivedFormats with DefaultJsonProtocol
trait ImplicitDerivedFormats extends DerivedFormats { self: BasicFormats =>
implicit def implicitJsonFormat[T]: RootJsonFormat[T] =
macro DerivedFormatMacros.derivedFormat[T]
}
+
+@deprecated("use ImplicitDerivedJsonProtocol", "spray-json-derivation 0.4.3")
object ImplicitDerivedFormats
extends ImplicitDerivedFormats
with DefaultJsonProtocol
+trait DerivedJsonProtocol extends DefaultJsonProtocol with DerivedFormats
+object DerivedJsonProtocol extends DerivedJsonProtocol
+
+trait ImplicitDerivedJsonProtocol
+ extends DefaultJsonProtocol
+ with ImplicitDerivedFormats
+object ImplicitDerivedJsonProtocol extends ImplicitDerivedJsonProtocol
+
object DerivedFormatMacros {
import scala.reflect.macros.whitebox._
diff --git a/shared/src/test/scala/ImplicitDerivedFormatTests.scala b/shared/src/test/scala/ImplicitDerivedFormatTests.scala
index 1d54ae9..f062a56 100644
--- a/shared/src/test/scala/ImplicitDerivedFormatTests.scala
+++ b/shared/src/test/scala/ImplicitDerivedFormatTests.scala
@@ -5,8 +5,7 @@ import org.scalatest._
class ImplicitDerivedFormatTests
extends FlatSpec
with FormatTests
- with ImplicitDerivedFormats
- with DefaultJsonProtocol {
+ with ImplicitDerivedJsonProtocol {
case class B(x: Int, b: String, mp: Map[String, Int])
case class C(b: B)
diff --git a/shared/src/test/scala/ProductTypeFormatTests.scala b/shared/src/test/scala/ProductTypeFormatTests.scala
index 502568f..4d71aa3 100644
--- a/shared/src/test/scala/ProductTypeFormatTests.scala
+++ b/shared/src/test/scala/ProductTypeFormatTests.scala
@@ -5,8 +5,7 @@ import org.scalatest._
class ProductTypeFormatTests
extends FlatSpec
with FormatTests
- with DerivedFormats
- with DefaultJsonProtocol {
+ with DerivedJsonProtocol {
case class A()
case class B(x: Int, b: String, mp: Map[String, Int])