@@ -35,8 +35,8 @@ object Query:
35
35
Query (fab.sql, fab.encoder.contramap(f), fab.decoder.map(g))
36
36
37
37
final class Fragment [A ](
38
- val parts : List [Either [String , Int ]],
39
- val encoder : Encoder [A ]
38
+ val parts : List [Either [String , Int ]],
39
+ val encoder : Encoder [A ],
40
40
):
41
41
def sql : String = parts.foldMap {
42
42
case Left (s) => s
@@ -57,7 +57,9 @@ final class Fragment[A](
57
57
val ps = head.map {
58
58
_.leftMap(_.stripMargin(marginChar))
59
59
}.toList ++ tail.map {
60
- _.leftMap(str => str.takeWhile(_ != '\n ' ) + str.dropWhile(_ != '\n ' ).stripMargin(marginChar))
60
+ _.leftMap(str =>
61
+ str.takeWhile(_ != '\n ' ) + str.dropWhile(_ != '\n ' ).stripMargin(marginChar),
62
+ )
61
63
}
62
64
Fragment (ps, encoder)
63
65
@@ -90,14 +92,15 @@ private def sqlImpl(
90
92
val args = Varargs .unapply(argsExpr).toList.flatMap(_.toList)
91
93
92
94
// TODO appending to `List` is slow
93
- val fragment = parts.zipAll(args, ' { " " }, ' { " " }).foldLeft(' { List .empty[Either [String , Int ]] }) {
94
- case (' { $acc : List [Either [String , Int ]] }, (' { $p : String }, ' { $s : String })) =>
95
- ' { $acc :+ Left ($p) :+ Left ($s) }
96
- case (' { $acc : List [Either [String , Int ]] }, (' { $p : String }, ' { $e : Encoder [t] })) =>
97
- ' { $acc :+ Left ($p) :+ Right ($e.parameters) }
98
- case (' { $acc : List [Either [String , Int ]] }, (' { $p : String }, ' { $f : Fragment [t] })) =>
99
- ' { $acc :+ Left ($p) :++ $f.parts }
100
- }
95
+ val fragment =
96
+ parts.zipAll(args, ' { " " }, ' { " " }).foldLeft(' { List .empty[Either [String , Int ]] }) {
97
+ case (' { $acc : List [Either [String , Int ]] }, (' { $p : String }, ' { $s : String })) =>
98
+ ' { $acc :+ Left ($p) :+ Left ($s) }
99
+ case (' { $acc : List [Either [String , Int ]] }, (' { $p : String }, ' { $e : Encoder [t] })) =>
100
+ ' { $acc :+ Left ($p) :+ Right ($e.parameters) }
101
+ case (' { $acc : List [Either [String , Int ]] }, (' { $p : String }, ' { $f : Fragment [t] })) =>
102
+ ' { $acc :+ Left ($p) :++ $f.parts }
103
+ }
101
104
102
105
val encoder = args.collect {
103
106
case ' { $e : Encoder [t] } => e
0 commit comments