Skip to content

Commit 5bc2442

Browse files
committed
Reduce method size for zio-json and wee-pickle codecs to allow coverage instrumentation
1 parent 05df3b3 commit 5bc2442

File tree

2 files changed

+47
-24
lines changed

2 files changed

+47
-24
lines changed

jsoniter-scala-benchmark/shared/src/main/scala/com/github/plokhotnyuk/jsoniter_scala/benchmark/WeePickleFromTos.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.rallyhealth.weepickle.v1.WeePickle._
1111
import com.rallyhealth.weepickle.v1.core.Visitor
1212
import java.time._
1313

14-
object WeePickleFromTos extends WeePickleFromTos2 {
14+
object WeePickleFromTos extends WeePickleFromTos1 with WeePickleFromTos2 {
1515
private[this] def defaultJsonFactoryBuilder: JsonFactoryBuilder = new JsonFactoryBuilder()
1616
.configure(StreamReadFeature.USE_FAST_DOUBLE_PARSER, true)
1717
.configure(StreamWriteFeature.USE_FAST_DOUBLE_WRITER, true)
@@ -85,7 +85,7 @@ object WeePickleFromTos extends WeePickleFromTos2 {
8585
implicit val offsetTimeFromTo: FromTo[OffsetTime] = fromTo[String].bimap(_.toString, OffsetTime.parse)
8686
}
8787

88-
trait WeePickleFromTos2 {
88+
trait WeePickleFromTos1 {
8989
implicit val openRTBBidRequestFromTos: FromTo[OpenRTB.BidRequest] = {
9090
implicit val ft1: FromTo[OpenRTB.Segment] = macroFromTo
9191
implicit val ft2: FromTo[OpenRTB.Format] = macroFromTo
@@ -110,6 +110,9 @@ trait WeePickleFromTos2 {
110110
implicit val ft21: FromTo[OpenRTB.Reqs] = macroFromTo
111111
macroFromTo
112112
}
113+
}
114+
115+
trait WeePickleFromTos2 {
113116
implicit val periodFromTo: FromTo[Period] = fromTo[String].bimap(_.toString, Period.parse)
114117
implicit val twitterAPIFromTos: FromTo[TwitterAPI.Tweet] = {
115118
implicit val ft1: FromTo[TwitterAPI.Urls] = macroFromTo

jsoniter-scala-benchmark/shared/src/main/scala/com/github/plokhotnyuk/jsoniter_scala/benchmark/ZioJsonCodecs.scala

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,37 @@ object ZioJsonCodecs {
2626
implicit val c3: JsonCodec[OpenRTB.Deal] = DeriveJsonCodec.gen
2727
implicit val c4: JsonCodec[OpenRTB.Metric] = DeriveJsonCodec.gen
2828
implicit val c5: JsonCodec[OpenRTB.Banner] = DeriveJsonCodec.gen
29-
implicit val c6: JsonCodec[OpenRTB.Audio] = DeriveJsonCodec.gen
30-
implicit val c7: JsonCodec[OpenRTB.Video] = DeriveJsonCodec.gen
3129

3230
def genOpenRTBBidRequestC3c2: JsonCodec[OpenRTB.BidRequest] = {
33-
implicit val c8: JsonCodec[OpenRTB.Native] = DeriveJsonCodec.gen
34-
implicit val c9: JsonCodec[OpenRTB.Pmp] = DeriveJsonCodec.gen
35-
implicit val c10: JsonCodec[OpenRTB.Producer] = DeriveJsonCodec.gen
36-
implicit val c11: JsonCodec[OpenRTB.Data] = DeriveJsonCodec.gen
37-
implicit val c12: JsonCodec[OpenRTB.Content] = DeriveJsonCodec.gen
38-
implicit val c13: JsonCodec[OpenRTB.Publisher] = DeriveJsonCodec.gen
39-
implicit val c14: JsonCodec[OpenRTB.Geo] = DeriveJsonCodec.gen
31+
implicit val c6: JsonCodec[OpenRTB.Audio] = DeriveJsonCodec.gen
32+
implicit val c7: JsonCodec[OpenRTB.Native] = DeriveJsonCodec.gen
33+
implicit val c8: JsonCodec[OpenRTB.Pmp] = DeriveJsonCodec.gen
34+
implicit val c9: JsonCodec[OpenRTB.Video] = DeriveJsonCodec.gen
4035

4136
def genOpenRTBBidRequestC3c3: JsonCodec[OpenRTB.BidRequest] = {
42-
implicit val c15: JsonCodec[OpenRTB.Imp] = DeriveJsonCodec.gen
43-
implicit val c16: JsonCodec[OpenRTB.Site] = DeriveJsonCodec.gen
44-
implicit val c17: JsonCodec[OpenRTB.App] = DeriveJsonCodec.gen
45-
implicit val c18: JsonCodec[OpenRTB.Device] = DeriveJsonCodec.gen
46-
implicit val c19: JsonCodec[OpenRTB.User] = DeriveJsonCodec.gen
47-
implicit val c20: JsonCodec[OpenRTB.Source] = DeriveJsonCodec.gen
48-
implicit val c21: JsonCodec[OpenRTB.Reqs] = DeriveJsonCodec.gen
49-
DeriveJsonCodec.gen
37+
implicit val c10: JsonCodec[OpenRTB.Producer] = DeriveJsonCodec.gen
38+
implicit val c11: JsonCodec[OpenRTB.Data] = DeriveJsonCodec.gen
39+
implicit val c12: JsonCodec[OpenRTB.Content] = DeriveJsonCodec.gen
40+
implicit val c13: JsonCodec[OpenRTB.Publisher] = DeriveJsonCodec.gen
41+
42+
def genOpenRTBBidRequestC3c4: JsonCodec[OpenRTB.BidRequest] = {
43+
implicit val c14: JsonCodec[OpenRTB.Geo] = DeriveJsonCodec.gen
44+
implicit val c15: JsonCodec[OpenRTB.Imp] = DeriveJsonCodec.gen
45+
implicit val c16: JsonCodec[OpenRTB.Site] = DeriveJsonCodec.gen
46+
implicit val c17: JsonCodec[OpenRTB.App] = DeriveJsonCodec.gen
47+
48+
def genOpenRTBBidRequestC3c5: JsonCodec[OpenRTB.BidRequest] = {
49+
implicit val c18: JsonCodec[OpenRTB.Device] = DeriveJsonCodec.gen
50+
implicit val c19: JsonCodec[OpenRTB.User] = DeriveJsonCodec.gen
51+
implicit val c20: JsonCodec[OpenRTB.Source] = DeriveJsonCodec.gen
52+
implicit val c21: JsonCodec[OpenRTB.Reqs] = DeriveJsonCodec.gen
53+
DeriveJsonCodec.gen
54+
}
55+
56+
genOpenRTBBidRequestC3c5
57+
}
58+
59+
genOpenRTBBidRequestC3c4
5060
}
5161

5262
genOpenRTBBidRequestC3c3
@@ -58,18 +68,28 @@ object ZioJsonCodecs {
5868
genOpenRTBBidRequestC3c1
5969
}
6070
implicit val twitterAPIC3c: JsonCodec[TwitterAPI.Tweet] = {
61-
def genTwitterAPIC3c: JsonCodec[TwitterAPI.Tweet] = {
71+
def genTwitterAPIC3c1: JsonCodec[TwitterAPI.Tweet] = {
6272
implicit val c1: JsonCodec[TwitterAPI.UserMentions] = DeriveJsonCodec.gen
6373
implicit val c2: JsonCodec[TwitterAPI.Urls] = DeriveJsonCodec.gen
6474
implicit val c3: JsonCodec[TwitterAPI.Entities] = DeriveJsonCodec.gen
6575
implicit val c4: JsonCodec[TwitterAPI.Url] = DeriveJsonCodec.gen
6676
implicit val c5: JsonCodec[TwitterAPI.UserEntities] = DeriveJsonCodec.gen
67-
implicit val c6: JsonCodec[TwitterAPI.User] = DeriveJsonCodec.gen
68-
implicit val c7: JsonCodec[TwitterAPI.RetweetedStatus] = DeriveJsonCodec.gen
69-
DeriveJsonCodec.gen
77+
78+
def genTwitterAPIC3c2: JsonCodec[TwitterAPI.Tweet] = {
79+
implicit val c6: JsonCodec[TwitterAPI.User] = DeriveJsonCodec.gen
80+
81+
def genTwitterAPIC3c3: JsonCodec[TwitterAPI.Tweet] = {
82+
implicit val c7: JsonCodec[TwitterAPI.RetweetedStatus] = DeriveJsonCodec.gen
83+
DeriveJsonCodec.gen
84+
}
85+
86+
genTwitterAPIC3c3
87+
}
88+
89+
genTwitterAPIC3c2
7090
}
7191

72-
genTwitterAPIC3c
92+
genTwitterAPIC3c1
7393
}
7494
val base64C3c: JsonCodec[Array[Byte]] = new JsonCodec[Array[Byte]](
7595
(a: Array[Byte], _: Option[Int], out: Write) => {

0 commit comments

Comments
 (0)