@@ -26,22 +26,22 @@ var parseOptions = {
2626
2727function wrap ( tree , file ) {
2828 var parser = new Parser ( parseOptions )
29- var one = zwitch ( 'type' )
29+ var one = zwitch ( 'type' , {
30+ handlers : {
31+ root : root ,
32+ element : element ,
33+ text : text ,
34+ comment : comment ,
35+ doctype : doctype ,
36+ raw : raw
37+ } ,
38+ unknown : unknown
39+ } )
3040 var tokenizer
3141 var preprocessor
3242 var posTracker
3343 var locationTracker
34- var result
35-
36- one . handlers . root = root
37- one . handlers . element = element
38- one . handlers . text = text
39- one . handlers . comment = comment
40- one . handlers . doctype = doctype
41- one . handlers . raw = raw
42- one . unknown = unknown
43-
44- result = fromParse5 ( documentMode ( tree ) ? document ( ) : fragment ( ) , file )
44+ var result = fromParse5 ( documentMode ( tree ) ? document ( ) : fragment ( ) , file )
4545
4646 // Unpack if possible and when not given a `root`.
4747 if ( tree . type !== 'root' && result . children . length === 1 ) {
@@ -51,30 +51,21 @@ function wrap(tree, file) {
5151 return result
5252
5353 function fragment ( ) {
54- var context
55- var mock
56- var doc
57-
58- context = {
54+ var context = {
5955 nodeName : 'template' ,
6056 tagName : 'template' ,
6157 attrs : [ ] ,
6258 namespaceURI : ns . html ,
6359 childNodes : [ ]
6460 }
65-
66- mock = {
61+ var mock = {
6762 nodeName : 'documentmock' ,
6863 tagName : 'documentmock' ,
6964 attrs : [ ] ,
7065 namespaceURI : ns . html ,
7166 childNodes : [ ]
7267 }
73-
74- doc = {
75- nodeName : '#document-fragment' ,
76- childNodes : [ ]
77- }
68+ var doc = { nodeName : '#document-fragment' , childNodes : [ ] }
7869
7970 parser . _bootstrap ( mock , context )
8071 parser . _pushTmplInsertionMode ( inTemplateMode )
@@ -110,16 +101,13 @@ function wrap(tree, file) {
110101 }
111102
112103 function all ( nodes ) {
113- var length = 0
114104 var index = - 1
115105
116106 /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */
117107 if ( nodes ) {
118- length = nodes . length
119- }
120-
121- while ( ++ index < length ) {
122- one ( nodes [ index ] )
108+ while ( ++ index < nodes . length ) {
109+ one ( nodes [ index ] )
110+ }
123111 }
124112 }
125113
@@ -128,14 +116,12 @@ function wrap(tree, file) {
128116 }
129117
130118 function element ( node ) {
131- var empty = voids . indexOf ( node . tagName ) !== - 1
132-
133119 resetTokenizer ( )
134120 parser . _processToken ( startTag ( node ) , ns . html )
135121
136122 all ( node . children )
137123
138- if ( ! empty ) {
124+ if ( voids . indexOf ( node . tagName ) < 0 ) {
139125 resetTokenizer ( )
140126 parser . _processToken ( endTag ( node ) )
141127 }
0 commit comments