UNPKG

visual-dom-diff

Version:

Highlight differences between two DOM trees.

72 lines (71 loc) 2.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var util_1 = require("./util"); var skipChildrenMap = new Set(); skipChildrenMap.add('IMG'); skipChildrenMap.add('VIDEO'); skipChildrenMap.add('IFRAME'); skipChildrenMap.add('OBJECT'); skipChildrenMap.add('SVG'); var skipSelfMap = new Set(); skipSelfMap.add('BDO'); skipSelfMap.add('BDI'); skipSelfMap.add('Q'); skipSelfMap.add('CITE'); skipSelfMap.add('CODE'); skipSelfMap.add('DATA'); skipSelfMap.add('TIME'); skipSelfMap.add('VAR'); skipSelfMap.add('DFN'); skipSelfMap.add('ABBR'); skipSelfMap.add('STRONG'); skipSelfMap.add('EM'); skipSelfMap.add('BIG'); skipSelfMap.add('SMALL'); skipSelfMap.add('MARK'); skipSelfMap.add('SUB'); skipSelfMap.add('SUP'); skipSelfMap.add('SAMP'); skipSelfMap.add('KBD'); skipSelfMap.add('B'); skipSelfMap.add('I'); skipSelfMap.add('S'); skipSelfMap.add('U'); skipSelfMap.add('SPAN'); function optionsToConfig(_a) { var _b = _a === void 0 ? {} : _a, _c = _b.addedClass, addedClass = _c === void 0 ? 'vdd-added' : _c, _d = _b.modifiedClass, modifiedClass = _d === void 0 ? 'vdd-modified' : _d, _e = _b.removedClass, removedClass = _e === void 0 ? 'vdd-removed' : _e, _f = _b.skipModified, skipModified = _f === void 0 ? false : _f, skipChildren = _b.skipChildren, skipSelf = _b.skipSelf, _g = _b.diffText, diffText = _g === void 0 ? util_1.diffText : _g; return { addedClass: addedClass, diffText: diffText, modifiedClass: modifiedClass, removedClass: removedClass, skipModified: skipModified, skipChildren: function (node) { if (!util_1.isElement(node) && !util_1.isDocumentFragment(node) && !util_1.isDocument(node)) { return true; } if (skipChildren) { var result = skipChildren(node); if (typeof result === 'boolean') { return result; } } return skipChildrenMap.has(node.nodeName); }, skipSelf: function (node) { if (!util_1.isText(node) && !util_1.isElement(node)) { return true; } if (skipSelf) { var result = skipSelf(node); if (typeof result === 'boolean') { return result; } } return skipSelfMap.has(node.nodeName); }, }; } exports.optionsToConfig = optionsToConfig;