hg-sid
Version:
a front-end simple framework with mvc
20 lines (17 loc) • 467 B
JavaScript
import setAttr from './setAttr'
import VNode from './vnode'
function create (vnode) {
let el = document.createElement(vnode.tagName)
let props = vnode.properties
for (let attrName in props) {
setAttr(el, attrName, props[attrName])
}
vnode.children.map(child => {
if (!child) return
let childEl =
child instanceof VNode ? create(child) : document.createTextNode(child)
el.appendChild(childEl)
})
return el
}
export default create