@depup/jsdom 28.1.0-depup.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.
Files changed (538) hide show
  1. package/LICENSE.txt +22 -0
  2. package/README.md +38 -0
  3. package/changes.json +38 -0
  4. package/lib/api.js +373 -0
  5. package/lib/generated/event-sets.js +115 -0
  6. package/lib/generated/idl/AbortController.js +143 -0
  7. package/lib/generated/idl/AbortSignal.js +249 -0
  8. package/lib/generated/idl/AbstractRange.js +171 -0
  9. package/lib/generated/idl/AddEventListenerOptions.js +53 -0
  10. package/lib/generated/idl/AssignedNodesOptions.js +28 -0
  11. package/lib/generated/idl/Attr.js +219 -0
  12. package/lib/generated/idl/BarProp.js +117 -0
  13. package/lib/generated/idl/BeforeUnloadEvent.js +139 -0
  14. package/lib/generated/idl/BinaryType.js +12 -0
  15. package/lib/generated/idl/Blob.js +253 -0
  16. package/lib/generated/idl/BlobCallback.js +30 -0
  17. package/lib/generated/idl/BlobEvent.js +157 -0
  18. package/lib/generated/idl/BlobEventInit.js +43 -0
  19. package/lib/generated/idl/BlobPropertyBag.js +42 -0
  20. package/lib/generated/idl/CDATASection.js +109 -0
  21. package/lib/generated/idl/CanPlayTypeResult.js +12 -0
  22. package/lib/generated/idl/CharacterData.js +455 -0
  23. package/lib/generated/idl/CloseEvent.js +168 -0
  24. package/lib/generated/idl/CloseEventInit.js +65 -0
  25. package/lib/generated/idl/Comment.js +120 -0
  26. package/lib/generated/idl/CompositionEvent.js +219 -0
  27. package/lib/generated/idl/CompositionEventInit.js +32 -0
  28. package/lib/generated/idl/Crypto.js +148 -0
  29. package/lib/generated/idl/CustomElementConstructor.js +34 -0
  30. package/lib/generated/idl/CustomElementRegistry.js +269 -0
  31. package/lib/generated/idl/CustomEvent.js +206 -0
  32. package/lib/generated/idl/CustomEventInit.js +32 -0
  33. package/lib/generated/idl/DOMException.js +222 -0
  34. package/lib/generated/idl/DOMImplementation.js +237 -0
  35. package/lib/generated/idl/DOMParser.js +140 -0
  36. package/lib/generated/idl/DOMRect.js +276 -0
  37. package/lib/generated/idl/DOMRectInit.js +76 -0
  38. package/lib/generated/idl/DOMRectReadOnly.js +285 -0
  39. package/lib/generated/idl/DOMStringMap.js +299 -0
  40. package/lib/generated/idl/DOMTokenList.js +539 -0
  41. package/lib/generated/idl/DeviceMotionEvent.js +183 -0
  42. package/lib/generated/idl/DeviceMotionEventAcceleration.js +145 -0
  43. package/lib/generated/idl/DeviceMotionEventAccelerationInit.js +61 -0
  44. package/lib/generated/idl/DeviceMotionEventInit.js +70 -0
  45. package/lib/generated/idl/DeviceMotionEventRotationRate.js +145 -0
  46. package/lib/generated/idl/DeviceMotionEventRotationRateInit.js +61 -0
  47. package/lib/generated/idl/DeviceOrientationEvent.js +183 -0
  48. package/lib/generated/idl/DeviceOrientationEventInit.js +80 -0
  49. package/lib/generated/idl/Document.js +4511 -0
  50. package/lib/generated/idl/DocumentFragment.js +336 -0
  51. package/lib/generated/idl/DocumentReadyState.js +12 -0
  52. package/lib/generated/idl/DocumentType.js +254 -0
  53. package/lib/generated/idl/Element.js +3720 -0
  54. package/lib/generated/idl/ElementCreationOptions.js +26 -0
  55. package/lib/generated/idl/ElementDefinitionOptions.js +29 -0
  56. package/lib/generated/idl/ElementInternals.js +2152 -0
  57. package/lib/generated/idl/EndingType.js +12 -0
  58. package/lib/generated/idl/ErrorEvent.js +192 -0
  59. package/lib/generated/idl/ErrorEventInit.js +92 -0
  60. package/lib/generated/idl/Event.js +430 -0
  61. package/lib/generated/idl/EventHandlerNonNull.js +36 -0
  62. package/lib/generated/idl/EventInit.js +58 -0
  63. package/lib/generated/idl/EventListener.js +35 -0
  64. package/lib/generated/idl/EventListenerOptions.js +28 -0
  65. package/lib/generated/idl/EventModifierInit.js +221 -0
  66. package/lib/generated/idl/EventTarget.js +259 -0
  67. package/lib/generated/idl/External.js +130 -0
  68. package/lib/generated/idl/File.js +185 -0
  69. package/lib/generated/idl/FileList.js +298 -0
  70. package/lib/generated/idl/FilePropertyBag.js +33 -0
  71. package/lib/generated/idl/FileReader.js +468 -0
  72. package/lib/generated/idl/FocusEvent.js +144 -0
  73. package/lib/generated/idl/FocusEventInit.js +36 -0
  74. package/lib/generated/idl/FormData.js +468 -0
  75. package/lib/generated/idl/Function.js +42 -0
  76. package/lib/generated/idl/GetRootNodeOptions.js +31 -0
  77. package/lib/generated/idl/HTMLAnchorElement.js +1026 -0
  78. package/lib/generated/idl/HTMLAreaElement.js +825 -0
  79. package/lib/generated/idl/HTMLAudioElement.js +111 -0
  80. package/lib/generated/idl/HTMLBRElement.js +156 -0
  81. package/lib/generated/idl/HTMLBaseElement.js +196 -0
  82. package/lib/generated/idl/HTMLBodyElement.js +880 -0
  83. package/lib/generated/idl/HTMLButtonElement.js +525 -0
  84. package/lib/generated/idl/HTMLCanvasElement.js +307 -0
  85. package/lib/generated/idl/HTMLCollection.js +352 -0
  86. package/lib/generated/idl/HTMLDListElement.js +159 -0
  87. package/lib/generated/idl/HTMLDataElement.js +156 -0
  88. package/lib/generated/idl/HTMLDataListElement.js +126 -0
  89. package/lib/generated/idl/HTMLDetailsElement.js +159 -0
  90. package/lib/generated/idl/HTMLDialogElement.js +159 -0
  91. package/lib/generated/idl/HTMLDirectoryElement.js +159 -0
  92. package/lib/generated/idl/HTMLDivElement.js +156 -0
  93. package/lib/generated/idl/HTMLElement.js +3492 -0
  94. package/lib/generated/idl/HTMLEmbedElement.js +381 -0
  95. package/lib/generated/idl/HTMLFieldSetElement.js +332 -0
  96. package/lib/generated/idl/HTMLFontElement.js +239 -0
  97. package/lib/generated/idl/HTMLFormControlsCollection.js +318 -0
  98. package/lib/generated/idl/HTMLFormElement.js +661 -0
  99. package/lib/generated/idl/HTMLFrameElement.js +513 -0
  100. package/lib/generated/idl/HTMLFrameSetElement.js +711 -0
  101. package/lib/generated/idl/HTMLHRElement.js +323 -0
  102. package/lib/generated/idl/HTMLHeadElement.js +111 -0
  103. package/lib/generated/idl/HTMLHeadingElement.js +156 -0
  104. package/lib/generated/idl/HTMLHtmlElement.js +156 -0
  105. package/lib/generated/idl/HTMLIFrameElement.js +689 -0
  106. package/lib/generated/idl/HTMLImageElement.js +906 -0
  107. package/lib/generated/idl/HTMLInputElement.js +1931 -0
  108. package/lib/generated/idl/HTMLLIElement.js +204 -0
  109. package/lib/generated/idl/HTMLLabelElement.js +182 -0
  110. package/lib/generated/idl/HTMLLegendElement.js +169 -0
  111. package/lib/generated/idl/HTMLLinkElement.js +555 -0
  112. package/lib/generated/idl/HTMLMapElement.js +171 -0
  113. package/lib/generated/idl/HTMLMarqueeElement.js +558 -0
  114. package/lib/generated/idl/HTMLMediaElement.js +900 -0
  115. package/lib/generated/idl/HTMLMenuElement.js +159 -0
  116. package/lib/generated/idl/HTMLMetaElement.js +279 -0
  117. package/lib/generated/idl/HTMLMeterElement.js +368 -0
  118. package/lib/generated/idl/HTMLModElement.js +217 -0
  119. package/lib/generated/idl/HTMLOListElement.js +284 -0
  120. package/lib/generated/idl/HTMLObjectElement.js +945 -0
  121. package/lib/generated/idl/HTMLOptGroupElement.js +200 -0
  122. package/lib/generated/idl/HTMLOptionElement.js +379 -0
  123. package/lib/generated/idl/HTMLOptionsCollection.js +513 -0
  124. package/lib/generated/idl/HTMLOutputElement.js +395 -0
  125. package/lib/generated/idl/HTMLParagraphElement.js +156 -0
  126. package/lib/generated/idl/HTMLParamElement.js +279 -0
  127. package/lib/generated/idl/HTMLPictureElement.js +111 -0
  128. package/lib/generated/idl/HTMLPreElement.js +163 -0
  129. package/lib/generated/idl/HTMLProgressElement.js +232 -0
  130. package/lib/generated/idl/HTMLQuoteElement.js +176 -0
  131. package/lib/generated/idl/HTMLScriptElement.js +472 -0
  132. package/lib/generated/idl/HTMLSelectElement.js +993 -0
  133. package/lib/generated/idl/HTMLSlotElement.js +195 -0
  134. package/lib/generated/idl/HTMLSourceElement.js +340 -0
  135. package/lib/generated/idl/HTMLSpanElement.js +111 -0
  136. package/lib/generated/idl/HTMLStyleElement.js +210 -0
  137. package/lib/generated/idl/HTMLTableCaptionElement.js +156 -0
  138. package/lib/generated/idl/HTMLTableCellElement.js +733 -0
  139. package/lib/generated/idl/HTMLTableColElement.js +376 -0
  140. package/lib/generated/idl/HTMLTableElement.js +802 -0
  141. package/lib/generated/idl/HTMLTableRowElement.js +417 -0
  142. package/lib/generated/idl/HTMLTableSectionElement.js +349 -0
  143. package/lib/generated/idl/HTMLTemplateElement.js +124 -0
  144. package/lib/generated/idl/HTMLTextAreaElement.js +1210 -0
  145. package/lib/generated/idl/HTMLTimeElement.js +156 -0
  146. package/lib/generated/idl/HTMLTitleElement.js +155 -0
  147. package/lib/generated/idl/HTMLTrackElement.js +366 -0
  148. package/lib/generated/idl/HTMLUListElement.js +200 -0
  149. package/lib/generated/idl/HTMLUnknownElement.js +109 -0
  150. package/lib/generated/idl/HTMLVideoElement.js +344 -0
  151. package/lib/generated/idl/HashChangeEvent.js +157 -0
  152. package/lib/generated/idl/HashChangeEventInit.js +50 -0
  153. package/lib/generated/idl/Headers.js +418 -0
  154. package/lib/generated/idl/History.js +266 -0
  155. package/lib/generated/idl/InputEvent.js +168 -0
  156. package/lib/generated/idl/InputEventInit.js +68 -0
  157. package/lib/generated/idl/KeyboardEvent.js +445 -0
  158. package/lib/generated/idl/KeyboardEventInit.js +116 -0
  159. package/lib/generated/idl/Location.js +404 -0
  160. package/lib/generated/idl/MessageEvent.js +317 -0
  161. package/lib/generated/idl/MessageEventInit.js +100 -0
  162. package/lib/generated/idl/MimeType.js +156 -0
  163. package/lib/generated/idl/MimeTypeArray.js +326 -0
  164. package/lib/generated/idl/MouseEvent.js +595 -0
  165. package/lib/generated/idl/MouseEventInit.js +189 -0
  166. package/lib/generated/idl/MutationCallback.js +34 -0
  167. package/lib/generated/idl/MutationObserver.js +178 -0
  168. package/lib/generated/idl/MutationObserverInit.js +121 -0
  169. package/lib/generated/idl/MutationRecord.js +229 -0
  170. package/lib/generated/idl/NamedNodeMap.js +529 -0
  171. package/lib/generated/idl/Navigator.js +326 -0
  172. package/lib/generated/idl/Node.js +765 -0
  173. package/lib/generated/idl/NodeFilter.js +75 -0
  174. package/lib/generated/idl/NodeIterator.js +207 -0
  175. package/lib/generated/idl/NodeList.js +302 -0
  176. package/lib/generated/idl/OnBeforeUnloadEventHandlerNonNull.js +42 -0
  177. package/lib/generated/idl/OnErrorEventHandlerNonNull.js +56 -0
  178. package/lib/generated/idl/PageTransitionEvent.js +144 -0
  179. package/lib/generated/idl/PageTransitionEventInit.js +35 -0
  180. package/lib/generated/idl/Performance.js +142 -0
  181. package/lib/generated/idl/Plugin.js +359 -0
  182. package/lib/generated/idl/PluginArray.js +336 -0
  183. package/lib/generated/idl/PointerEvent.js +324 -0
  184. package/lib/generated/idl/PointerEventInit.js +241 -0
  185. package/lib/generated/idl/PopStateEvent.js +144 -0
  186. package/lib/generated/idl/PopStateEventInit.js +32 -0
  187. package/lib/generated/idl/ProcessingInstruction.js +122 -0
  188. package/lib/generated/idl/ProgressEvent.js +170 -0
  189. package/lib/generated/idl/ProgressEventInit.js +65 -0
  190. package/lib/generated/idl/PromiseRejectionEvent.js +157 -0
  191. package/lib/generated/idl/PromiseRejectionEventInit.js +42 -0
  192. package/lib/generated/idl/RadioNodeList.js +296 -0
  193. package/lib/generated/idl/Range.js +643 -0
  194. package/lib/generated/idl/SVGAnimatedPreserveAspectRatio.js +136 -0
  195. package/lib/generated/idl/SVGAnimatedRect.js +136 -0
  196. package/lib/generated/idl/SVGAnimatedString.js +149 -0
  197. package/lib/generated/idl/SVGBoundingBoxOptions.js +64 -0
  198. package/lib/generated/idl/SVGDefsElement.js +109 -0
  199. package/lib/generated/idl/SVGDescElement.js +109 -0
  200. package/lib/generated/idl/SVGElement.js +3157 -0
  201. package/lib/generated/idl/SVGGElement.js +109 -0
  202. package/lib/generated/idl/SVGGraphicsElement.js +139 -0
  203. package/lib/generated/idl/SVGMetadataElement.js +109 -0
  204. package/lib/generated/idl/SVGNumber.js +132 -0
  205. package/lib/generated/idl/SVGPreserveAspectRatio.js +196 -0
  206. package/lib/generated/idl/SVGRect.js +210 -0
  207. package/lib/generated/idl/SVGSVGElement.js +786 -0
  208. package/lib/generated/idl/SVGStringList.js +511 -0
  209. package/lib/generated/idl/SVGSwitchElement.js +109 -0
  210. package/lib/generated/idl/SVGSymbolElement.js +146 -0
  211. package/lib/generated/idl/SVGTitleElement.js +109 -0
  212. package/lib/generated/idl/Screen.js +180 -0
  213. package/lib/generated/idl/ScrollBehavior.js +12 -0
  214. package/lib/generated/idl/ScrollIntoViewOptions.js +45 -0
  215. package/lib/generated/idl/ScrollLogicalPosition.js +14 -0
  216. package/lib/generated/idl/ScrollOptions.js +30 -0
  217. package/lib/generated/idl/ScrollRestoration.js +12 -0
  218. package/lib/generated/idl/Selection.js +571 -0
  219. package/lib/generated/idl/SelectionMode.js +12 -0
  220. package/lib/generated/idl/ShadowRoot.js +189 -0
  221. package/lib/generated/idl/ShadowRootInit.js +30 -0
  222. package/lib/generated/idl/ShadowRootMode.js +12 -0
  223. package/lib/generated/idl/StaticRange.js +123 -0
  224. package/lib/generated/idl/StaticRangeInit.js +72 -0
  225. package/lib/generated/idl/Storage.js +397 -0
  226. package/lib/generated/idl/StorageEvent.js +318 -0
  227. package/lib/generated/idl/StorageEventInit.js +99 -0
  228. package/lib/generated/idl/StyleSheetList.js +300 -0
  229. package/lib/generated/idl/SubmitEvent.js +144 -0
  230. package/lib/generated/idl/SubmitEventInit.js +36 -0
  231. package/lib/generated/idl/SupportedType.js +18 -0
  232. package/lib/generated/idl/Text.js +170 -0
  233. package/lib/generated/idl/TextDecodeOptions.js +28 -0
  234. package/lib/generated/idl/TextDecoder.js +211 -0
  235. package/lib/generated/idl/TextDecoderOptions.js +43 -0
  236. package/lib/generated/idl/TextEncoder.js +176 -0
  237. package/lib/generated/idl/TextEncoderEncodeIntoResult.js +42 -0
  238. package/lib/generated/idl/TextTrackKind.js +12 -0
  239. package/lib/generated/idl/TouchEvent.js +222 -0
  240. package/lib/generated/idl/TouchEventInit.js +89 -0
  241. package/lib/generated/idl/TransitionEvent.js +170 -0
  242. package/lib/generated/idl/TransitionEventInit.js +65 -0
  243. package/lib/generated/idl/TreeWalker.js +255 -0
  244. package/lib/generated/idl/UIEvent.js +235 -0
  245. package/lib/generated/idl/UIEventInit.js +62 -0
  246. package/lib/generated/idl/ValidityState.js +249 -0
  247. package/lib/generated/idl/VisibilityState.js +12 -0
  248. package/lib/generated/idl/VoidFunction.js +26 -0
  249. package/lib/generated/idl/WebSocket.js +480 -0
  250. package/lib/generated/idl/WheelEvent.js +191 -0
  251. package/lib/generated/idl/WheelEventInit.js +71 -0
  252. package/lib/generated/idl/XMLDocument.js +109 -0
  253. package/lib/generated/idl/XMLHttpRequest.js +663 -0
  254. package/lib/generated/idl/XMLHttpRequestEventTarget.js +334 -0
  255. package/lib/generated/idl/XMLHttpRequestResponseType.js +14 -0
  256. package/lib/generated/idl/XMLHttpRequestUpload.js +109 -0
  257. package/lib/generated/idl/XMLSerializer.js +132 -0
  258. package/lib/generated/idl/utils.js +252 -0
  259. package/lib/generated/js-globals.json +332 -0
  260. package/lib/jsdom/browser/Window.js +952 -0
  261. package/lib/jsdom/browser/default-stylesheet.css +415 -0
  262. package/lib/jsdom/browser/not-implemented.js +20 -0
  263. package/lib/jsdom/browser/parser/html.js +208 -0
  264. package/lib/jsdom/browser/parser/index.js +37 -0
  265. package/lib/jsdom/browser/parser/xml.js +202 -0
  266. package/lib/jsdom/browser/resources/async-resource-queue.js +114 -0
  267. package/lib/jsdom/browser/resources/decompress-interceptor.js +184 -0
  268. package/lib/jsdom/browser/resources/jsdom-dispatcher.js +756 -0
  269. package/lib/jsdom/browser/resources/per-document-resource-loader.js +116 -0
  270. package/lib/jsdom/browser/resources/request-interceptor.js +171 -0
  271. package/lib/jsdom/browser/resources/request-manager.js +33 -0
  272. package/lib/jsdom/browser/resources/resource-queue.js +142 -0
  273. package/lib/jsdom/browser/resources/stream-handler.js +89 -0
  274. package/lib/jsdom/level2/style.js +65 -0
  275. package/lib/jsdom/level3/xpath.js +1875 -0
  276. package/lib/jsdom/living/aborting/AbortController-impl.js +17 -0
  277. package/lib/jsdom/living/aborting/AbortSignal-impl.js +131 -0
  278. package/lib/jsdom/living/attributes/Attr-impl.js +60 -0
  279. package/lib/jsdom/living/attributes/NamedNodeMap-impl.js +78 -0
  280. package/lib/jsdom/living/attributes.js +312 -0
  281. package/lib/jsdom/living/constraint-validation/DefaultConstraintValidation-impl.js +75 -0
  282. package/lib/jsdom/living/constraint-validation/ValidityState-impl.js +66 -0
  283. package/lib/jsdom/living/crypto/Crypto-impl.js +68 -0
  284. package/lib/jsdom/living/cssom/StyleSheetList-impl.js +38 -0
  285. package/lib/jsdom/living/custom-elements/CustomElementRegistry-impl.js +279 -0
  286. package/lib/jsdom/living/custom-elements/ElementInternals-impl.js +56 -0
  287. package/lib/jsdom/living/deviceorientation/DeviceMotionEventAcceleration-impl.js +7 -0
  288. package/lib/jsdom/living/deviceorientation/DeviceMotionEventRotationRate-impl.js +7 -0
  289. package/lib/jsdom/living/documents.js +15 -0
  290. package/lib/jsdom/living/domparsing/DOMParser-impl.js +59 -0
  291. package/lib/jsdom/living/domparsing/InnerHTML-impl.js +30 -0
  292. package/lib/jsdom/living/domparsing/XMLSerializer-impl.js +18 -0
  293. package/lib/jsdom/living/domparsing/parse5-adapter-serialization.js +63 -0
  294. package/lib/jsdom/living/domparsing/serialization.js +36 -0
  295. package/lib/jsdom/living/encoding/TextDecoder-impl.js +25 -0
  296. package/lib/jsdom/living/encoding/TextEncoder-impl.js +26 -0
  297. package/lib/jsdom/living/events/BeforeUnloadEvent-impl.js +12 -0
  298. package/lib/jsdom/living/events/BlobEvent-impl.js +14 -0
  299. package/lib/jsdom/living/events/CloseEvent-impl.js +10 -0
  300. package/lib/jsdom/living/events/CompositionEvent-impl.js +20 -0
  301. package/lib/jsdom/living/events/CustomEvent-impl.js +21 -0
  302. package/lib/jsdom/living/events/DeviceMotionEvent-impl.js +49 -0
  303. package/lib/jsdom/living/events/DeviceOrientationEvent-impl.js +10 -0
  304. package/lib/jsdom/living/events/ErrorEvent-impl.js +14 -0
  305. package/lib/jsdom/living/events/Event-impl.js +195 -0
  306. package/lib/jsdom/living/events/EventModifierMixin-impl.js +24 -0
  307. package/lib/jsdom/living/events/EventTarget-impl.js +438 -0
  308. package/lib/jsdom/living/events/FocusEvent-impl.js +9 -0
  309. package/lib/jsdom/living/events/HashChangeEvent-impl.js +14 -0
  310. package/lib/jsdom/living/events/InputEvent-impl.js +11 -0
  311. package/lib/jsdom/living/events/KeyboardEvent-impl.js +29 -0
  312. package/lib/jsdom/living/events/MessageEvent-impl.js +25 -0
  313. package/lib/jsdom/living/events/MouseEvent-impl.js +72 -0
  314. package/lib/jsdom/living/events/PageTransitionEvent-impl.js +20 -0
  315. package/lib/jsdom/living/events/PointerEvent-impl.js +21 -0
  316. package/lib/jsdom/living/events/PopStateEvent-impl.js +9 -0
  317. package/lib/jsdom/living/events/ProgressEvent-impl.js +14 -0
  318. package/lib/jsdom/living/events/PromiseRejectionEvent-impl.js +14 -0
  319. package/lib/jsdom/living/events/StorageEvent-impl.js +26 -0
  320. package/lib/jsdom/living/events/SubmitEvent-impl.js +13 -0
  321. package/lib/jsdom/living/events/TouchEvent-impl.js +14 -0
  322. package/lib/jsdom/living/events/TransitionEvent-impl.js +10 -0
  323. package/lib/jsdom/living/events/UIEvent-impl.js +43 -0
  324. package/lib/jsdom/living/events/WheelEvent-impl.js +12 -0
  325. package/lib/jsdom/living/fetch/Headers-impl.js +173 -0
  326. package/lib/jsdom/living/fetch/header-list.js +158 -0
  327. package/lib/jsdom/living/fetch/header-types.js +205 -0
  328. package/lib/jsdom/living/fetch/header-utils.js +26 -0
  329. package/lib/jsdom/living/file-api/Blob-impl.js +125 -0
  330. package/lib/jsdom/living/file-api/File-impl.js +12 -0
  331. package/lib/jsdom/living/file-api/FileList-impl.js +15 -0
  332. package/lib/jsdom/living/file-api/FileReader-impl.js +148 -0
  333. package/lib/jsdom/living/geometry/DOMRect-impl.js +39 -0
  334. package/lib/jsdom/living/geometry/DOMRectReadOnly-impl.js +72 -0
  335. package/lib/jsdom/living/helpers/binary-data.js +63 -0
  336. package/lib/jsdom/living/helpers/by-id-cache.js +67 -0
  337. package/lib/jsdom/living/helpers/colors.js +245 -0
  338. package/lib/jsdom/living/helpers/create-element.js +329 -0
  339. package/lib/jsdom/living/helpers/create-event-accessor.js +209 -0
  340. package/lib/jsdom/living/helpers/custom-elements.js +272 -0
  341. package/lib/jsdom/living/helpers/dates-and-times.js +270 -0
  342. package/lib/jsdom/living/helpers/details.js +15 -0
  343. package/lib/jsdom/living/helpers/encoding.js +60 -0
  344. package/lib/jsdom/living/helpers/events.js +24 -0
  345. package/lib/jsdom/living/helpers/focusing.js +104 -0
  346. package/lib/jsdom/living/helpers/form-controls.js +309 -0
  347. package/lib/jsdom/living/helpers/html-constructor.js +78 -0
  348. package/lib/jsdom/living/helpers/internal-constants.js +12 -0
  349. package/lib/jsdom/living/helpers/is-window.js +18 -0
  350. package/lib/jsdom/living/helpers/iterable-weak-set.js +48 -0
  351. package/lib/jsdom/living/helpers/json.js +7 -0
  352. package/lib/jsdom/living/helpers/mutation-observers.js +198 -0
  353. package/lib/jsdom/living/helpers/namespaces.js +16 -0
  354. package/lib/jsdom/living/helpers/node.js +108 -0
  355. package/lib/jsdom/living/helpers/number-and-date-inputs.js +195 -0
  356. package/lib/jsdom/living/helpers/ordered-set.js +104 -0
  357. package/lib/jsdom/living/helpers/page-transition-event.js +9 -0
  358. package/lib/jsdom/living/helpers/runtime-script-errors.js +75 -0
  359. package/lib/jsdom/living/helpers/shadow-dom.js +285 -0
  360. package/lib/jsdom/living/helpers/strings.js +168 -0
  361. package/lib/jsdom/living/helpers/style-rules.js +404 -0
  362. package/lib/jsdom/living/helpers/stylesheets.js +148 -0
  363. package/lib/jsdom/living/helpers/svg/basic-types.js +41 -0
  364. package/lib/jsdom/living/helpers/svg/render.js +46 -0
  365. package/lib/jsdom/living/helpers/system-colors.js +147 -0
  366. package/lib/jsdom/living/helpers/text.js +19 -0
  367. package/lib/jsdom/living/helpers/traversal.js +72 -0
  368. package/lib/jsdom/living/helpers/validate-names.js +65 -0
  369. package/lib/jsdom/living/hr-time/Performance-impl.js +22 -0
  370. package/lib/jsdom/living/interfaces.js +252 -0
  371. package/lib/jsdom/living/mutation-observer/MutationObserver-impl.js +95 -0
  372. package/lib/jsdom/living/mutation-observer/MutationRecord-impl.js +37 -0
  373. package/lib/jsdom/living/navigator/MimeType-impl.js +3 -0
  374. package/lib/jsdom/living/navigator/MimeTypeArray-impl.js +21 -0
  375. package/lib/jsdom/living/navigator/Navigator-impl.js +29 -0
  376. package/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
  377. package/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
  378. package/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
  379. package/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
  380. package/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
  381. package/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +8 -0
  382. package/lib/jsdom/living/navigator/Plugin-impl.js +3 -0
  383. package/lib/jsdom/living/navigator/PluginArray-impl.js +23 -0
  384. package/lib/jsdom/living/node-document-position.js +10 -0
  385. package/lib/jsdom/living/node-type.js +16 -0
  386. package/lib/jsdom/living/node.js +331 -0
  387. package/lib/jsdom/living/nodes/CDATASection-impl.js +16 -0
  388. package/lib/jsdom/living/nodes/CharacterData-impl.js +118 -0
  389. package/lib/jsdom/living/nodes/ChildNode-impl.js +80 -0
  390. package/lib/jsdom/living/nodes/Comment-impl.js +20 -0
  391. package/lib/jsdom/living/nodes/DOMImplementation-impl.js +120 -0
  392. package/lib/jsdom/living/nodes/DOMStringMap-impl.js +64 -0
  393. package/lib/jsdom/living/nodes/DOMTokenList-impl.js +171 -0
  394. package/lib/jsdom/living/nodes/Document-impl.js +1000 -0
  395. package/lib/jsdom/living/nodes/DocumentFragment-impl.js +44 -0
  396. package/lib/jsdom/living/nodes/DocumentOrShadowRoot-impl.js +28 -0
  397. package/lib/jsdom/living/nodes/DocumentType-impl.js +24 -0
  398. package/lib/jsdom/living/nodes/Element-impl.js +584 -0
  399. package/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +22 -0
  400. package/lib/jsdom/living/nodes/ElementContentEditable-impl.js +7 -0
  401. package/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +81 -0
  402. package/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +50 -0
  403. package/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +43 -0
  404. package/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
  405. package/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
  406. package/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +44 -0
  407. package/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +12 -0
  408. package/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +79 -0
  409. package/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +136 -0
  410. package/lib/jsdom/living/nodes/HTMLCollection-impl.js +96 -0
  411. package/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
  412. package/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
  413. package/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +20 -0
  414. package/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js +35 -0
  415. package/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
  416. package/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
  417. package/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
  418. package/lib/jsdom/living/nodes/HTMLElement-impl.js +211 -0
  419. package/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +8 -0
  420. package/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +43 -0
  421. package/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
  422. package/lib/jsdom/living/nodes/HTMLFormControlsCollection-impl.js +33 -0
  423. package/lib/jsdom/living/nodes/HTMLFormElement-impl.js +248 -0
  424. package/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +266 -0
  425. package/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +12 -0
  426. package/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
  427. package/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
  428. package/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
  429. package/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
  430. package/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +368 -0
  431. package/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
  432. package/lib/jsdom/living/nodes/HTMLImageElement-impl.js +127 -0
  433. package/lib/jsdom/living/nodes/HTMLInputElement-impl.js +1097 -0
  434. package/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
  435. package/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +94 -0
  436. package/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +18 -0
  437. package/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +107 -0
  438. package/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
  439. package/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js +9 -0
  440. package/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +138 -0
  441. package/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
  442. package/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
  443. package/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +180 -0
  444. package/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
  445. package/lib/jsdom/living/nodes/HTMLOListElement-impl.js +22 -0
  446. package/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +26 -0
  447. package/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
  448. package/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +146 -0
  449. package/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js +110 -0
  450. package/lib/jsdom/living/nodes/HTMLOrSVGElement-impl.js +88 -0
  451. package/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +88 -0
  452. package/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
  453. package/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
  454. package/lib/jsdom/living/nodes/HTMLPictureElement-impl.js +9 -0
  455. package/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
  456. package/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +72 -0
  457. package/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
  458. package/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +255 -0
  459. package/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +283 -0
  460. package/lib/jsdom/living/nodes/HTMLSlotElement-impl.js +59 -0
  461. package/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +8 -0
  462. package/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
  463. package/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +76 -0
  464. package/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
  465. package/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +73 -0
  466. package/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
  467. package/lib/jsdom/living/nodes/HTMLTableElement-impl.js +236 -0
  468. package/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +88 -0
  469. package/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +61 -0
  470. package/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +67 -0
  471. package/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +244 -0
  472. package/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
  473. package/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
  474. package/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +13 -0
  475. package/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
  476. package/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
  477. package/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +17 -0
  478. package/lib/jsdom/living/nodes/LinkStyle-impl.js +2 -0
  479. package/lib/jsdom/living/nodes/Node-impl.js +1179 -0
  480. package/lib/jsdom/living/nodes/NodeList-impl.js +43 -0
  481. package/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
  482. package/lib/jsdom/living/nodes/NonElementParentNode-impl.js +11 -0
  483. package/lib/jsdom/living/nodes/ParentNode-impl.js +90 -0
  484. package/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
  485. package/lib/jsdom/living/nodes/RadioNodeList-impl.js +49 -0
  486. package/lib/jsdom/living/nodes/SVGDefsElement-impl.js +9 -0
  487. package/lib/jsdom/living/nodes/SVGDescElement-impl.js +9 -0
  488. package/lib/jsdom/living/nodes/SVGElement-impl.js +64 -0
  489. package/lib/jsdom/living/nodes/SVGGElement-impl.js +9 -0
  490. package/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js +16 -0
  491. package/lib/jsdom/living/nodes/SVGMetadataElement-impl.js +9 -0
  492. package/lib/jsdom/living/nodes/SVGSVGElement-impl.js +40 -0
  493. package/lib/jsdom/living/nodes/SVGSwitchElement-impl.js +9 -0
  494. package/lib/jsdom/living/nodes/SVGSymbolElement-impl.js +9 -0
  495. package/lib/jsdom/living/nodes/SVGTests-impl.js +42 -0
  496. package/lib/jsdom/living/nodes/SVGTitleElement-impl.js +9 -0
  497. package/lib/jsdom/living/nodes/ShadowRoot-impl.js +41 -0
  498. package/lib/jsdom/living/nodes/Slotable-impl.js +48 -0
  499. package/lib/jsdom/living/nodes/Text-impl.js +96 -0
  500. package/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +14 -0
  501. package/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
  502. package/lib/jsdom/living/range/AbstractRange-impl.js +43 -0
  503. package/lib/jsdom/living/range/Range-impl.js +902 -0
  504. package/lib/jsdom/living/range/StaticRange-impl.js +39 -0
  505. package/lib/jsdom/living/range/boundary-point.js +47 -0
  506. package/lib/jsdom/living/selection/Selection-impl.js +358 -0
  507. package/lib/jsdom/living/svg/SVGAnimatedPreserveAspectRatio-impl.js +24 -0
  508. package/lib/jsdom/living/svg/SVGAnimatedRect-impl.js +122 -0
  509. package/lib/jsdom/living/svg/SVGAnimatedString-impl.js +42 -0
  510. package/lib/jsdom/living/svg/SVGListBase.js +195 -0
  511. package/lib/jsdom/living/svg/SVGNumber-impl.js +48 -0
  512. package/lib/jsdom/living/svg/SVGPreserveAspectRatio-impl.js +100 -0
  513. package/lib/jsdom/living/svg/SVGRect-impl.js +143 -0
  514. package/lib/jsdom/living/svg/SVGStringList-impl.js +16 -0
  515. package/lib/jsdom/living/traversal/NodeIterator-impl.js +107 -0
  516. package/lib/jsdom/living/traversal/TreeWalker-impl.js +217 -0
  517. package/lib/jsdom/living/traversal/helpers.js +44 -0
  518. package/lib/jsdom/living/webidl/DOMException-impl.js +46 -0
  519. package/lib/jsdom/living/websockets/WebSocket-impl.js +211 -0
  520. package/lib/jsdom/living/webstorage/Storage-impl.js +102 -0
  521. package/lib/jsdom/living/window/BarProp-impl.js +10 -0
  522. package/lib/jsdom/living/window/External-impl.js +9 -0
  523. package/lib/jsdom/living/window/History-impl.js +148 -0
  524. package/lib/jsdom/living/window/Location-impl.js +227 -0
  525. package/lib/jsdom/living/window/Screen-impl.js +13 -0
  526. package/lib/jsdom/living/window/SessionHistory.js +163 -0
  527. package/lib/jsdom/living/window/navigation.js +87 -0
  528. package/lib/jsdom/living/window-properties.js +241 -0
  529. package/lib/jsdom/living/xhr/FormData-impl.js +191 -0
  530. package/lib/jsdom/living/xhr/XMLHttpRequest-impl.js +1057 -0
  531. package/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js +17 -0
  532. package/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js +4 -0
  533. package/lib/jsdom/living/xhr/multipart-form-data.js +99 -0
  534. package/lib/jsdom/living/xhr/xhr-sync-worker.js +51 -0
  535. package/lib/jsdom/living/xhr/xhr-utils.js +206 -0
  536. package/lib/jsdom/utils.js +105 -0
  537. package/lib/jsdom/virtual-console.js +46 -0
  538. package/package.json +143 -0
@@ -0,0 +1,663 @@
1
+ "use strict";
2
+
3
+ const conversions = require("webidl-conversions");
4
+ const utils = require("./utils.js");
5
+
6
+ const Document = require("./Document.js");
7
+ const Blob = require("./Blob.js");
8
+ const FormData = require("./FormData.js");
9
+ const EventHandlerNonNull = require("./EventHandlerNonNull.js");
10
+ const XMLHttpRequestResponseType = require("./XMLHttpRequestResponseType.js");
11
+ const implSymbol = utils.implSymbol;
12
+ const ctorRegistrySymbol = utils.ctorRegistrySymbol;
13
+ const XMLHttpRequestEventTarget = require("./XMLHttpRequestEventTarget.js");
14
+
15
+ const interfaceName = "XMLHttpRequest";
16
+
17
+ exports.is = value => {
18
+ return utils.isObject(value) && Object.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;
19
+ };
20
+ exports.isImpl = value => {
21
+ return utils.isObject(value) && value instanceof Impl.implementation;
22
+ };
23
+ exports.convert = (globalObject, value, { context = "The provided value" } = {}) => {
24
+ if (exports.is(value)) {
25
+ return utils.implForWrapper(value);
26
+ }
27
+ throw new globalObject.TypeError(`${context} is not of type 'XMLHttpRequest'.`);
28
+ };
29
+
30
+ function makeWrapper(globalObject, newTarget) {
31
+ let proto;
32
+ if (newTarget !== undefined) {
33
+ proto = newTarget.prototype;
34
+ }
35
+
36
+ if (!utils.isObject(proto)) {
37
+ proto = globalObject[ctorRegistrySymbol]["XMLHttpRequest"].prototype;
38
+ }
39
+
40
+ return Object.create(proto);
41
+ }
42
+
43
+ exports.create = (globalObject, constructorArgs, privateData) => {
44
+ const wrapper = makeWrapper(globalObject);
45
+ return exports.setup(wrapper, globalObject, constructorArgs, privateData);
46
+ };
47
+
48
+ exports.createImpl = (globalObject, constructorArgs, privateData) => {
49
+ const wrapper = exports.create(globalObject, constructorArgs, privateData);
50
+ return utils.implForWrapper(wrapper);
51
+ };
52
+
53
+ exports._internalSetup = (wrapper, globalObject) => {
54
+ XMLHttpRequestEventTarget._internalSetup(wrapper, globalObject);
55
+ };
56
+
57
+ exports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {
58
+ privateData.wrapper = wrapper;
59
+
60
+ exports._internalSetup(wrapper, globalObject);
61
+ Object.defineProperty(wrapper, implSymbol, {
62
+ value: new Impl.implementation(globalObject, constructorArgs, privateData),
63
+ configurable: true
64
+ });
65
+
66
+ wrapper[implSymbol][utils.wrapperSymbol] = wrapper;
67
+ if (Impl.init) {
68
+ Impl.init(wrapper[implSymbol]);
69
+ }
70
+ return wrapper;
71
+ };
72
+
73
+ exports.new = (globalObject, newTarget) => {
74
+ const wrapper = makeWrapper(globalObject, newTarget);
75
+
76
+ exports._internalSetup(wrapper, globalObject);
77
+ Object.defineProperty(wrapper, implSymbol, {
78
+ value: Object.create(Impl.implementation.prototype),
79
+ configurable: true
80
+ });
81
+
82
+ wrapper[implSymbol][utils.wrapperSymbol] = wrapper;
83
+ if (Impl.init) {
84
+ Impl.init(wrapper[implSymbol]);
85
+ }
86
+ return wrapper[implSymbol];
87
+ };
88
+
89
+ const exposed = new Set(["Window", "DedicatedWorker", "SharedWorker"]);
90
+
91
+ exports.install = (globalObject, globalNames) => {
92
+ if (!globalNames.some(globalName => exposed.has(globalName))) {
93
+ return;
94
+ }
95
+
96
+ const ctorRegistry = utils.initCtorRegistry(globalObject);
97
+ class XMLHttpRequest extends globalObject.XMLHttpRequestEventTarget {
98
+ constructor() {
99
+ return exports.setup(Object.create(new.target.prototype), globalObject, undefined);
100
+ }
101
+
102
+ open(method, url) {
103
+ const esValue = this !== null && this !== undefined ? this : globalObject;
104
+ if (!exports.is(esValue)) {
105
+ throw new globalObject.TypeError("'open' called on an object that is not a valid instance of XMLHttpRequest.");
106
+ }
107
+
108
+ if (arguments.length < 2) {
109
+ throw new globalObject.TypeError(
110
+ `Failed to execute 'open' on 'XMLHttpRequest': 2 arguments required, but only ${arguments.length} present.`
111
+ );
112
+ }
113
+ const args = [];
114
+ switch (arguments.length) {
115
+ case 2:
116
+ {
117
+ let curArg = arguments[0];
118
+ curArg = conversions["ByteString"](curArg, {
119
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 1",
120
+ globals: globalObject
121
+ });
122
+ args.push(curArg);
123
+ }
124
+ {
125
+ let curArg = arguments[1];
126
+ curArg = conversions["USVString"](curArg, {
127
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 2",
128
+ globals: globalObject
129
+ });
130
+ args.push(curArg);
131
+ }
132
+ break;
133
+ case 3:
134
+ {
135
+ let curArg = arguments[0];
136
+ curArg = conversions["ByteString"](curArg, {
137
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 1",
138
+ globals: globalObject
139
+ });
140
+ args.push(curArg);
141
+ }
142
+ {
143
+ let curArg = arguments[1];
144
+ curArg = conversions["USVString"](curArg, {
145
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 2",
146
+ globals: globalObject
147
+ });
148
+ args.push(curArg);
149
+ }
150
+ {
151
+ let curArg = arguments[2];
152
+ curArg = conversions["boolean"](curArg, {
153
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 3",
154
+ globals: globalObject
155
+ });
156
+ args.push(curArg);
157
+ }
158
+ break;
159
+ case 4:
160
+ {
161
+ let curArg = arguments[0];
162
+ curArg = conversions["ByteString"](curArg, {
163
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 1",
164
+ globals: globalObject
165
+ });
166
+ args.push(curArg);
167
+ }
168
+ {
169
+ let curArg = arguments[1];
170
+ curArg = conversions["USVString"](curArg, {
171
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 2",
172
+ globals: globalObject
173
+ });
174
+ args.push(curArg);
175
+ }
176
+ {
177
+ let curArg = arguments[2];
178
+ curArg = conversions["boolean"](curArg, {
179
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 3",
180
+ globals: globalObject
181
+ });
182
+ args.push(curArg);
183
+ }
184
+ {
185
+ let curArg = arguments[3];
186
+ if (curArg !== undefined) {
187
+ if (curArg === null || curArg === undefined) {
188
+ curArg = null;
189
+ } else {
190
+ curArg = conversions["USVString"](curArg, {
191
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 4",
192
+ globals: globalObject
193
+ });
194
+ }
195
+ } else {
196
+ curArg = null;
197
+ }
198
+ args.push(curArg);
199
+ }
200
+ break;
201
+ default:
202
+ {
203
+ let curArg = arguments[0];
204
+ curArg = conversions["ByteString"](curArg, {
205
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 1",
206
+ globals: globalObject
207
+ });
208
+ args.push(curArg);
209
+ }
210
+ {
211
+ let curArg = arguments[1];
212
+ curArg = conversions["USVString"](curArg, {
213
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 2",
214
+ globals: globalObject
215
+ });
216
+ args.push(curArg);
217
+ }
218
+ {
219
+ let curArg = arguments[2];
220
+ curArg = conversions["boolean"](curArg, {
221
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 3",
222
+ globals: globalObject
223
+ });
224
+ args.push(curArg);
225
+ }
226
+ {
227
+ let curArg = arguments[3];
228
+ if (curArg !== undefined) {
229
+ if (curArg === null || curArg === undefined) {
230
+ curArg = null;
231
+ } else {
232
+ curArg = conversions["USVString"](curArg, {
233
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 4",
234
+ globals: globalObject
235
+ });
236
+ }
237
+ } else {
238
+ curArg = null;
239
+ }
240
+ args.push(curArg);
241
+ }
242
+ {
243
+ let curArg = arguments[4];
244
+ if (curArg !== undefined) {
245
+ if (curArg === null || curArg === undefined) {
246
+ curArg = null;
247
+ } else {
248
+ curArg = conversions["USVString"](curArg, {
249
+ context: "Failed to execute 'open' on 'XMLHttpRequest': parameter 5",
250
+ globals: globalObject
251
+ });
252
+ }
253
+ } else {
254
+ curArg = null;
255
+ }
256
+ args.push(curArg);
257
+ }
258
+ }
259
+ return esValue[implSymbol].open(...args);
260
+ }
261
+
262
+ setRequestHeader(name, value) {
263
+ const esValue = this !== null && this !== undefined ? this : globalObject;
264
+ if (!exports.is(esValue)) {
265
+ throw new globalObject.TypeError(
266
+ "'setRequestHeader' called on an object that is not a valid instance of XMLHttpRequest."
267
+ );
268
+ }
269
+
270
+ if (arguments.length < 2) {
271
+ throw new globalObject.TypeError(
272
+ `Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 2 arguments required, but only ${arguments.length} present.`
273
+ );
274
+ }
275
+ const args = [];
276
+ {
277
+ let curArg = arguments[0];
278
+ curArg = conversions["ByteString"](curArg, {
279
+ context: "Failed to execute 'setRequestHeader' on 'XMLHttpRequest': parameter 1",
280
+ globals: globalObject
281
+ });
282
+ args.push(curArg);
283
+ }
284
+ {
285
+ let curArg = arguments[1];
286
+ curArg = conversions["ByteString"](curArg, {
287
+ context: "Failed to execute 'setRequestHeader' on 'XMLHttpRequest': parameter 2",
288
+ globals: globalObject
289
+ });
290
+ args.push(curArg);
291
+ }
292
+ return esValue[implSymbol].setRequestHeader(...args);
293
+ }
294
+
295
+ send() {
296
+ const esValue = this !== null && this !== undefined ? this : globalObject;
297
+ if (!exports.is(esValue)) {
298
+ throw new globalObject.TypeError("'send' called on an object that is not a valid instance of XMLHttpRequest.");
299
+ }
300
+ const args = [];
301
+ {
302
+ let curArg = arguments[0];
303
+ if (curArg !== undefined) {
304
+ if (curArg === null || curArg === undefined) {
305
+ curArg = null;
306
+ } else {
307
+ if (Document.is(curArg) || Blob.is(curArg) || FormData.is(curArg)) {
308
+ curArg = utils.implForWrapper(curArg);
309
+ } else if (utils.isArrayBuffer(curArg)) {
310
+ curArg = conversions["ArrayBuffer"](curArg, {
311
+ context: "Failed to execute 'send' on 'XMLHttpRequest': parameter 1",
312
+ globals: globalObject
313
+ });
314
+ } else if (ArrayBuffer.isView(curArg)) {
315
+ curArg = conversions["ArrayBufferView"](curArg, {
316
+ context: "Failed to execute 'send' on 'XMLHttpRequest': parameter 1",
317
+ globals: globalObject
318
+ });
319
+ } else {
320
+ curArg = conversions["USVString"](curArg, {
321
+ context: "Failed to execute 'send' on 'XMLHttpRequest': parameter 1",
322
+ globals: globalObject
323
+ });
324
+ }
325
+ }
326
+ } else {
327
+ curArg = null;
328
+ }
329
+ args.push(curArg);
330
+ }
331
+ return esValue[implSymbol].send(...args);
332
+ }
333
+
334
+ abort() {
335
+ const esValue = this !== null && this !== undefined ? this : globalObject;
336
+ if (!exports.is(esValue)) {
337
+ throw new globalObject.TypeError("'abort' called on an object that is not a valid instance of XMLHttpRequest.");
338
+ }
339
+
340
+ return esValue[implSymbol].abort();
341
+ }
342
+
343
+ getResponseHeader(name) {
344
+ const esValue = this !== null && this !== undefined ? this : globalObject;
345
+ if (!exports.is(esValue)) {
346
+ throw new globalObject.TypeError(
347
+ "'getResponseHeader' called on an object that is not a valid instance of XMLHttpRequest."
348
+ );
349
+ }
350
+
351
+ if (arguments.length < 1) {
352
+ throw new globalObject.TypeError(
353
+ `Failed to execute 'getResponseHeader' on 'XMLHttpRequest': 1 argument required, but only ${arguments.length} present.`
354
+ );
355
+ }
356
+ const args = [];
357
+ {
358
+ let curArg = arguments[0];
359
+ curArg = conversions["ByteString"](curArg, {
360
+ context: "Failed to execute 'getResponseHeader' on 'XMLHttpRequest': parameter 1",
361
+ globals: globalObject
362
+ });
363
+ args.push(curArg);
364
+ }
365
+ return esValue[implSymbol].getResponseHeader(...args);
366
+ }
367
+
368
+ getAllResponseHeaders() {
369
+ const esValue = this !== null && this !== undefined ? this : globalObject;
370
+ if (!exports.is(esValue)) {
371
+ throw new globalObject.TypeError(
372
+ "'getAllResponseHeaders' called on an object that is not a valid instance of XMLHttpRequest."
373
+ );
374
+ }
375
+
376
+ return esValue[implSymbol].getAllResponseHeaders();
377
+ }
378
+
379
+ overrideMimeType(mime) {
380
+ const esValue = this !== null && this !== undefined ? this : globalObject;
381
+ if (!exports.is(esValue)) {
382
+ throw new globalObject.TypeError(
383
+ "'overrideMimeType' called on an object that is not a valid instance of XMLHttpRequest."
384
+ );
385
+ }
386
+
387
+ if (arguments.length < 1) {
388
+ throw new globalObject.TypeError(
389
+ `Failed to execute 'overrideMimeType' on 'XMLHttpRequest': 1 argument required, but only ${arguments.length} present.`
390
+ );
391
+ }
392
+ const args = [];
393
+ {
394
+ let curArg = arguments[0];
395
+ curArg = conversions["DOMString"](curArg, {
396
+ context: "Failed to execute 'overrideMimeType' on 'XMLHttpRequest': parameter 1",
397
+ globals: globalObject
398
+ });
399
+ args.push(curArg);
400
+ }
401
+ return esValue[implSymbol].overrideMimeType(...args);
402
+ }
403
+
404
+ get onreadystatechange() {
405
+ const esValue = this !== null && this !== undefined ? this : globalObject;
406
+
407
+ if (!exports.is(esValue)) {
408
+ throw new globalObject.TypeError(
409
+ "'get onreadystatechange' called on an object that is not a valid instance of XMLHttpRequest."
410
+ );
411
+ }
412
+
413
+ return utils.tryWrapperForImpl(esValue[implSymbol]["onreadystatechange"]);
414
+ }
415
+
416
+ set onreadystatechange(V) {
417
+ const esValue = this !== null && this !== undefined ? this : globalObject;
418
+
419
+ if (!exports.is(esValue)) {
420
+ throw new globalObject.TypeError(
421
+ "'set onreadystatechange' called on an object that is not a valid instance of XMLHttpRequest."
422
+ );
423
+ }
424
+
425
+ if (!utils.isObject(V)) {
426
+ V = null;
427
+ } else {
428
+ V = EventHandlerNonNull.convert(globalObject, V, {
429
+ context: "Failed to set the 'onreadystatechange' property on 'XMLHttpRequest': The provided value"
430
+ });
431
+ }
432
+ esValue[implSymbol]["onreadystatechange"] = V;
433
+ }
434
+
435
+ get readyState() {
436
+ const esValue = this !== null && this !== undefined ? this : globalObject;
437
+
438
+ if (!exports.is(esValue)) {
439
+ throw new globalObject.TypeError(
440
+ "'get readyState' called on an object that is not a valid instance of XMLHttpRequest."
441
+ );
442
+ }
443
+
444
+ return esValue[implSymbol]["readyState"];
445
+ }
446
+
447
+ get timeout() {
448
+ const esValue = this !== null && this !== undefined ? this : globalObject;
449
+
450
+ if (!exports.is(esValue)) {
451
+ throw new globalObject.TypeError(
452
+ "'get timeout' called on an object that is not a valid instance of XMLHttpRequest."
453
+ );
454
+ }
455
+
456
+ return esValue[implSymbol]["timeout"];
457
+ }
458
+
459
+ set timeout(V) {
460
+ const esValue = this !== null && this !== undefined ? this : globalObject;
461
+
462
+ if (!exports.is(esValue)) {
463
+ throw new globalObject.TypeError(
464
+ "'set timeout' called on an object that is not a valid instance of XMLHttpRequest."
465
+ );
466
+ }
467
+
468
+ V = conversions["unsigned long"](V, {
469
+ context: "Failed to set the 'timeout' property on 'XMLHttpRequest': The provided value",
470
+ globals: globalObject
471
+ });
472
+
473
+ esValue[implSymbol]["timeout"] = V;
474
+ }
475
+
476
+ get withCredentials() {
477
+ const esValue = this !== null && this !== undefined ? this : globalObject;
478
+
479
+ if (!exports.is(esValue)) {
480
+ throw new globalObject.TypeError(
481
+ "'get withCredentials' called on an object that is not a valid instance of XMLHttpRequest."
482
+ );
483
+ }
484
+
485
+ return esValue[implSymbol]["withCredentials"];
486
+ }
487
+
488
+ set withCredentials(V) {
489
+ const esValue = this !== null && this !== undefined ? this : globalObject;
490
+
491
+ if (!exports.is(esValue)) {
492
+ throw new globalObject.TypeError(
493
+ "'set withCredentials' called on an object that is not a valid instance of XMLHttpRequest."
494
+ );
495
+ }
496
+
497
+ V = conversions["boolean"](V, {
498
+ context: "Failed to set the 'withCredentials' property on 'XMLHttpRequest': The provided value",
499
+ globals: globalObject
500
+ });
501
+
502
+ esValue[implSymbol]["withCredentials"] = V;
503
+ }
504
+
505
+ get upload() {
506
+ const esValue = this !== null && this !== undefined ? this : globalObject;
507
+
508
+ if (!exports.is(esValue)) {
509
+ throw new globalObject.TypeError(
510
+ "'get upload' called on an object that is not a valid instance of XMLHttpRequest."
511
+ );
512
+ }
513
+
514
+ return utils.getSameObject(this, "upload", () => {
515
+ return utils.tryWrapperForImpl(esValue[implSymbol]["upload"]);
516
+ });
517
+ }
518
+
519
+ get responseURL() {
520
+ const esValue = this !== null && this !== undefined ? this : globalObject;
521
+
522
+ if (!exports.is(esValue)) {
523
+ throw new globalObject.TypeError(
524
+ "'get responseURL' called on an object that is not a valid instance of XMLHttpRequest."
525
+ );
526
+ }
527
+
528
+ return esValue[implSymbol]["responseURL"];
529
+ }
530
+
531
+ get status() {
532
+ const esValue = this !== null && this !== undefined ? this : globalObject;
533
+
534
+ if (!exports.is(esValue)) {
535
+ throw new globalObject.TypeError(
536
+ "'get status' called on an object that is not a valid instance of XMLHttpRequest."
537
+ );
538
+ }
539
+
540
+ return esValue[implSymbol]["status"];
541
+ }
542
+
543
+ get statusText() {
544
+ const esValue = this !== null && this !== undefined ? this : globalObject;
545
+
546
+ if (!exports.is(esValue)) {
547
+ throw new globalObject.TypeError(
548
+ "'get statusText' called on an object that is not a valid instance of XMLHttpRequest."
549
+ );
550
+ }
551
+
552
+ return esValue[implSymbol]["statusText"];
553
+ }
554
+
555
+ get responseType() {
556
+ const esValue = this !== null && this !== undefined ? this : globalObject;
557
+
558
+ if (!exports.is(esValue)) {
559
+ throw new globalObject.TypeError(
560
+ "'get responseType' called on an object that is not a valid instance of XMLHttpRequest."
561
+ );
562
+ }
563
+
564
+ return utils.tryWrapperForImpl(esValue[implSymbol]["responseType"]);
565
+ }
566
+
567
+ set responseType(V) {
568
+ const esValue = this !== null && this !== undefined ? this : globalObject;
569
+
570
+ if (!exports.is(esValue)) {
571
+ throw new globalObject.TypeError(
572
+ "'set responseType' called on an object that is not a valid instance of XMLHttpRequest."
573
+ );
574
+ }
575
+
576
+ V = `${V}`;
577
+ if (!XMLHttpRequestResponseType.enumerationValues.has(V)) {
578
+ return;
579
+ }
580
+
581
+ esValue[implSymbol]["responseType"] = V;
582
+ }
583
+
584
+ get response() {
585
+ const esValue = this !== null && this !== undefined ? this : globalObject;
586
+
587
+ if (!exports.is(esValue)) {
588
+ throw new globalObject.TypeError(
589
+ "'get response' called on an object that is not a valid instance of XMLHttpRequest."
590
+ );
591
+ }
592
+
593
+ return esValue[implSymbol]["response"];
594
+ }
595
+
596
+ get responseText() {
597
+ const esValue = this !== null && this !== undefined ? this : globalObject;
598
+
599
+ if (!exports.is(esValue)) {
600
+ throw new globalObject.TypeError(
601
+ "'get responseText' called on an object that is not a valid instance of XMLHttpRequest."
602
+ );
603
+ }
604
+
605
+ return esValue[implSymbol]["responseText"];
606
+ }
607
+
608
+ get responseXML() {
609
+ const esValue = this !== null && this !== undefined ? this : globalObject;
610
+
611
+ if (!exports.is(esValue)) {
612
+ throw new globalObject.TypeError(
613
+ "'get responseXML' called on an object that is not a valid instance of XMLHttpRequest."
614
+ );
615
+ }
616
+
617
+ return utils.tryWrapperForImpl(esValue[implSymbol]["responseXML"]);
618
+ }
619
+ }
620
+ Object.defineProperties(XMLHttpRequest.prototype, {
621
+ open: { enumerable: true },
622
+ setRequestHeader: { enumerable: true },
623
+ send: { enumerable: true },
624
+ abort: { enumerable: true },
625
+ getResponseHeader: { enumerable: true },
626
+ getAllResponseHeaders: { enumerable: true },
627
+ overrideMimeType: { enumerable: true },
628
+ onreadystatechange: { enumerable: true },
629
+ readyState: { enumerable: true },
630
+ timeout: { enumerable: true },
631
+ withCredentials: { enumerable: true },
632
+ upload: { enumerable: true },
633
+ responseURL: { enumerable: true },
634
+ status: { enumerable: true },
635
+ statusText: { enumerable: true },
636
+ responseType: { enumerable: true },
637
+ response: { enumerable: true },
638
+ responseText: { enumerable: true },
639
+ responseXML: { enumerable: true },
640
+ [Symbol.toStringTag]: { value: "XMLHttpRequest", configurable: true },
641
+ UNSENT: { value: 0, enumerable: true },
642
+ OPENED: { value: 1, enumerable: true },
643
+ HEADERS_RECEIVED: { value: 2, enumerable: true },
644
+ LOADING: { value: 3, enumerable: true },
645
+ DONE: { value: 4, enumerable: true }
646
+ });
647
+ Object.defineProperties(XMLHttpRequest, {
648
+ UNSENT: { value: 0, enumerable: true },
649
+ OPENED: { value: 1, enumerable: true },
650
+ HEADERS_RECEIVED: { value: 2, enumerable: true },
651
+ LOADING: { value: 3, enumerable: true },
652
+ DONE: { value: 4, enumerable: true }
653
+ });
654
+ ctorRegistry[interfaceName] = XMLHttpRequest;
655
+
656
+ Object.defineProperty(globalObject, interfaceName, {
657
+ configurable: true,
658
+ writable: true,
659
+ value: XMLHttpRequest
660
+ });
661
+ };
662
+
663
+ const Impl = require("../../jsdom/living/xhr/XMLHttpRequest-impl.js");