Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
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
作成日
4 年前
差分は期限切れになりません
クリア
エクスポート
共有
2つのテキストは同一です
これら2つのテキストの間に違いはありません
0 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
475 行
すべてコピー
0 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
475 行
すべてコピー
"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;
}
}
保存された差分
原文
ファイルを開く
"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; }
変更されたテキスト
ファイルを開く
"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; }
違いを見つける