You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
11 KiB
JavaScript
127 lines
11 KiB
JavaScript
8 years ago
|
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.tovnode = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
function createElement(tagName) {
|
||
|
return document.createElement(tagName);
|
||
|
}
|
||
|
function createElementNS(namespaceURI, qualifiedName) {
|
||
|
return document.createElementNS(namespaceURI, qualifiedName);
|
||
|
}
|
||
|
function createTextNode(text) {
|
||
|
return document.createTextNode(text);
|
||
|
}
|
||
|
function createComment(text) {
|
||
|
return document.createComment(text);
|
||
|
}
|
||
|
function insertBefore(parentNode, newNode, referenceNode) {
|
||
|
parentNode.insertBefore(newNode, referenceNode);
|
||
|
}
|
||
|
function removeChild(node, child) {
|
||
|
node.removeChild(child);
|
||
|
}
|
||
|
function appendChild(node, child) {
|
||
|
node.appendChild(child);
|
||
|
}
|
||
|
function parentNode(node) {
|
||
|
return node.parentNode;
|
||
|
}
|
||
|
function nextSibling(node) {
|
||
|
return node.nextSibling;
|
||
|
}
|
||
|
function tagName(elm) {
|
||
|
return elm.tagName;
|
||
|
}
|
||
|
function setTextContent(node, text) {
|
||
|
node.textContent = text;
|
||
|
}
|
||
|
function getTextContent(node) {
|
||
|
return node.textContent;
|
||
|
}
|
||
|
function isElement(node) {
|
||
|
return node.nodeType === 1;
|
||
|
}
|
||
|
function isText(node) {
|
||
|
return node.nodeType === 3;
|
||
|
}
|
||
|
function isComment(node) {
|
||
|
return node.nodeType === 8;
|
||
|
}
|
||
|
exports.htmlDomApi = {
|
||
|
createElement: createElement,
|
||
|
createElementNS: createElementNS,
|
||
|
createTextNode: createTextNode,
|
||
|
createComment: createComment,
|
||
|
insertBefore: insertBefore,
|
||
|
removeChild: removeChild,
|
||
|
appendChild: appendChild,
|
||
|
parentNode: parentNode,
|
||
|
nextSibling: nextSibling,
|
||
|
tagName: tagName,
|
||
|
setTextContent: setTextContent,
|
||
|
getTextContent: getTextContent,
|
||
|
isElement: isElement,
|
||
|
isText: isText,
|
||
|
isComment: isComment,
|
||
|
};
|
||
|
exports.default = exports.htmlDomApi;
|
||
|
|
||
|
},{}],2:[function(require,module,exports){
|
||
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
var vnode_1 = require("./vnode");
|
||
|
var htmldomapi_1 = require("./htmldomapi");
|
||
|
function toVNode(node, domApi) {
|
||
|
var api = domApi !== undefined ? domApi : htmldomapi_1.default;
|
||
|
var text;
|
||
|
if (api.isElement(node)) {
|
||
|
var id = node.id ? '#' + node.id : '';
|
||
|
var cn = node.getAttribute('class');
|
||
|
var c = cn ? '.' + cn.split(' ').join('.') : '';
|
||
|
var sel = api.tagName(node).toLowerCase() + id + c;
|
||
|
var attrs = {};
|
||
|
var children = [];
|
||
|
var name_1;
|
||
|
var i = void 0, n = void 0;
|
||
|
var elmAttrs = node.attributes;
|
||
|
var elmChildren = node.childNodes;
|
||
|
for (i = 0, n = elmAttrs.length; i < n; i++) {
|
||
|
name_1 = elmAttrs[i].nodeName;
|
||
|
if (name_1 !== 'id' && name_1 !== 'class') {
|
||
|
attrs[name_1] = elmAttrs[i].nodeValue;
|
||
|
}
|
||
|
}
|
||
|
for (i = 0, n = elmChildren.length; i < n; i++) {
|
||
|
children.push(toVNode(elmChildren[i]));
|
||
|
}
|
||
|
return vnode_1.default(sel, { attrs: attrs }, children, undefined, node);
|
||
|
}
|
||
|
else if (api.isText(node)) {
|
||
|
text = api.getTextContent(node);
|
||
|
return vnode_1.default(undefined, undefined, undefined, text, node);
|
||
|
}
|
||
|
else if (api.isComment(node)) {
|
||
|
text = api.getTextContent(node);
|
||
|
return vnode_1.default('!', {}, [], text, node);
|
||
|
}
|
||
|
else {
|
||
|
return vnode_1.default('', {}, [], undefined, undefined);
|
||
|
}
|
||
|
}
|
||
|
exports.toVNode = toVNode;
|
||
|
exports.default = toVNode;
|
||
|
|
||
|
},{"./htmldomapi":1,"./vnode":3}],3:[function(require,module,exports){
|
||
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
function vnode(sel, data, children, text, elm) {
|
||
|
var key = data === undefined ? undefined : data.key;
|
||
|
return { sel: sel, data: data, children: children,
|
||
|
text: text, elm: elm, key: key };
|
||
|
}
|
||
|
exports.vnode = vnode;
|
||
|
exports.default = vnode;
|
||
|
|
||
|
},{}]},{},[2])(2)
|
||
|
});
|
||
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy8ucmVnaXN0cnkubnBtanMub3JnL2Jyb3dzZXItcGFjay82LjAuMi9ub2RlX21vZHVsZXMvYnJvd3Nlci1wYWNrL19wcmVsdWRlLmpzIiwiaHRtbGRvbWFwaS5qcyIsInRvdm5vZGUuanMiLCJ2bm9kZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNqRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHRhZ05hbWUpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VVUkksIHF1YWxpZmllZE5hbWUpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZVVSSSwgcXVhbGlmaWVkTmFtZSk7XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSh0ZXh0KSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpO1xufVxuZnVuY3Rpb24gY3JlYXRlQ29tbWVudCh0ZXh0KSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQodGV4dCk7XG59XG5mdW5jdGlvbiBpbnNlcnRCZWZvcmUocGFyZW50Tm9kZSwgbmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSkge1xuICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5ld05vZGUsIHJlZmVyZW5jZU5vZGUpO1xufVxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQobm9kZSwgY2hpbGQpIHtcbiAgICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIGFwcGVuZENoaWxkKG5vZGUsIGNoaWxkKSB7XG4gICAgbm9kZS5hcHBlbmRDaGlsZChjaGlsZCk7XG59XG5mdW5jdGlvbiBwYXJlbnROb2RlKG5vZGUpIHtcbiAgICByZXR1cm4gbm9kZS5wYXJlbnROb2RlO1xufVxuZnVuY3Rpb24gbmV4dFNpYmxpbmcobm9kZSkge1xuICAgIHJldHVybiBub2RlLm5leHRTaWJsaW5nO1xufVxuZnVuY3Rpb24gdGFnTmFtZShlbG0pIHtcbiAgICByZXR1cm4gZWxtLnRhZ05hbWU7XG59XG5mdW5jdGlvbiBzZXRUZXh0Q29udGVudChub2RlLCB0ZXh0KSB7XG4gICAgbm9kZS50ZXh0Q29udGVudCA9IHRleHQ7XG59XG5mdW5jdGlvbiBnZXRUZXh0Q29udGVudChub2RlKSB7XG4gICAgcmV0dXJuIG5vZGUudGV4dENvbnRlbnQ7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQobm9kZSkge1xuICAgIHJldHVybiBub2RlLm5vZGVUeXBlID09PSAxO1xufVxuZnVuY3Rpb24gaXNUZXh0KG5vZGUpIHtcbiAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSA9PT0gMztcbn1cbmZ1bmN0aW9uIGlzQ29tbWVudChub2RlKSB7XG4gICAgcmV0dXJuIG5vZGUubm9kZVR5cGUgPT09IDg7XG59XG5leHBvcnRzLmh0bWxEb21BcGkgPSB7XG4gICAgY3JlYXRlRWxlbWVudDogY3JlYXRlRWxlbWVudCxcbiAgICBjcmVhdGVFbGVtZW50TlM6IGNyZWF0ZUVsZW1lbnROUyxcbiAgICBjcmVhdGVUZXh0Tm9kZTogY3JlYXRlVGV4dE5vZGUsXG4gICAgY3JlYXRlQ29tbWVudDogY3JlYXRlQ29tbWVudCxcbiAgICBpbnNlcnRCZWZvcmU6IGluc2VydEJlZm9yZSxcbiAgICByZW1vdmVDaGlsZDogcmVtb3ZlQ2hpbGQsXG4gICAgYXBwZW5kQ2hpbGQ6IGFwcGVuZENoaWxkLFxuICAgIHBhcmVudE5vZGU6IHBhcmVudE5vZGUsXG4gICAgbmV4dFNpYmxpbmc6IG5leHRTaWJsaW5nLFxuICAgIHRhZ05hbWU6IHRhZ05hbWUsXG4gICAgc2V0VGV4dENvbnRlbnQ6IHNldFRleHRDb250ZW50LFxuICAgIGdldFRleHRDb250ZW50OiBnZXRUZXh0Q29udGVudCxcbiAgICBpc0VsZW1lbnQ6IGlzRWxlbWVudCxcbiAgICBpc1RleHQ6IGlzVGV4dCxcbiAgICBpc0NvbW1lbnQ6IGlzQ29tbWVudCxcbn07XG5leHBvcnRzLmR
|