If you want to send your virtual dom over the wire and still be able to use it, this is for you!
var serializeVDom = require('vdom-serialize')
// ...
stream.send(serializeVDom(render()))
// --
// on the other side, you can savely use JSON.parse
var html = vdomToHtml(JSON.parse(stream.read()))
The problem is that virtual-dom's objects have the crucial property, their type
in their prototype only, and if you JSON.stringify
them you'll lose this property.
So, to fix this, vdom-serialize traverses the VTree and adds those properties explcitly (Thunks are rendered beforehand, of course). That's all.
Hooks cannot be serialized, sadly, since they require the hook method to be set on their prototype, not directly.
(c) 2016 by Marcel Klehr
MIT-License