happy-dom 8.8.0 → 9.0.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 (364) hide show
  1. package/README.md +2 -2
  2. package/lib/cookie/CookieJar.js +1 -1
  3. package/lib/cookie/CookieJar.js.map +1 -1
  4. package/lib/dom-token-list/DOMTokenList.js +24 -20
  5. package/lib/dom-token-list/DOMTokenList.js.map +1 -1
  6. package/lib/event/EventTarget.js +6 -3
  7. package/lib/event/EventTarget.js.map +1 -1
  8. package/lib/exception/DOMExceptionNameEnum.d.ts +5 -1
  9. package/lib/exception/DOMExceptionNameEnum.js +4 -0
  10. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  11. package/lib/fetch/AbortController.d.ts +19 -0
  12. package/lib/fetch/AbortController.js +30 -0
  13. package/lib/fetch/AbortController.js.map +1 -0
  14. package/lib/fetch/AbortSignal.d.ts +25 -0
  15. package/lib/fetch/AbortSignal.js +51 -0
  16. package/lib/fetch/AbortSignal.js.map +1 -0
  17. package/lib/fetch/Fetch.d.ts +117 -0
  18. package/lib/fetch/Fetch.js +530 -0
  19. package/lib/fetch/Fetch.js.map +1 -0
  20. package/lib/fetch/Headers.d.ts +81 -3
  21. package/lib/fetch/Headers.js +139 -24
  22. package/lib/fetch/Headers.js.map +1 -1
  23. package/lib/fetch/Request.d.ts +56 -32
  24. package/lib/fetch/Request.js +165 -110
  25. package/lib/fetch/Request.js.map +1 -1
  26. package/lib/fetch/{ResourceFetchHandler.d.ts → ResourceFetch.d.ts} +1 -1
  27. package/lib/fetch/{ResourceFetchHandler.js → ResourceFetch.js} +5 -5
  28. package/lib/fetch/ResourceFetch.js.map +1 -0
  29. package/lib/fetch/Response.d.ts +60 -26
  30. package/lib/fetch/Response.js +196 -104
  31. package/lib/fetch/Response.js.map +1 -1
  32. package/lib/fetch/data-uri/DataURIParser.d.ts +20 -0
  33. package/lib/fetch/data-uri/DataURIParser.js +60 -0
  34. package/lib/fetch/data-uri/DataURIParser.js.map +1 -0
  35. package/lib/fetch/multipart/MultipartFormDataParser.d.ts +40 -0
  36. package/lib/fetch/multipart/MultipartFormDataParser.js +81 -0
  37. package/lib/fetch/multipart/MultipartFormDataParser.js.map +1 -0
  38. package/lib/fetch/multipart/MultipartReader.d.ts +49 -0
  39. package/lib/fetch/multipart/MultipartReader.js +178 -0
  40. package/lib/fetch/multipart/MultipartReader.js.map +1 -0
  41. package/lib/fetch/types/IHeaders.d.ts +71 -0
  42. package/lib/fetch/{IHeaders.js.map → types/IHeaders.js.map} +1 -1
  43. package/lib/fetch/types/IHeadersInit.js.map +1 -0
  44. package/lib/fetch/types/IRequest.d.ts +60 -0
  45. package/lib/fetch/{IRequest.js.map → types/IRequest.js.map} +1 -1
  46. package/lib/fetch/types/IRequestBody.d.ts +7 -0
  47. package/lib/fetch/{IBody.js → types/IRequestBody.js} +1 -1
  48. package/lib/fetch/types/IRequestBody.js.map +1 -0
  49. package/lib/fetch/types/IRequestCredentials.d.ts +2 -0
  50. package/lib/fetch/types/IRequestCredentials.js +3 -0
  51. package/lib/fetch/types/IRequestCredentials.js.map +1 -0
  52. package/lib/fetch/{RequestInfo.d.ts → types/IRequestInfo.d.ts} +2 -2
  53. package/lib/fetch/types/IRequestInfo.js +3 -0
  54. package/lib/fetch/types/IRequestInfo.js.map +1 -0
  55. package/lib/fetch/types/IRequestInit.d.ts +21 -0
  56. package/lib/fetch/types/IRequestInit.js.map +1 -0
  57. package/lib/fetch/types/IRequestRedirect.d.ts +2 -0
  58. package/lib/fetch/types/IRequestRedirect.js +3 -0
  59. package/lib/fetch/types/IRequestRedirect.js.map +1 -0
  60. package/lib/fetch/types/IRequestReferrerPolicy.d.ts +2 -0
  61. package/lib/fetch/types/IRequestReferrerPolicy.js +3 -0
  62. package/lib/fetch/types/IRequestReferrerPolicy.js.map +1 -0
  63. package/lib/fetch/types/IResponse.d.ts +27 -0
  64. package/lib/fetch/{IResponse.js.map → types/IResponse.js.map} +1 -1
  65. package/lib/fetch/types/IResponseBody.d.ts +7 -0
  66. package/lib/fetch/types/IResponseBody.js +3 -0
  67. package/lib/fetch/types/IResponseBody.js.map +1 -0
  68. package/lib/fetch/types/IResponseInit.d.ts +9 -0
  69. package/lib/fetch/types/IResponseInit.js.map +1 -0
  70. package/lib/fetch/utilities/FetchBodyUtility.d.ts +44 -0
  71. package/lib/fetch/utilities/FetchBodyUtility.js +156 -0
  72. package/lib/fetch/utilities/FetchBodyUtility.js.map +1 -0
  73. package/lib/fetch/utilities/FetchCORSUtility.d.ts +12 -0
  74. package/lib/fetch/utilities/FetchCORSUtility.js +20 -0
  75. package/lib/fetch/utilities/FetchCORSUtility.js.map +1 -0
  76. package/lib/fetch/utilities/FetchRequestHeaderUtility.d.ts +12 -0
  77. package/lib/fetch/utilities/FetchRequestHeaderUtility.js +45 -0
  78. package/lib/fetch/utilities/FetchRequestHeaderUtility.js.map +1 -0
  79. package/lib/fetch/utilities/FetchRequestReferrerUtility.d.ts +55 -0
  80. package/lib/fetch/utilities/FetchRequestReferrerUtility.js +194 -0
  81. package/lib/fetch/utilities/FetchRequestReferrerUtility.js.map +1 -0
  82. package/lib/fetch/utilities/FetchRequestValidationUtility.d.ts +38 -0
  83. package/lib/fetch/utilities/FetchRequestValidationUtility.js +70 -0
  84. package/lib/fetch/utilities/FetchRequestValidationUtility.js.map +1 -0
  85. package/lib/file/Blob.d.ts +2 -2
  86. package/lib/file/Blob.js +1 -1
  87. package/lib/file/Blob.js.map +1 -1
  88. package/lib/file/File.d.ts +2 -1
  89. package/lib/file/File.js.map +1 -1
  90. package/lib/form-data/FormData.d.ts +98 -0
  91. package/lib/form-data/FormData.js +212 -0
  92. package/lib/form-data/FormData.js.map +1 -0
  93. package/lib/index.d.ts +14 -1
  94. package/lib/index.js +20 -2
  95. package/lib/index.js.map +1 -1
  96. package/lib/nodes/document/Document.d.ts +5 -17
  97. package/lib/nodes/document/Document.js +11 -54
  98. package/lib/nodes/document/Document.js.map +1 -1
  99. package/lib/nodes/document/IDocument.d.ts +1 -1
  100. package/lib/nodes/document-fragment/DocumentFragment.d.ts +3 -14
  101. package/lib/nodes/document-fragment/DocumentFragment.js +7 -51
  102. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  103. package/lib/nodes/document-fragment/IDocumentFragment.d.ts +2 -1
  104. package/lib/nodes/element/Element.d.ts +8 -8
  105. package/lib/nodes/element/Element.js +28 -45
  106. package/lib/nodes/element/Element.js.map +1 -1
  107. package/lib/nodes/element/ElementUtility.d.ts +32 -0
  108. package/lib/nodes/element/ElementUtility.js +105 -0
  109. package/lib/nodes/element/ElementUtility.js.map +1 -0
  110. package/lib/nodes/element/HTMLCollection.d.ts +26 -3
  111. package/lib/nodes/element/HTMLCollection.js +51 -0
  112. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  113. package/lib/nodes/element/IHTMLCollection.d.ts +9 -2
  114. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +24 -24
  115. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  116. package/lib/nodes/html-audio-element/Audio.d.ts +15 -0
  117. package/lib/nodes/html-audio-element/Audio.js +27 -0
  118. package/lib/nodes/html-audio-element/Audio.js.map +1 -0
  119. package/lib/nodes/html-base-element/HTMLBaseElement.js +4 -4
  120. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  121. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +79 -3
  122. package/lib/nodes/html-button-element/HTMLButtonElement.js +158 -10
  123. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  124. package/lib/nodes/html-button-element/IHTMLButtonElement.d.ts +28 -2
  125. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +3 -3
  126. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  127. package/lib/nodes/html-element/HTMLElement.js +12 -12
  128. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  129. package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts +32 -0
  130. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +58 -0
  131. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -0
  132. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +37 -17
  133. package/lib/nodes/html-form-element/HTMLFormElement.js +128 -37
  134. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  135. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.d.ts +25 -0
  136. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js +3 -0
  137. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js.map +1 -0
  138. package/lib/nodes/html-form-element/IHTMLFormElement.d.ts +16 -6
  139. package/lib/nodes/html-form-element/IRadioNodeList.d.ts +15 -0
  140. package/lib/nodes/html-form-element/IRadioNodeList.js +3 -0
  141. package/lib/nodes/html-form-element/IRadioNodeList.js.map +1 -0
  142. package/lib/nodes/html-form-element/RadioNodeList.d.ts +16 -0
  143. package/lib/nodes/html-form-element/RadioNodeList.js +28 -0
  144. package/lib/nodes/html-form-element/RadioNodeList.js.map +1 -0
  145. package/lib/nodes/html-image-element/HTMLImageElement.js +19 -19
  146. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  147. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +43 -19
  148. package/lib/nodes/html-input-element/HTMLInputElement.js +206 -111
  149. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  150. package/lib/nodes/html-input-element/IHTMLInputElement.d.ts +14 -1
  151. package/lib/nodes/html-label-element/HTMLLabelElement.js +3 -7
  152. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  153. package/lib/nodes/html-link-element/HTMLLinkElement.js +21 -21
  154. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  155. package/lib/nodes/html-media-element/HTMLMediaElement.js +21 -21
  156. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  157. package/lib/nodes/html-meta-element/HTMLMetaElement.js +8 -8
  158. package/lib/nodes/html-meta-element/HTMLMetaElement.js.map +1 -1
  159. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js +6 -6
  160. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js.map +1 -1
  161. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +3 -4
  162. package/lib/nodes/html-option-element/HTMLOptionElement.js +26 -29
  163. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  164. package/lib/nodes/html-script-element/HTMLScriptElement.js +16 -16
  165. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  166. package/lib/nodes/html-script-element/ScriptUtility.js +5 -5
  167. package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
  168. package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.d.ts +5 -6
  169. package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js.map +1 -1
  170. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +42 -41
  171. package/lib/nodes/html-select-element/HTMLSelectElement.js +134 -138
  172. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  173. package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.d.ts +4 -5
  174. package/lib/nodes/html-select-element/IHTMLOptionsCollection.js.map +1 -0
  175. package/lib/nodes/html-select-element/IHTMLSelectElement.d.ts +22 -2
  176. package/lib/nodes/html-slot-element/HTMLSlotElement.js +2 -2
  177. package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
  178. package/lib/nodes/html-style-element/HTMLStyleElement.js +7 -7
  179. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  180. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +55 -2
  181. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +150 -40
  182. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  183. package/lib/nodes/html-text-area-element/IHTMLTextAreaElement.d.ts +16 -0
  184. package/lib/nodes/node/Node.d.ts +12 -1
  185. package/lib/nodes/node/Node.js +50 -4
  186. package/lib/nodes/node/Node.js.map +1 -1
  187. package/lib/nodes/node/NodeList.d.ts +2 -3
  188. package/lib/nodes/node/NodeList.js.map +1 -1
  189. package/lib/nodes/parent-node/IParentNode.d.ts +4 -4
  190. package/lib/nodes/parent-node/ParentNodeUtility.d.ts +3 -3
  191. package/lib/nodes/parent-node/ParentNodeUtility.js +13 -11
  192. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  193. package/lib/nodes/text/Text.d.ts +13 -0
  194. package/lib/nodes/text/Text.js +30 -0
  195. package/lib/nodes/text/Text.js.map +1 -1
  196. package/lib/query-selector/QuerySelector.js +2 -2
  197. package/lib/query-selector/QuerySelector.js.map +1 -1
  198. package/lib/query-selector/SelectorItem.js +2 -0
  199. package/lib/query-selector/SelectorItem.js.map +1 -1
  200. package/lib/validity-state/ValidityState.d.ts +87 -0
  201. package/lib/validity-state/ValidityState.js +171 -0
  202. package/lib/validity-state/ValidityState.js.map +1 -0
  203. package/lib/window/GlobalWindow.d.ts +0 -8
  204. package/lib/window/GlobalWindow.js +0 -2
  205. package/lib/window/GlobalWindow.js.map +1 -1
  206. package/lib/window/INodeJSGlobal.d.ts +71 -0
  207. package/lib/window/INodeJSGlobal.js +2 -0
  208. package/lib/window/INodeJSGlobal.js.map +1 -0
  209. package/lib/window/IWindow.d.ts +30 -10
  210. package/lib/window/Window.d.ts +37 -20
  211. package/lib/window/Window.js +22 -10
  212. package/lib/window/Window.js.map +1 -1
  213. package/lib/xml-http-request/XMLHttpRequest.js +20 -12
  214. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  215. package/lib/xml-parser/XMLParser.js +1 -1
  216. package/lib/xml-parser/XMLParser.js.map +1 -1
  217. package/package.json +2 -3
  218. package/src/cookie/CookieJar.ts +1 -1
  219. package/src/dom-token-list/DOMTokenList.ts +24 -20
  220. package/src/event/EventTarget.ts +7 -3
  221. package/src/exception/DOMExceptionNameEnum.ts +5 -1
  222. package/src/fetch/AbortController.ts +26 -0
  223. package/src/fetch/AbortSignal.ts +44 -0
  224. package/src/fetch/Fetch.ts +666 -0
  225. package/src/fetch/Headers.ts +151 -3
  226. package/src/fetch/Request.ts +226 -94
  227. package/src/fetch/{ResourceFetchHandler.ts → ResourceFetch.ts} +3 -3
  228. package/src/fetch/Response.ts +252 -89
  229. package/src/fetch/data-uri/DataURIParser.ts +66 -0
  230. package/src/fetch/multipart/MultipartFormDataParser.ts +113 -0
  231. package/src/fetch/multipart/MultipartReader.ts +217 -0
  232. package/src/fetch/types/IHeaders.ts +80 -0
  233. package/src/fetch/types/IRequest.ts +65 -0
  234. package/src/fetch/types/IRequestBody.ts +15 -0
  235. package/src/fetch/types/IRequestCredentials.ts +2 -0
  236. package/src/fetch/types/IRequestInfo.ts +6 -0
  237. package/src/fetch/types/IRequestInit.ts +21 -0
  238. package/src/fetch/types/IRequestRedirect.ts +3 -0
  239. package/src/fetch/types/IRequestReferrerPolicy.ts +11 -0
  240. package/src/fetch/types/IResponse.ts +27 -0
  241. package/src/fetch/types/IResponseBody.ts +15 -0
  242. package/src/fetch/types/IResponseInit.ts +10 -0
  243. package/src/fetch/utilities/FetchBodyUtility.ts +175 -0
  244. package/src/fetch/utilities/FetchCORSUtility.ts +18 -0
  245. package/src/fetch/utilities/FetchRequestHeaderUtility.ts +47 -0
  246. package/src/fetch/utilities/FetchRequestReferrerUtility.ts +241 -0
  247. package/src/fetch/utilities/FetchRequestValidationUtility.ts +82 -0
  248. package/src/file/Blob.ts +2 -2
  249. package/src/file/File.ts +5 -1
  250. package/src/form-data/FormData.ts +237 -0
  251. package/src/index.ts +27 -1
  252. package/src/nodes/document/Document.ts +23 -64
  253. package/src/nodes/document/IDocument.ts +1 -1
  254. package/src/nodes/document-fragment/DocumentFragment.ts +9 -59
  255. package/src/nodes/document-fragment/IDocumentFragment.ts +2 -1
  256. package/src/nodes/element/Element.ts +43 -56
  257. package/src/nodes/element/ElementUtility.ts +137 -0
  258. package/src/nodes/element/HTMLCollection.ts +60 -3
  259. package/src/nodes/element/IHTMLCollection.ts +10 -2
  260. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +24 -24
  261. package/src/nodes/html-audio-element/Audio.ts +22 -0
  262. package/src/nodes/html-base-element/HTMLBaseElement.ts +4 -4
  263. package/src/nodes/html-button-element/HTMLButtonElement.ts +184 -10
  264. package/src/nodes/html-button-element/IHTMLButtonElement.ts +31 -2
  265. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +3 -3
  266. package/src/nodes/html-element/HTMLElement.ts +12 -12
  267. package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +76 -0
  268. package/src/nodes/html-form-element/HTMLFormElement.ts +147 -41
  269. package/src/nodes/html-form-element/IHTMLFormControlsCollection.ts +45 -0
  270. package/src/nodes/html-form-element/IHTMLFormElement.ts +17 -6
  271. package/src/nodes/html-form-element/IRadioNodeList.ts +16 -0
  272. package/src/nodes/html-form-element/RadioNodeList.ts +24 -0
  273. package/src/nodes/html-image-element/HTMLImageElement.ts +19 -19
  274. package/src/nodes/html-input-element/HTMLInputElement.ts +232 -113
  275. package/src/nodes/html-input-element/IHTMLInputElement.ts +20 -1
  276. package/src/nodes/html-label-element/HTMLLabelElement.ts +3 -7
  277. package/src/nodes/html-link-element/HTMLLinkElement.ts +21 -21
  278. package/src/nodes/html-media-element/HTMLMediaElement.ts +21 -21
  279. package/src/nodes/html-meta-element/HTMLMetaElement.ts +8 -8
  280. package/src/nodes/html-opt-group-element/HTMLOptGroupElement.ts +6 -6
  281. package/src/nodes/html-option-element/HTMLOptionElement.ts +29 -30
  282. package/src/nodes/html-script-element/HTMLScriptElement.ts +16 -16
  283. package/src/nodes/html-script-element/ScriptUtility.ts +5 -5
  284. package/src/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.ts +5 -9
  285. package/src/nodes/html-select-element/HTMLSelectElement.ts +159 -170
  286. package/src/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.ts +4 -8
  287. package/src/nodes/html-select-element/IHTMLSelectElement.ts +25 -2
  288. package/src/nodes/html-slot-element/HTMLSlotElement.ts +2 -2
  289. package/src/nodes/html-style-element/HTMLStyleElement.ts +7 -7
  290. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +174 -41
  291. package/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts +18 -0
  292. package/src/nodes/node/Node.ts +61 -6
  293. package/src/nodes/node/NodeList.ts +2 -3
  294. package/src/nodes/parent-node/IParentNode.ts +7 -4
  295. package/src/nodes/parent-node/ParentNodeUtility.ts +25 -15
  296. package/src/nodes/text/Text.ts +38 -0
  297. package/src/query-selector/QuerySelector.ts +2 -2
  298. package/src/query-selector/SelectorItem.ts +3 -0
  299. package/src/validity-state/ValidityState.ts +211 -0
  300. package/src/window/GlobalWindow.ts +0 -2
  301. package/src/window/INodeJSGlobal.ts +70 -0
  302. package/src/window/IWindow.ts +32 -10
  303. package/src/window/Window.ts +43 -21
  304. package/src/xml-http-request/XMLHttpRequest.ts +27 -26
  305. package/src/xml-parser/XMLParser.ts +1 -1
  306. package/lib/fetch/FetchHandler.d.ts +0 -18
  307. package/lib/fetch/FetchHandler.js +0 -83
  308. package/lib/fetch/FetchHandler.js.map +0 -1
  309. package/lib/fetch/IAbortSignal.d.ts +0 -16
  310. package/lib/fetch/IAbortSignal.js +0 -4
  311. package/lib/fetch/IAbortSignal.js.map +0 -1
  312. package/lib/fetch/IBody.d.ts +0 -17
  313. package/lib/fetch/IBody.js.map +0 -1
  314. package/lib/fetch/IHeaders.d.ts +0 -18
  315. package/lib/fetch/IHeadersInit.js.map +0 -1
  316. package/lib/fetch/IRequest.d.ts +0 -18
  317. package/lib/fetch/IRequestInit.d.ts +0 -16
  318. package/lib/fetch/IRequestInit.js.map +0 -1
  319. package/lib/fetch/IResponse.d.ts +0 -20
  320. package/lib/fetch/IResponseInit.d.ts +0 -9
  321. package/lib/fetch/IResponseInit.js.map +0 -1
  322. package/lib/fetch/RequestInfo.js +0 -3
  323. package/lib/fetch/RequestInfo.js.map +0 -1
  324. package/lib/fetch/ResourceFetchHandler.js.map +0 -1
  325. package/lib/form-data/IFormData.d.ts +0 -32
  326. package/lib/form-data/IFormData.js +0 -3
  327. package/lib/form-data/IFormData.js.map +0 -1
  328. package/lib/location/RelativeURL.d.ts +0 -15
  329. package/lib/location/RelativeURL.js +0 -19
  330. package/lib/location/RelativeURL.js.map +0 -1
  331. package/lib/nodes/element/HTMLCollectionFactory.d.ts +0 -21
  332. package/lib/nodes/element/HTMLCollectionFactory.js +0 -31
  333. package/lib/nodes/element/HTMLCollectionFactory.js.map +0 -1
  334. package/lib/nodes/html-option-element/IHTMLOptionsCollection.js.map +0 -1
  335. package/lib/nodes/node/NodeListFactory.d.ts +0 -21
  336. package/lib/nodes/node/NodeListFactory.js +0 -31
  337. package/lib/nodes/node/NodeListFactory.js.map +0 -1
  338. package/lib/nodes/validity-state/ValidityState.d.ts +0 -52
  339. package/lib/nodes/validity-state/ValidityState.js +0 -81
  340. package/lib/nodes/validity-state/ValidityState.js.map +0 -1
  341. package/src/fetch/FetchHandler.ts +0 -90
  342. package/src/fetch/IAbortSignal.ts +0 -34
  343. package/src/fetch/IBody.ts +0 -18
  344. package/src/fetch/IHeaders.ts +0 -18
  345. package/src/fetch/IRequest.ts +0 -59
  346. package/src/fetch/IRequestInit.ts +0 -41
  347. package/src/fetch/IResponse.ts +0 -22
  348. package/src/fetch/IResponseInit.ts +0 -10
  349. package/src/fetch/RequestInfo.ts +0 -6
  350. package/src/form-data/IFormData.ts +0 -33
  351. package/src/location/RelativeURL.ts +0 -17
  352. package/src/nodes/element/HTMLCollectionFactory.ts +0 -31
  353. package/src/nodes/node/NodeListFactory.ts +0 -31
  354. package/src/nodes/validity-state/ValidityState.ts +0 -84
  355. /package/lib/fetch/{IHeaders.js → types/IHeaders.js} +0 -0
  356. /package/lib/fetch/{IHeadersInit.d.ts → types/IHeadersInit.d.ts} +0 -0
  357. /package/lib/fetch/{IHeadersInit.js → types/IHeadersInit.js} +0 -0
  358. /package/lib/fetch/{IRequest.js → types/IRequest.js} +0 -0
  359. /package/lib/fetch/{IRequestInit.js → types/IRequestInit.js} +0 -0
  360. /package/lib/fetch/{IResponse.js → types/IResponse.js} +0 -0
  361. /package/lib/fetch/{IResponseInit.js → types/IResponseInit.js} +0 -0
  362. /package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js +0 -0
  363. /package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.js +0 -0
  364. /package/src/fetch/{IHeadersInit.ts → types/IHeadersInit.ts} +0 -0
@@ -33,7 +33,7 @@ export default class Document extends Node implements IDocument {
33
33
  nodeType: import("../node/NodeTypeEnum").default;
34
34
  adoptedStyleSheets: CSSStyleSheet[];
35
35
  implementation: DOMImplementation;
36
- readonly children: IHTMLCollection<IElement>;
36
+ readonly children: IHTMLCollection<IElement, IElement>;
37
37
  readonly readyState = DocumentReadyStateEnum.interactive;
38
38
  readonly isConnected: boolean;
39
39
  readonly defaultView: IWindow;
@@ -271,7 +271,7 @@ export default class Document extends Node implements IDocument {
271
271
  *
272
272
  * @returns Scripts.
273
273
  */
274
- get scripts(): IHTMLCollection<IHTMLScriptElement>;
274
+ get scripts(): IHTMLCollection<IHTMLScriptElement, IHTMLScriptElement>;
275
275
  /**
276
276
  * Returns base URI.
277
277
  *
@@ -341,14 +341,14 @@ export default class Document extends Node implements IDocument {
341
341
  * @param className Tag name.
342
342
  * @returns Matching element.
343
343
  */
344
- getElementsByClassName(className: string): IHTMLCollection<IElement>;
344
+ getElementsByClassName(className: string): IHTMLCollection<IElement, IElement>;
345
345
  /**
346
346
  * Returns an elements by tag name.
347
347
  *
348
348
  * @param tagName Tag name.
349
349
  * @returns Matching element.
350
350
  */
351
- getElementsByTagName(tagName: string): IHTMLCollection<IElement>;
351
+ getElementsByTagName(tagName: string): IHTMLCollection<IElement, IElement>;
352
352
  /**
353
353
  * Returns an elements by tag name and namespace.
354
354
  *
@@ -356,7 +356,7 @@ export default class Document extends Node implements IDocument {
356
356
  * @param tagName Tag name.
357
357
  * @returns Matching element.
358
358
  */
359
- getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
359
+ getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement, IElement>;
360
360
  /**
361
361
  * Returns an element by ID.
362
362
  *
@@ -380,27 +380,15 @@ export default class Document extends Node implements IDocument {
380
380
  */
381
381
  cloneNode(deep?: boolean): IDocument;
382
382
  /**
383
- * Append a child node to childNodes.
384
- *
385
383
  * @override
386
- * @param node Node to append.
387
- * @returns Appended node.
388
384
  */
389
385
  appendChild(node: INode): INode;
390
386
  /**
391
- * Remove Child element from childNodes array.
392
- *
393
387
  * @override
394
- * @param node Node to remove.
395
388
  */
396
389
  removeChild(node: INode): INode;
397
390
  /**
398
- * Inserts a node before another.
399
- *
400
391
  * @override
401
- * @param newNode Node to insert.
402
- * @param [referenceNode] Node to insert before.
403
- * @returns Inserted node.
404
392
  */
405
393
  insertBefore(newNode: INode, referenceNode?: INode): INode;
406
394
  /**
@@ -21,11 +21,13 @@ const ParentNodeUtility_1 = __importDefault(require("../parent-node/ParentNodeUt
21
21
  const QuerySelector_1 = __importDefault(require("../../query-selector/QuerySelector"));
22
22
  const DOMException_1 = __importDefault(require("../../exception/DOMException"));
23
23
  const CookieJar_1 = __importDefault(require("../../cookie/CookieJar"));
24
- const HTMLCollectionFactory_1 = __importDefault(require("../element/HTMLCollectionFactory"));
24
+ const NodeList_1 = __importDefault(require("../node/NodeList"));
25
25
  const DocumentReadyStateEnum_1 = __importDefault(require("./DocumentReadyStateEnum"));
26
26
  const DocumentReadyStateManager_1 = __importDefault(require("./DocumentReadyStateManager"));
27
27
  const Selection_1 = __importDefault(require("../../selection/Selection"));
28
28
  const ProcessingInstruction_1 = __importDefault(require("../processing-instruction/ProcessingInstruction"));
29
+ const ElementUtility_1 = __importDefault(require("../element/ElementUtility"));
30
+ const HTMLCollection_1 = __importDefault(require("../element/HTMLCollection"));
29
31
  const VisibilityStateEnum_1 = __importDefault(require("./VisibilityStateEnum"));
30
32
  const PROCESSING_INSTRUCTION_TARGET_REGEXP = /^[a-z][a-z0-9-]+$/;
31
33
  /**
@@ -40,7 +42,7 @@ class Document extends Node_1.default {
40
42
  super();
41
43
  this.nodeType = Node_1.default.DOCUMENT_NODE;
42
44
  this.adoptedStyleSheets = [];
43
- this.children = HTMLCollectionFactory_1.default.create();
45
+ this.children = new HTMLCollection_1.default();
44
46
  this.readyState = DocumentReadyStateEnum_1.default.interactive;
45
47
  this.isConnected = true;
46
48
  this._activeElement = null;
@@ -361,7 +363,7 @@ class Document extends Node_1.default {
361
363
  * @returns Scripts.
362
364
  */
363
365
  get scripts() {
364
- return this.getElementsByTagName('script');
366
+ return (this.getElementsByTagName('script'));
365
367
  }
366
368
  /**
367
369
  * Returns base URI.
@@ -501,9 +503,9 @@ class Document extends Node_1.default {
501
503
  */
502
504
  getElementsByName(name) {
503
505
  const _getElementsByName = (_parentNode, _name) => {
504
- const matches = HTMLCollectionFactory_1.default.create();
506
+ const matches = new NodeList_1.default();
505
507
  for (const child of _parentNode.children) {
506
- if ((child.getAttributeNS(null, 'name') || '') === _name) {
508
+ if (child.getAttributeNS(null, 'name') === _name) {
507
509
  matches.push(child);
508
510
  }
509
511
  for (const match of _getElementsByName(child, _name)) {
@@ -534,70 +536,25 @@ class Document extends Node_1.default {
534
536
  return clone;
535
537
  }
536
538
  /**
537
- * Append a child node to childNodes.
538
- *
539
539
  * @override
540
- * @param node Node to append.
541
- * @returns Appended node.
542
540
  */
543
541
  appendChild(node) {
544
- // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
545
- // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
546
- if (node.nodeType !== Node_1.default.DOCUMENT_FRAGMENT_NODE) {
547
- if (node.parentNode && node.parentNode['children']) {
548
- const index = node.parentNode['children'].indexOf(node);
549
- if (index !== -1) {
550
- node.parentNode['children'].splice(index, 1);
551
- }
552
- }
553
- if (node !== this && node.nodeType === Node_1.default.ELEMENT_NODE) {
554
- this.children.push(node);
555
- }
556
- }
542
+ ElementUtility_1.default.appendChild(this, node);
557
543
  return super.appendChild(node);
558
544
  }
559
545
  /**
560
- * Remove Child element from childNodes array.
561
- *
562
546
  * @override
563
- * @param node Node to remove.
564
547
  */
565
548
  removeChild(node) {
566
- if (node.nodeType === Node_1.default.ELEMENT_NODE) {
567
- const index = this.children.indexOf(node);
568
- if (index !== -1) {
569
- this.children.splice(index, 1);
570
- }
571
- }
549
+ ElementUtility_1.default.removeChild(this, node);
572
550
  return super.removeChild(node);
573
551
  }
574
552
  /**
575
- * Inserts a node before another.
576
- *
577
553
  * @override
578
- * @param newNode Node to insert.
579
- * @param [referenceNode] Node to insert before.
580
- * @returns Inserted node.
581
554
  */
582
555
  insertBefore(newNode, referenceNode) {
583
- const returnValue = super.insertBefore(newNode, referenceNode);
584
- // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
585
- // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
586
- if (newNode.nodeType !== Node_1.default.DOCUMENT_FRAGMENT_NODE) {
587
- if (newNode.parentNode && newNode.parentNode['children']) {
588
- const index = newNode.parentNode['children'].indexOf(newNode);
589
- if (index !== -1) {
590
- newNode.parentNode['children'].splice(index, 1);
591
- }
592
- }
593
- this.children.length = 0;
594
- for (const node of this.childNodes) {
595
- if (node.nodeType === Node_1.default.ELEMENT_NODE) {
596
- this.children.push(node);
597
- }
598
- }
599
- }
600
- return returnValue;
556
+ ElementUtility_1.default.insertBefore(this, newNode, referenceNode);
557
+ return super.insertBefore(newNode, referenceNode);
601
558
  }
602
559
  /**
603
560
  * Replaces the document HTML with new HTML.
@@ -1 +1 @@
1
- {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/nodes/document/Document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/nodes/document/Document.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export default interface IDocument extends IParentNode {
31
31
  readonly doctype: IDocumentType;
32
32
  readonly body: IHTMLElement;
33
33
  readonly head: IHTMLElement;
34
- readonly scripts: IHTMLCollection<IHTMLScriptElement>;
34
+ readonly scripts: IHTMLCollection<IHTMLScriptElement, IHTMLScriptElement>;
35
35
  readonly activeElement: IHTMLElement;
36
36
  readonly styleSheets: CSSStyleSheet[];
37
37
  readonly scrollingElement: IHTMLElement;
@@ -3,12 +3,13 @@ import IElement from '../element/IElement';
3
3
  import IDocumentFragment from './IDocumentFragment';
4
4
  import INode from '../node/INode';
5
5
  import IHTMLCollection from '../element/IHTMLCollection';
6
+ import INodeList from '../node/INodeList';
6
7
  /**
7
8
  * DocumentFragment.
8
9
  */
9
10
  export default class DocumentFragment extends Node implements IDocumentFragment {
10
11
  nodeType: import("../node/NodeTypeEnum").default;
11
- readonly children: IHTMLCollection<IElement>;
12
+ readonly children: IHTMLCollection<IElement, IElement>;
12
13
  _rootNode: INode;
13
14
  /**
14
15
  * Last element child.
@@ -64,7 +65,7 @@ export default class DocumentFragment extends Node implements IDocumentFragment
64
65
  * @param selector CSS selector.
65
66
  * @returns Matching elements.
66
67
  */
67
- querySelectorAll(selector: string): IElement[];
68
+ querySelectorAll(selector: string): INodeList<IElement>;
68
69
  /**
69
70
  * Query CSS Selector to find matching node.
70
71
  *
@@ -88,27 +89,15 @@ export default class DocumentFragment extends Node implements IDocumentFragment
88
89
  */
89
90
  cloneNode(deep?: boolean): IDocumentFragment;
90
91
  /**
91
- * Append a child node to childNodes.
92
- *
93
92
  * @override
94
- * @param node Node to append.
95
- * @returns Appended node.
96
93
  */
97
94
  appendChild(node: INode): INode;
98
95
  /**
99
- * Remove Child element from childNodes array.
100
- *
101
96
  * @override
102
- * @param node Node to remove.
103
97
  */
104
98
  removeChild(node: INode): INode;
105
99
  /**
106
- * Inserts a node before another.
107
- *
108
100
  * @override
109
- * @param newNode Node to insert.
110
- * @param [referenceNode] Node to insert before.
111
- * @returns Inserted node.
112
101
  */
113
102
  insertBefore(newNode: INode, referenceNode?: INode): INode;
114
103
  }
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Node_1 = __importDefault(require("../node/Node"));
7
7
  const QuerySelector_1 = __importDefault(require("../../query-selector/QuerySelector"));
8
8
  const ParentNodeUtility_1 = __importDefault(require("../parent-node/ParentNodeUtility"));
9
- const HTMLCollectionFactory_1 = __importDefault(require("../element/HTMLCollectionFactory"));
9
+ const ElementUtility_1 = __importDefault(require("../element/ElementUtility"));
10
+ const HTMLCollection_1 = __importDefault(require("../element/HTMLCollection"));
10
11
  /**
11
12
  * DocumentFragment.
12
13
  */
@@ -14,7 +15,7 @@ class DocumentFragment extends Node_1.default {
14
15
  constructor() {
15
16
  super(...arguments);
16
17
  this.nodeType = Node_1.default.DOCUMENT_FRAGMENT_NODE;
17
- this.children = HTMLCollectionFactory_1.default.create();
18
+ this.children = new HTMLCollection_1.default();
18
19
  this._rootNode = this;
19
20
  }
20
21
  /**
@@ -138,70 +139,25 @@ class DocumentFragment extends Node_1.default {
138
139
  return clone;
139
140
  }
140
141
  /**
141
- * Append a child node to childNodes.
142
- *
143
142
  * @override
144
- * @param node Node to append.
145
- * @returns Appended node.
146
143
  */
147
144
  appendChild(node) {
148
- // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
149
- // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
150
- if (node.nodeType !== Node_1.default.DOCUMENT_FRAGMENT_NODE) {
151
- if (node.parentNode && node.parentNode['children']) {
152
- const index = node.parentNode['children'].indexOf(node);
153
- if (index !== -1) {
154
- node.parentNode['children'].splice(index, 1);
155
- }
156
- }
157
- if (node !== this && node.nodeType === Node_1.default.ELEMENT_NODE) {
158
- this.children.push(node);
159
- }
160
- }
145
+ ElementUtility_1.default.appendChild(this, node);
161
146
  return super.appendChild(node);
162
147
  }
163
148
  /**
164
- * Remove Child element from childNodes array.
165
- *
166
149
  * @override
167
- * @param node Node to remove.
168
150
  */
169
151
  removeChild(node) {
170
- if (node.nodeType === Node_1.default.ELEMENT_NODE) {
171
- const index = this.children.indexOf(node);
172
- if (index !== -1) {
173
- this.children.splice(index, 1);
174
- }
175
- }
152
+ ElementUtility_1.default.removeChild(this, node);
176
153
  return super.removeChild(node);
177
154
  }
178
155
  /**
179
- * Inserts a node before another.
180
- *
181
156
  * @override
182
- * @param newNode Node to insert.
183
- * @param [referenceNode] Node to insert before.
184
- * @returns Inserted node.
185
157
  */
186
158
  insertBefore(newNode, referenceNode) {
187
- const returnValue = super.insertBefore(newNode, referenceNode);
188
- // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
189
- // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
190
- if (newNode.nodeType !== Node_1.default.DOCUMENT_FRAGMENT_NODE) {
191
- if (newNode.parentNode && newNode.parentNode['children']) {
192
- const index = newNode.parentNode['children'].indexOf(newNode);
193
- if (index !== -1) {
194
- newNode.parentNode['children'].splice(index, 1);
195
- }
196
- }
197
- this.children.length = 0;
198
- for (const node of this.childNodes) {
199
- if (node.nodeType === Node_1.default.ELEMENT_NODE) {
200
- this.children.push(node);
201
- }
202
- }
203
- }
204
- return returnValue;
159
+ ElementUtility_1.default.insertBefore(this, newNode, referenceNode);
160
+ return super.insertBefore(newNode, referenceNode);
205
161
  }
206
162
  }
207
163
  exports.default = DocumentFragment;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentFragment.js","sourceRoot":"","sources":["../../../src/nodes/document-fragment/DocumentFragment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentFragment.js","sourceRoot":"","sources":["../../../src/nodes/document-fragment/DocumentFragment.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import IElement from '../element/IElement';
2
2
  import INode from '../node/INode';
3
+ import INodeList from '../node/INodeList';
3
4
  export default interface IDocumentFragment extends INode {
4
5
  readonly childElementCount: number;
5
6
  readonly firstElementChild: IElement;
@@ -30,7 +31,7 @@ export default interface IDocumentFragment extends INode {
30
31
  * @param selector CSS selector.
31
32
  * @returns Matching elements.
32
33
  */
33
- querySelectorAll(selector: string): IElement[];
34
+ querySelectorAll(selector: string): INodeList<IElement>;
34
35
  /**
35
36
  * Replaces the existing children of a node with a specified new set of children.
36
37
  *
@@ -23,7 +23,7 @@ export default class Element extends Node implements IElement {
23
23
  prefix: string;
24
24
  scrollTop: number;
25
25
  scrollLeft: number;
26
- children: IHTMLCollection<IElement>;
26
+ children: IHTMLCollection<IElement, IElement>;
27
27
  readonly namespaceURI: string;
28
28
  oncancel: (event: Event) => void | null;
29
29
  onerror: (event: Event) => void | null;
@@ -229,14 +229,14 @@ export default class Element extends Node implements IElement {
229
229
  * @override
230
230
  */
231
231
  removeChild(node: INode): INode;
232
- /**
233
- * Removes the node from its parent.
234
- */
235
- remove(): void;
236
232
  /**
237
233
  * @override
238
234
  */
239
235
  insertBefore(newNode: INode, referenceNode: INode | null): INode;
236
+ /**
237
+ * Removes the node from its parent.
238
+ */
239
+ remove(): void;
240
240
  /**
241
241
  * The Node.replaceWith() method replaces this Node in the children list of its parent with a set of Node or DOMString objects.
242
242
  *
@@ -435,14 +435,14 @@ export default class Element extends Node implements IElement {
435
435
  * @param className Tag name.
436
436
  * @returns Matching element.
437
437
  */
438
- getElementsByClassName(className: string): IHTMLCollection<IElement>;
438
+ getElementsByClassName(className: string): IHTMLCollection<IElement, IElement>;
439
439
  /**
440
440
  * Returns an elements by tag name.
441
441
  *
442
442
  * @param tagName Tag name.
443
443
  * @returns Matching element.
444
444
  */
445
- getElementsByTagName(tagName: string): IHTMLCollection<IElement>;
445
+ getElementsByTagName(tagName: string): IHTMLCollection<IElement, IElement>;
446
446
  /**
447
447
  * Returns an elements by tag name and namespace.
448
448
  *
@@ -450,7 +450,7 @@ export default class Element extends Node implements IElement {
450
450
  * @param tagName Tag name.
451
451
  * @returns Matching element.
452
452
  */
453
- getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
453
+ getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement, IElement>;
454
454
  /**
455
455
  * The setAttributeNode() method adds a new Attr node to the specified element.
456
456
  *
@@ -19,8 +19,9 @@ const ChildNodeUtility_1 = __importDefault(require("../child-node/ChildNodeUtili
19
19
  const ParentNodeUtility_1 = __importDefault(require("../parent-node/ParentNodeUtility"));
20
20
  const NonDocumentChildNodeUtility_1 = __importDefault(require("../child-node/NonDocumentChildNodeUtility"));
21
21
  const DOMException_1 = __importDefault(require("../../exception/DOMException"));
22
- const HTMLCollectionFactory_1 = __importDefault(require("./HTMLCollectionFactory"));
23
22
  const DOMRectListFactory_1 = __importDefault(require("./DOMRectListFactory"));
23
+ const ElementUtility_1 = __importDefault(require("./ElementUtility"));
24
+ const HTMLCollection_1 = __importDefault(require("./HTMLCollection"));
24
25
  /**
25
26
  * Element.
26
27
  */
@@ -33,7 +34,7 @@ class Element extends Node_1.default {
33
34
  this.prefix = null;
34
35
  this.scrollTop = 0;
35
36
  this.scrollLeft = 0;
36
- this.children = HTMLCollectionFactory_1.default.create();
37
+ this.children = new HTMLCollection_1.default();
37
38
  this.namespaceURI = null;
38
39
  // Events
39
40
  this.oncancel = null;
@@ -260,7 +261,7 @@ class Element extends Node_1.default {
260
261
  * @param slot Slot.
261
262
  */
262
263
  set slot(title) {
263
- this.setAttributeNS(null, 'slot', title);
264
+ this.setAttribute('slot', title);
264
265
  }
265
266
  /**
266
267
  * Returns inner HTML and optionally the content of shadow roots.
@@ -313,61 +314,28 @@ class Element extends Node_1.default {
313
314
  * @override
314
315
  */
315
316
  appendChild(node) {
316
- // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
317
- // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
318
- if (node.nodeType !== Node_1.default.DOCUMENT_FRAGMENT_NODE) {
319
- if (node.parentNode && node.parentNode['children']) {
320
- const index = node.parentNode['children'].indexOf(node);
321
- if (index !== -1) {
322
- node.parentNode['children'].splice(index, 1);
323
- }
324
- }
325
- if (node !== this && node.nodeType === Node_1.default.ELEMENT_NODE) {
326
- this.children.push(node);
327
- }
328
- }
317
+ ElementUtility_1.default.appendChild(this, node);
329
318
  return super.appendChild(node);
330
319
  }
331
320
  /**
332
321
  * @override
333
322
  */
334
323
  removeChild(node) {
335
- if (node.nodeType === Node_1.default.ELEMENT_NODE) {
336
- const index = this.children.indexOf(node);
337
- if (index !== -1) {
338
- this.children.splice(index, 1);
339
- }
340
- }
324
+ ElementUtility_1.default.removeChild(this, node);
341
325
  return super.removeChild(node);
342
326
  }
343
327
  /**
344
- * Removes the node from its parent.
328
+ * @override
345
329
  */
346
- remove() {
347
- ChildNodeUtility_1.default.remove(this);
330
+ insertBefore(newNode, referenceNode) {
331
+ ElementUtility_1.default.insertBefore(this, newNode, referenceNode);
332
+ return super.insertBefore(newNode, referenceNode);
348
333
  }
349
334
  /**
350
- * @override
335
+ * Removes the node from its parent.
351
336
  */
352
- insertBefore(newNode, referenceNode) {
353
- const returnValue = super.insertBefore(newNode, referenceNode);
354
- // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
355
- // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
356
- if (newNode.nodeType !== Node_1.default.DOCUMENT_FRAGMENT_NODE) {
357
- if (newNode.parentNode && newNode.parentNode['children']) {
358
- const index = newNode.parentNode['children'].indexOf(newNode);
359
- if (index !== -1) {
360
- newNode.parentNode['children'].splice(index, 1);
361
- }
362
- }
363
- this.children.length = 0;
364
- for (const node of this.childNodes) {
365
- if (node.nodeType === Node_1.default.ELEMENT_NODE) {
366
- this.children.push(node);
367
- }
368
- }
369
- }
370
- return returnValue;
337
+ remove() {
338
+ ChildNodeUtility_1.default.remove(this);
371
339
  }
372
340
  /**
373
341
  * The Node.replaceWith() method replaces this Node in the children list of its parent with a set of Node or DOMString objects.
@@ -760,6 +728,16 @@ class Element extends Node_1.default {
760
728
  if (attribute.name === 'class' && this._classList) {
761
729
  this._classList._updateIndices();
762
730
  }
731
+ if (attribute.name === 'id' || attribute.name === 'name') {
732
+ if (this.parentNode && this.parentNode.children && attribute.value !== oldValue) {
733
+ if (oldValue) {
734
+ (this.parentNode.children)._removeNamedItem(this, oldValue);
735
+ }
736
+ if (attribute.value) {
737
+ (this.parentNode.children)._appendNamedItem(this, attribute.value);
738
+ }
739
+ }
740
+ }
763
741
  if (this.attributeChangedCallback &&
764
742
  this.constructor._observedAttributes &&
765
743
  this.constructor._observedAttributes.includes(name)) {
@@ -839,6 +817,11 @@ class Element extends Node_1.default {
839
817
  if (attribute.name === 'class' && this._classList) {
840
818
  this._classList._updateIndices();
841
819
  }
820
+ if (attribute.name === 'id' || attribute.name === 'name') {
821
+ if (this.parentNode && this.parentNode.children && attribute.value) {
822
+ this.parentNode.children._removeNamedItem(this, attribute.value);
823
+ }
824
+ }
842
825
  if (this.attributeChangedCallback &&
843
826
  this.constructor._observedAttributes &&
844
827
  this.constructor._observedAttributes.includes(attribute.name)) {