Skip to content

Commit 753a8ac

Browse files
committed
eval -> toString
`elements` -> iterator
1 parent 48e2459 commit 753a8ac

File tree

9 files changed

+15
-28
lines changed

9 files changed

+15
-28
lines changed

src/main/scala/Markdown.scala

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,4 @@ type MdContent = String | MdElement | Table
88
opaque type MdUnit = Unit
99

1010
private class Markdown extends MdElement:
11-
override def eval: String = evaluated.mkString("\n\n")
12-
13-
extension (s: MdContent)
14-
private def eval: String = s match
15-
case s: String => s
16-
case e: MdElement => e.eval
17-
case t: Table => t.eval
11+
override def toString: String = evaluated.mkString("\n\n")

src/main/scala/api.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def markdown(init: MdElement ?=> MdUnit): String =
99
given m: MdElement = new Markdown
1010

1111
init(using m)
12-
m.eval
12+
m.toString
1313

1414
inline def text[Style <: TextStyle](inner: String)(using m: MdElement): MdUnit = m.add(textMacro[Style](inner))
1515

src/main/scala/tables/Table.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ import utils.{HasInner, MdElement}
77

88

99
private[smark] final class Table extends HasInner[Row | Header]:
10-
extension (ab: Iterable[String])
11-
private def mkRow = ab.mkString("| ", " | ", " |")
10+
extension (it: Iterator[String])
11+
private def mkRow = it.mkString("| ", " | ", " |")
1212

13-
private[smark] def eval: String = elements.map {
14-
case r: Row => r.elements.map(_.eval).mkRow
15-
case h: Header => h.elements.map(_.name).mkRow + "\n" + h.elements.map(symbol).mkRow
13+
override def toString: String = iterator.map {
14+
case r: Row => r.iterator.map(_.toString).mkRow
15+
case h: Header => h.iterator.map(_.name).mkRow + "\n" + h.iterator.map(symbol).mkRow
1616
}.mkString("\n")
1717

1818

@@ -50,5 +50,5 @@ given Conversion[String, Center] = Column.Center(_)
5050
given Conversion[String, None] = Column.None(_)
5151

5252
private[smark] final class Cell extends MdElement:
53-
override def eval: String = evaluated.mkString("\n")
53+
override def toString: String = evaluated.mkString("\n")
5454
end Cell

src/main/scala/typography/Comment.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ package typography
44
import utils.MdElement
55

66
final class Comment extends MdElement:
7-
override def eval: String =
8-
s"<!-- ${if evaluated.length == 1 then evaluated.mkString("\n") else evaluated.mkString("\n", "\n", "\n")} -->"
7+
override def toString: String = s"<!-- ${if evaluated.length == 1 then evaluated.mkString("\n") else evaluated.mkString("\n", "\n", "\n")} -->"

src/main/scala/typography/Headings.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@ import utils.MdElement
77
private[smark] type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6
88

99
final class Heading[N <: HeadingLevel : ValueOf] extends MdElement:
10-
override def eval: String =
11-
evaluated.map(e => s"${"#" * valueOf[N]}$e").mkString("\n")
10+
override def toString: String = evaluated.map(e => s"${"#" * valueOf[N]}$e").mkString("\n")

src/main/scala/typography/Paragraph.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ package typography
44
import utils.MdElement
55

66
final class Paragraph extends MdElement:
7-
override def eval: String = "\n" + evaluated.mkString("\n\n")
7+
override def toString: String = "\n" + evaluated.mkString("\n\n")

src/main/scala/typography/Quote.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import typography.macros.textMacro
66
import utils.MdElement
77

88
private[smark] final class Quote[AlertType <: Alert : ValueOf] extends MdElement:
9-
override def eval: String =
9+
override def toString: String =
1010
(s"[!${valueOf[AlertType]}]" +: evaluated)
1111
.map(textMacro[Quoted])
1212
.mkString("\n")

src/main/scala/utils/HasInner.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package halotukozak.smark
22
package utils
33

4-
private[smark] abstract class HasInner[T](private var inner: Seq[T] = Nil):
5-
6-
final def elements: Seq[T] = inner
7-
4+
private[smark] abstract class HasInner[T](private var inner: Seq[T] = Nil) extends Iterable[T]:
5+
final def iterator: Iterator[T] = inner.iterator
86
final def add(e: T): MdUnit = {
97
inner = inner :+ e
108
}.asInstanceOf

src/main/scala/utils/MdElement.scala

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,4 @@ package halotukozak.smark
22
package utils
33

44
private[smark] trait MdElement extends HasInner[MdContent]:
5-
def eval: String
6-
7-
final protected def evaluated: Seq[String] = elements.map(_.eval)
8-
5+
final protected def evaluated: Seq[String] = iterator.map(_.toString).toSeq

0 commit comments

Comments
 (0)