happy-dom 16.8.1 → 17.0.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 (374) 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/query-selector/QuerySelector.cjs +16 -7
  150. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  151. package/cjs/query-selector/QuerySelector.d.ts +2 -1
  152. package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
  153. package/cjs/utilities/AttributeUtility.cjs +36 -0
  154. package/cjs/utilities/AttributeUtility.cjs.map +1 -0
  155. package/cjs/utilities/AttributeUtility.d.ts +18 -0
  156. package/cjs/utilities/AttributeUtility.d.ts.map +1 -0
  157. package/cjs/window/BrowserWindow.cjs +73 -6
  158. package/cjs/window/BrowserWindow.cjs.map +1 -1
  159. package/cjs/window/BrowserWindow.d.ts +14 -0
  160. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  161. package/lib/PropertySymbol.d.ts +12 -0
  162. package/lib/PropertySymbol.d.ts.map +1 -1
  163. package/lib/PropertySymbol.js +12 -0
  164. package/lib/PropertySymbol.js.map +1 -1
  165. package/lib/async-task-manager/AsyncTaskManager.d.ts +5 -0
  166. package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
  167. package/lib/async-task-manager/AsyncTaskManager.js +67 -18
  168. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
  169. package/lib/browser/BrowserSettingsFactory.d.ts.map +1 -1
  170. package/lib/browser/BrowserSettingsFactory.js +4 -0
  171. package/lib/browser/BrowserSettingsFactory.js.map +1 -1
  172. package/lib/browser/DefaultBrowserSettings.d.ts.map +1 -1
  173. package/lib/browser/DefaultBrowserSettings.js +3 -0
  174. package/lib/browser/DefaultBrowserSettings.js.map +1 -1
  175. package/lib/browser/types/IBrowserSettings.d.ts +6 -0
  176. package/lib/browser/types/IBrowserSettings.d.ts.map +1 -1
  177. package/lib/browser/types/IOptionalBrowserSettings.d.ts +6 -0
  178. package/lib/browser/types/IOptionalBrowserSettings.d.ts.map +1 -1
  179. package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  180. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  181. package/lib/dom/DOMTokenList.d.ts +5 -3
  182. package/lib/dom/DOMTokenList.d.ts.map +1 -1
  183. package/lib/dom/DOMTokenList.js +7 -4
  184. package/lib/dom/DOMTokenList.js.map +1 -1
  185. package/lib/event/EventTarget.d.ts.map +1 -1
  186. package/lib/event/EventTarget.js +31 -5
  187. package/lib/event/EventTarget.js.map +1 -1
  188. package/lib/fetch/Fetch.d.ts +3 -0
  189. package/lib/fetch/Fetch.d.ts.map +1 -1
  190. package/lib/fetch/Fetch.js +64 -10
  191. package/lib/fetch/Fetch.js.map +1 -1
  192. package/lib/fetch/Request.d.ts +65 -9
  193. package/lib/fetch/Request.d.ts.map +1 -1
  194. package/lib/fetch/Request.js +116 -24
  195. package/lib/fetch/Request.js.map +1 -1
  196. package/lib/fetch/ResourceFetch.d.ts +21 -11
  197. package/lib/fetch/ResourceFetch.d.ts.map +1 -1
  198. package/lib/fetch/ResourceFetch.js +68 -13
  199. package/lib/fetch/ResourceFetch.js.map +1 -1
  200. package/lib/fetch/SyncFetch.d.ts.map +1 -1
  201. package/lib/fetch/SyncFetch.js +36 -7
  202. package/lib/fetch/SyncFetch.js.map +1 -1
  203. package/lib/fetch/preload/PreloadEntry.d.ts +26 -0
  204. package/lib/fetch/preload/PreloadEntry.d.ts.map +1 -0
  205. package/lib/fetch/preload/PreloadEntry.js +41 -0
  206. package/lib/fetch/preload/PreloadEntry.js.map +1 -0
  207. package/lib/fetch/preload/PreloadUtility.d.ts +26 -0
  208. package/lib/fetch/preload/PreloadUtility.d.ts.map +1 -0
  209. package/lib/fetch/preload/PreloadUtility.js +26 -0
  210. package/lib/fetch/preload/PreloadUtility.js.map +1 -0
  211. package/lib/fetch/types/IRequestInit.d.ts +2 -0
  212. package/lib/fetch/types/IRequestInit.d.ts.map +1 -1
  213. package/lib/fetch/types/IRequestMode.d.ts +3 -0
  214. package/lib/fetch/types/IRequestMode.d.ts.map +1 -0
  215. package/lib/fetch/types/IRequestMode.js +2 -0
  216. package/lib/fetch/types/IRequestMode.js.map +1 -0
  217. package/lib/fetch/utilities/FetchRequestReferrerUtility.js +1 -1
  218. package/lib/fetch/utilities/FetchRequestReferrerUtility.js.map +1 -1
  219. package/lib/module/CSSModule.d.ts +34 -0
  220. package/lib/module/CSSModule.d.ts.map +1 -0
  221. package/lib/module/CSSModule.js +44 -0
  222. package/lib/module/CSSModule.js.map +1 -0
  223. package/lib/module/ECMAScriptModule.d.ts +36 -0
  224. package/lib/module/ECMAScriptModule.d.ts.map +1 -0
  225. package/lib/module/ECMAScriptModule.js +128 -0
  226. package/lib/module/ECMAScriptModule.js.map +1 -0
  227. package/lib/module/ECMAScriptModuleCompiler.d.ts +31 -0
  228. package/lib/module/ECMAScriptModuleCompiler.d.ts.map +1 -0
  229. package/lib/module/ECMAScriptModuleCompiler.js +521 -0
  230. package/lib/module/ECMAScriptModuleCompiler.js.map +1 -0
  231. package/lib/module/IECMAScriptModuleCompiledResult.d.ts +21 -0
  232. package/lib/module/IECMAScriptModuleCompiledResult.d.ts.map +1 -0
  233. package/lib/module/IECMAScriptModuleCompiledResult.js +2 -0
  234. package/lib/module/IECMAScriptModuleCompiledResult.js.map +1 -0
  235. package/lib/module/IECMAScriptModuleImport.d.ts +5 -0
  236. package/lib/module/IECMAScriptModuleImport.d.ts.map +1 -0
  237. package/lib/module/IECMAScriptModuleImport.js +2 -0
  238. package/lib/module/IECMAScriptModuleImport.js.map +1 -0
  239. package/lib/module/IModule.d.ts +21 -0
  240. package/lib/module/IModule.d.ts.map +1 -0
  241. package/lib/module/IModule.js +2 -0
  242. package/lib/module/IModule.js.map +1 -0
  243. package/lib/module/IModuleImportMap.d.ts +10 -0
  244. package/lib/module/IModuleImportMap.d.ts.map +1 -0
  245. package/lib/module/IModuleImportMap.js +2 -0
  246. package/lib/module/IModuleImportMap.js.map +1 -0
  247. package/lib/module/IModuleImportMapRule.d.ts +5 -0
  248. package/lib/module/IModuleImportMapRule.d.ts.map +1 -0
  249. package/lib/module/IModuleImportMapRule.js +2 -0
  250. package/lib/module/IModuleImportMapRule.js.map +1 -0
  251. package/lib/module/IModuleImportMapScope.d.ts +6 -0
  252. package/lib/module/IModuleImportMapScope.d.ts.map +1 -0
  253. package/lib/module/IModuleImportMapScope.js +2 -0
  254. package/lib/module/IModuleImportMapScope.js.map +1 -0
  255. package/lib/module/JSONModule.d.ts +33 -0
  256. package/lib/module/JSONModule.d.ts.map +1 -0
  257. package/lib/module/JSONModule.js +49 -0
  258. package/lib/module/JSONModule.js.map +1 -0
  259. package/lib/module/ModuleFactory.d.ts +33 -0
  260. package/lib/module/ModuleFactory.d.ts.map +1 -0
  261. package/lib/module/ModuleFactory.js +107 -0
  262. package/lib/module/ModuleFactory.js.map +1 -0
  263. package/lib/module/ModuleURLUtility.d.ts +17 -0
  264. package/lib/module/ModuleURLUtility.d.ts.map +1 -0
  265. package/lib/module/ModuleURLUtility.js +41 -0
  266. package/lib/module/ModuleURLUtility.js.map +1 -0
  267. package/lib/module/UnresolvedModule.d.ts +43 -0
  268. package/lib/module/UnresolvedModule.d.ts.map +1 -0
  269. package/lib/module/UnresolvedModule.js +67 -0
  270. package/lib/module/UnresolvedModule.js.map +1 -0
  271. package/lib/nodes/document/Document.d.ts +2 -0
  272. package/lib/nodes/document/Document.d.ts.map +1 -1
  273. package/lib/nodes/document/Document.js +1 -0
  274. package/lib/nodes/document/Document.js.map +1 -1
  275. package/lib/nodes/element/Element.d.ts +6 -0
  276. package/lib/nodes/element/Element.d.ts.map +1 -1
  277. package/lib/nodes/element/Element.js +21 -5
  278. package/lib/nodes/element/Element.js.map +1 -1
  279. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +6 -0
  280. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  281. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +8 -0
  282. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  283. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts +6 -0
  284. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  285. package/lib/nodes/html-area-element/HTMLAreaElement.js +8 -0
  286. package/lib/nodes/html-area-element/HTMLAreaElement.js.map +1 -1
  287. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  288. package/lib/nodes/html-element/HTMLElement.js +3 -0
  289. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  290. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  291. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +7 -3
  292. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  293. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +8 -2
  294. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  295. package/lib/nodes/html-link-element/HTMLLinkElement.js +147 -19
  296. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  297. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +6 -0
  298. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  299. package/lib/nodes/html-media-element/HTMLMediaElement.js +8 -0
  300. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  301. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +80 -0
  302. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
  303. package/lib/nodes/html-script-element/HTMLScriptElement.js +380 -46
  304. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  305. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts +0 -3
  306. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts.map +1 -1
  307. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js +0 -1
  308. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js.map +1 -1
  309. package/lib/query-selector/QuerySelector.d.ts +2 -1
  310. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  311. package/lib/query-selector/QuerySelector.js +16 -7
  312. package/lib/query-selector/QuerySelector.js.map +1 -1
  313. package/lib/utilities/AttributeUtility.d.ts +18 -0
  314. package/lib/utilities/AttributeUtility.d.ts.map +1 -0
  315. package/lib/utilities/AttributeUtility.js +29 -0
  316. package/lib/utilities/AttributeUtility.js.map +1 -0
  317. package/lib/window/BrowserWindow.d.ts +14 -0
  318. package/lib/window/BrowserWindow.d.ts.map +1 -1
  319. package/lib/window/BrowserWindow.js +73 -6
  320. package/lib/window/BrowserWindow.js.map +1 -1
  321. package/package.json +1 -1
  322. package/src/PropertySymbol.ts +12 -0
  323. package/src/async-task-manager/AsyncTaskManager.ts +81 -19
  324. package/src/browser/BrowserSettingsFactory.ts +4 -0
  325. package/src/browser/DefaultBrowserSettings.ts +3 -0
  326. package/src/browser/types/IBrowserSettings.ts +7 -0
  327. package/src/browser/types/IOptionalBrowserSettings.ts +7 -0
  328. package/src/browser/utilities/BrowserFrameNavigator.ts +2 -7
  329. package/src/dom/DOMTokenList.ts +12 -4
  330. package/src/event/EventTarget.ts +31 -11
  331. package/src/fetch/Fetch.ts +82 -16
  332. package/src/fetch/Request.ts +132 -24
  333. package/src/fetch/ResourceFetch.ts +99 -14
  334. package/src/fetch/SyncFetch.ts +41 -9
  335. package/src/fetch/preload/PreloadEntry.ts +46 -0
  336. package/src/fetch/preload/PreloadUtility.ts +33 -0
  337. package/src/fetch/types/IRequestInit.ts +2 -0
  338. package/src/fetch/types/IRequestMode.ts +2 -0
  339. package/src/fetch/utilities/FetchRequestReferrerUtility.ts +1 -1
  340. package/src/module/CSSModule.ts +54 -0
  341. package/src/module/ECMAScriptModule.ts +171 -0
  342. package/src/module/ECMAScriptModuleCompiler.ts +567 -0
  343. package/src/module/IECMAScriptModuleCompiledResult.ts +14 -0
  344. package/src/module/IECMAScriptModuleImport.ts +4 -0
  345. package/src/module/IModule.ts +20 -0
  346. package/src/module/IModuleImportMap.ts +10 -0
  347. package/src/module/IModuleImportMapRule.ts +4 -0
  348. package/src/module/IModuleImportMapScope.ts +6 -0
  349. package/src/module/JSONModule.ts +59 -0
  350. package/src/module/ModuleFactory.ts +134 -0
  351. package/src/module/ModuleURLUtility.ts +51 -0
  352. package/src/module/UnresolvedModule.ts +77 -0
  353. package/src/nodes/document/Document.ts +2 -0
  354. package/src/nodes/element/Element.ts +25 -7
  355. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +9 -0
  356. package/src/nodes/html-area-element/HTMLAreaElement.ts +9 -0
  357. package/src/nodes/html-element/HTMLElement.ts +3 -0
  358. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +9 -8
  359. package/src/nodes/html-link-element/HTMLLinkElement.ts +181 -28
  360. package/src/nodes/html-media-element/HTMLMediaElement.ts +9 -0
  361. package/src/nodes/html-script-element/HTMLScriptElement.ts +441 -69
  362. package/src/nodes/html-table-cell-element/HTMLTableCellElement.ts +0 -3
  363. package/src/query-selector/QuerySelector.ts +19 -8
  364. package/src/utilities/AttributeUtility.ts +43 -0
  365. package/src/window/BrowserWindow.ts +77 -10
  366. package/cjs/window/WindowErrorUtility.cjs +0 -85
  367. package/cjs/window/WindowErrorUtility.cjs.map +0 -1
  368. package/cjs/window/WindowErrorUtility.d.ts +0 -27
  369. package/cjs/window/WindowErrorUtility.d.ts.map +0 -1
  370. package/lib/window/WindowErrorUtility.d.ts +0 -27
  371. package/lib/window/WindowErrorUtility.d.ts.map +0 -1
  372. package/lib/window/WindowErrorUtility.js +0 -56
  373. package/lib/window/WindowErrorUtility.js.map +0 -1
  374. package/src/window/WindowErrorUtility.ts +0 -68
@@ -0,0 +1,26 @@
1
+ import Response from '../Response.js';
2
+ /**
3
+ * Preload entry.
4
+ *
5
+ * @see https://html.spec.whatwg.org/multipage/links.html#preload-entry
6
+ */
7
+ export default class PreloadEntry {
8
+ #private;
9
+ integrityMetadata: string | null;
10
+ response: Response | null;
11
+ error: Error | null;
12
+ /**
13
+ * On response available.
14
+ *
15
+ * @returns Response.
16
+ */
17
+ onResponseAvailable(): Promise<Response>;
18
+ /**
19
+ * Response available.
20
+ *
21
+ * @param error
22
+ * @param response
23
+ */
24
+ responseAvailable(error: Error | null, response: Response): void;
25
+ }
26
+ //# sourceMappingURL=PreloadEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreloadEntry.d.ts","sourceRoot":"","sources":["../../../src/fetch/preload/PreloadEntry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAQ;IAIlC;;;;OAIG;IACI,mBAAmB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAM/C;;;;;OAKG;IACI,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAcvE"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Preload entry.
3
+ *
4
+ * @see https://html.spec.whatwg.org/multipage/links.html#preload-entry
5
+ */
6
+ export default class PreloadEntry {
7
+ integrityMetadata = null;
8
+ response = null;
9
+ error = null;
10
+ #callback = null;
11
+ /**
12
+ * On response available.
13
+ *
14
+ * @returns Response.
15
+ */
16
+ onResponseAvailable() {
17
+ return new Promise((resolve, reject) => {
18
+ this.#callback = { resolve, reject };
19
+ });
20
+ }
21
+ /**
22
+ * Response available.
23
+ *
24
+ * @param error
25
+ * @param response
26
+ */
27
+ responseAvailable(error, response) {
28
+ this.response = response;
29
+ this.error = error;
30
+ if (!this.#callback) {
31
+ return;
32
+ }
33
+ if (error) {
34
+ this.#callback.reject(error);
35
+ }
36
+ else {
37
+ this.#callback.resolve(response);
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=PreloadEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreloadEntry.js","sourceRoot":"","sources":["../../../src/fetch/preload/PreloadEntry.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,iBAAiB,GAAkB,IAAI,CAAC;IACxC,QAAQ,GAAoB,IAAI,CAAC;IACjC,KAAK,GAAiB,IAAI,CAAC;IAClC,SAAS,GACR,IAAI,CAAC;IAEN;;;;OAIG;IACI,mBAAmB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,KAAmB,EAAE,QAAkB;QAC/D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO;QACR,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,26 @@
1
+ import IRequestCredentials from '../types/IRequestCredentials.js';
2
+ import IRequestMode from '../types/IRequestMode.js';
3
+ /**
4
+ * Utility for preloading resources.
5
+ *
6
+ * @see https://html.spec.whatwg.org/multipage/links.html#link-type-preload
7
+ */
8
+ export default class PreloadUtility {
9
+ /**
10
+ * Returns a key for a preload entry.
11
+ *
12
+ * @param options Options.
13
+ * @param options.url URL.
14
+ * @param options.destination Destination.
15
+ * @param options.mode Mode.
16
+ * @param options.credentialsMode Credentials mode.
17
+ * @returns Key.
18
+ */
19
+ static getKey(options: {
20
+ url: string;
21
+ destination: string;
22
+ mode: IRequestMode;
23
+ credentialsMode: IRequestCredentials;
24
+ }): string;
25
+ }
26
+ //# sourceMappingURL=PreloadUtility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreloadUtility.d.ts","sourceRoot":"","sources":["../../../src/fetch/preload/PreloadUtility.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;;;;;OASG;WACW,MAAM,CAAC,OAAO,EAAE;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,YAAY,CAAC;QACnB,eAAe,EAAE,mBAAmB,CAAC;KACrC,GAAG,MAAM;CAQV"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Utility for preloading resources.
3
+ *
4
+ * @see https://html.spec.whatwg.org/multipage/links.html#link-type-preload
5
+ */
6
+ export default class PreloadUtility {
7
+ /**
8
+ * Returns a key for a preload entry.
9
+ *
10
+ * @param options Options.
11
+ * @param options.url URL.
12
+ * @param options.destination Destination.
13
+ * @param options.mode Mode.
14
+ * @param options.credentialsMode Credentials mode.
15
+ * @returns Key.
16
+ */
17
+ static getKey(options) {
18
+ return JSON.stringify({
19
+ url: options.url,
20
+ destination: options.destination,
21
+ mode: options.mode,
22
+ credentialsMode: options.credentialsMode
23
+ });
24
+ }
25
+ }
26
+ //# sourceMappingURL=PreloadUtility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreloadUtility.js","sourceRoot":"","sources":["../../../src/fetch/preload/PreloadUtility.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;;;;;OASG;IACI,MAAM,CAAC,MAAM,CAAC,OAKpB;QACA,OAAO,IAAI,CAAC,SAAS,CAAC;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,eAAe,EAAE,OAAO,CAAC,eAAe;SACxC,CAAC,CAAC;IACJ,CAAC;CACD"}
@@ -5,6 +5,7 @@ import IRequestReferrerPolicy from './IRequestReferrerPolicy.js';
5
5
  import IRequestRedirect from './IRequestRedirect.js';
6
6
  import IRequestBody from './IRequestBody.js';
7
7
  import IRequestCredentials from './IRequestCredentials.js';
8
+ import IRequestMode from './IRequestMode.js';
8
9
  /**
9
10
  * Fetch request init.
10
11
  */
@@ -12,6 +13,7 @@ export default interface IRequestInit {
12
13
  body?: IRequestBody;
13
14
  headers?: IHeadersInit;
14
15
  method?: string;
16
+ mode?: IRequestMode;
15
17
  redirect?: IRequestRedirect;
16
18
  signal?: AbortSignal | null;
17
19
  referrer?: '' | 'no-referrer' | 'client' | string | URL;
@@ -1 +1 @@
1
- {"version":3,"file":"IRequestInit.d.ts","sourceRoot":"","sources":["../../../src/fetch/types/IRequestInit.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,YAAY;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAC;IACxD,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACxC"}
1
+ {"version":3,"file":"IRequestInit.d.ts","sourceRoot":"","sources":["../../../src/fetch/types/IRequestInit.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,YAAY;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAC;IACxD,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ type IRequestMode = 'same-origin' | 'cors' | 'no-cors' | 'navigate' | 'websocket';
2
+ export default IRequestMode;
3
+ //# sourceMappingURL=IRequestMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRequestMode.d.ts","sourceRoot":"","sources":["../../../src/fetch/types/IRequestMode.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;AAClF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IRequestMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRequestMode.js","sourceRoot":"","sources":["../../../src/fetch/types/IRequestMode.ts"],"names":[],"mappings":""}
@@ -25,7 +25,7 @@ export default class FetchRequestReferrerUtility {
25
25
  */
26
26
  static prepareRequest(originURL, request) {
27
27
  if (!request.referrerPolicy) {
28
- request.referrerPolicy = 'strict-origin-when-cross-origin';
28
+ request[PropertySymbol.referrerPolicy] = 'strict-origin-when-cross-origin';
29
29
  }
30
30
  if (request.referrer && request.referrer !== 'no-referrer') {
31
31
  request[PropertySymbol.referrer] = this.getSentReferrer(originURL, request);
@@ -1 +1 @@
1
- {"version":3,"file":"FetchRequestReferrerUtility.js","sourceRoot":"","sources":["../../../src/fetch/utilities/FetchRequestReferrerUtility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FetchRequestReferrerUtility.js","sourceRoot":"","sources":["../../../src/fetch/utilities/FetchRequestReferrerUtility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import BrowserWindow from '../window/BrowserWindow.js';
2
+ import { URL } from 'url';
3
+ import IModule from './IModule.js';
4
+ import CSSStyleSheet from '../css/CSSStyleSheet.js';
5
+ /**
6
+ * CSS module.
7
+ */
8
+ export default class CSSModule implements IModule {
9
+ #private;
10
+ readonly url: URL;
11
+ /**
12
+ * Constructor.
13
+ *
14
+ * @param window Window.
15
+ * @param url Module URL.
16
+ * @param source Source code.
17
+ */
18
+ constructor(window: BrowserWindow, url: URL, source: string);
19
+ /**
20
+ * Compiles and evaluates the module.
21
+ *
22
+ * @returns Module exports.
23
+ */
24
+ evaluate(): Promise<{
25
+ default: CSSStyleSheet;
26
+ }>;
27
+ /**
28
+ * Compiles and preloads the module and its imports.
29
+ *
30
+ * @returns Promise.
31
+ */
32
+ preload(): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=CSSModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSModule.d.ts","sourceRoot":"","sources":["../../src/module/CSSModule.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,OAAO;;IAChD,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,aAAa,CAAA;KAAE,CAAC;IAa5D;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * CSS module.
3
+ */
4
+ export default class CSSModule {
5
+ url;
6
+ #window;
7
+ #source;
8
+ #exports = null;
9
+ /**
10
+ * Constructor.
11
+ *
12
+ * @param window Window.
13
+ * @param url Module URL.
14
+ * @param source Source code.
15
+ */
16
+ constructor(window, url, source) {
17
+ this.#window = window;
18
+ this.url = url;
19
+ this.#source = source;
20
+ }
21
+ /**
22
+ * Compiles and evaluates the module.
23
+ *
24
+ * @returns Module exports.
25
+ */
26
+ async evaluate() {
27
+ if (this.#exports) {
28
+ return this.#exports;
29
+ }
30
+ const styleSheet = new this.#window.CSSStyleSheet();
31
+ styleSheet.replaceSync(this.#source);
32
+ this.#exports = { default: styleSheet };
33
+ return this.#exports;
34
+ }
35
+ /**
36
+ * Compiles and preloads the module and its imports.
37
+ *
38
+ * @returns Promise.
39
+ */
40
+ async preload() {
41
+ await this.evaluate();
42
+ }
43
+ }
44
+ //# sourceMappingURL=CSSModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSModule.js","sourceRoot":"","sources":["../../src/module/CSSModule.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IACb,GAAG,CAAM;IAChB,OAAO,CAAgB;IACvB,OAAO,CAAS;IACzB,QAAQ,GAAsC,IAAI,CAAC;IAEnD;;;;;;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,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACpD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;CACD"}
@@ -0,0 +1,36 @@
1
+ import BrowserWindow from '../window/BrowserWindow.js';
2
+ import { URL } from 'url';
3
+ import IModule from './IModule.js';
4
+ import * as PropertySymbol from '../PropertySymbol.js';
5
+ import Location from '../location/Location.js';
6
+ /**
7
+ * ECMAScript module.
8
+ */
9
+ export default class ECMAScriptModule implements IModule {
10
+ #private;
11
+ readonly url: URL;
12
+ readonly [PropertySymbol.window]: BrowserWindow;
13
+ /**
14
+ * Constructor.
15
+ *
16
+ * @param window Window.
17
+ * @param url Module URL.
18
+ * @param source Source code.
19
+ */
20
+ constructor(window: BrowserWindow, url: URL | Location, source: string);
21
+ /**
22
+ * Compiles and evaluates the module.
23
+ *
24
+ * @returns Module exports.
25
+ */
26
+ evaluate(): Promise<{
27
+ [key: string]: any;
28
+ } | null>;
29
+ /**
30
+ * Compiles and preloads the module and its imports.
31
+ *
32
+ * @returns Promise.
33
+ */
34
+ preload(): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=ECMAScriptModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECMAScriptModule.d.ts","sourceRoot":"","sources":["../../src/module/ECMAScriptModule.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAO/C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,OAAO;;IACvD,SAAgB,GAAG,EAAE,GAAG,CAAC;IACzB,SAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAMvD;;;;;;OAMG;gBACS,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM;IAMtE;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IA4C/D;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAgFrC"}
@@ -0,0 +1,128 @@
1
+ import ECMAScriptModuleCompiler from './ECMAScriptModuleCompiler.js';
2
+ import * as PropertySymbol from '../PropertySymbol.js';
3
+ import WindowBrowserContext from '../window/WindowBrowserContext.js';
4
+ import ModuleFactory from './ModuleFactory.js';
5
+ const EMPTY_COMPILED_RESULT = { imports: [], execute: () => { } };
6
+ /**
7
+ * ECMAScript module.
8
+ */
9
+ export default class ECMAScriptModule {
10
+ url;
11
+ [PropertySymbol.window];
12
+ #source;
13
+ #preloaded = false;
14
+ #compiled = null;
15
+ #exports = null;
16
+ /**
17
+ * Constructor.
18
+ *
19
+ * @param window Window.
20
+ * @param url Module URL.
21
+ * @param source Source code.
22
+ */
23
+ constructor(window, url, source) {
24
+ this[PropertySymbol.window] = window;
25
+ this.url = url;
26
+ this.#source = source;
27
+ }
28
+ /**
29
+ * Compiles and evaluates the module.
30
+ *
31
+ * @returns Module exports.
32
+ */
33
+ async evaluate() {
34
+ if (this.#exports) {
35
+ return this.#exports;
36
+ }
37
+ const compiled = this.#compile();
38
+ const modulePromises = [];
39
+ const window = this[PropertySymbol.window];
40
+ const browserFrame = new WindowBrowserContext(window).getBrowserFrame();
41
+ if (!browserFrame) {
42
+ return {};
43
+ }
44
+ for (const moduleImport of compiled.imports) {
45
+ modulePromises.push(ModuleFactory.getModule(window, this.url, moduleImport.url, {
46
+ with: { type: moduleImport.type }
47
+ }));
48
+ }
49
+ const modules = await Promise.all(modulePromises);
50
+ const imports = new Map();
51
+ for (const module of modules) {
52
+ imports.set(module.url.href, await module.evaluate());
53
+ }
54
+ const exports = {};
55
+ this.#exports = exports;
56
+ compiled.execute({
57
+ dispatchError: window[PropertySymbol.dispatchError].bind(window),
58
+ dynamicImport: this.#import.bind(this),
59
+ imports,
60
+ exports
61
+ });
62
+ return exports;
63
+ }
64
+ /**
65
+ * Compiles and preloads the module and its imports.
66
+ *
67
+ * @returns Promise.
68
+ */
69
+ async preload() {
70
+ if (this.#preloaded) {
71
+ return;
72
+ }
73
+ this.#preloaded = true;
74
+ const compiled = this.#compile();
75
+ const modulePromises = [];
76
+ const window = this[PropertySymbol.window];
77
+ const browserFrame = new WindowBrowserContext(window).getBrowserFrame();
78
+ if (!browserFrame) {
79
+ return;
80
+ }
81
+ for (const moduleImport of compiled.imports) {
82
+ modulePromises.push(ModuleFactory.getModule(window, this.url, moduleImport.url, {
83
+ with: { type: moduleImport.type }
84
+ }));
85
+ }
86
+ const modules = await Promise.all(modulePromises);
87
+ const promises = [];
88
+ for (const module of modules) {
89
+ promises.push(module.preload());
90
+ }
91
+ await Promise.all(promises);
92
+ }
93
+ /**
94
+ * Compiles the module.
95
+ */
96
+ #compile() {
97
+ if (this.#compiled) {
98
+ return this.#compiled;
99
+ }
100
+ // In case of an error, the compiled module will be empty.
101
+ this.#compiled = EMPTY_COMPILED_RESULT;
102
+ const compiler = new ECMAScriptModuleCompiler(this[PropertySymbol.window]);
103
+ this.#compiled = compiler.compile(this.url.href, this.#source);
104
+ return this.#compiled;
105
+ }
106
+ /**
107
+ * Imports a module.
108
+ *
109
+ * @param url URL.
110
+ * @param [options] Options.
111
+ * @param [options.with] With.
112
+ * @param [options.with.type] Type.
113
+ */
114
+ async #import(url, options) {
115
+ const window = this[PropertySymbol.window];
116
+ const browserFrame = new WindowBrowserContext(window).getBrowserFrame();
117
+ if (!browserFrame) {
118
+ return;
119
+ }
120
+ const asyncTaskManager = browserFrame[PropertySymbol.asyncTaskManager];
121
+ const taskID = asyncTaskManager?.startTask();
122
+ const module = await ModuleFactory.getModule(window, this.url, url, options);
123
+ const exports = await module.evaluate();
124
+ asyncTaskManager.endTask(taskID);
125
+ return exports;
126
+ }
127
+ }
128
+ //# sourceMappingURL=ECMAScriptModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECMAScriptModule.js","sourceRoot":"","sources":["../../src/module/ECMAScriptModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import BrowserWindow from '../window/BrowserWindow.js';
2
+ import IECMAScriptModuleCompiledResult from './IECMAScriptModuleCompiledResult.js';
3
+ /**
4
+ * ECMAScript module compiler.
5
+ */
6
+ export default class ECMAScriptModuleCompiler {
7
+ readonly window: BrowserWindow;
8
+ /**
9
+ * Constructor.
10
+ *
11
+ * @param window Window.
12
+ * @param url Module URL.
13
+ */
14
+ constructor(window: BrowserWindow);
15
+ /**
16
+ * Compiles code and returns imports and compiled code.
17
+ *
18
+ * @param moduleURL Module URL.
19
+ * @param code Code.
20
+ * @returns Result.
21
+ */
22
+ compile(moduleURL: string, code: string): IECMAScriptModuleCompiledResult;
23
+ /**
24
+ * Remove multiline comments.
25
+ *
26
+ * @param code Code.
27
+ * @returns Code without multiline comments.
28
+ */
29
+ private removeMultilineComments;
30
+ }
31
+ //# sourceMappingURL=ECMAScriptModuleCompiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECMAScriptModuleCompiler.d.ts","sourceRoot":"","sources":["../../src/module/ECMAScriptModuleCompiler.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,+BAA+B,MAAM,sCAAsC,CAAC;AA4DnF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC5C,SAAgB,MAAM,EAAE,aAAa,CAAC;IAEtC;;;;;OAKG;gBACS,MAAM,EAAE,aAAa;IAIjC;;;;;;OAMG;IACI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,+BAA+B;IAichF;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CAyB/B"}