snabbdom-virtualize
Library for turning strings and DOM nodes into virtual DOM nodes compatible with Snabbdom.
Usage
Add it to your application with
npm install --save snabbdom-virtualize
Require/import it.
import virtualize from 'snabbdom-virtualize';
let virtualize = require('snabbdom-virtualize');
Pass it a set of DOM nodes or a string representing DOM nodes with one root node.
let topNode = document.createElement('div');
let textNode = document.createTextNode('Click ');
let linkNode = document.createElement('a');
linkNode.setAttribute('href', 'http://example.com');
linkNode.textContent = 'here';
topNode.appendChild(textNode);
topNode.appendChild(linkNode);
let vnode = virtualize(topNode);
let vnode = virtualize('<div>Click <a href="http://example.com">here</a>');
Using modules à la carte
If you'd prefer to import just the function for virtualizing DOM nodes or just
the function for virtualizing HTML strings, you're in luck. Just import
snabbdom-virtualize/nodes
or snabbdom-virtualize/strings
and use in the
same way:
import virtualize from 'snabbdom-virtualize/nodes';
let topNode = document.createElement('div');
let textNode = document.createTextNode('Click ');
let linkNode = document.createElement('a');
linkNode.setAttribute('href', 'http://example.com');
linkNode.textContent = 'here';
topNode.appendChild(textNode);
topNode.appendChild(linkNode);
let vnode = virtualize(topNode);
import virtualize from 'snabbdom-virtualize/strings';
let vnode = virtualize('<div>Click <a href="http://example.com">here</a>');
Project setup
Written in ES6, compiled using Babel. To get started:
npm install
npm run build
This will output compiled files in the lib
directory.
Tests
Tests can be run with npm test
.