happy-dom 16.8.1 → 17.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.
Files changed (365) hide show
  1. package/cjs/PropertySymbol.cjs +13 -1
  2. package/cjs/PropertySymbol.cjs.map +1 -1
  3. package/cjs/PropertySymbol.d.ts +12 -0
  4. package/cjs/PropertySymbol.d.ts.map +1 -1
  5. package/cjs/async-task-manager/AsyncTaskManager.cjs +67 -18
  6. package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
  7. package/cjs/async-task-manager/AsyncTaskManager.d.ts +5 -0
  8. package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  9. package/cjs/browser/BrowserSettingsFactory.cjs +4 -0
  10. package/cjs/browser/BrowserSettingsFactory.cjs.map +1 -1
  11. package/cjs/browser/BrowserSettingsFactory.d.ts.map +1 -1
  12. package/cjs/browser/DefaultBrowserSettings.cjs +3 -0
  13. package/cjs/browser/DefaultBrowserSettings.cjs.map +1 -1
  14. package/cjs/browser/DefaultBrowserSettings.d.ts.map +1 -1
  15. package/cjs/browser/types/IBrowserSettings.d.ts +6 -0
  16. package/cjs/browser/types/IBrowserSettings.d.ts.map +1 -1
  17. package/cjs/browser/types/IOptionalBrowserSettings.d.ts +6 -0
  18. package/cjs/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
  19. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  20. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  21. package/cjs/dom/DOMTokenList.cjs +7 -4
  22. package/cjs/dom/DOMTokenList.cjs.map +1 -1
  23. package/cjs/dom/DOMTokenList.d.ts +5 -3
  24. package/cjs/dom/DOMTokenList.d.ts.map +1 -1
  25. package/cjs/event/EventTarget.cjs +31 -5
  26. package/cjs/event/EventTarget.cjs.map +1 -1
  27. package/cjs/event/EventTarget.d.ts.map +1 -1
  28. package/cjs/fetch/Fetch.cjs +67 -13
  29. package/cjs/fetch/Fetch.cjs.map +1 -1
  30. package/cjs/fetch/Fetch.d.ts +3 -0
  31. package/cjs/fetch/Fetch.d.ts.map +1 -1
  32. package/cjs/fetch/Request.cjs +119 -27
  33. package/cjs/fetch/Request.cjs.map +1 -1
  34. package/cjs/fetch/Request.d.ts +65 -9
  35. package/cjs/fetch/Request.d.ts.map +1 -1
  36. package/cjs/fetch/ResourceFetch.cjs +91 -13
  37. package/cjs/fetch/ResourceFetch.cjs.map +1 -1
  38. package/cjs/fetch/ResourceFetch.d.ts +21 -11
  39. package/cjs/fetch/ResourceFetch.d.ts.map +1 -1
  40. package/cjs/fetch/SyncFetch.cjs +36 -7
  41. package/cjs/fetch/SyncFetch.cjs.map +1 -1
  42. package/cjs/fetch/SyncFetch.d.ts.map +1 -1
  43. package/cjs/fetch/preload/PreloadEntry.cjs +44 -0
  44. package/cjs/fetch/preload/PreloadEntry.cjs.map +1 -0
  45. package/cjs/fetch/preload/PreloadEntry.d.ts +26 -0
  46. package/cjs/fetch/preload/PreloadEntry.d.ts.map +1 -0
  47. package/cjs/fetch/preload/PreloadUtility.cjs +29 -0
  48. package/cjs/fetch/preload/PreloadUtility.cjs.map +1 -0
  49. package/cjs/fetch/preload/PreloadUtility.d.ts +26 -0
  50. package/cjs/fetch/preload/PreloadUtility.d.ts.map +1 -0
  51. package/cjs/fetch/types/IRequestInit.d.ts +2 -0
  52. package/cjs/fetch/types/IRequestInit.d.ts.map +1 -1
  53. package/cjs/fetch/types/IRequestMode.cjs +3 -0
  54. package/cjs/fetch/types/IRequestMode.cjs.map +1 -0
  55. package/cjs/fetch/types/IRequestMode.d.ts +3 -0
  56. package/cjs/fetch/types/IRequestMode.d.ts.map +1 -0
  57. package/cjs/fetch/utilities/FetchRequestReferrerUtility.cjs +1 -1
  58. package/cjs/fetch/utilities/FetchRequestReferrerUtility.cjs.map +1 -1
  59. package/cjs/module/CSSModule.cjs +47 -0
  60. package/cjs/module/CSSModule.cjs.map +1 -0
  61. package/cjs/module/CSSModule.d.ts +34 -0
  62. package/cjs/module/CSSModule.d.ts.map +1 -0
  63. package/cjs/module/ECMAScriptModule.cjs +157 -0
  64. package/cjs/module/ECMAScriptModule.cjs.map +1 -0
  65. package/cjs/module/ECMAScriptModule.d.ts +36 -0
  66. package/cjs/module/ECMAScriptModule.d.ts.map +1 -0
  67. package/cjs/module/ECMAScriptModuleCompiler.cjs +550 -0
  68. package/cjs/module/ECMAScriptModuleCompiler.cjs.map +1 -0
  69. package/cjs/module/ECMAScriptModuleCompiler.d.ts +31 -0
  70. package/cjs/module/ECMAScriptModuleCompiler.d.ts.map +1 -0
  71. package/cjs/module/IECMAScriptModuleCompiledResult.cjs +3 -0
  72. package/cjs/module/IECMAScriptModuleCompiledResult.cjs.map +1 -0
  73. package/cjs/module/IECMAScriptModuleCompiledResult.d.ts +21 -0
  74. package/cjs/module/IECMAScriptModuleCompiledResult.d.ts.map +1 -0
  75. package/cjs/module/IECMAScriptModuleImport.cjs +3 -0
  76. package/cjs/module/IECMAScriptModuleImport.cjs.map +1 -0
  77. package/cjs/module/IECMAScriptModuleImport.d.ts +5 -0
  78. package/cjs/module/IECMAScriptModuleImport.d.ts.map +1 -0
  79. package/cjs/module/IModule.cjs +3 -0
  80. package/cjs/module/IModule.cjs.map +1 -0
  81. package/cjs/module/IModule.d.ts +21 -0
  82. package/cjs/module/IModule.d.ts.map +1 -0
  83. package/cjs/module/IModuleImportMap.cjs +3 -0
  84. package/cjs/module/IModuleImportMap.cjs.map +1 -0
  85. package/cjs/module/IModuleImportMap.d.ts +10 -0
  86. package/cjs/module/IModuleImportMap.d.ts.map +1 -0
  87. package/cjs/module/IModuleImportMapRule.cjs +3 -0
  88. package/cjs/module/IModuleImportMapRule.cjs.map +1 -0
  89. package/cjs/module/IModuleImportMapRule.d.ts +5 -0
  90. package/cjs/module/IModuleImportMapRule.d.ts.map +1 -0
  91. package/cjs/module/IModuleImportMapScope.cjs +3 -0
  92. package/cjs/module/IModuleImportMapScope.cjs.map +1 -0
  93. package/cjs/module/IModuleImportMapScope.d.ts +6 -0
  94. package/cjs/module/IModuleImportMapScope.d.ts.map +1 -0
  95. package/cjs/module/JSONModule.cjs +52 -0
  96. package/cjs/module/JSONModule.cjs.map +1 -0
  97. package/cjs/module/JSONModule.d.ts +33 -0
  98. package/cjs/module/JSONModule.d.ts.map +1 -0
  99. package/cjs/module/ModuleFactory.cjs +136 -0
  100. package/cjs/module/ModuleFactory.cjs.map +1 -0
  101. package/cjs/module/ModuleFactory.d.ts +33 -0
  102. package/cjs/module/ModuleFactory.d.ts.map +1 -0
  103. package/cjs/module/ModuleURLUtility.cjs +67 -0
  104. package/cjs/module/ModuleURLUtility.cjs.map +1 -0
  105. package/cjs/module/ModuleURLUtility.d.ts +17 -0
  106. package/cjs/module/ModuleURLUtility.d.ts.map +1 -0
  107. package/cjs/module/UnresolvedModule.cjs +70 -0
  108. package/cjs/module/UnresolvedModule.cjs.map +1 -0
  109. package/cjs/module/UnresolvedModule.d.ts +43 -0
  110. package/cjs/module/UnresolvedModule.d.ts.map +1 -0
  111. package/cjs/nodes/document/Document.cjs +1 -0
  112. package/cjs/nodes/document/Document.cjs.map +1 -1
  113. package/cjs/nodes/document/Document.d.ts +2 -0
  114. package/cjs/nodes/document/Document.d.ts.map +1 -1
  115. package/cjs/nodes/element/Element.cjs +21 -5
  116. package/cjs/nodes/element/Element.cjs.map +1 -1
  117. package/cjs/nodes/element/Element.d.ts +6 -0
  118. package/cjs/nodes/element/Element.d.ts.map +1 -1
  119. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +8 -0
  120. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  121. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +6 -0
  122. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  123. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs +8 -0
  124. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs.map +1 -1
  125. package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts +6 -0
  126. package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  127. package/cjs/nodes/html-element/HTMLElement.cjs +3 -0
  128. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  129. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  130. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +7 -3
  131. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  132. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  133. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +147 -19
  134. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  135. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +8 -2
  136. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  137. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +8 -0
  138. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  139. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +6 -0
  140. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  141. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +380 -46
  142. package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
  143. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +80 -0
  144. package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  145. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.cjs +0 -1
  146. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.cjs.map +1 -1
  147. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.d.ts +0 -3
  148. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.d.ts.map +1 -1
  149. package/cjs/utilities/AttributeUtility.cjs +36 -0
  150. package/cjs/utilities/AttributeUtility.cjs.map +1 -0
  151. package/cjs/utilities/AttributeUtility.d.ts +18 -0
  152. package/cjs/utilities/AttributeUtility.d.ts.map +1 -0
  153. package/cjs/window/BrowserWindow.cjs +73 -6
  154. package/cjs/window/BrowserWindow.cjs.map +1 -1
  155. package/cjs/window/BrowserWindow.d.ts +14 -0
  156. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  157. package/lib/PropertySymbol.d.ts +12 -0
  158. package/lib/PropertySymbol.d.ts.map +1 -1
  159. package/lib/PropertySymbol.js +12 -0
  160. package/lib/PropertySymbol.js.map +1 -1
  161. package/lib/async-task-manager/AsyncTaskManager.d.ts +5 -0
  162. package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  163. package/lib/async-task-manager/AsyncTaskManager.js +67 -18
  164. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  165. package/lib/browser/BrowserSettingsFactory.d.ts.map +1 -1
  166. package/lib/browser/BrowserSettingsFactory.js +4 -0
  167. package/lib/browser/BrowserSettingsFactory.js.map +1 -1
  168. package/lib/browser/DefaultBrowserSettings.d.ts.map +1 -1
  169. package/lib/browser/DefaultBrowserSettings.js +3 -0
  170. package/lib/browser/DefaultBrowserSettings.js.map +1 -1
  171. package/lib/browser/types/IBrowserSettings.d.ts +6 -0
  172. package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
  173. package/lib/browser/types/IOptionalBrowserSettings.d.ts +6 -0
  174. package/lib/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
  175. package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  176. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  177. package/lib/dom/DOMTokenList.d.ts +5 -3
  178. package/lib/dom/DOMTokenList.d.ts.map +1 -1
  179. package/lib/dom/DOMTokenList.js +7 -4
  180. package/lib/dom/DOMTokenList.js.map +1 -1
  181. package/lib/event/EventTarget.d.ts.map +1 -1
  182. package/lib/event/EventTarget.js +31 -5
  183. package/lib/event/EventTarget.js.map +1 -1
  184. package/lib/fetch/Fetch.d.ts +3 -0
  185. package/lib/fetch/Fetch.d.ts.map +1 -1
  186. package/lib/fetch/Fetch.js +64 -10
  187. package/lib/fetch/Fetch.js.map +1 -1
  188. package/lib/fetch/Request.d.ts +65 -9
  189. package/lib/fetch/Request.d.ts.map +1 -1
  190. package/lib/fetch/Request.js +116 -24
  191. package/lib/fetch/Request.js.map +1 -1
  192. package/lib/fetch/ResourceFetch.d.ts +21 -11
  193. package/lib/fetch/ResourceFetch.d.ts.map +1 -1
  194. package/lib/fetch/ResourceFetch.js +68 -13
  195. package/lib/fetch/ResourceFetch.js.map +1 -1
  196. package/lib/fetch/SyncFetch.d.ts.map +1 -1
  197. package/lib/fetch/SyncFetch.js +36 -7
  198. package/lib/fetch/SyncFetch.js.map +1 -1
  199. package/lib/fetch/preload/PreloadEntry.d.ts +26 -0
  200. package/lib/fetch/preload/PreloadEntry.d.ts.map +1 -0
  201. package/lib/fetch/preload/PreloadEntry.js +41 -0
  202. package/lib/fetch/preload/PreloadEntry.js.map +1 -0
  203. package/lib/fetch/preload/PreloadUtility.d.ts +26 -0
  204. package/lib/fetch/preload/PreloadUtility.d.ts.map +1 -0
  205. package/lib/fetch/preload/PreloadUtility.js +26 -0
  206. package/lib/fetch/preload/PreloadUtility.js.map +1 -0
  207. package/lib/fetch/types/IRequestInit.d.ts +2 -0
  208. package/lib/fetch/types/IRequestInit.d.ts.map +1 -1
  209. package/lib/fetch/types/IRequestMode.d.ts +3 -0
  210. package/lib/fetch/types/IRequestMode.d.ts.map +1 -0
  211. package/lib/fetch/types/IRequestMode.js +2 -0
  212. package/lib/fetch/types/IRequestMode.js.map +1 -0
  213. package/lib/fetch/utilities/FetchRequestReferrerUtility.js +1 -1
  214. package/lib/fetch/utilities/FetchRequestReferrerUtility.js.map +1 -1
  215. package/lib/module/CSSModule.d.ts +34 -0
  216. package/lib/module/CSSModule.d.ts.map +1 -0
  217. package/lib/module/CSSModule.js +44 -0
  218. package/lib/module/CSSModule.js.map +1 -0
  219. package/lib/module/ECMAScriptModule.d.ts +36 -0
  220. package/lib/module/ECMAScriptModule.d.ts.map +1 -0
  221. package/lib/module/ECMAScriptModule.js +128 -0
  222. package/lib/module/ECMAScriptModule.js.map +1 -0
  223. package/lib/module/ECMAScriptModuleCompiler.d.ts +31 -0
  224. package/lib/module/ECMAScriptModuleCompiler.d.ts.map +1 -0
  225. package/lib/module/ECMAScriptModuleCompiler.js +521 -0
  226. package/lib/module/ECMAScriptModuleCompiler.js.map +1 -0
  227. package/lib/module/IECMAScriptModuleCompiledResult.d.ts +21 -0
  228. package/lib/module/IECMAScriptModuleCompiledResult.d.ts.map +1 -0
  229. package/lib/module/IECMAScriptModuleCompiledResult.js +2 -0
  230. package/lib/module/IECMAScriptModuleCompiledResult.js.map +1 -0
  231. package/lib/module/IECMAScriptModuleImport.d.ts +5 -0
  232. package/lib/module/IECMAScriptModuleImport.d.ts.map +1 -0
  233. package/lib/module/IECMAScriptModuleImport.js +2 -0
  234. package/lib/module/IECMAScriptModuleImport.js.map +1 -0
  235. package/lib/module/IModule.d.ts +21 -0
  236. package/lib/module/IModule.d.ts.map +1 -0
  237. package/lib/module/IModule.js +2 -0
  238. package/lib/module/IModule.js.map +1 -0
  239. package/lib/module/IModuleImportMap.d.ts +10 -0
  240. package/lib/module/IModuleImportMap.d.ts.map +1 -0
  241. package/lib/module/IModuleImportMap.js +2 -0
  242. package/lib/module/IModuleImportMap.js.map +1 -0
  243. package/lib/module/IModuleImportMapRule.d.ts +5 -0
  244. package/lib/module/IModuleImportMapRule.d.ts.map +1 -0
  245. package/lib/module/IModuleImportMapRule.js +2 -0
  246. package/lib/module/IModuleImportMapRule.js.map +1 -0
  247. package/lib/module/IModuleImportMapScope.d.ts +6 -0
  248. package/lib/module/IModuleImportMapScope.d.ts.map +1 -0
  249. package/lib/module/IModuleImportMapScope.js +2 -0
  250. package/lib/module/IModuleImportMapScope.js.map +1 -0
  251. package/lib/module/JSONModule.d.ts +33 -0
  252. package/lib/module/JSONModule.d.ts.map +1 -0
  253. package/lib/module/JSONModule.js +49 -0
  254. package/lib/module/JSONModule.js.map +1 -0
  255. package/lib/module/ModuleFactory.d.ts +33 -0
  256. package/lib/module/ModuleFactory.d.ts.map +1 -0
  257. package/lib/module/ModuleFactory.js +107 -0
  258. package/lib/module/ModuleFactory.js.map +1 -0
  259. package/lib/module/ModuleURLUtility.d.ts +17 -0
  260. package/lib/module/ModuleURLUtility.d.ts.map +1 -0
  261. package/lib/module/ModuleURLUtility.js +41 -0
  262. package/lib/module/ModuleURLUtility.js.map +1 -0
  263. package/lib/module/UnresolvedModule.d.ts +43 -0
  264. package/lib/module/UnresolvedModule.d.ts.map +1 -0
  265. package/lib/module/UnresolvedModule.js +67 -0
  266. package/lib/module/UnresolvedModule.js.map +1 -0
  267. package/lib/nodes/document/Document.d.ts +2 -0
  268. package/lib/nodes/document/Document.d.ts.map +1 -1
  269. package/lib/nodes/document/Document.js +1 -0
  270. package/lib/nodes/document/Document.js.map +1 -1
  271. package/lib/nodes/element/Element.d.ts +6 -0
  272. package/lib/nodes/element/Element.d.ts.map +1 -1
  273. package/lib/nodes/element/Element.js +21 -5
  274. package/lib/nodes/element/Element.js.map +1 -1
  275. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +6 -0
  276. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  277. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +8 -0
  278. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  279. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts +6 -0
  280. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  281. package/lib/nodes/html-area-element/HTMLAreaElement.js +8 -0
  282. package/lib/nodes/html-area-element/HTMLAreaElement.js.map +1 -1
  283. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  284. package/lib/nodes/html-element/HTMLElement.js +3 -0
  285. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  286. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  287. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +7 -3
  288. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  289. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +8 -2
  290. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  291. package/lib/nodes/html-link-element/HTMLLinkElement.js +147 -19
  292. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  293. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +6 -0
  294. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  295. package/lib/nodes/html-media-element/HTMLMediaElement.js +8 -0
  296. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  297. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +80 -0
  298. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  299. package/lib/nodes/html-script-element/HTMLScriptElement.js +380 -46
  300. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  301. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts +0 -3
  302. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts.map +1 -1
  303. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js +0 -1
  304. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js.map +1 -1
  305. package/lib/utilities/AttributeUtility.d.ts +18 -0
  306. package/lib/utilities/AttributeUtility.d.ts.map +1 -0
  307. package/lib/utilities/AttributeUtility.js +29 -0
  308. package/lib/utilities/AttributeUtility.js.map +1 -0
  309. package/lib/window/BrowserWindow.d.ts +14 -0
  310. package/lib/window/BrowserWindow.d.ts.map +1 -1
  311. package/lib/window/BrowserWindow.js +73 -6
  312. package/lib/window/BrowserWindow.js.map +1 -1
  313. package/package.json +1 -1
  314. package/src/PropertySymbol.ts +12 -0
  315. package/src/async-task-manager/AsyncTaskManager.ts +81 -19
  316. package/src/browser/BrowserSettingsFactory.ts +4 -0
  317. package/src/browser/DefaultBrowserSettings.ts +3 -0
  318. package/src/browser/types/IBrowserSettings.ts +7 -0
  319. package/src/browser/types/IOptionalBrowserSettings.ts +7 -0
  320. package/src/browser/utilities/BrowserFrameNavigator.ts +2 -7
  321. package/src/dom/DOMTokenList.ts +12 -4
  322. package/src/event/EventTarget.ts +31 -11
  323. package/src/fetch/Fetch.ts +82 -16
  324. package/src/fetch/Request.ts +132 -24
  325. package/src/fetch/ResourceFetch.ts +99 -14
  326. package/src/fetch/SyncFetch.ts +41 -9
  327. package/src/fetch/preload/PreloadEntry.ts +46 -0
  328. package/src/fetch/preload/PreloadUtility.ts +33 -0
  329. package/src/fetch/types/IRequestInit.ts +2 -0
  330. package/src/fetch/types/IRequestMode.ts +2 -0
  331. package/src/fetch/utilities/FetchRequestReferrerUtility.ts +1 -1
  332. package/src/module/CSSModule.ts +54 -0
  333. package/src/module/ECMAScriptModule.ts +171 -0
  334. package/src/module/ECMAScriptModuleCompiler.ts +567 -0
  335. package/src/module/IECMAScriptModuleCompiledResult.ts +14 -0
  336. package/src/module/IECMAScriptModuleImport.ts +4 -0
  337. package/src/module/IModule.ts +20 -0
  338. package/src/module/IModuleImportMap.ts +10 -0
  339. package/src/module/IModuleImportMapRule.ts +4 -0
  340. package/src/module/IModuleImportMapScope.ts +6 -0
  341. package/src/module/JSONModule.ts +59 -0
  342. package/src/module/ModuleFactory.ts +134 -0
  343. package/src/module/ModuleURLUtility.ts +51 -0
  344. package/src/module/UnresolvedModule.ts +77 -0
  345. package/src/nodes/document/Document.ts +2 -0
  346. package/src/nodes/element/Element.ts +25 -7
  347. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +9 -0
  348. package/src/nodes/html-area-element/HTMLAreaElement.ts +9 -0
  349. package/src/nodes/html-element/HTMLElement.ts +3 -0
  350. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +9 -8
  351. package/src/nodes/html-link-element/HTMLLinkElement.ts +181 -28
  352. package/src/nodes/html-media-element/HTMLMediaElement.ts +9 -0
  353. package/src/nodes/html-script-element/HTMLScriptElement.ts +441 -69
  354. package/src/nodes/html-table-cell-element/HTMLTableCellElement.ts +0 -3
  355. package/src/utilities/AttributeUtility.ts +43 -0
  356. package/src/window/BrowserWindow.ts +77 -10
  357. package/cjs/window/WindowErrorUtility.cjs +0 -85
  358. package/cjs/window/WindowErrorUtility.cjs.map +0 -1
  359. package/cjs/window/WindowErrorUtility.d.ts +0 -27
  360. package/cjs/window/WindowErrorUtility.d.ts.map +0 -1
  361. package/lib/window/WindowErrorUtility.d.ts +0 -27
  362. package/lib/window/WindowErrorUtility.d.ts.map +0 -1
  363. package/lib/window/WindowErrorUtility.js +0 -56
  364. package/lib/window/WindowErrorUtility.js.map +0 -1
  365. package/src/window/WindowErrorUtility.ts +0 -68
@@ -0,0 +1,21 @@
1
+ import IECMAScriptModuleImport from './IECMAScriptModuleImport.cjs';
2
+ export default interface IECMAScriptModuleCompiledResult {
3
+ imports: IECMAScriptModuleImport[];
4
+ execute: (options: {
5
+ dispatchError: (error: Error) => void;
6
+ dynamicImport: (url: string, options?: {
7
+ with?: {
8
+ type?: string;
9
+ };
10
+ }) => Promise<{
11
+ [key: string]: any;
12
+ }>;
13
+ imports: Map<string, {
14
+ [key: string]: any;
15
+ }>;
16
+ exports: {
17
+ [key: string]: any;
18
+ };
19
+ }) => void;
20
+ }
21
+ //# sourceMappingURL=IECMAScriptModuleCompiledResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IECMAScriptModuleCompiledResult.d.ts","sourceRoot":"","sources":["../../src/module/IECMAScriptModuleCompiledResult.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,MAAM,CAAC,OAAO,WAAW,+BAA+B;IACvD,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC,OAAO,EAAE;QAClB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACtC,aAAa,EAAE,CACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,KAClC,OAAO,CAAC;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC,CAAC;QACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC,CAAC;QAC7C,OAAO,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KAChC,KAAK,IAAI,CAAC;CACX"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IECMAScriptModuleImport.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IECMAScriptModuleImport.cjs","sourceRoot":"","sources":["../../src/module/IECMAScriptModuleImport.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export default interface IECMAScriptModuleImport {
2
+ url: string;
3
+ type: string;
4
+ }
5
+ //# sourceMappingURL=IECMAScriptModuleImport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IECMAScriptModuleImport.d.ts","sourceRoot":"","sources":["../../src/module/IECMAScriptModuleImport.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IModule.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModule.cjs","sourceRoot":"","sources":["../../src/module/IModule.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Module interface.
3
+ */
4
+ export default interface IModule {
5
+ url: URL;
6
+ /**
7
+ * Compiles and evaluates the module.
8
+ *
9
+ * @returns Module exports.
10
+ */
11
+ evaluate(): Promise<{
12
+ [key: string]: any;
13
+ }>;
14
+ /**
15
+ * Compiles and preloads the module and its imports.
16
+ *
17
+ * @returns Promise.
18
+ */
19
+ preload(): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=IModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModule.d.ts","sourceRoot":"","sources":["../../src/module/IModule.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,OAAO;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;IAE5C;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IModuleImportMap.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModuleImportMap.cjs","sourceRoot":"","sources":["../../src/module/IModuleImportMap.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import IModuleImportMapRule from './IModuleImportMapRule.cjs';
2
+ import IModuleImportMapScope from './IModuleImportMapScope.cjs';
3
+ /**
4
+ * @see https://html.spec.whatwg.org/multipage/webappapis.html#import-map
5
+ */
6
+ export default interface IModuleImportMap {
7
+ imports: IModuleImportMapRule[];
8
+ scopes: IModuleImportMapScope[];
9
+ }
10
+ //# sourceMappingURL=IModuleImportMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModuleImportMap.d.ts","sourceRoot":"","sources":["../../src/module/IModuleImportMap.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACxC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,MAAM,EAAE,qBAAqB,EAAE,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IModuleImportMapRule.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModuleImportMapRule.cjs","sourceRoot":"","sources":["../../src/module/IModuleImportMapRule.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export default interface IModuleImportMapRule {
2
+ from: string;
3
+ to: string;
4
+ }
5
+ //# sourceMappingURL=IModuleImportMapRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModuleImportMapRule.d.ts","sourceRoot":"","sources":["../../src/module/IModuleImportMapRule.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACX"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IModuleImportMapScope.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModuleImportMapScope.cjs","sourceRoot":"","sources":["../../src/module/IModuleImportMapScope.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import IModuleImportMapRule from './IModuleImportMapRule.cjs';
2
+ export default interface IModuleImportMapScope {
3
+ scope: string;
4
+ rules: IModuleImportMapRule[];
5
+ }
6
+ //# sourceMappingURL=IModuleImportMapScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IModuleImportMapScope.d.ts","sourceRoot":"","sources":["../../src/module/IModuleImportMapScope.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC9B"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * JSON module.
5
+ */
6
+ class JSONModule {
7
+ url;
8
+ #window;
9
+ #source;
10
+ #exports = null;
11
+ /**
12
+ * Constructor.
13
+ *
14
+ * @param window Window.
15
+ * @param url Module URL.
16
+ * @param source Source code.
17
+ */
18
+ constructor(window, url, source) {
19
+ this.#window = window;
20
+ this.url = url;
21
+ this.#source = source;
22
+ }
23
+ /**
24
+ * Compiles and evaluates the module.
25
+ *
26
+ * @returns Module exports.
27
+ */
28
+ async evaluate() {
29
+ if (this.#exports) {
30
+ return this.#exports;
31
+ }
32
+ let result;
33
+ try {
34
+ result = JSON.parse(this.#source);
35
+ }
36
+ catch (error) {
37
+ throw new this.#window.TypeError(`Failed to parse module "${this.url.href}": ${error.message}`);
38
+ }
39
+ this.#exports = { default: result };
40
+ return this.#exports;
41
+ }
42
+ /**
43
+ * Compiles and preloads the module and its imports.
44
+ *
45
+ * @returns Promise.
46
+ */
47
+ async preload() {
48
+ await this.evaluate();
49
+ }
50
+ }
51
+ exports.default = JSONModule;
52
+ //# sourceMappingURL=JSONModule.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSONModule.cjs","sourceRoot":"","sources":["../../src/module/JSONModule.ts"],"names":[],"mappings":";;AAIA;;GAEG;AACH,MAAqB,UAAU;IACd,GAAG,CAAM;IAChB,OAAO,CAAgB;IACvB,OAAO,CAAS;IACzB,QAAQ,GAA+B,IAAI,CAAC;IAE5C;;;;;;OAMG;IACH,YAAY,MAAqB,EAAE,GAAQ,EAAE,MAAc;QAC1D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;QAED,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAC/B,2BAA2B,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE,CAC7D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAEpC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;CACD;AAnDD,6BAmDC"}
@@ -0,0 +1,33 @@
1
+ import BrowserWindow from '../window/BrowserWindow.cjs';
2
+ import { URL } from 'url';
3
+ import IModule from './IModule.cjs';
4
+ /**
5
+ * JSON module.
6
+ */
7
+ export default class JSONModule implements IModule {
8
+ #private;
9
+ readonly url: URL;
10
+ /**
11
+ * Constructor.
12
+ *
13
+ * @param window Window.
14
+ * @param url Module URL.
15
+ * @param source Source code.
16
+ */
17
+ constructor(window: BrowserWindow, url: URL, source: string);
18
+ /**
19
+ * Compiles and evaluates the module.
20
+ *
21
+ * @returns Module exports.
22
+ */
23
+ evaluate(): Promise<{
24
+ default: object;
25
+ }>;
26
+ /**
27
+ * Compiles and preloads the module and its imports.
28
+ *
29
+ * @returns Promise.
30
+ */
31
+ preload(): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=JSONModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSONModule.d.ts","sourceRoot":"","sources":["../../src/module/JSONModule.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,OAAO;;IACjD,SAAgB,GAAG,EAAE,GAAG,CAAC;IAKzB;;;;;;OAMG;gBACS,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;IAM3D;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAmBrD;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const url_1 = require("url");
30
+ const PropertySymbol = __importStar(require("../PropertySymbol.cjs"));
31
+ const CSSModule_js_1 = __importDefault(require("./CSSModule.cjs"));
32
+ const JSONModule_js_1 = __importDefault(require("./JSONModule.cjs"));
33
+ const UnresolvedModule_js_1 = __importDefault(require("./UnresolvedModule.cjs"));
34
+ const WindowBrowserContext_js_1 = __importDefault(require("../window/WindowBrowserContext.cjs"));
35
+ const ResourceFetch_js_1 = __importDefault(require("../fetch/ResourceFetch.cjs"));
36
+ const ECMAScriptModule_js_1 = __importDefault(require("./ECMAScriptModule.cjs"));
37
+ /**
38
+ * Module factory.
39
+ */
40
+ class ModuleFactory {
41
+ /**
42
+ * Fetches the source code of the module from the given URL and creates a new module instance.
43
+ *
44
+ * @param window Window.
45
+ * @param parentURL Parent URL.
46
+ * @param url Module URL.
47
+ * @param [options] Options.
48
+ * @param [options.with] Options.
49
+ * @param [options.with.type] Module type.
50
+ */
51
+ static async getModule(window, parentURL, url, options) {
52
+ const absoluteURL = this.getURL(window, parentURL, url);
53
+ const absoluteURLString = absoluteURL.href;
54
+ const type = options?.with?.type || 'esm';
55
+ if (type !== 'esm' && type !== 'css' && type !== 'json') {
56
+ throw new window.TypeError(`Failed to import module "${absoluteURL}" from "${parentURL}": Unkown type "${type}"`);
57
+ }
58
+ const cached = window[PropertySymbol.modules][type].get(absoluteURLString);
59
+ if (cached) {
60
+ if (cached instanceof UnresolvedModule_js_1.default) {
61
+ await new Promise((resolve, reject) => {
62
+ cached.addResolveListener(resolve, reject);
63
+ });
64
+ return window[PropertySymbol.modules][type].get(absoluteURLString);
65
+ }
66
+ return cached;
67
+ }
68
+ const browserFrame = new WindowBrowserContext_js_1.default(window).getBrowserFrame();
69
+ if (!browserFrame) {
70
+ throw new window.TypeError(`Failed to import module "${absoluteURL}" from "${parentURL}": Window is closed and is no longer attached to a frame`);
71
+ }
72
+ const unresolvedModule = new UnresolvedModule_js_1.default(window, absoluteURL);
73
+ window[PropertySymbol.modules][type].set(absoluteURLString, unresolvedModule);
74
+ const resourceFetch = new ResourceFetch_js_1.default(window);
75
+ let source;
76
+ try {
77
+ source = await resourceFetch.fetch(absoluteURL, 'module');
78
+ }
79
+ catch (error) {
80
+ unresolvedModule.resolve(error);
81
+ throw error;
82
+ }
83
+ let module;
84
+ switch (type) {
85
+ case 'json':
86
+ module = new JSONModule_js_1.default(window, absoluteURL, source);
87
+ break;
88
+ case 'css':
89
+ module = new CSSModule_js_1.default(window, absoluteURL, source);
90
+ break;
91
+ case 'esm':
92
+ module = new ECMAScriptModule_js_1.default(window, absoluteURL, source);
93
+ break;
94
+ }
95
+ window[PropertySymbol.modules][type].set(absoluteURLString, module);
96
+ unresolvedModule.resolve();
97
+ return module;
98
+ }
99
+ /**
100
+ * Returns module URL based on parent URL and the import map.
101
+ *
102
+ * @param window Window.
103
+ * @param parentURL Parent URL.
104
+ * @param url Module URL.
105
+ */
106
+ static getURL(window, parentURL, url) {
107
+ const parentURLString = parentURL.href;
108
+ const absoluteURL = new url_1.URL(url, parentURLString);
109
+ const absoluteURLString = absoluteURL.href;
110
+ const importMap = window[PropertySymbol.moduleImportMap];
111
+ if (!importMap) {
112
+ return absoluteURL;
113
+ }
114
+ if (importMap.scopes) {
115
+ for (const scope of importMap.scopes) {
116
+ if (parentURLString.includes(scope.scope)) {
117
+ for (const rule of scope.rules) {
118
+ if (absoluteURLString.startsWith(rule.from)) {
119
+ return new url_1.URL(rule.to + absoluteURLString.replace(rule.from, ''));
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ if (importMap.imports) {
126
+ for (const rule of importMap.imports) {
127
+ if (absoluteURLString.startsWith(rule.from)) {
128
+ return new url_1.URL(rule.to + absoluteURLString.replace(rule.from, ''));
129
+ }
130
+ }
131
+ }
132
+ return absoluteURL;
133
+ }
134
+ }
135
+ exports.default = ModuleFactory;
136
+ //# sourceMappingURL=ModuleFactory.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleFactory.cjs","sourceRoot":"","sources":["../../src/module/ModuleFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { URL } from 'url';
2
+ import IModule from './IModule.cjs';
3
+ import BrowserWindow from '../window/BrowserWindow.cjs';
4
+ import Location from '../location/Location.cjs';
5
+ /**
6
+ * Module factory.
7
+ */
8
+ export default class ModuleFactory {
9
+ /**
10
+ * Fetches the source code of the module from the given URL and creates a new module instance.
11
+ *
12
+ * @param window Window.
13
+ * @param parentURL Parent URL.
14
+ * @param url Module URL.
15
+ * @param [options] Options.
16
+ * @param [options.with] Options.
17
+ * @param [options.with.type] Module type.
18
+ */
19
+ static getModule(window: BrowserWindow, parentURL: URL | Location, url: string, options?: {
20
+ with?: {
21
+ type?: string;
22
+ };
23
+ }): Promise<IModule>;
24
+ /**
25
+ * Returns module URL based on parent URL and the import map.
26
+ *
27
+ * @param window Window.
28
+ * @param parentURL Parent URL.
29
+ * @param url Module URL.
30
+ */
31
+ private static getURL;
32
+ }
33
+ //# sourceMappingURL=ModuleFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleFactory.d.ts","sourceRoot":"","sources":["../../src/module/ModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,OAAO,MAAM,cAAc,CAAC;AAQnC,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;;;;OASG;WACiB,SAAS,CAC5B,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,GAAG,GAAG,QAAQ,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GACpC,OAAO,CAAC,OAAO,CAAC;IA+DnB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;CAgCrB"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const url_1 = require("url");
27
+ const PropertySymbol = __importStar(require("../PropertySymbol.cjs"));
28
+ /**
29
+ * Module URL utility.
30
+ */
31
+ class ModuleURLUtility {
32
+ /**
33
+ * Returns module URL based on parent URL and the import map.
34
+ *
35
+ * @param window Window.
36
+ * @param parentURL Parent URL.
37
+ * @param url Module URL.
38
+ */
39
+ static getURL(window, parentURL, url) {
40
+ const parentURLString = typeof parentURL === 'string' ? parentURL : parentURL.href;
41
+ const importMap = window[PropertySymbol.moduleImportMap];
42
+ if (!importMap) {
43
+ return new url_1.URL(url, parentURLString);
44
+ }
45
+ if (importMap.scopes.length) {
46
+ for (const scope of importMap.scopes) {
47
+ if (parentURLString.includes(scope.scope)) {
48
+ for (const rule of scope.rules) {
49
+ if (url.startsWith(rule.from)) {
50
+ return new url_1.URL(rule.to + url.replace(rule.from, ''), parentURLString);
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ if (importMap.imports.length) {
57
+ for (const rule of importMap.imports) {
58
+ if (url.startsWith(rule.from)) {
59
+ return new url_1.URL(rule.to + url.replace(rule.from, ''), parentURLString);
60
+ }
61
+ }
62
+ }
63
+ return new url_1.URL(url, parentURLString);
64
+ }
65
+ }
66
+ exports.default = ModuleURLUtility;
67
+ //# sourceMappingURL=ModuleURLUtility.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleURLUtility.cjs","sourceRoot":"","sources":["../../src/module/ModuleURLUtility.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA0B;AAC1B,qEAAuD;AAIvD;;GAEG;AACH,MAAqB,gBAAgB;IACpC;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CACnB,MAAqB,EACrB,SAAkC,EAClC,GAAW;QAEX,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,IAAI,SAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC/B,OAAO,IAAI,SAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;wBACvE,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,SAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;gBACvE,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,IAAI,SAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACtC,CAAC;CACD;AA1CD,mCA0CC"}
@@ -0,0 +1,17 @@
1
+ import { URL } from 'url';
2
+ import BrowserWindow from '../window/BrowserWindow.cjs';
3
+ import Location from '../location/Location.cjs';
4
+ /**
5
+ * Module URL utility.
6
+ */
7
+ export default class ModuleURLUtility {
8
+ /**
9
+ * Returns module URL based on parent URL and the import map.
10
+ *
11
+ * @param window Window.
12
+ * @param parentURL Parent URL.
13
+ * @param url Module URL.
14
+ */
15
+ static getURL(window: BrowserWindow, parentURL: URL | Location | string, url: string): URL;
16
+ }
17
+ //# sourceMappingURL=ModuleURLUtility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleURLUtility.d.ts","sourceRoot":"","sources":["../../src/module/ModuleURLUtility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACpC;;;;;;OAMG;WACW,MAAM,CACnB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,GAAG,GAAG,QAAQ,GAAG,MAAM,EAClC,GAAG,EAAE,MAAM,GACT,GAAG;CA8BN"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * CSS module.
5
+ */
6
+ class UnresolvedModule {
7
+ url;
8
+ #window;
9
+ #hooks = [];
10
+ #error = null;
11
+ /**
12
+ * Constructor.
13
+ *
14
+ * @param window Window.
15
+ * @param url Module URL.
16
+ */
17
+ constructor(window, url) {
18
+ this.#window = window;
19
+ this.url = url;
20
+ }
21
+ /**
22
+ * Compiles and evaluates the module.
23
+ *
24
+ * @returns Module exports.
25
+ */
26
+ async evaluate() {
27
+ throw new this.#window.TypeError('Unresolved module. We should never end up here.');
28
+ }
29
+ /**
30
+ * Compiles and preloads the module and its imports.
31
+ *
32
+ * @returns Promise.
33
+ */
34
+ async preload() {
35
+ throw new this.#window.TypeError('Unresolved module. We should never end up here.');
36
+ }
37
+ /**
38
+ * Add a hook to be called when the module is resolved.
39
+ *
40
+ * @param resolve Resolve.
41
+ * @param reject Reject.
42
+ */
43
+ addResolveListener(resolve, reject) {
44
+ if (this.#error) {
45
+ reject(this.#error);
46
+ return;
47
+ }
48
+ this.#hooks.push({ resolve, reject });
49
+ }
50
+ /**
51
+ * Resolves the module.
52
+ *
53
+ * @param [error] Error.
54
+ */
55
+ resolve(error) {
56
+ if (error) {
57
+ this.#error = error;
58
+ }
59
+ for (const hook of this.#hooks) {
60
+ if (error) {
61
+ hook.reject(error);
62
+ }
63
+ else {
64
+ hook.resolve(null);
65
+ }
66
+ }
67
+ }
68
+ }
69
+ exports.default = UnresolvedModule;
70
+ //# sourceMappingURL=UnresolvedModule.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnresolvedModule.cjs","sourceRoot":"","sources":["../../src/module/UnresolvedModule.ts"],"names":[],"mappings":";;AAIA;;GAEG;AACH,MAAqB,gBAAgB;IACpB,GAAG,CAAM;IAChB,OAAO,CAAgB;IAChC,MAAM,GAA4E,EAAE,CAAC;IACrF,MAAM,GAAiB,IAAI,CAAC;IAE5B;;;;;OAKG;IACH,YAAY,MAAqB,EAAE,GAAQ;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACrF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACrF,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CACxB,OAAiC,EACjC,MAA8B;QAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,KAAa;QAC3B,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;IACF,CAAC;CACD;AArED,mCAqEC"}
@@ -0,0 +1,43 @@
1
+ import BrowserWindow from '../window/BrowserWindow.cjs';
2
+ import { URL } from 'url';
3
+ import IModule from './IModule.cjs';
4
+ /**
5
+ * CSS module.
6
+ */
7
+ export default class UnresolvedModule implements IModule {
8
+ #private;
9
+ readonly url: URL;
10
+ /**
11
+ * Constructor.
12
+ *
13
+ * @param window Window.
14
+ * @param url Module URL.
15
+ */
16
+ constructor(window: BrowserWindow, url: URL);
17
+ /**
18
+ * Compiles and evaluates the module.
19
+ *
20
+ * @returns Module exports.
21
+ */
22
+ evaluate(): Promise<null>;
23
+ /**
24
+ * Compiles and preloads the module and its imports.
25
+ *
26
+ * @returns Promise.
27
+ */
28
+ preload(): Promise<void>;
29
+ /**
30
+ * Add a hook to be called when the module is resolved.
31
+ *
32
+ * @param resolve Resolve.
33
+ * @param reject Reject.
34
+ */
35
+ addResolveListener(resolve: (value: unknown) => void, reject: (error: Error) => void): void;
36
+ /**
37
+ * Resolves the module.
38
+ *
39
+ * @param [error] Error.
40
+ */
41
+ resolve(error?: Error): void;
42
+ }
43
+ //# sourceMappingURL=UnresolvedModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnresolvedModule.d.ts","sourceRoot":"","sources":["../../src/module/UnresolvedModule.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,OAAO;;IACvD,SAAgB,GAAG,EAAE,GAAG,CAAC;IAKzB;;;;;OAKG;gBACS,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG;IAK3C;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;;;OAKG;IACI,kBAAkB,CACxB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EACjC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC5B,IAAI;IAQP;;;;OAIG;IACI,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CAYnC"}
@@ -76,6 +76,7 @@ class Document extends Node_js_1.default {
76
76
  [PropertySymbol.elementIdMap] = new Map();
77
77
  [PropertySymbol.contentType] = 'text/html';
78
78
  [PropertySymbol.xmlProcessingInstruction] = null;
79
+ [PropertySymbol.preloads] = new Map();
79
80
  // Private properties
80
81
  #selection = null;
81
82
  // Events