@@ -35,8 +35,8 @@ object Query:
3535 Query (fab.sql, fab.encoder.contramap(f), fab.decoder.map(g))
3636
3737final 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 ],
4040):
4141 def sql : String = parts.foldMap {
4242 case Left (s) => s
@@ -57,7 +57,9 @@ final class Fragment[A](
5757 val ps = head.map {
5858 _.leftMap(_.stripMargin(marginChar))
5959 }.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+ )
6163 }
6264 Fragment (ps, encoder)
6365
@@ -90,14 +92,15 @@ private def sqlImpl(
9092 val args = Varargs .unapply(argsExpr).toList.flatMap(_.toList)
9193
9294 // 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+ }
101104
102105 val encoder = args.collect {
103106 case ' { $e : Encoder [t] } => e
0 commit comments