zino-ssr.js
function getInnerHTML(node) {
	if (!node.children) return '';
	if (!isArray(node.children) && typeof HTMLCollection !== 'undefined' && !(node.children instanceof HTMLCollection)) node.children = [node.children];

	return (isArray(node) && node || (typeof HTMLCollection !== 'undefined' && node.children instanceof HTMLCollection ? [].slice.call(node.children) : node.children)).map(function (child) {
		if ((typeof child === 'undefined' ? 'undefined' : _typeof(child)) !== 'object') {
			return '' + child;
		} else if (isArray(child)) {
			return getInnerHTML(child);
		} else {
			var attributes = [''].concat(Object.keys(child.attributes).map(function (attr) {
				return attr + '="' + child.attributes[attr].value + '"';
			}));
			if (['img', 'link', 'meta', 'input', 'br', 'area', 'base', 'param', 'source', 'hr', 'embed'].indexOf(child.tagName) < 0) {
				return '<' + child.tagName + attributes.join(' ') + '>' + getInnerHTML(child) + '</' + child.tagName + '>';
			} else {
				return '<' + child.tagName + attributes.join(' ') + '/>';
			}
		}
	}).join('');
}
function getInnerHTML(node) {
	if (!node.children) return '';
	if (!isArray(node.children) && typeof HTMLCollection !== 'undefined' && !(node.children instanceof HTMLCollection)) node.children = [node.children];

	return (isArray(node) && node || (typeof HTMLCollection !== 'undefined' && node.children instanceof HTMLCollection ? [].slice.call(node.children) : node.children)).map(function (child) {
		if ((typeof child === 'undefined' ? 'undefined' : _typeof(child)) !== 'object') {
			return '' + child;
		} else if (isArray(child)) {
			return getInnerHTML(child);
		} else {
			var attributes = [''].concat(Object.keys(child.attributes).map(function (attr) {
				return attr + '="' + child.attributes[attr].value + '"';
			}));
			if (['img', 'link', 'meta', 'input', 'br', 'area', 'base', 'param', 'source', 'hr', 'embed'].indexOf(child.tagName) < 0) {
				return '<' + child.tagName + attributes.join(' ') + '>' + getInnerHTML(child) + '</' + child.tagName + '>';
			} else {
				return '<' + child.tagName + attributes.join(' ') + '/>';
			}
		}
	}).join('');
}
function getInnerHTML ( node ) { if ( ! node . children ) return '' ; if ( ! isArray ( node . children ) && typeof HTMLCollection !== 'undefined' && ! ( node . children instanceof HTMLCollection ) ) node . children = [ node . children ] ; return ( isArray ( node ) && node || ( typeof HTMLCollection !== 'undefined' && node . children instanceof HTMLCollection ? [ ] . slice . call ( node . children ) : node . children ) ) . map ( function ( child ) { if ( ( typeof child === 'undefined' ? 'undefined' : _typeof ( child ) ) !== 'object' ) { return '' + child ; } else if ( isArray ( child ) ) { return getInnerHTML ( child ) ; } else { var attributes = [ '' ] . concat ( Object . keys ( child . attributes ) . map ( function ( attr ) { return attr + '="' + child . attributes [ attr ] . value + '"' ; } ) ) ; if ( [ 'img' , 'link' , 'meta' , 'input' , 'br' , 'area' , 'base' , 'param' , 'source' , 'hr' , 'embed' ] . indexOf ( child . tagName ) < 0 ) { return '<' + child . tagName + attributes . join ( ' ' ) + '>' + getInnerHTML ( child ) + '</' + child . tagName + '>' ; } else { return '<' + child . tagName + attributes . join ( ' ' ) + '/>' ; } } } ) . join ( '' ) ; }
Calculates the HTML structure as a String represented by the VDOM

@param  {Object} node - the VDOM node whose inner HTML to generate
@return {String} - the HTML structure representing the VDOM
Calculates the HTML structure as a String represented by the VDOM