happy-dom 10.10.4 → 10.11.1

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