@@ -216,37 +216,39 @@ module.exports = function(modules) {
216
216
var child = firstChild . render ( function ( opts ) {
217
217
void 0 === opts && ( opts = { } ) ;
218
218
var _opts$doc = opts . doc , doc = void 0 === _opts$doc ? document : _opts$doc ;
219
- return function domRenderer ( node ) {
220
- if ( "component" === node . type ) return node . renderComponent ( domRenderer ) ;
219
+ var _xmlNamespaceDomRenderer = function ( node , xmlNamespace ) {
220
+ if ( "component" === node . type ) return node . renderComponent ( ( function ( childNode ) {
221
+ return _xmlNamespaceDomRenderer ( childNode , xmlNamespace ) ;
222
+ } ) ) ;
223
+ if ( "text" === node . type ) return createTextElement ( doc , node ) ;
224
+ if ( "element" === node . type ) {
225
+ var el = function ( doc , node , xmlNamespace ) {
226
+ return doc . createElementNS ( xmlNamespace , node . name ) ;
227
+ } ( doc , node , xmlNamespace ) ;
228
+ addProps ( el , node ) ;
229
+ addChildren ( el , node , doc , ( function ( childNode ) {
230
+ return _xmlNamespaceDomRenderer ( childNode , xmlNamespace ) ;
231
+ } ) ) ;
232
+ return el ;
233
+ }
234
+ throw new TypeError ( "Unhandleable node" ) ;
235
+ } ;
236
+ var _domRenderer = function ( node ) {
237
+ if ( "component" === node . type ) return node . renderComponent ( _domRenderer ) ;
221
238
if ( "text" === node . type ) return createTextElement ( doc , node ) ;
222
239
if ( "element" === node . type ) {
223
240
var xmlNamespace = ELEMENT_DEFAULT_XML_NAMESPACE [ node . name . toLowerCase ( ) ] ;
224
- if ( xmlNamespace ) return function xmlNamespaceDomRenderer ( node , xmlNamespace ) {
225
- if ( "component" === node . type ) return node . renderComponent ( ( function ( childNode ) {
226
- return xmlNamespaceDomRenderer ( childNode , xmlNamespace ) ;
227
- } ) ) ;
228
- if ( "text" === node . type ) return createTextElement ( doc , node ) ;
229
- if ( "element" === node . type ) {
230
- var el = function ( doc , node , xmlNamespace ) {
231
- return doc . createElementNS ( xmlNamespace , node . name ) ;
232
- } ( doc , node , xmlNamespace ) ;
233
- addProps ( el , node ) ;
234
- addChildren ( el , node , doc , ( function ( childNode ) {
235
- return xmlNamespaceDomRenderer ( childNode , xmlNamespace ) ;
236
- } ) ) ;
237
- return el ;
238
- }
239
- throw new TypeError ( "Unhandleable node" ) ;
240
- } ( node , xmlNamespace ) ;
241
+ if ( xmlNamespace ) return _xmlNamespaceDomRenderer ( node , xmlNamespace ) ;
241
242
var el = function ( doc , node ) {
242
243
return node . props . el ? node . props . el : doc . createElement ( node . name ) ;
243
244
} ( doc , node ) ;
244
245
addProps ( el , node ) ;
245
- addChildren ( el , node , doc , domRenderer ) ;
246
+ addChildren ( el , node , doc , _domRenderer ) ;
246
247
return el ;
247
248
}
248
249
throw new TypeError ( "Unhandleable node" ) ;
249
250
} ;
251
+ return _domRenderer ;
250
252
} ( {
251
253
doc : doc
252
254
} ) ) ;
0 commit comments