moy-dom
Version:
A flexiable Virtual DOM library for building modern web interface.
33 lines (28 loc) • 655 B
JavaScript
import diff from './diff/index'
import patch from './patch/index'
import Element from './Element'
let appRoot,
appGetNode,
appCurrentNode
const render = (root, getNode) => {
appCurrentNode = getNode()
appRoot = root
appGetNode = getNode
if(appCurrentNode !== null){
appRoot.appendChild(
Object.prototype.toString.call(appCurrentNode) === '[object Element]' ?
appCurrentNode.render() :
document.createTextNode(appCurrentNode)
)
}
}
const reRender = () => {
const node = appGetNode()
patch(appRoot, diff(node, appCurrentNode))
appCurrentNode = node
}
export {
Element,
render,
reRender,
}