UNPKG

@motorcycle/mostly-dom

Version:

Motorcycle.ts adapter for mostly-dom. Built on @motorcycle/dom.

23 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var mostly_dom_1 = require("mostly-dom"); function vNodeWrapper(rootElement) { var rootVNode = mostly_dom_1.elementToVNode(rootElement); var rootVNodeSelector = vNodeSelector(rootVNode); var rootTagName = rootVNodeSelector.tagName, rootId = rootVNodeSelector.id, rootClassName = rootVNodeSelector.className; return function execute(vNode) { var _a = vNodeSelector(vNode), tagName = _a.tagName, id = _a.id, className = _a.className; var areSameVNode = tagName === rootTagName && id === rootId && className === rootClassName; if (areSameVNode) return vNode; var wrappedVNode = mostly_dom_1.h(rootTagName, { id: rootId, className: rootClassName }, [vNode]); wrappedVNode.element = rootElement; return wrappedVNode; }; } exports.vNodeWrapper = vNodeWrapper; function vNodeSelector(vNode) { var tagName = vNode.tagName, _a = vNode.props, _b = _a.id, id = _b === void 0 ? '' : _b, _c = _a.className, className = _c === void 0 ? '' : _c; return { tagName: tagName, id: id, className: className }; } //# sourceMappingURL=vNodeWrapper.js.map