Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Editor live
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Resaltado de sintaxis
Elegir sintaxis
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
webpack:///node_modules/html-dom-parser/node_modules/domhandler/lib/node.js and webpack:///node_modules/html-react-parser/node_modules/domhandler/lib/node.js
Creado
hace 4 años
El diff nunca expira
Borrar
Exportar
Compartir
Los dos textos son idénticos
No hay diferencia entre estos dos textos
0 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
475 líneas
Copiar todo
0 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
475 líneas
Copiar todo
"use strict";
"use strict";
var __extends = (this && this.__extends) || (function () {
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
return extendStatics(d, b);
};
};
return function (d, b) {
return function (d, b) {
if (typeof b !== "function" && b !== null)
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
extendStatics(d, b);
function __() { this.constructor = d; }
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
};
})();
})();
var __assign = (this && this.__assign) || function () {
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
t[p] = s[p];
}
}
return t;
return t;
};
};
return __assign.apply(this, arguments);
return __assign.apply(this, arguments);
};
};
Object.defineProperty(exports, "__esModule", { value: true });
Object.defineProperty(exports, "__esModule", { value: true });
exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;
var domelementtype_1 = require("domelementtype");
var domelementtype_1 = require("domelementtype");
/**
/**
* This object will be used as the prototype for Nodes when creating a
* This object will be used as the prototype for Nodes when creating a
* DOM-Level-1-compliant structure.
* DOM-Level-1-compliant structure.
*/
*/
var Node = /** @class */ (function () {
var Node = /** @class */ (function () {
function Node() {
function Node() {
/** Parent of the node */
/** Parent of the node */
this.parent = null;
this.parent = null;
/** Previous sibling */
/** Previous sibling */
this.prev = null;
this.prev = null;
/** Next sibling */
/** Next sibling */
this.next = null;
this.next = null;
/** The start index of the node. Requires `withStartIndices` on the handler to be `true. */
/** The start index of the node. Requires `withStartIndices` on the handler to be `true. */
this.startIndex = null;
this.startIndex = null;
/** The end index of the node. Requires `withEndIndices` on the handler to be `true. */
/** The end index of the node. Requires `withEndIndices` on the handler to be `true. */
this.endIndex = null;
this.endIndex = null;
}
}
Object.defineProperty(Node.prototype, "parentNode", {
Object.defineProperty(Node.prototype, "parentNode", {
// Read-write aliases for properties
// Read-write aliases for properties
/**
/**
* Same as {@link parent}.
* Same as {@link parent}.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
*/
*/
get: function () {
get: function () {
return this.parent;
return this.parent;
},
},
set: function (parent) {
set: function (parent) {
this.parent = parent;
this.parent = parent;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
Object.defineProperty(Node.prototype, "previousSibling", {
Object.defineProperty(Node.prototype, "previousSibling", {
/**
/**
* Same as {@link prev}.
* Same as {@link prev}.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
*/
*/
get: function () {
get: function () {
return this.prev;
return this.prev;
},
},
set: function (prev) {
set: function (prev) {
this.prev = prev;
this.prev = prev;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
Object.defineProperty(Node.prototype, "nextSibling", {
Object.defineProperty(Node.prototype, "nextSibling", {
/**
/**
* Same as {@link next}.
* Same as {@link next}.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
*/
*/
get: function () {
get: function () {
return this.next;
return this.next;
},
},
set: function (next) {
set: function (next) {
this.next = next;
this.next = next;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
/**
/**
* Clone this node, and optionally its children.
* Clone this node, and optionally its children.
*
*
* @param recursive Clone child nodes as well.
* @param recursive Clone child nodes as well.
* @returns A clone of the node.
* @returns A clone of the node.
*/
*/
Node.prototype.cloneNode = function (recursive) {
Node.prototype.cloneNode = function (recursive) {
if (recursive === void 0) { recursive = false; }
if (recursive === void 0) { recursive = false; }
return cloneNode(this, recursive);
return cloneNode(this, recursive);
};
};
return Node;
return Node;
}());
}());
exports.Node = Node;
exports.Node = Node;
/**
/**
* A node that contains some data.
* A node that contains some data.
*/
*/
var DataNode = /** @class */ (function (_super) {
var DataNode = /** @class */ (function (_super) {
__extends(DataNode, _super);
__extends(DataNode, _super);
/**
/**
* @param data The content of the data node
* @param data The content of the data node
*/
*/
function DataNode(data) {
function DataNode(data) {
var _this = _super.call(this) || this;
var _this = _super.call(this) || this;
_this.data = data;
_this.data = data;
return _this;
return _this;
}
}
Object.defineProperty(DataNode.prototype, "nodeValue", {
Object.defineProperty(DataNode.prototype, "nodeValue", {
/**
/**
* Same as {@link data}.
* Same as {@link data}.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
*/
*/
get: function () {
get: function () {
return this.data;
return this.data;
},
},
set: function (data) {
set: function (data) {
this.data = data;
this.data = data;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return DataNode;
return DataNode;
}(Node));
}(Node));
exports.DataNode = DataNode;
exports.DataNode = DataNode;
/**
/**
* Text within the document.
* Text within the document.
*/
*/
var Text = /** @class */ (function (_super) {
var Text = /** @class */ (function (_super) {
__extends(Text, _super);
__extends(Text, _super);
function Text() {
function Text() {
var _this = _super !== null && _super.apply(this, arguments) || this;
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = domelementtype_1.ElementType.Text;
_this.type = domelementtype_1.ElementType.Text;
return _this;
return _this;
}
}
Object.defineProperty(Text.prototype, "nodeType", {
Object.defineProperty(Text.prototype, "nodeType", {
get: function () {
get: function () {
return 3;
return 3;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return Text;
return Text;
}(DataNode));
}(DataNode));
exports.Text = Text;
exports.Text = Text;
/**
/**
* Comments within the document.
* Comments within the document.
*/
*/
var Comment = /** @class */ (function (_super) {
var Comment = /** @class */ (function (_super) {
__extends(Comment, _super);
__extends(Comment, _super);
function Comment() {
function Comment() {
var _this = _super !== null && _super.apply(this, arguments) || this;
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = domelementtype_1.ElementType.Comment;
_this.type = domelementtype_1.ElementType.Comment;
return _this;
return _this;
}
}
Object.defineProperty(Comment.prototype, "nodeType", {
Object.defineProperty(Comment.prototype, "nodeType", {
get: function () {
get: function () {
return 8;
return 8;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return Comment;
return Comment;
}(DataNode));
}(DataNode));
exports.Comment = Comment;
exports.Comment = Comment;
/**
/**
* Processing instructions, including doc types.
* Processing instructions, including doc types.
*/
*/
var ProcessingInstruction = /** @class */ (function (_super) {
var ProcessingInstruction = /** @class */ (function (_super) {
__extends(ProcessingInstruction, _super);
__extends(ProcessingInstruction, _super);
function ProcessingInstruction(name, data) {
function ProcessingInstruction(name, data) {
var _this = _super.call(this, data) || this;
var _this = _super.call(this, data) || this;
_this.name = name;
_this.name = name;
_this.type = domelementtype_1.ElementType.Directive;
_this.type = domelementtype_1.ElementType.Directive;
return _this;
return _this;
}
}
Object.defineProperty(ProcessingInstruction.prototype, "nodeType", {
Object.defineProperty(ProcessingInstruction.prototype, "nodeType", {
get: function () {
get: function () {
return 1;
return 1;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return ProcessingInstruction;
return ProcessingInstruction;
}(DataNode));
}(DataNode));
exports.ProcessingInstruction = ProcessingInstruction;
exports.ProcessingInstruction = ProcessingInstruction;
/**
/**
* A `Node` that can have children.
* A `Node` that can have children.
*/
*/
var NodeWithChildren = /** @class */ (function (_super) {
var NodeWithChildren = /** @class */ (function (_super) {
__extends(NodeWithChildren, _super);
__extends(NodeWithChildren, _super);
/**
/**
* @param children Children of the node. Only certain node types can have children.
* @param children Children of the node. Only certain node types can have children.
*/
*/
function NodeWithChildren(children) {
function NodeWithChildren(children) {
var _this = _super.call(this) || this;
var _this = _super.call(this) || this;
_this.children = children;
_this.children = children;
return _this;
return _this;
}
}
Object.defineProperty(NodeWithChildren.prototype, "firstChild", {
Object.defineProperty(NodeWithChildren.prototype, "firstChild", {
// Aliases
// Aliases
/** First child of the node. */
/** First child of the node. */
get: function () {
get: function () {
var _a;
var _a;
return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
Object.defineProperty(NodeWithChildren.prototype, "lastChild", {
Object.defineProperty(NodeWithChildren.prototype, "lastChild", {
/** Last child of the node. */
/** Last child of the node. */
get: function () {
get: function () {
return this.children.length > 0
return this.children.length > 0
? this.children[this.children.length - 1]
? this.children[this.children.length - 1]
: null;
: null;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
Object.defineProperty(NodeWithChildren.prototype, "childNodes", {
Object.defineProperty(NodeWithChildren.prototype, "childNodes", {
/**
/**
* Same as {@link children}.
* Same as {@link children}.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
*/
*/
get: function () {
get: function () {
return this.children;
return this.children;
},
},
set: function (children) {
set: function (children) {
this.children = children;
this.children = children;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return NodeWithChildren;
return NodeWithChildren;
}(Node));
}(Node));
exports.NodeWithChildren = NodeWithChildren;
exports.NodeWithChildren = NodeWithChildren;
var CDATA = /** @class */ (function (_super) {
var CDATA = /** @class */ (function (_super) {
__extends(CDATA, _super);
__extends(CDATA, _super);
function CDATA() {
function CDATA() {
var _this = _super !== null && _super.apply(this, arguments) || this;
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = domelementtype_1.ElementType.CDATA;
_this.type = domelementtype_1.ElementType.CDATA;
return _this;
return _this;
}
}
Object.defineProperty(CDATA.prototype, "nodeType", {
Object.defineProperty(CDATA.prototype, "nodeType", {
get: function () {
get: function () {
return 4;
return 4;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return CDATA;
return CDATA;
}(NodeWithChildren));
}(NodeWithChildren));
exports.CDATA = CDATA;
exports.CDATA = CDATA;
/**
/**
* The root node of the document.
* The root node of the document.
*/
*/
var Document = /** @class */ (function (_super) {
var Document = /** @class */ (function (_super) {
__extends(Document, _super);
__extends(Document, _super);
function Document() {
function Document() {
var _this = _super !== null && _super.apply(this, arguments) || this;
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = domelementtype_1.ElementType.Root;
_this.type = domelementtype_1.ElementType.Root;
return _this;
return _this;
}
}
Object.defineProperty(Document.prototype, "nodeType", {
Object.defineProperty(Document.prototype, "nodeType", {
get: function () {
get: function () {
return 9;
return 9;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return Document;
return Document;
}(NodeWithChildren));
}(NodeWithChildren));
exports.Document = Document;
exports.Document = Document;
/**
/**
* An element within the DOM.
* An element within the DOM.
*/
*/
var Element = /** @class */ (function (_super) {
var Element = /** @class */ (function (_super) {
__extends(Element, _super);
__extends(Element, _super);
/**
/**
* @param name Name of the tag, eg. `div`, `span`.
* @param name Name of the tag, eg. `div`, `span`.
* @param attribs Object mapping attribute names to attribute values.
* @param attribs Object mapping attribute names to attribute values.
* @param children Children of the node.
* @param children Children of the node.
*/
*/
function Element(name, attribs, children, type) {
function Element(name, attribs, children, type) {
if (children === void 0) { children = []; }
if (children === void 0) { children = []; }
if (type === void 0) { type = name === "script"
if (type === void 0) { type = name === "script"
? domelementtype_1.ElementType.Script
? domelementtype_1.ElementType.Script
: name === "style"
: name === "style"
? domelementtype_1.ElementType.Style
? domelementtype_1.ElementType.Style
: domelementtype_1.ElementType.Tag; }
: domelementtype_1.ElementType.Tag; }
var _this = _super.call(this, children) || this;
var _this = _super.call(this, children) || this;
_this.name = name;
_this.name = name;
_this.attribs = attribs;
_this.attribs = attribs;
_this.type = type;
_this.type = type;
return _this;
return _this;
}
}
Object.defineProperty(Element.prototype, "nodeType", {
Object.defineProperty(Element.prototype, "nodeType", {
get: function () {
get: function () {
return 1;
return 1;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
Object.defineProperty(Element.prototype, "tagName", {
Object.defineProperty(Element.prototype, "tagName", {
// DOM Level 1 aliases
// DOM Level 1 aliases
/**
/**
* Same as {@link name}.
* Same as {@link name}.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
*/
*/
get: function () {
get: function () {
return this.name;
return this.name;
},
},
set: function (name) {
set: function (name) {
this.name = name;
this.name = name;
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
Object.defineProperty(Element.prototype, "attributes", {
Object.defineProperty(Element.prototype, "attributes", {
get: function () {
get: function () {
var _this = this;
var _this = this;
return Object.keys(this.attribs).map(function (name) {
return Object.keys(this.attribs).map(function (name) {
var _a, _b;
var _a, _b;
return ({
return ({
name: name,
name: name,
value: _this.attribs[name],
value: _this.attribs[name],
namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name],
namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name],
prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name],
prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name],
});
});
});
});
},
},
enumerable: false,
enumerable: false,
configurable: true
configurable: true
});
});
return Element;
return Element;
}(NodeWithChildren));
}(NodeWithChildren));
exports.Element = Element;
exports.Element = Element;
/**
/**
* @param node Node to check.
* @param node Node to check.
* @returns `true` if the node is a `Element`, `false` otherwise.
* @returns `true` if the node is a `Element`, `false` otherwise.
*/
*/
function isTag(node) {
function isTag(node) {
return (0, domelementtype_1.isTag)(node);
return (0, domelementtype_1.isTag)(node);
}
}
exports.isTag = isTag;
exports.isTag = isTag;
/**
/**
* @param node Node to check.
* @param node Node to check.
* @returns `true` if the node has the type `CDATA`, `false` otherwise.
* @returns `true` if the node has the type `CDATA`, `false` otherwise.
*/
*/
function isCDATA(node) {
function isCDATA(node) {
return node.type === domelementtype_1.ElementType.CDATA;
return node.type === domelementtype_1.ElementType.CDATA;
}
}
exports.isCDATA = isCDATA;
exports.isCDATA = isCDATA;
/**
/**
* @param node Node to check.
* @param node Node to check.
* @returns `true` if the node has the type `Text`, `false` otherwise.
* @returns `true` if the node has the type `Text`, `false` otherwise.
*/
*/
function isText(node) {
function isText(node) {
return node.type === domelementtype_1.ElementType.Text;
return node.type === domelementtype_1.ElementType.Text;
}
}
exports.isText = isText;
exports.isText = isText;
/**
/**
* @param node Node to check.
* @param node Node to check.
* @returns `true` if the node has the type `Comment`, `false` otherwise.
* @returns `true` if the node has the type `Comment`, `false` otherwise.
*/
*/
function isComment(node) {
function isComment(node) {
return node.type === domelementtype_1.ElementType.Comment;
return node.type === domelementtype_1.ElementType.Comment;
}
}
exports.isComment = isComment;
exports.isComment = isComment;
/**
/**
* @param node Node to check.
* @param node Node to check.
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
*/
*/
function isDirective(node) {
function isDirective(node) {
return node.type === domelementtype_1.ElementType.Directive;
return node.type === domelementtype_1.ElementType.Directive;
}
}
exports.isDirective = isDirective;
exports.isDirective = isDirective;
/**
/**
* @param node Node to check.
* @param node Node to check.
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
*/
*/
function isDocument(node) {
function isDocument(node) {
return node.type === domelementtype_1.ElementType.Root;
return node.type === domelementtype_1.ElementType.Root;
}
}
exports.isDocument = isDocument;
exports.isDocument = isDocument;
/**
/**
* @param node Node to check.
* @param node Node to check.
* @returns `true` if the node has children, `false` otherwise.
* @returns `true` if the node has children, `false` otherwise.
*/
*/
function hasChildren(node) {
function hasChildren(node) {
return Object.prototype.hasOwnProperty.call(node, "children");
return Object.prototype.hasOwnProperty.call(node, "children");
}
}
exports.hasChildren = hasChildren;
exports.hasChildren = hasChildren;
/**
/**
* Clone a node, and optionally its children.
* Clone a node, and optionally its children.
*
*
* @param recursive Clone child nodes as well.
* @param recursive Clone child nodes as well.
* @returns A clone of the node.
* @returns A clone of the node.
*/
*/
function cloneNode(node, recursive) {
function cloneNode(node, recursive) {
if (recursive === void 0) { recursive = false; }
if (recursive === void 0) { recursive = false; }
var result;
var result;
if (isText(node)) {
if (isText(node)) {
result = new Text(node.data);
result = new Text(node.data);
}
}
else if (isComment(node)) {
else if (isComment(node)) {
result = new Comment(node.data);
result = new Comment(node.data);
}
}
else if (isTag(node)) {
else if (isTag(node)) {
var children = recursive ? cloneChildren(node.children) : [];
var children = recursive ? cloneChildren(node.children) : [];
var clone_1 = new Element(node.name, __assign({}, node.attribs), children);
var clone_1 = new Element(node.name, __assign({}, node.attribs), children);
children.forEach(function (child) { return (child.parent = clone_1); });
children.forEach(function (child) { return (child.parent = clone_1); });
if (node.namespace != null) {
if (node.namespace != null) {
clone_1.namespace = node.namespace;
clone_1.namespace = node.namespace;
}
}
if (node["x-attribsNamespace"]) {
if (node["x-attribsNamespace"]) {
clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]);
clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]);
}
}
if (node["x-attribsPrefix"]) {
if (node["x-attribsPrefix"]) {
clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]);
clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]);
}
}
result = clone_1;
result = clone_1;
}
}
else if (isCDATA(node)) {
else if (isCDATA(node)) {
var children = recursive ? cloneChildren(node.children) : [];
var children = recursive ? cloneChildren(node.children) : [];
var clone_2 = new CDATA(children);
var clone_2 = new CDATA(children);
children.forEach(function (child) { return (child.parent = clone_2); });
children.forEach(function (child) { return (child.parent = clone_2); });
result = clone_2;
result = clone_2;
}
}
else if (isDocument(node)) {
else if (isDocument(node)) {
var children = recursive ? cloneChildren(node.children) : [];
var children = recursive ? cloneChildren(node.children) : [];
var clone_3 = new Document(children);
var clone_3 = new Document(children);
children.forEach(function (child) { return (child.parent = clone_3); });
children.forEach(function (child) { return (child.parent = clone_3); });
if (node["x-mode"]) {
if (node["x-mode"]) {
clone_3["x-mode"] = node["x-mode"];
clone_3["x-mode"] = node["x-mode"];
}
}
result = clone_3;
result = clone_3;
}
}
else if (isDirective(node)) {
else if (isDirective(node)) {
var instruction = new ProcessingInstruction(node.name, node.data);
var instruction = new ProcessingInstruction(node.name, node.data);
if (node["x-name"] != null) {
if (node["x-name"] != null) {
instruction["x-name"] = node["x-name"];
instruction["x-name"] = node["x-name"];
instruction["x-publicId"] = node["x-publicId"];
instruction["x-publicId"] = node["x-publicId"];
instruction["x-systemId"] = node["x-systemId"];
instruction["x-systemId"] = node["x-systemId"];
}
}
result = instruction;
result = instruction;
}
}
else {
else {
throw new Error("Not implemented yet: ".concat(node.type));
throw new Error("Not implemented yet: ".concat(node.type));
}
}
result.startIndex = node.startIndex;
result.startIndex = node.startIndex;
result.endIndex = node.endIndex;
result.endIndex = node.endIndex;
if (node.sourceCodeLocation != null) {
if (node.sourceCodeLocation != null) {
result.sourceCodeLocation = node.sourceCodeLocation;
result.sourceCodeLocation = node.sourceCodeLocation;
}
}
return result;
return result;
}
}
exports.cloneNode = cloneNode;
exports.cloneNode = cloneNode;
function cloneChildren(childs) {
function cloneChildren(childs) {
var children = childs.map(function (child) { return cloneNode(child, true); });
var children = childs.map(function (child) { return cloneNode(child, true); });
for (var i = 1; i < children.length; i++) {
for (var i = 1; i < children.length; i++) {
children[i].prev = children[i - 1];
children[i].prev = children[i - 1];
children[i - 1].next = children[i];
children[i - 1].next = children[i];
}
}
return children;
return children;
}
}
Diferencias guardadas
Texto original
Abrir archivo
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0; var domelementtype_1 = require("domelementtype"); /** * This object will be used as the prototype for Nodes when creating a * DOM-Level-1-compliant structure. */ var Node = /** @class */ (function () { function Node() { /** Parent of the node */ this.parent = null; /** Previous sibling */ this.prev = null; /** Next sibling */ this.next = null; /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */ this.startIndex = null; /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */ this.endIndex = null; } Object.defineProperty(Node.prototype, "parentNode", { // Read-write aliases for properties /** * Same as {@link parent}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.parent; }, set: function (parent) { this.parent = parent; }, enumerable: false, configurable: true }); Object.defineProperty(Node.prototype, "previousSibling", { /** * Same as {@link prev}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.prev; }, set: function (prev) { this.prev = prev; }, enumerable: false, configurable: true }); Object.defineProperty(Node.prototype, "nextSibling", { /** * Same as {@link next}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.next; }, set: function (next) { this.next = next; }, enumerable: false, configurable: true }); /** * Clone this node, and optionally its children. * * @param recursive Clone child nodes as well. * @returns A clone of the node. */ Node.prototype.cloneNode = function (recursive) { if (recursive === void 0) { recursive = false; } return cloneNode(this, recursive); }; return Node; }()); exports.Node = Node; /** * A node that contains some data. */ var DataNode = /** @class */ (function (_super) { __extends(DataNode, _super); /** * @param data The content of the data node */ function DataNode(data) { var _this = _super.call(this) || this; _this.data = data; return _this; } Object.defineProperty(DataNode.prototype, "nodeValue", { /** * Same as {@link data}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.data; }, set: function (data) { this.data = data; }, enumerable: false, configurable: true }); return DataNode; }(Node)); exports.DataNode = DataNode; /** * Text within the document. */ var Text = /** @class */ (function (_super) { __extends(Text, _super); function Text() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.Text; return _this; } Object.defineProperty(Text.prototype, "nodeType", { get: function () { return 3; }, enumerable: false, configurable: true }); return Text; }(DataNode)); exports.Text = Text; /** * Comments within the document. */ var Comment = /** @class */ (function (_super) { __extends(Comment, _super); function Comment() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.Comment; return _this; } Object.defineProperty(Comment.prototype, "nodeType", { get: function () { return 8; }, enumerable: false, configurable: true }); return Comment; }(DataNode)); exports.Comment = Comment; /** * Processing instructions, including doc types. */ var ProcessingInstruction = /** @class */ (function (_super) { __extends(ProcessingInstruction, _super); function ProcessingInstruction(name, data) { var _this = _super.call(this, data) || this; _this.name = name; _this.type = domelementtype_1.ElementType.Directive; return _this; } Object.defineProperty(ProcessingInstruction.prototype, "nodeType", { get: function () { return 1; }, enumerable: false, configurable: true }); return ProcessingInstruction; }(DataNode)); exports.ProcessingInstruction = ProcessingInstruction; /** * A `Node` that can have children. */ var NodeWithChildren = /** @class */ (function (_super) { __extends(NodeWithChildren, _super); /** * @param children Children of the node. Only certain node types can have children. */ function NodeWithChildren(children) { var _this = _super.call(this) || this; _this.children = children; return _this; } Object.defineProperty(NodeWithChildren.prototype, "firstChild", { // Aliases /** First child of the node. */ get: function () { var _a; return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null; }, enumerable: false, configurable: true }); Object.defineProperty(NodeWithChildren.prototype, "lastChild", { /** Last child of the node. */ get: function () { return this.children.length > 0 ? this.children[this.children.length - 1] : null; }, enumerable: false, configurable: true }); Object.defineProperty(NodeWithChildren.prototype, "childNodes", { /** * Same as {@link children}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.children; }, set: function (children) { this.children = children; }, enumerable: false, configurable: true }); return NodeWithChildren; }(Node)); exports.NodeWithChildren = NodeWithChildren; var CDATA = /** @class */ (function (_super) { __extends(CDATA, _super); function CDATA() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.CDATA; return _this; } Object.defineProperty(CDATA.prototype, "nodeType", { get: function () { return 4; }, enumerable: false, configurable: true }); return CDATA; }(NodeWithChildren)); exports.CDATA = CDATA; /** * The root node of the document. */ var Document = /** @class */ (function (_super) { __extends(Document, _super); function Document() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.Root; return _this; } Object.defineProperty(Document.prototype, "nodeType", { get: function () { return 9; }, enumerable: false, configurable: true }); return Document; }(NodeWithChildren)); exports.Document = Document; /** * An element within the DOM. */ var Element = /** @class */ (function (_super) { __extends(Element, _super); /** * @param name Name of the tag, eg. `div`, `span`. * @param attribs Object mapping attribute names to attribute values. * @param children Children of the node. */ function Element(name, attribs, children, type) { if (children === void 0) { children = []; } if (type === void 0) { type = name === "script" ? domelementtype_1.ElementType.Script : name === "style" ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag; } var _this = _super.call(this, children) || this; _this.name = name; _this.attribs = attribs; _this.type = type; return _this; } Object.defineProperty(Element.prototype, "nodeType", { get: function () { return 1; }, enumerable: false, configurable: true }); Object.defineProperty(Element.prototype, "tagName", { // DOM Level 1 aliases /** * Same as {@link name}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.name; }, set: function (name) { this.name = name; }, enumerable: false, configurable: true }); Object.defineProperty(Element.prototype, "attributes", { get: function () { var _this = this; return Object.keys(this.attribs).map(function (name) { var _a, _b; return ({ name: name, value: _this.attribs[name], namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name], prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name], }); }); }, enumerable: false, configurable: true }); return Element; }(NodeWithChildren)); exports.Element = Element; /** * @param node Node to check. * @returns `true` if the node is a `Element`, `false` otherwise. */ function isTag(node) { return (0, domelementtype_1.isTag)(node); } exports.isTag = isTag; /** * @param node Node to check. * @returns `true` if the node has the type `CDATA`, `false` otherwise. */ function isCDATA(node) { return node.type === domelementtype_1.ElementType.CDATA; } exports.isCDATA = isCDATA; /** * @param node Node to check. * @returns `true` if the node has the type `Text`, `false` otherwise. */ function isText(node) { return node.type === domelementtype_1.ElementType.Text; } exports.isText = isText; /** * @param node Node to check. * @returns `true` if the node has the type `Comment`, `false` otherwise. */ function isComment(node) { return node.type === domelementtype_1.ElementType.Comment; } exports.isComment = isComment; /** * @param node Node to check. * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise. */ function isDirective(node) { return node.type === domelementtype_1.ElementType.Directive; } exports.isDirective = isDirective; /** * @param node Node to check. * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise. */ function isDocument(node) { return node.type === domelementtype_1.ElementType.Root; } exports.isDocument = isDocument; /** * @param node Node to check. * @returns `true` if the node has children, `false` otherwise. */ function hasChildren(node) { return Object.prototype.hasOwnProperty.call(node, "children"); } exports.hasChildren = hasChildren; /** * Clone a node, and optionally its children. * * @param recursive Clone child nodes as well. * @returns A clone of the node. */ function cloneNode(node, recursive) { if (recursive === void 0) { recursive = false; } var result; if (isText(node)) { result = new Text(node.data); } else if (isComment(node)) { result = new Comment(node.data); } else if (isTag(node)) { var children = recursive ? cloneChildren(node.children) : []; var clone_1 = new Element(node.name, __assign({}, node.attribs), children); children.forEach(function (child) { return (child.parent = clone_1); }); if (node.namespace != null) { clone_1.namespace = node.namespace; } if (node["x-attribsNamespace"]) { clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]); } if (node["x-attribsPrefix"]) { clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]); } result = clone_1; } else if (isCDATA(node)) { var children = recursive ? cloneChildren(node.children) : []; var clone_2 = new CDATA(children); children.forEach(function (child) { return (child.parent = clone_2); }); result = clone_2; } else if (isDocument(node)) { var children = recursive ? cloneChildren(node.children) : []; var clone_3 = new Document(children); children.forEach(function (child) { return (child.parent = clone_3); }); if (node["x-mode"]) { clone_3["x-mode"] = node["x-mode"]; } result = clone_3; } else if (isDirective(node)) { var instruction = new ProcessingInstruction(node.name, node.data); if (node["x-name"] != null) { instruction["x-name"] = node["x-name"]; instruction["x-publicId"] = node["x-publicId"]; instruction["x-systemId"] = node["x-systemId"]; } result = instruction; } else { throw new Error("Not implemented yet: ".concat(node.type)); } result.startIndex = node.startIndex; result.endIndex = node.endIndex; if (node.sourceCodeLocation != null) { result.sourceCodeLocation = node.sourceCodeLocation; } return result; } exports.cloneNode = cloneNode; function cloneChildren(childs) { var children = childs.map(function (child) { return cloneNode(child, true); }); for (var i = 1; i < children.length; i++) { children[i].prev = children[i - 1]; children[i - 1].next = children[i]; } return children; }
Texto modificado
Abrir archivo
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0; var domelementtype_1 = require("domelementtype"); /** * This object will be used as the prototype for Nodes when creating a * DOM-Level-1-compliant structure. */ var Node = /** @class */ (function () { function Node() { /** Parent of the node */ this.parent = null; /** Previous sibling */ this.prev = null; /** Next sibling */ this.next = null; /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */ this.startIndex = null; /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */ this.endIndex = null; } Object.defineProperty(Node.prototype, "parentNode", { // Read-write aliases for properties /** * Same as {@link parent}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.parent; }, set: function (parent) { this.parent = parent; }, enumerable: false, configurable: true }); Object.defineProperty(Node.prototype, "previousSibling", { /** * Same as {@link prev}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.prev; }, set: function (prev) { this.prev = prev; }, enumerable: false, configurable: true }); Object.defineProperty(Node.prototype, "nextSibling", { /** * Same as {@link next}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.next; }, set: function (next) { this.next = next; }, enumerable: false, configurable: true }); /** * Clone this node, and optionally its children. * * @param recursive Clone child nodes as well. * @returns A clone of the node. */ Node.prototype.cloneNode = function (recursive) { if (recursive === void 0) { recursive = false; } return cloneNode(this, recursive); }; return Node; }()); exports.Node = Node; /** * A node that contains some data. */ var DataNode = /** @class */ (function (_super) { __extends(DataNode, _super); /** * @param data The content of the data node */ function DataNode(data) { var _this = _super.call(this) || this; _this.data = data; return _this; } Object.defineProperty(DataNode.prototype, "nodeValue", { /** * Same as {@link data}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.data; }, set: function (data) { this.data = data; }, enumerable: false, configurable: true }); return DataNode; }(Node)); exports.DataNode = DataNode; /** * Text within the document. */ var Text = /** @class */ (function (_super) { __extends(Text, _super); function Text() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.Text; return _this; } Object.defineProperty(Text.prototype, "nodeType", { get: function () { return 3; }, enumerable: false, configurable: true }); return Text; }(DataNode)); exports.Text = Text; /** * Comments within the document. */ var Comment = /** @class */ (function (_super) { __extends(Comment, _super); function Comment() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.Comment; return _this; } Object.defineProperty(Comment.prototype, "nodeType", { get: function () { return 8; }, enumerable: false, configurable: true }); return Comment; }(DataNode)); exports.Comment = Comment; /** * Processing instructions, including doc types. */ var ProcessingInstruction = /** @class */ (function (_super) { __extends(ProcessingInstruction, _super); function ProcessingInstruction(name, data) { var _this = _super.call(this, data) || this; _this.name = name; _this.type = domelementtype_1.ElementType.Directive; return _this; } Object.defineProperty(ProcessingInstruction.prototype, "nodeType", { get: function () { return 1; }, enumerable: false, configurable: true }); return ProcessingInstruction; }(DataNode)); exports.ProcessingInstruction = ProcessingInstruction; /** * A `Node` that can have children. */ var NodeWithChildren = /** @class */ (function (_super) { __extends(NodeWithChildren, _super); /** * @param children Children of the node. Only certain node types can have children. */ function NodeWithChildren(children) { var _this = _super.call(this) || this; _this.children = children; return _this; } Object.defineProperty(NodeWithChildren.prototype, "firstChild", { // Aliases /** First child of the node. */ get: function () { var _a; return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null; }, enumerable: false, configurable: true }); Object.defineProperty(NodeWithChildren.prototype, "lastChild", { /** Last child of the node. */ get: function () { return this.children.length > 0 ? this.children[this.children.length - 1] : null; }, enumerable: false, configurable: true }); Object.defineProperty(NodeWithChildren.prototype, "childNodes", { /** * Same as {@link children}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.children; }, set: function (children) { this.children = children; }, enumerable: false, configurable: true }); return NodeWithChildren; }(Node)); exports.NodeWithChildren = NodeWithChildren; var CDATA = /** @class */ (function (_super) { __extends(CDATA, _super); function CDATA() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.CDATA; return _this; } Object.defineProperty(CDATA.prototype, "nodeType", { get: function () { return 4; }, enumerable: false, configurable: true }); return CDATA; }(NodeWithChildren)); exports.CDATA = CDATA; /** * The root node of the document. */ var Document = /** @class */ (function (_super) { __extends(Document, _super); function Document() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = domelementtype_1.ElementType.Root; return _this; } Object.defineProperty(Document.prototype, "nodeType", { get: function () { return 9; }, enumerable: false, configurable: true }); return Document; }(NodeWithChildren)); exports.Document = Document; /** * An element within the DOM. */ var Element = /** @class */ (function (_super) { __extends(Element, _super); /** * @param name Name of the tag, eg. `div`, `span`. * @param attribs Object mapping attribute names to attribute values. * @param children Children of the node. */ function Element(name, attribs, children, type) { if (children === void 0) { children = []; } if (type === void 0) { type = name === "script" ? domelementtype_1.ElementType.Script : name === "style" ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag; } var _this = _super.call(this, children) || this; _this.name = name; _this.attribs = attribs; _this.type = type; return _this; } Object.defineProperty(Element.prototype, "nodeType", { get: function () { return 1; }, enumerable: false, configurable: true }); Object.defineProperty(Element.prototype, "tagName", { // DOM Level 1 aliases /** * Same as {@link name}. * [DOM spec](https://dom.spec.whatwg.org)-compatible alias. */ get: function () { return this.name; }, set: function (name) { this.name = name; }, enumerable: false, configurable: true }); Object.defineProperty(Element.prototype, "attributes", { get: function () { var _this = this; return Object.keys(this.attribs).map(function (name) { var _a, _b; return ({ name: name, value: _this.attribs[name], namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name], prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name], }); }); }, enumerable: false, configurable: true }); return Element; }(NodeWithChildren)); exports.Element = Element; /** * @param node Node to check. * @returns `true` if the node is a `Element`, `false` otherwise. */ function isTag(node) { return (0, domelementtype_1.isTag)(node); } exports.isTag = isTag; /** * @param node Node to check. * @returns `true` if the node has the type `CDATA`, `false` otherwise. */ function isCDATA(node) { return node.type === domelementtype_1.ElementType.CDATA; } exports.isCDATA = isCDATA; /** * @param node Node to check. * @returns `true` if the node has the type `Text`, `false` otherwise. */ function isText(node) { return node.type === domelementtype_1.ElementType.Text; } exports.isText = isText; /** * @param node Node to check. * @returns `true` if the node has the type `Comment`, `false` otherwise. */ function isComment(node) { return node.type === domelementtype_1.ElementType.Comment; } exports.isComment = isComment; /** * @param node Node to check. * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise. */ function isDirective(node) { return node.type === domelementtype_1.ElementType.Directive; } exports.isDirective = isDirective; /** * @param node Node to check. * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise. */ function isDocument(node) { return node.type === domelementtype_1.ElementType.Root; } exports.isDocument = isDocument; /** * @param node Node to check. * @returns `true` if the node has children, `false` otherwise. */ function hasChildren(node) { return Object.prototype.hasOwnProperty.call(node, "children"); } exports.hasChildren = hasChildren; /** * Clone a node, and optionally its children. * * @param recursive Clone child nodes as well. * @returns A clone of the node. */ function cloneNode(node, recursive) { if (recursive === void 0) { recursive = false; } var result; if (isText(node)) { result = new Text(node.data); } else if (isComment(node)) { result = new Comment(node.data); } else if (isTag(node)) { var children = recursive ? cloneChildren(node.children) : []; var clone_1 = new Element(node.name, __assign({}, node.attribs), children); children.forEach(function (child) { return (child.parent = clone_1); }); if (node.namespace != null) { clone_1.namespace = node.namespace; } if (node["x-attribsNamespace"]) { clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]); } if (node["x-attribsPrefix"]) { clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]); } result = clone_1; } else if (isCDATA(node)) { var children = recursive ? cloneChildren(node.children) : []; var clone_2 = new CDATA(children); children.forEach(function (child) { return (child.parent = clone_2); }); result = clone_2; } else if (isDocument(node)) { var children = recursive ? cloneChildren(node.children) : []; var clone_3 = new Document(children); children.forEach(function (child) { return (child.parent = clone_3); }); if (node["x-mode"]) { clone_3["x-mode"] = node["x-mode"]; } result = clone_3; } else if (isDirective(node)) { var instruction = new ProcessingInstruction(node.name, node.data); if (node["x-name"] != null) { instruction["x-name"] = node["x-name"]; instruction["x-publicId"] = node["x-publicId"]; instruction["x-systemId"] = node["x-systemId"]; } result = instruction; } else { throw new Error("Not implemented yet: ".concat(node.type)); } result.startIndex = node.startIndex; result.endIndex = node.endIndex; if (node.sourceCodeLocation != null) { result.sourceCodeLocation = node.sourceCodeLocation; } return result; } exports.cloneNode = cloneNode; function cloneChildren(childs) { var children = childs.map(function (child) { return cloneNode(child, true); }); for (var i = 1; i < children.length; i++) { children[i].prev = children[i - 1]; children[i - 1].next = children[i]; } return children; }
Encontrar la diferencia