Skip to content

Commit

Permalink
Merge pull request #230 from ashawley/rework-Utility-trim
Browse files Browse the repository at this point in the history
Rework Utility.trim
  • Loading branch information
ashawley authored Jun 26, 2018
2 parents 0fdfeee + 1a3b751 commit 7f36f80
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions shared/src/main/scala/scala/xml/Utility.scala
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ object Utility extends AnyRef with parsing.TokenTests {
*/
def trim(x: Node): Node = x match {
case Elem(pre, lab, md, scp, child@_*) =>
val children = combineAdjacentTextNodes(child:_*) flatMap trimProper
val children = combineAdjacentTextNodes(child) flatMap trimProper
Elem(pre, lab, md, scp, children.isEmpty, children: _*)
}

private def combineAdjacentTextNodes(children: Node*): Seq[Node] = {
private def combineAdjacentTextNodes(children: Seq[Node]): Seq[Node] = {
children.foldRight(Seq.empty[Node]) {
case (Text(left), Text(right) +: accMinusLast) => Text(left + right) +: accMinusLast
case (n, acc) => n +: acc
case (Text(left), Text(right) +: nodes) => Text(left + right) +: nodes
case (n, nodes) => n +: nodes
}
}

Expand All @@ -63,7 +63,7 @@ object Utility extends AnyRef with parsing.TokenTests {
*/
def trimProper(x: Node): Seq[Node] = x match {
case Elem(pre, lab, md, scp, child@_*) =>
val children = combineAdjacentTextNodes(child:_*) flatMap trimProper
val children = combineAdjacentTextNodes(child) flatMap trimProper
Elem(pre, lab, md, scp, children.isEmpty, children: _*)
case Text(s) =>
new TextBuffer().append(s).toText
Expand Down

0 comments on commit 7f36f80

Please sign in to comment.