happy-dom 10.10.3 → 10.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/cjs/css/declaration/property-manager/CSSStyleDeclarationValueParser.cjs +1 -1
- package/cjs/css/declaration/property-manager/CSSStyleDeclarationValueParser.cjs.map +1 -1
- package/cjs/dom-parser/DOMParser.cjs +5 -5
- package/cjs/dom-parser/DOMParser.cjs.map +1 -1
- package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
- package/cjs/nodes/child-node/ChildNodeUtility.cjs +3 -3
- package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
- package/cjs/nodes/child-node/ChildNodeUtility.d.ts.map +1 -1
- package/cjs/nodes/document/Document.cjs +24 -18
- package/cjs/nodes/document/Document.cjs.map +1 -1
- package/cjs/nodes/document/Document.d.ts +5 -1
- package/cjs/nodes/document/Document.d.ts.map +1 -1
- package/cjs/nodes/document-fragment/DocumentFragment.cjs +14 -8
- package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
- package/cjs/nodes/document-fragment/DocumentFragment.d.ts +5 -1
- package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
- package/cjs/nodes/element/Element.cjs +17 -11
- package/cjs/nodes/element/Element.cjs.map +1 -1
- package/cjs/nodes/element/Element.d.ts +5 -1
- package/cjs/nodes/element/Element.d.ts.map +1 -1
- package/cjs/nodes/element/ElementNamedNodeMap.cjs +5 -5
- package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/element/ElementUtility.cjs +37 -28
- package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
- package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElement.cjs +2 -2
- package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
- package/cjs/nodes/html-slot-element/HTMLSlotElement.cjs +3 -3
- package/cjs/nodes/html-slot-element/HTMLSlotElement.cjs.map +1 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +2 -2
- package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +11 -11
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
- package/cjs/nodes/node/Node.cjs +29 -21
- package/cjs/nodes/node/Node.cjs.map +1 -1
- package/cjs/nodes/node/Node.d.ts +7 -1
- package/cjs/nodes/node/Node.d.ts.map +1 -1
- package/cjs/nodes/node/NodeUtility.cjs +17 -17
- package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
- package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
- package/cjs/nodes/parent-node/ParentNodeUtility.cjs +7 -7
- package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
- package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
- package/cjs/nodes/shadow-root/ShadowRoot.cjs +2 -2
- package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
- package/cjs/query-selector/QuerySelector.cjs +10 -8
- package/cjs/query-selector/QuerySelector.cjs.map +1 -1
- package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
- package/cjs/query-selector/SelectorItem.cjs +15 -14
- package/cjs/query-selector/SelectorItem.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
- package/cjs/range/Range.cjs +12 -12
- package/cjs/range/Range.cjs.map +1 -1
- package/cjs/range/Range.d.ts.map +1 -1
- package/cjs/range/RangeUtility.cjs +1 -1
- package/cjs/range/RangeUtility.cjs.map +1 -1
- package/cjs/range/RangeUtility.d.ts.map +1 -1
- package/cjs/tree-walker/TreeWalker.cjs +4 -4
- package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
- package/cjs/xml-serializer/XMLSerializer.cjs +4 -4
- package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
- package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
- package/lib/css/declaration/property-manager/CSSStyleDeclarationValueParser.js +1 -1
- package/lib/css/declaration/property-manager/CSSStyleDeclarationValueParser.js.map +1 -1
- package/lib/dom-parser/DOMParser.d.ts.map +1 -1
- package/lib/dom-parser/DOMParser.js +5 -5
- package/lib/dom-parser/DOMParser.js.map +1 -1
- package/lib/nodes/child-node/ChildNodeUtility.d.ts.map +1 -1
- package/lib/nodes/child-node/ChildNodeUtility.js +3 -3
- package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +5 -1
- package/lib/nodes/document/Document.d.ts.map +1 -1
- package/lib/nodes/document/Document.js +24 -18
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts +5 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.js +14 -8
- package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +5 -1
- package/lib/nodes/element/Element.d.ts.map +1 -1
- package/lib/nodes/element/Element.js +17 -11
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/ElementNamedNodeMap.js +5 -5
- package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
- package/lib/nodes/element/ElementUtility.js +37 -28
- package/lib/nodes/element/ElementUtility.js.map +1 -1
- package/lib/nodes/html-element/HTMLElement.js +2 -2
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-slot-element/HTMLSlotElement.js +3 -3
- package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.js +2 -2
- package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +11 -11
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
- package/lib/nodes/node/Node.d.ts +7 -1
- package/lib/nodes/node/Node.d.ts.map +1 -1
- package/lib/nodes/node/Node.js +29 -21
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
- package/lib/nodes/node/NodeUtility.js +17 -17
- package/lib/nodes/node/NodeUtility.js.map +1 -1
- package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
- package/lib/nodes/parent-node/ParentNodeUtility.js +7 -7
- package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.js +2 -2
- package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
- package/lib/query-selector/QuerySelector.d.ts.map +1 -1
- package/lib/query-selector/QuerySelector.js +10 -8
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.js +15 -14
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/range/Range.d.ts.map +1 -1
- package/lib/range/Range.js +12 -12
- package/lib/range/Range.js.map +1 -1
- package/lib/range/RangeUtility.d.ts.map +1 -1
- package/lib/range/RangeUtility.js +1 -1
- package/lib/range/RangeUtility.js.map +1 -1
- package/lib/tree-walker/TreeWalker.js +4 -4
- package/lib/tree-walker/TreeWalker.js.map +1 -1
- package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
- package/lib/xml-serializer/XMLSerializer.js +4 -4
- package/lib/xml-serializer/XMLSerializer.js.map +1 -1
- package/package.json +1 -1
- package/src/css/declaration/property-manager/CSSStyleDeclarationValueParser.ts +1 -1
- package/src/dom-parser/DOMParser.ts +9 -7
- package/src/nodes/child-node/ChildNodeUtility.ts +10 -12
- package/src/nodes/document/Document.ts +29 -22
- package/src/nodes/document-fragment/DocumentFragment.ts +16 -9
- package/src/nodes/element/Element.ts +23 -12
- package/src/nodes/element/ElementNamedNodeMap.ts +5 -5
- package/src/nodes/element/ElementUtility.ts +44 -43
- package/src/nodes/html-element/HTMLElement.ts +2 -2
- package/src/nodes/html-slot-element/HTMLSlotElement.ts +3 -3
- package/src/nodes/html-template-element/HTMLTemplateElement.ts +3 -2
- package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +11 -11
- package/src/nodes/node/Node.ts +30 -21
- package/src/nodes/node/NodeUtility.ts +21 -17
- package/src/nodes/parent-node/ParentNodeUtility.ts +10 -10
- package/src/nodes/shadow-root/ShadowRoot.ts +2 -2
- package/src/query-selector/QuerySelector.ts +24 -8
- package/src/query-selector/SelectorItem.ts +15 -14
- package/src/range/Range.ts +13 -12
- package/src/range/RangeUtility.ts +2 -1
- package/src/tree-walker/TreeWalker.ts +4 -4
- package/src/xml-serializer/XMLSerializer.ts +6 -4
package/src/range/Range.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import INode from '../nodes/node/INode.js';
|
2
|
+
import Node from '../nodes/node/Node.js';
|
2
3
|
import IDocument from '../nodes/document/IDocument.js';
|
3
4
|
import IDocumentFragment from '../nodes/document-fragment/IDocumentFragment.js';
|
4
5
|
import DOMRect from '../nodes/element/DOMRect.js';
|
@@ -309,7 +310,7 @@ export default class Range {
|
|
309
310
|
|
310
311
|
const containedChildren = [];
|
311
312
|
|
312
|
-
for (const node of commonAncestor.
|
313
|
+
for (const node of (<Node>commonAncestor)._childNodes) {
|
313
314
|
if (RangeUtility.isContained(node, this)) {
|
314
315
|
if (node.nodeType === NodeTypeEnum.documentTypeNode) {
|
315
316
|
throw new DOMException(
|
@@ -462,7 +463,7 @@ export default class Range {
|
|
462
463
|
}
|
463
464
|
|
464
465
|
newNode = referenceNode.parentNode;
|
465
|
-
newOffset = referenceNode.parentNode.
|
466
|
+
newOffset = (<Node>referenceNode.parentNode)._childNodes.indexOf(referenceNode) + 1;
|
466
467
|
}
|
467
468
|
|
468
469
|
if (
|
@@ -567,7 +568,7 @@ export default class Range {
|
|
567
568
|
|
568
569
|
const containedChildren = [];
|
569
570
|
|
570
|
-
for (const node of commonAncestor.
|
571
|
+
for (const node of (<Node>commonAncestor)._childNodes) {
|
571
572
|
if (RangeUtility.isContained(node, this)) {
|
572
573
|
if (node.nodeType === NodeTypeEnum.documentTypeNode) {
|
573
574
|
throw new DOMException(
|
@@ -595,7 +596,7 @@ export default class Range {
|
|
595
596
|
}
|
596
597
|
|
597
598
|
newNode = referenceNode.parentNode;
|
598
|
-
newOffset = referenceNode.parentNode.
|
599
|
+
newOffset = (<Node>referenceNode.parentNode)._childNodes.indexOf(referenceNode) + 1;
|
599
600
|
}
|
600
601
|
|
601
602
|
if (
|
@@ -741,7 +742,7 @@ export default class Range {
|
|
741
742
|
let referenceNode =
|
742
743
|
this._start.node.nodeType === NodeTypeEnum.textNode
|
743
744
|
? this._start.node
|
744
|
-
: this._start.node.
|
745
|
+
: (<Node>this._start.node)._childNodes[this.startOffset] || null;
|
745
746
|
const parent = !referenceNode ? this._start.node : referenceNode.parentNode;
|
746
747
|
|
747
748
|
if (this._start.node.nodeType === NodeTypeEnum.textNode) {
|
@@ -759,7 +760,7 @@ export default class Range {
|
|
759
760
|
|
760
761
|
let newOffset = !referenceNode
|
761
762
|
? NodeUtility.getNodeLength(parent)
|
762
|
-
: referenceNode.parentNode.
|
763
|
+
: (<Node>referenceNode.parentNode)._childNodes.indexOf(referenceNode);
|
763
764
|
newOffset +=
|
764
765
|
newNode.nodeType === NodeTypeEnum.documentFragmentNode
|
765
766
|
? NodeUtility.getNodeLength(newNode)
|
@@ -791,7 +792,7 @@ export default class Range {
|
|
791
792
|
return true;
|
792
793
|
}
|
793
794
|
|
794
|
-
const offset = parent.
|
795
|
+
const offset = (<Node>parent)._childNodes.indexOf(node);
|
795
796
|
|
796
797
|
return (
|
797
798
|
RangeUtility.compareBoundaryPointsPosition(
|
@@ -819,7 +820,7 @@ export default class Range {
|
|
819
820
|
);
|
820
821
|
}
|
821
822
|
|
822
|
-
const index = node.parentNode.
|
823
|
+
const index = (<Node>node.parentNode)._childNodes.indexOf(node);
|
823
824
|
|
824
825
|
this._start.node = node.parentNode;
|
825
826
|
this._start.offset = index;
|
@@ -914,7 +915,7 @@ export default class Range {
|
|
914
915
|
DOMExceptionNameEnum.invalidNodeTypeError
|
915
916
|
);
|
916
917
|
}
|
917
|
-
this.setEnd(node.parentNode, node.parentNode.
|
918
|
+
this.setEnd(node.parentNode, (<Node>node.parentNode)._childNodes.indexOf(node) + 1);
|
918
919
|
}
|
919
920
|
|
920
921
|
/**
|
@@ -930,7 +931,7 @@ export default class Range {
|
|
930
931
|
DOMExceptionNameEnum.invalidNodeTypeError
|
931
932
|
);
|
932
933
|
}
|
933
|
-
this.setEnd(node.parentNode, node.parentNode.
|
934
|
+
this.setEnd(node.parentNode, (<Node>node.parentNode)._childNodes.indexOf(node));
|
934
935
|
}
|
935
936
|
|
936
937
|
/**
|
@@ -946,7 +947,7 @@ export default class Range {
|
|
946
947
|
DOMExceptionNameEnum.invalidNodeTypeError
|
947
948
|
);
|
948
949
|
}
|
949
|
-
this.setStart(node.parentNode, node.parentNode.
|
950
|
+
this.setStart(node.parentNode, (<Node>node.parentNode)._childNodes.indexOf(node) + 1);
|
950
951
|
}
|
951
952
|
|
952
953
|
/**
|
@@ -962,7 +963,7 @@ export default class Range {
|
|
962
963
|
DOMExceptionNameEnum.invalidNodeTypeError
|
963
964
|
);
|
964
965
|
}
|
965
|
-
this.setStart(node.parentNode, node.parentNode.
|
966
|
+
this.setStart(node.parentNode, (<Node>node.parentNode)._childNodes.indexOf(node));
|
966
967
|
}
|
967
968
|
|
968
969
|
/**
|
@@ -2,6 +2,7 @@ import DOMException from '../exception/DOMException.js';
|
|
2
2
|
import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
|
3
3
|
import NodeTypeEnum from '../nodes/node/NodeTypeEnum.js';
|
4
4
|
import INode from '../nodes/node/INode.js';
|
5
|
+
import Node from '../nodes/node/Node.js';
|
5
6
|
import NodeUtility from '../nodes/node/NodeUtility.js';
|
6
7
|
import Range from './Range.js';
|
7
8
|
import IRangeBoundaryPoint from './IRangeBoundaryPoint.js';
|
@@ -49,7 +50,7 @@ export default class RangeUtility {
|
|
49
50
|
child = child.parentNode;
|
50
51
|
}
|
51
52
|
|
52
|
-
if (child.parentNode.
|
53
|
+
if ((<Node>child.parentNode)._childNodes.indexOf(child) < pointA.offset) {
|
53
54
|
return 1;
|
54
55
|
}
|
55
56
|
}
|
@@ -83,7 +83,7 @@ export default class TreeWalker {
|
|
83
83
|
* @returns Current node.
|
84
84
|
*/
|
85
85
|
public firstChild(): INode {
|
86
|
-
const childNodes = this.currentNode ? this.currentNode.
|
86
|
+
const childNodes = this.currentNode ? (<Node>this.currentNode)._childNodes : [];
|
87
87
|
|
88
88
|
if (childNodes.length > 0) {
|
89
89
|
this.currentNode = childNodes[0];
|
@@ -104,7 +104,7 @@ export default class TreeWalker {
|
|
104
104
|
* @returns Current node.
|
105
105
|
*/
|
106
106
|
public lastChild(): INode {
|
107
|
-
const childNodes = this.currentNode ? this.currentNode.
|
107
|
+
const childNodes = this.currentNode ? (<Node>this.currentNode)._childNodes : [];
|
108
108
|
|
109
109
|
if (childNodes.length > 0) {
|
110
110
|
this.currentNode = childNodes[childNodes.length - 1];
|
@@ -126,7 +126,7 @@ export default class TreeWalker {
|
|
126
126
|
*/
|
127
127
|
public previousSibling(): INode {
|
128
128
|
if (this.currentNode !== this.root && this.currentNode && this.currentNode.parentNode) {
|
129
|
-
const siblings = this.currentNode.parentNode.
|
129
|
+
const siblings = (<Node>this.currentNode.parentNode)._childNodes;
|
130
130
|
const index = siblings.indexOf(this.currentNode);
|
131
131
|
|
132
132
|
if (index > 0) {
|
@@ -150,7 +150,7 @@ export default class TreeWalker {
|
|
150
150
|
*/
|
151
151
|
public nextSibling(): INode {
|
152
152
|
if (this.currentNode !== this.root && this.currentNode && this.currentNode.parentNode) {
|
153
|
-
const siblings = this.currentNode.parentNode.
|
153
|
+
const siblings = (<Node>this.currentNode.parentNode)._childNodes;
|
154
154
|
const index = siblings.indexOf(this.currentNode);
|
155
155
|
|
156
156
|
if (index + 1 < siblings.length) {
|
@@ -8,6 +8,8 @@ import IHTMLTemplateElement from '../nodes/html-template-element/IHTMLTemplateEl
|
|
8
8
|
import NodeTypeEnum from '../nodes/node/NodeTypeEnum.js';
|
9
9
|
import IProcessingInstruction from '../nodes/processing-instruction/IProcessingInstruction.js';
|
10
10
|
import * as Entities from 'entities';
|
11
|
+
import DocumentFragment from '../nodes/document-fragment/DocumentFragment.js';
|
12
|
+
import ShadowRoot from '../nodes/shadow-root/ShadowRoot.js';
|
11
13
|
|
12
14
|
/**
|
13
15
|
* Utility for converting an element to string.
|
@@ -55,8 +57,8 @@ export default class XMLSerializer {
|
|
55
57
|
|
56
58
|
const childNodes =
|
57
59
|
tagName === 'template'
|
58
|
-
? (<IHTMLTemplateElement>root).content.
|
59
|
-
: root.
|
60
|
+
? (<DocumentFragment>(<IHTMLTemplateElement>root).content)._childNodes
|
61
|
+
: (<DocumentFragment>root)._childNodes;
|
60
62
|
let innerHTML = '';
|
61
63
|
|
62
64
|
for (const node of childNodes) {
|
@@ -66,7 +68,7 @@ export default class XMLSerializer {
|
|
66
68
|
if (this._options.includeShadowRoots && element.shadowRoot) {
|
67
69
|
innerHTML += `<template shadowrootmode="${element.shadowRoot.mode}">`;
|
68
70
|
|
69
|
-
for (const node of element.shadowRoot.
|
71
|
+
for (const node of (<ShadowRoot>element.shadowRoot)._childNodes) {
|
70
72
|
innerHTML += this.serializeToString(node);
|
71
73
|
}
|
72
74
|
|
@@ -77,7 +79,7 @@ export default class XMLSerializer {
|
|
77
79
|
case Node.DOCUMENT_FRAGMENT_NODE:
|
78
80
|
case Node.DOCUMENT_NODE:
|
79
81
|
let html = '';
|
80
|
-
for (const node of root.
|
82
|
+
for (const node of (<Node>root)._childNodes) {
|
81
83
|
html += this.serializeToString(node);
|
82
84
|
}
|
83
85
|
return html;
|