@cycle/html
Version:
A driver for HTML strings based on Snabbdom and the DOM driver
34 lines • 1.1 kB
JavaScript
import { HTMLSource } from './HTMLSource';
var init = require('snabbdom-to-html/init');
var modulesForHTML = require('snabbdom-to-html/modules');
var defaultModules = [
modulesForHTML.attributes,
modulesForHTML.props,
modulesForHTML.class,
modulesForHTML.style,
];
function defaultReportSnabbdomError(err) {
console.error(err);
}
export function makeHTMLDriver(effect, options) {
if (options === void 0) { options = {}; }
var modules = options.modules || defaultModules;
var toHTML = init(modules);
function htmlDriver(vnode$, name) {
var html$ = vnode$.map(function (vdom) {
if (typeof vdom !== 'object') {
throw new Error('Expected virtual dom tree, not ' + typeof vdom);
}
else {
return toHTML(vdom);
}
});
html$.addListener({
next: effect,
error: options.reportSnabbdomError || defaultReportSnabbdomError,
});
return new HTMLSource(html$, name);
}
return htmlDriver;
}
//# sourceMappingURL=makeHTMLDriver.js.map