code: function renderDom (vdom, props, isSvg) {
    // render and collect vdom's children
    var collector = new Collector()
    var domChildren = []
  
    if (vdom.type === 'svg') isSvg = true
  
    for (var i = 0; i < props.children.length; i++) {
      var result = rawRender(props.children[i], isSvg)
      if (result.nodes) {
        domChildren = domChildren.concat(result.nodes)
        collector.append({ components: result.components, refs: result.refs })
      }
    }
  
    // create dom element
    var el = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', vdom.type) : document.createElement(vdom.type)
    for (var k in vdom.props) setDomAttrib(el, k, vdom.props[k], isSvg)
    for (i = 0; i < domChildren.length; i++) el.appendChild(domChildren[i])
  
    if (props.ref) collector.append({ refs: { ref: el, fn: props.ref } })
    collector.append({ nodes: el })
    return collector.get()
  }
docs: ---- DOM ----