mithril-vndb/api/mount.js
2016-08-05 14:15:25 -07:00

25 lines
560 B
JavaScript

"use strict"
var Vnode = require("../render/vnode")
var autoredraw = require("../api/autoredraw")
var dummy = {view: function() {}}
module.exports = function(renderer, pubsub) {
return function(root, component) {
pubsub.unsubscribe(root.redraw)
var run = autoredraw(root, renderer, pubsub, function() {
renderer.render(
root,
Vnode(component === null ? dummy : component, undefined, undefined, undefined, undefined, undefined)
)
})
run()
if (component === null) {
pubsub.unsubscribe(root.redraw)
delete root.redraw
}
}
}