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.

Files changed (149) hide show
  1. package/cjs/css/declaration/property-manager/CSSStyleDeclarationValueParser.cjs +1 -1
  2. package/cjs/css/declaration/property-manager/CSSStyleDeclarationValueParser.cjs.map +1 -1
  3. package/cjs/dom-parser/DOMParser.cjs +5 -5
  4. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  5. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  6. package/cjs/nodes/child-node/ChildNodeUtility.cjs +3 -3
  7. package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
  8. package/cjs/nodes/child-node/ChildNodeUtility.d.ts.map +1 -1
  9. package/cjs/nodes/document/Document.cjs +24 -18
  10. package/cjs/nodes/document/Document.cjs.map +1 -1
  11. package/cjs/nodes/document/Document.d.ts +5 -1
  12. package/cjs/nodes/document/Document.d.ts.map +1 -1
  13. package/cjs/nodes/document-fragment/DocumentFragment.cjs +14 -8
  14. package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
  15. package/cjs/nodes/document-fragment/DocumentFragment.d.ts +5 -1
  16. package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  17. package/cjs/nodes/element/Element.cjs +17 -11
  18. package/cjs/nodes/element/Element.cjs.map +1 -1
  19. package/cjs/nodes/element/Element.d.ts +5 -1
  20. package/cjs/nodes/element/Element.d.ts.map +1 -1
  21. package/cjs/nodes/element/ElementNamedNodeMap.cjs +5 -5
  22. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
  23. package/cjs/nodes/element/ElementUtility.cjs +37 -28
  24. package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
  25. package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
  26. package/cjs/nodes/html-element/HTMLElement.cjs +2 -2
  27. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  28. package/cjs/nodes/html-slot-element/HTMLSlotElement.cjs +3 -3
  29. package/cjs/nodes/html-slot-element/HTMLSlotElement.cjs.map +1 -1
  30. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +2 -2
  31. package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
  32. package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  33. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +11 -11
  34. package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
  35. package/cjs/nodes/node/Node.cjs +29 -21
  36. package/cjs/nodes/node/Node.cjs.map +1 -1
  37. package/cjs/nodes/node/Node.d.ts +7 -1
  38. package/cjs/nodes/node/Node.d.ts.map +1 -1
  39. package/cjs/nodes/node/NodeUtility.cjs +17 -17
  40. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  41. package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
  42. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +7 -7
  43. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  44. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  45. package/cjs/nodes/shadow-root/ShadowRoot.cjs +2 -2
  46. package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
  47. package/cjs/query-selector/QuerySelector.cjs +10 -8
  48. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  49. package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
  50. package/cjs/query-selector/SelectorItem.cjs +15 -14
  51. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  52. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  53. package/cjs/range/Range.cjs +12 -12
  54. package/cjs/range/Range.cjs.map +1 -1
  55. package/cjs/range/Range.d.ts.map +1 -1
  56. package/cjs/range/RangeUtility.cjs +1 -1
  57. package/cjs/range/RangeUtility.cjs.map +1 -1
  58. package/cjs/range/RangeUtility.d.ts.map +1 -1
  59. package/cjs/tree-walker/TreeWalker.cjs +4 -4
  60. package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
  61. package/cjs/xml-serializer/XMLSerializer.cjs +4 -4
  62. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  63. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  64. package/lib/css/declaration/property-manager/CSSStyleDeclarationValueParser.js +1 -1
  65. package/lib/css/declaration/property-manager/CSSStyleDeclarationValueParser.js.map +1 -1
  66. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  67. package/lib/dom-parser/DOMParser.js +5 -5
  68. package/lib/dom-parser/DOMParser.js.map +1 -1
  69. package/lib/nodes/child-node/ChildNodeUtility.d.ts.map +1 -1
  70. package/lib/nodes/child-node/ChildNodeUtility.js +3 -3
  71. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  72. package/lib/nodes/document/Document.d.ts +5 -1
  73. package/lib/nodes/document/Document.d.ts.map +1 -1
  74. package/lib/nodes/document/Document.js +24 -18
  75. package/lib/nodes/document/Document.js.map +1 -1
  76. package/lib/nodes/document-fragment/DocumentFragment.d.ts +5 -1
  77. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  78. package/lib/nodes/document-fragment/DocumentFragment.js +14 -8
  79. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  80. package/lib/nodes/element/Element.d.ts +5 -1
  81. package/lib/nodes/element/Element.d.ts.map +1 -1
  82. package/lib/nodes/element/Element.js +17 -11
  83. package/lib/nodes/element/Element.js.map +1 -1
  84. package/lib/nodes/element/ElementNamedNodeMap.js +5 -5
  85. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
  86. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  87. package/lib/nodes/element/ElementUtility.js +37 -28
  88. package/lib/nodes/element/ElementUtility.js.map +1 -1
  89. package/lib/nodes/html-element/HTMLElement.js +2 -2
  90. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  91. package/lib/nodes/html-slot-element/HTMLSlotElement.js +3 -3
  92. package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
  93. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
  94. package/lib/nodes/html-template-element/HTMLTemplateElement.js +2 -2
  95. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  96. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +11 -11
  97. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
  98. package/lib/nodes/node/Node.d.ts +7 -1
  99. package/lib/nodes/node/Node.d.ts.map +1 -1
  100. package/lib/nodes/node/Node.js +29 -21
  101. package/lib/nodes/node/Node.js.map +1 -1
  102. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  103. package/lib/nodes/node/NodeUtility.js +17 -17
  104. package/lib/nodes/node/NodeUtility.js.map +1 -1
  105. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  106. package/lib/nodes/parent-node/ParentNodeUtility.js +7 -7
  107. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  108. package/lib/nodes/shadow-root/ShadowRoot.js +2 -2
  109. package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
  110. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  111. package/lib/query-selector/QuerySelector.js +10 -8
  112. package/lib/query-selector/QuerySelector.js.map +1 -1
  113. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  114. package/lib/query-selector/SelectorItem.js +15 -14
  115. package/lib/query-selector/SelectorItem.js.map +1 -1
  116. package/lib/range/Range.d.ts.map +1 -1
  117. package/lib/range/Range.js +12 -12
  118. package/lib/range/Range.js.map +1 -1
  119. package/lib/range/RangeUtility.d.ts.map +1 -1
  120. package/lib/range/RangeUtility.js +1 -1
  121. package/lib/range/RangeUtility.js.map +1 -1
  122. package/lib/tree-walker/TreeWalker.js +4 -4
  123. package/lib/tree-walker/TreeWalker.js.map +1 -1
  124. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  125. package/lib/xml-serializer/XMLSerializer.js +4 -4
  126. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  127. package/package.json +1 -1
  128. package/src/css/declaration/property-manager/CSSStyleDeclarationValueParser.ts +1 -1
  129. package/src/dom-parser/DOMParser.ts +9 -7
  130. package/src/nodes/child-node/ChildNodeUtility.ts +10 -12
  131. package/src/nodes/document/Document.ts +29 -22
  132. package/src/nodes/document-fragment/DocumentFragment.ts +16 -9
  133. package/src/nodes/element/Element.ts +23 -12
  134. package/src/nodes/element/ElementNamedNodeMap.ts +5 -5
  135. package/src/nodes/element/ElementUtility.ts +44 -43
  136. package/src/nodes/html-element/HTMLElement.ts +2 -2
  137. package/src/nodes/html-slot-element/HTMLSlotElement.ts +3 -3
  138. package/src/nodes/html-template-element/HTMLTemplateElement.ts +3 -2
  139. package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +11 -11
  140. package/src/nodes/node/Node.ts +30 -21
  141. package/src/nodes/node/NodeUtility.ts +21 -17
  142. package/src/nodes/parent-node/ParentNodeUtility.ts +10 -10
  143. package/src/nodes/shadow-root/ShadowRoot.ts +2 -2
  144. package/src/query-selector/QuerySelector.ts +24 -8
  145. package/src/query-selector/SelectorItem.ts +15 -14
  146. package/src/range/Range.ts +13 -12
  147. package/src/range/RangeUtility.ts +2 -1
  148. package/src/tree-walker/TreeWalker.ts +4 -4
  149. package/src/xml-serializer/XMLSerializer.ts +6 -4
@@ -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.childNodes) {
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.childNodes.indexOf(referenceNode) + 1;
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.childNodes) {
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.childNodes.indexOf(referenceNode) + 1;
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.childNodes[this.startOffset] || null;
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.childNodes.indexOf(referenceNode);
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.childNodes.indexOf(node);
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.childNodes.indexOf(node);
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.childNodes.indexOf(node) + 1);
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.childNodes.indexOf(node));
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.childNodes.indexOf(node) + 1);
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.childNodes.indexOf(node));
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.childNodes.indexOf(child) < pointA.offset) {
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.childNodes : [];
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.childNodes : [];
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.childNodes;
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.childNodes;
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.childNodes
59
- : root.childNodes;
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.childNodes) {
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.childNodes) {
82
+ for (const node of (<Node>root)._childNodes) {
81
83
  html += this.serializeToString(node);
82
84
  }
83
85
  return html;