@@ -10,8 +10,10 @@ import java.util.Base64
1010import scala .collection .immutable .ArraySeq
1111
1212object ZioJsonCodecs {
13- implicit val config : JsonCodecConfiguration =
14- JsonCodecConfiguration (explicitEmptyCollections = ExplicitEmptyCollections (encoding = false , decoding = false ))
13+ implicit val config : JsonCodecConfiguration = JsonCodecConfiguration (
14+ explicitEmptyCollections = ExplicitEmptyCollections (encoding = false , decoding = false ),
15+ enumValuesAsStrings = true
16+ )
1517 implicit val adtC3c : JsonCodec [ADTBase ] = DeriveJsonCodec .gen
1618 implicit val geoJsonC3c : JsonCodec [GeoJSON .GeoJSON ] = {
1719 implicit val c1 : JsonCodec [GeoJSON .SimpleGeometry ] = DeriveJsonCodec .gen
@@ -133,22 +135,7 @@ object ZioJsonCodecs {
133135 }
134136 implicit val missingRequiredFieldsC3c : JsonCodec [MissingRequiredFields ] = DeriveJsonCodec .gen
135137 implicit val primitivesC3c : JsonCodec [Primitives ] = DeriveJsonCodec .gen
136- implicit val enumADTsC3c : JsonCodec [SuitADT ] = new JsonCodec (new JsonEncoder [SuitADT ] {
137- override def unsafeEncode (a : SuitADT , indent : Option [Int ], out : Write ): Unit = {
138- out.write('"' )
139- out.write(a.toString)
140- out.write('"' )
141- }
142- }, new JsonDecoder [SuitADT ] {
143- private [this ] val values = Array (Hearts , Spades , Diamonds , Clubs )
144- private [this ] val matrix = new StringMatrix (values.map(_.toString))
145-
146- override def unsafeDecode (trace : List [JsonError ], in : RetractReader ): SuitADT = {
147- val idx = Lexer .enumeration(trace, in, matrix)
148- if (idx == - 1 ) Lexer .error(" SuitADT" , trace)
149- values(idx)
150- }
151- })
138+ implicit val enumADTsC3c : JsonCodec [SuitADT ] = DeriveJsonCodec .gen
152139 implicit val enumsC3c : JsonCodec [SuitEnum ] = new JsonCodec (new JsonEncoder [SuitEnum ] {
153140 override def unsafeEncode (a : SuitEnum , indent : Option [Int ], out : Write ): Unit = {
154141 out.write('"' )
0 commit comments