@@ -2,7 +2,11 @@ import Foundation
22import libxml2
33
44class InNodeConverter : SafeConverter {
5-
5+
6+ init ( shouldCollapseSpaces: Bool = true ) {
7+ self . shouldCollapseSpaces = shouldCollapseSpaces
8+ }
9+ var shouldCollapseSpaces : Bool = true
610 /// Converts a single node (from libxml2) into an HTML.Node.
711 ///
812 /// - Parameters:
@@ -53,7 +57,7 @@ class InNodeConverter: SafeConverter {
5357 var children = [ Node] ( )
5458
5559 if rawNode. children != nil {
56- let nodesConverter = InNodesConverter ( )
60+ let nodesConverter = InNodesConverter ( shouldCollapseSpaces : shouldCollapseSpaces )
5761 children. append ( contentsOf: nodesConverter. convert ( rawNode. children) )
5862 }
5963
@@ -80,7 +84,7 @@ class InNodeConverter: SafeConverter {
8084 var children = [ Node] ( )
8185
8286 if rawNode. children != nil {
83- let nodesConverter = InNodesConverter ( )
87+ let nodesConverter = InNodesConverter ( shouldCollapseSpaces : shouldCollapseSpaces )
8488 children. append ( contentsOf: nodesConverter. convert ( rawNode. children) )
8589 }
8690
@@ -105,7 +109,7 @@ class InNodeConverter: SafeConverter {
105109 fileprivate func createTextNode( _ rawNode: xmlNode ) -> TextNode {
106110 let text = String ( cString: rawNode. content)
107111 let node = TextNode ( text: text)
108-
112+ node . shouldCollapseSpaces = shouldCollapseSpaces
109113 return node
110114 }
111115
0 commit comments