diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000..685a4aa --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,2 @@ +# Scala Steward: Reformat with scalafmt 3.8.6 +beffe00c80d156286982b58a0f5dcbbfcb7bb614 diff --git a/.scalafmt.conf b/.scalafmt.conf index 79e61b3..e686e89 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,3 +1,3 @@ -version = "3.8.1" +version = "3.8.6" runner.dialect = scala3 maxColumn = 120 \ No newline at end of file diff --git a/decoda/shared/src/main/scala/io/decoda/converter/Decoder.scala b/decoda/shared/src/main/scala/io/decoda/converter/Decoder.scala index 7b333af..0650d37 100644 --- a/decoda/shared/src/main/scala/io/decoda/converter/Decoder.scala +++ b/decoda/shared/src/main/scala/io/decoda/converter/Decoder.scala @@ -113,9 +113,8 @@ object Decoder: if v == null then None else Some(decoder.decode(v)) - - given SeqDecoderCodec: [T: DataDecoder as decoder] => DataDecoder[Seq[T]] : + given SeqDecoderCodec: [T: DataDecoder as decoder] => DataDecoder[Seq[T]]: override def decode(v: Any): Seq[T] = v match case arr: JsonArray => diff --git a/decoda/shared/src/main/scala/io/decoda/converter/Encoder.scala b/decoda/shared/src/main/scala/io/decoda/converter/Encoder.scala index a36ef54..890e14f 100644 --- a/decoda/shared/src/main/scala/io/decoda/converter/Encoder.scala +++ b/decoda/shared/src/main/scala/io/decoda/converter/Encoder.scala @@ -86,7 +86,7 @@ object Encoder: given DataEncoder[Date]: override def encode(v: Date): Any = v - given OptionEncoderCodec : [T: DataEncoder as encoder] => DataEncoder[Option[T]]: + given OptionEncoderCodec: [T: DataEncoder as encoder] => DataEncoder[Option[T]]: override def encode(v: Option[T]): Any = v.map(encoder.encode).orNull @@ -104,7 +104,6 @@ object Encoder: override def encode(vs: Set[T]): Any = vs.map(encoder.encode) - inline def typ[T]: EncoderCreator[T] = new Encoder diff --git a/decoda/shared/src/main/scala/io/decoda/converter/auto/ArrayProduct.scala b/decoda/shared/src/main/scala/io/decoda/converter/auto/ArrayProduct.scala index a70e144..3c6ecce 100644 --- a/decoda/shared/src/main/scala/io/decoda/converter/auto/ArrayProduct.scala +++ b/decoda/shared/src/main/scala/io/decoda/converter/auto/ArrayProduct.scala @@ -11,4 +11,4 @@ class ArrayProduct(arr: Array[Any]) extends Product: override def canEqual(that: Any): Boolean = that match case ap: ArrayProduct if ap.productArity == productArity => true - case _ => false \ No newline at end of file + case _ => false diff --git a/decoda/shared/src/main/scala/io/decoda/converter/auto/JsonConverter.scala b/decoda/shared/src/main/scala/io/decoda/converter/auto/JsonConverter.scala index 5282de3..061b29c 100644 --- a/decoda/shared/src/main/scala/io/decoda/converter/auto/JsonConverter.scala +++ b/decoda/shared/src/main/scala/io/decoda/converter/auto/JsonConverter.scala @@ -45,10 +45,10 @@ object JsonConverter: override def fromJson(value: Any): Int = value match - case _: Int => value.asInstanceOf[Int] - case _: Long => value.asInstanceOf[Long].toInt + case _: Int => value.asInstanceOf[Int] + case _: Long => value.asInstanceOf[Long].toInt case _: Short => value.asInstanceOf[Short].toInt - case _ => throw new JsonCodecException(s"can't parse ${value} to Int") + case _ => throw new JsonCodecException(s"can't parse ${value} to Int") } given longConv: JsonConverter[Long] = new JsonConverter[Long] { @@ -58,13 +58,13 @@ object JsonConverter: override def fromJson(value: Any): Long = value match - case _: Int => value.asInstanceOf[Int].toLong - case _: Long => value.asInstanceOf[Long] + case _: Int => value.asInstanceOf[Int].toLong + case _: Long => value.asInstanceOf[Long] case _: Short => value.asInstanceOf[Short].toLong - case _ => throw new JsonCodecException(s"can't parse ${value} to Int") + case _ => throw new JsonCodecException(s"can't parse ${value} to Int") } - given stringConv: JsonConverter[String]= new JsonConverter[String] { + given stringConv: JsonConverter[String] = new JsonConverter[String] { extension (a: String) override def toJsonValue: Json = JsonValue(a) override def toJson: String = a @@ -96,10 +96,10 @@ object JsonConverter: override def fromJson(value: Any): Short = value match - case _: Int => value.asInstanceOf[Int].toShort - case _: Long => value.asInstanceOf[Long].toShort + case _: Int => value.asInstanceOf[Int].toShort + case _: Long => value.asInstanceOf[Long].toShort case _: Short => value.asInstanceOf[Short] - case _ => throw new JsonCodecException(s"can't parse ${value} to Short") + case _ => throw new JsonCodecException(s"can't parse ${value} to Short") } given doubleConv: JsonConverter[Double] = new JsonConverter[Double] { @@ -110,7 +110,7 @@ object JsonConverter: override def fromJson(value: Any): Double = value match case _: Double => value.asInstanceOf[Double] - case _: Float => value.asInstanceOf[Float].toDouble + case _: Float => value.asInstanceOf[Float].toDouble case _ => throw new JsonCodecException(s"can't parse ${value} to Double") } @@ -123,7 +123,7 @@ object JsonConverter: override def fromJson(value: Any): Float = value match case _: Double => value.asInstanceOf[Double].toFloat - case _: Float => value.asInstanceOf[Float] + case _: Float => value.asInstanceOf[Float] case _ => throw new JsonCodecException(s"can't parse ${value} to Float") } @@ -140,7 +140,7 @@ object JsonConverter: throw new JsonCodecException(s"can't parse ${value} to Null") } - inline given dateConv: JsonConverter[Date] = new JsonConverter[Date]{ + inline given dateConv: JsonConverter[Date] = new JsonConverter[Date] { extension (a: Date) override def toJsonValue: Json = JsonValue(a.toString) override def toJson: String = a.toString @@ -163,10 +163,10 @@ object JsonConverter: def fromJson(value: Any): Option[A] = value match case null => None - case _ => Some(JsonConverter[A].fromJson(value)) + case _ => Some(JsonConverter[A].fromJson(value)) } - given mapConv: [A: JsonConverter] => JsonCreator => JsonConverter[Map[String, A]] { + given mapConv: [A: JsonConverter] => JsonCreator => JsonConverter[Map[String, A]] { extension (m: Map[String, A]) override def toJsonValue: Json = summon[JsonCreator].fromMap(m) @@ -181,35 +181,37 @@ object JsonConverter: case _ => Map.empty } - given immutableMapConv: [A: JsonConverter] => JsonCreator => JsonConverter[immutable.Map[String, A]] = new JsonConverter[immutable.Map[String, A]] { - extension (m: immutable.Map[String, A]) - def toJsonValue: Json = - summon[JsonCreator].fromMap(m) + given immutableMapConv: [A: JsonConverter] => JsonCreator => JsonConverter[immutable.Map[String, A]] = + new JsonConverter[immutable.Map[String, A]] { + extension (m: immutable.Map[String, A]) + def toJsonValue: Json = + summon[JsonCreator].fromMap(m) - def toJson: String = - summon[JsonCreator].fromMap(m).stringify() + def toJson: String = + summon[JsonCreator].fromMap(m).stringify() - def fromJson(value: Any): Map[String, A] = - value match - case obj: JsonObject => - immutable.Map.from(jsonObjectToMap(obj)) - case _ => immutable.Map.empty - } + def fromJson(value: Any): Map[String, A] = + value match + case obj: JsonObject => + immutable.Map.from(jsonObjectToMap(obj)) + case _ => immutable.Map.empty + } - given arrayConv: [A : {ClassTag, JsonConverter}] => JsonCreator => JsonConverter[Array[A]] = new JsonConverter[Array[A]] { - extension (a: Array[A]) - def toJsonValue: Json = - summon[JsonCreator].fromIterable(a) + given arrayConv: [A: {ClassTag, JsonConverter}] => JsonCreator => JsonConverter[Array[A]] = + new JsonConverter[Array[A]] { + extension (a: Array[A]) + def toJsonValue: Json = + summon[JsonCreator].fromIterable(a) - def toJson: String = - summon[JsonCreator].fromIterable(a).stringify() + def toJson: String = + summon[JsonCreator].fromIterable(a).stringify() - def fromJson(value: Any): Array[A] = - value match - case arr: JsonArray => - jsonArrayToCollection(arr, Array.newBuilder) - case _ => Array.empty - } + def fromJson(value: Any): Array[A] = + value match + case arr: JsonArray => + jsonArrayToCollection(arr, Array.newBuilder) + case _ => Array.empty + } given iterableConv: [A: JsonConverter] => JsonCreator => JsonConverter[Iterable[A]] = new JsonConverter[Iterable[A]] { extension (a: Iterable[A]) @@ -241,35 +243,37 @@ object JsonConverter: case _ => Seq.empty } - given immutableSeqConv: [A: JsonConverter] => JsonCreator => JsonConverter[immutable.Seq[A]] = new JsonConverter[immutable.Seq[A]] { - extension (a: immutable.Seq[A]) - def toJsonValue: Json = - summon[JsonCreator].fromIterable(a) + given immutableSeqConv: [A: JsonConverter] => JsonCreator => JsonConverter[immutable.Seq[A]] = + new JsonConverter[immutable.Seq[A]] { + extension (a: immutable.Seq[A]) + def toJsonValue: Json = + summon[JsonCreator].fromIterable(a) - def toJson: String = - summon[JsonCreator].fromIterable(a).stringify() + def toJson: String = + summon[JsonCreator].fromIterable(a).stringify() - def fromJson(value: Any): immutable.Seq[A] = - value match - case arr: JsonArray => - jsonArrayToCollection(arr, immutable.Seq.newBuilder) - case _ => Seq.empty - } + def fromJson(value: Any): immutable.Seq[A] = + value match + case arr: JsonArray => + jsonArrayToCollection(arr, immutable.Seq.newBuilder) + case _ => Seq.empty + } - given setCodec: [A: JsonConverter] => JsonCreator => JsonConverter[mutable.Set[A]] = new JsonConverter[mutable.Set[A]] { - extension (a: mutable.Set[A]) - def toJsonValue: Json = - summon[JsonCreator].fromIterable(a) + given setCodec: [A: JsonConverter] => JsonCreator => JsonConverter[mutable.Set[A]] = + new JsonConverter[mutable.Set[A]] { + extension (a: mutable.Set[A]) + def toJsonValue: Json = + summon[JsonCreator].fromIterable(a) - def toJson: String = - summon[JsonCreator].fromIterable(a).stringify() + def toJson: String = + summon[JsonCreator].fromIterable(a).stringify() - def fromJson(value: Any): mutable.Set[A] = - value match - case arr: JsonArray => - jsonArrayToCollection(arr, mutable.HashSet.newBuilder) - case _ => mutable.HashSet.empty - } + def fromJson(value: Any): mutable.Set[A] = + value match + case arr: JsonArray => + jsonArrayToCollection(arr, mutable.HashSet.newBuilder) + case _ => mutable.HashSet.empty + } given immutableSetCodec: [A: JsonConverter] => JsonCreator => JsonConverter[Set[A]] = new JsonConverter[Set[A]] { extension (a: Set[A]) @@ -316,20 +320,21 @@ object JsonConverter: case _ => Vector.empty } - given bufferConv: [A: JsonConverter] => JsonCreator => JsonConverter[mutable.Buffer[A]] = new JsonConverter[mutable.Buffer[A]] { - extension (a: mutable.Buffer[A]) - def toJsonValue: Json = - summon[JsonCreator].fromIterable(a) + given bufferConv: [A: JsonConverter] => JsonCreator => JsonConverter[mutable.Buffer[A]] = + new JsonConverter[mutable.Buffer[A]] { + extension (a: mutable.Buffer[A]) + def toJsonValue: Json = + summon[JsonCreator].fromIterable(a) - def toJson: String = - summon[JsonCreator].fromIterable(a).stringify() + def toJson: String = + summon[JsonCreator].fromIterable(a).stringify() - def fromJson(value: Any): mutable.Buffer[A] = - value match - case arr: JsonArray => - jsonArrayToCollection(arr, mutable.Buffer.newBuilder) - case _ => mutable.Buffer.empty - } + def fromJson(value: Any): mutable.Buffer[A] = + value match + case arr: JsonArray => + jsonArrayToCollection(arr, mutable.Buffer.newBuilder) + case _ => mutable.Buffer.empty + } private def jsonObjectToMap[A](obj: JsonObject)(using nc: JsonConverter[A] diff --git a/decoda/shared/src/main/scala/io/decoda/infra/annotations.scala b/decoda/shared/src/main/scala/io/decoda/infra/annotations.scala index 704537b..5674d7d 100644 --- a/decoda/shared/src/main/scala/io/decoda/infra/annotations.scala +++ b/decoda/shared/src/main/scala/io/decoda/infra/annotations.scala @@ -9,7 +9,7 @@ object annotations: case NumStr case BoolStr case DateStr[T](pattern: String)(using - val dateConverter: JsonDateConverter + val dateConverter: JsonDateConverter ) case Auto