Skip to content

Commit 7898625

Browse files
author
Adrian Lopez
committed
Add scalafmt
1 parent d9c36a6 commit 7898625

8 files changed

+87
-62
lines changed

.scalafmt.conf

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version = "2.0.0"
2+
maxColumn = 120
3+
align = most
4+
continuationIndent.defnSite = 2
5+
assumeStandardLibraryStripMargin = true
6+
docstrings = JavaDoc
7+
lineEndings = preserve
8+
includeCurlyBraceInSelectChains = false
9+
danglingParentheses = true
10+
trailingCommas = preserve
11+
rewrite.rules = [SortImports, RedundantBraces, PreferCurlyFors]
12+
newlines.alwaysBeforeTopLevelStatements = true

project/plugins.sbt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.8")
2-
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.0")
2+
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.0")
33
addSbtPlugin("com.localytics" % "sbt-dynamodb" % "2.0.3")
4+
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.0.0")

src/main/scala/com/coding42/dynamos/DefaultDynamosReaders.scala

+18-20
Original file line numberDiff line numberDiff line change
@@ -53,43 +53,41 @@ trait DefaultDynamosReaders {
5353
.toRight(DynamosParsingError("Boolean"))
5454
}
5555

56-
implicit def optionReader[A : DynamosReader]: DynamosReader[Option[A]] = new DynamosReader[Option[A]] {
56+
implicit def optionReader[A: DynamosReader]: DynamosReader[Option[A]] = new DynamosReader[Option[A]] {
5757
override def read(a: AttributeValue): DynamosResult[Option[A]] =
58-
if(a.isNULL) {
58+
if (a.isNULL) {
5959
Right(None)
6060
} else {
61-
implicitly[DynamosReader[A]].read(a)
61+
implicitly[DynamosReader[A]]
62+
.read(a)
6263
.fold(
6364
err => Left(DynamosParsingError(s"Option[${err.field}]")),
6465
a => Right(Some(a))
6566
)
6667
}
6768
}
6869

69-
implicit def collectionReader[A, C[_]]
70-
(implicit aReader: DynamosReader[A], cbf: CanBuildFrom[Nothing, A, C[A]]): DynamosReader[C[A]] =
70+
implicit def collectionReader[A, C[_]](
71+
implicit aReader: DynamosReader[A],
72+
cbf: CanBuildFrom[Nothing, A, C[A]]
73+
): DynamosReader[C[A]] =
7174
new DynamosReader[C[A]] {
72-
override def read(a: AttributeValue): DynamosResult[C[A]] = {
75+
override def read(a: AttributeValue): DynamosResult[C[A]] =
7376
EitherUtil.sequence {
74-
a.getL
75-
.asScala
77+
a.getL.asScala
7678
.map(aReader.read)
7779
.toList
78-
}
79-
.right.map(_.to[C])
80-
}
80+
}.right.map(_.to[C])
8181
}
8282

83-
implicit def mapReader[A](implicit aReader: DynamosReader[A]): DynamosReader[Map[String, A]] = new DynamosReader[Map[String, A]] {
84-
override def read(a: AttributeValue): DynamosResult[Map[String, A]] = {
85-
EitherUtil.map {
86-
a.getM.asScala
87-
.map { case (k, v) => k -> aReader.read(v) }
88-
.toMap
89-
}
90-
}
83+
implicit def mapReader[A](implicit aReader: DynamosReader[A]): DynamosReader[Map[String, A]] =
84+
new DynamosReader[Map[String, A]] {
85+
override def read(a: AttributeValue): DynamosResult[Map[String, A]] =
86+
EitherUtil.map {
87+
a.getM.asScala.map { case (k, v) => k -> aReader.read(v) }.toMap
88+
}
9189

92-
}
90+
}
9391

9492
}
9593

src/main/scala/com/coding42/dynamos/DefaultDynamosWriters.scala

+6-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ trait DefaultDynamosWriters {
88

99
implicit object StringWriter extends DynamosWriter[String] {
1010
override def write(a: String): AttributeValue =
11-
if(a.nonEmpty) {
11+
if (a.nonEmpty) {
1212
new AttributeValue(a)
1313
} else {
1414
new AttributeValue().withNULL(true)
@@ -53,9 +53,11 @@ trait DefaultDynamosWriters {
5353
new AttributeValue().withM(a.mapValues(aWriter.write).asJava)
5454
}
5555

56-
implicit def optionWriter[A](implicit aWriter: DynamosWriter[A]): DynamosWriter[Option[A]] = new DynamosWriter[Option[A]] {
57-
override def write(a: Option[A]): AttributeValue = a.map(aWriter.write).getOrElse(new AttributeValue().withNULL(true))
58-
}
56+
implicit def optionWriter[A](implicit aWriter: DynamosWriter[A]): DynamosWriter[Option[A]] =
57+
new DynamosWriter[Option[A]] {
58+
override def write(a: Option[A]): AttributeValue =
59+
a.map(aWriter.write).getOrElse(new AttributeValue().withNULL(true))
60+
}
5961

6062
}
6163

src/main/scala/com/coding42/dynamos/DynamosReader.scala

+11-10
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,17 @@ object DynamosReader {
2222
val params = a.getM.asScala // TODO check what happens when getM is not valid
2323
Try {
2424
caseClass.construct { p =>
25-
p.typeclass.read(params(p.label))
26-
.fold(
27-
err => throw DynamosInternalException(err),
28-
identity
29-
)
25+
p.typeclass
26+
.read(params(p.label))
27+
.fold(
28+
err => throw DynamosInternalException(err),
29+
identity
30+
)
3031
}
31-
}
32-
.map(Right(_))
33-
.recover { case DynamosInternalException(error) =>
34-
Left(error)
32+
}.map(Right(_))
33+
.recover {
34+
case DynamosInternalException(error) =>
35+
Left(error)
3536
}
3637
.get
3738
}
@@ -40,7 +41,7 @@ object DynamosReader {
4041
def dispatch[A](sealedTrait: SealedTrait[Typeclass, A]): DynamosReader[A] = new DynamosReader[A] {
4142
override def read(a: AttributeValue): DynamosResult[A] = {
4243
val typeName = a.getM.asScala("dynamos-type")
43-
val subtype = sealedTrait.subtypes.find(_.label == typeName.getS).get
44+
val subtype = sealedTrait.subtypes.find(_.label == typeName.getS).get
4445
subtype.typeclass.read(a)
4546
}
4647
}

src/main/scala/com/coding42/dynamos/DynamosWriter.scala

+5-3
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ object DynamosWriter {
2424
}
2525

2626
def dispatch[T](sealedTrait: SealedTrait[Typeclass, T]): DynamosWriter[T] = new DynamosWriter[T] {
27-
override def write(a: T): AttributeValue = {
27+
override def write(a: T): AttributeValue =
2828
sealedTrait.dispatch(a) { subtype =>
29-
val updatedMap = subtype.typeclass.write(subtype.cast(a)).getM.asScala
29+
val updatedMap = subtype.typeclass
30+
.write(subtype.cast(a))
31+
.getM
32+
.asScala
3033
.updated("dynamos-type", new AttributeValue(subtype.label))
3134
new AttributeValue().withM(updatedMap.asJava)
3235
}
33-
}
3436
}
3537

3638
implicit def gen[T]: Typeclass[T] = macro Magnolia.gen[T]

src/main/scala/com/coding42/dynamos/package.scala

+15-7
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,30 @@ package object dynamos {
2525

2626
object Dynamos {
2727

28-
def fromDynamo[A](i: GetItemResult)(implicit reader: DynamosReader[A]): DynamosResult[Option[A]] = fromDynamo(i.getItem)
28+
def fromDynamo[A](i: GetItemResult)(implicit reader: DynamosReader[A]): DynamosResult[Option[A]] =
29+
fromDynamo(i.getItem)
2930

30-
def fromDynamo[A](i: java.util.Map[String, AttributeValue])(implicit reader: DynamosReader[A]): DynamosResult[Option[A]] =
31+
def fromDynamo[A](
32+
i: java.util.Map[String, AttributeValue]
33+
)(implicit reader: DynamosReader[A]): DynamosResult[Option[A]] =
3134
Option(i) match {
32-
case Some(map) => reader.read(new AttributeValue().withM(map)).map(Some(_))
33-
case None => Right(None)
35+
case Some(map) => reader.read(new AttributeValue().withM(map)).map(Some(_))
36+
case None => Right(None)
3437
}
3538

36-
def fromDynamoOp[A](i: GetItemResult)(implicit reader: DynamosReader[A]): Option[DynamosResult[A]] = fromDynamoOp(i.getItem)
39+
def fromDynamoOp[A](i: GetItemResult)(implicit reader: DynamosReader[A]): Option[DynamosResult[A]] =
40+
fromDynamoOp(i.getItem)
3741

38-
def fromDynamoOp[A](i: java.util.Map[String, AttributeValue])(implicit reader: DynamosReader[A]): Option[DynamosResult[A]] =
42+
def fromDynamoOp[A](
43+
i: java.util.Map[String, AttributeValue]
44+
)(implicit reader: DynamosReader[A]): Option[DynamosResult[A]] =
3945
Option(i).map { map =>
4046
reader.read(new AttributeValue().withM(map))
4147
}
4248

43-
def fromDynamo[A: DynamosReader](i: java.util.Collection[java.util.Map[String, AttributeValue]]): Iterable[DynamosResult[A]] =
49+
def fromDynamo[A: DynamosReader](
50+
i: java.util.Collection[java.util.Map[String, AttributeValue]]
51+
): Iterable[DynamosResult[A]] =
4452
i.asScala.flatMap(fromDynamoOp[A](_))
4553

4654
}

src/main/scala/com/coding42/util/EitherUtil.scala

+18-17
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,33 @@ import scala.language.higherKinds
77

88
object EitherUtil {
99

10-
def sequence[L, R, M[X] <: TraversableOnce[X]](seq: M[Either[L, R]])
11-
(implicit cbf: CanBuildFrom[Nothing, R, M[R]]): Either[L, M[R]] = {
10+
def sequence[L, R, M[X] <: TraversableOnce[X]](
11+
seq: M[Either[L, R]]
12+
)(implicit cbf: CanBuildFrom[Nothing, R, M[R]]): Either[L, M[R]] =
1213
Right {
13-
seq.foldRight(List.empty[R]) { case (a, res) =>
14-
a match {
15-
case Left(l) => return Left[L, M[R]](l)
16-
case Right(r) => r :: res
14+
seq
15+
.foldRight(List.empty[R]) {
16+
case (a, res) =>
17+
a match {
18+
case Left(l) => return Left[L, M[R]](l)
19+
case Right(r) => r :: res
20+
}
1721
}
18-
}
1922
.to[M]
2023
}
21-
}
2224

23-
def map[L, K, R](seq: Map[K, Either[L, R]], leftCombine: (K, L) => L): Either[L, Map[K, R]] = {
25+
def map[L, K, R](seq: Map[K, Either[L, R]], leftCombine: (K, L) => L): Either[L, Map[K, R]] =
2426
Right {
25-
seq.foldLeft(Map.empty[K, R]) { case (res, a) =>
26-
a match {
27-
case (k, Left(l)) => return Left[L, Map[K, R]](leftCombine(k, l))
28-
case (k, Right(r)) => res + (k -> r)
29-
}
27+
seq.foldLeft(Map.empty[K, R]) {
28+
case (res, a) =>
29+
a match {
30+
case (k, Left(l)) => return Left[L, Map[K, R]](leftCombine(k, l))
31+
case (k, Right(r)) => res + (k -> r)
32+
}
3033
}
3134
}
32-
}
3335

34-
def map[K, R](seq: Map[K, Either[DynamosParsingError, R]]): Either[DynamosParsingError, Map[K, R]] = {
36+
def map[K, R](seq: Map[K, Either[DynamosParsingError, R]]): Either[DynamosParsingError, Map[K, R]] =
3537
map[DynamosParsingError, K, R](seq, (k, l) => DynamosParsingError(s"$k -> ${l.field}"))
36-
}
3738

3839
}

0 commit comments

Comments
 (0)