@amazon/vinyl-util 1.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 (965) hide show
  1. package/dist/browserTestUtil/index.js +2641 -0
  2. package/dist/browserTestUtil/index.js.map +7 -0
  3. package/dist/browserTestUtil/types/current/async/async.d.ts +30 -0
  4. package/dist/browserTestUtil/types/current/async/async.d.ts.map +1 -0
  5. package/dist/browserTestUtil/types/current/async/async.js +48 -0
  6. package/dist/browserTestUtil/types/current/async/createCallbackTimingTest.d.ts +16 -0
  7. package/dist/browserTestUtil/types/current/async/createCallbackTimingTest.d.ts.map +1 -0
  8. package/dist/browserTestUtil/types/current/async/createCallbackTimingTest.js +57 -0
  9. package/dist/browserTestUtil/types/current/async/marble.d.ts +12 -0
  10. package/dist/browserTestUtil/types/current/async/marble.d.ts.map +1 -0
  11. package/dist/browserTestUtil/types/current/async/marble.js +27 -0
  12. package/dist/browserTestUtil/types/current/benchmark/Benchmark.d.ts +90 -0
  13. package/dist/browserTestUtil/types/current/benchmark/Benchmark.d.ts.map +1 -0
  14. package/dist/browserTestUtil/types/current/benchmark/Benchmark.js +247 -0
  15. package/dist/browserTestUtil/types/current/env/jasmineEnv.d.ts +14 -0
  16. package/dist/browserTestUtil/types/current/env/jasmineEnv.d.ts.map +1 -0
  17. package/dist/browserTestUtil/types/current/env/jasmineEnv.js +34 -0
  18. package/dist/browserTestUtil/types/current/expect/expectIterableEquals.d.ts +8 -0
  19. package/dist/browserTestUtil/types/current/expect/expectIterableEquals.d.ts.map +1 -0
  20. package/dist/browserTestUtil/types/current/expect/expectIterableEquals.js +13 -0
  21. package/dist/browserTestUtil/types/current/expect/expectNothing.d.ts +5 -0
  22. package/dist/browserTestUtil/types/current/expect/expectNothing.d.ts.map +1 -0
  23. package/dist/browserTestUtil/types/current/expect/expectNothing.js +10 -0
  24. package/dist/browserTestUtil/types/current/expect/prototype.d.ts +18 -0
  25. package/dist/browserTestUtil/types/current/expect/prototype.d.ts.map +1 -0
  26. package/dist/browserTestUtil/types/current/expect/prototype.js +28 -0
  27. package/dist/browserTestUtil/types/current/expect/typesafety.d.ts +38 -0
  28. package/dist/browserTestUtil/types/current/expect/typesafety.d.ts.map +1 -0
  29. package/dist/browserTestUtil/types/current/expect/typesafety.js +43 -0
  30. package/dist/browserTestUtil/types/current/index.d.ts +22 -0
  31. package/dist/browserTestUtil/types/current/index.d.ts.map +1 -0
  32. package/dist/browserTestUtil/types/current/index.js +21 -0
  33. package/dist/browserTestUtil/types/current/matchers/customMatchers.d.ts +9 -0
  34. package/dist/browserTestUtil/types/current/matchers/customMatchers.d.ts.map +1 -0
  35. package/dist/browserTestUtil/types/current/matchers/customMatchers.js +8 -0
  36. package/dist/browserTestUtil/types/current/matchers/toBeCloseToWithin.d.ts +5 -0
  37. package/dist/browserTestUtil/types/current/matchers/toBeCloseToWithin.d.ts.map +1 -0
  38. package/dist/browserTestUtil/types/current/matchers/toBeCloseToWithin.js +25 -0
  39. package/dist/browserTestUtil/types/current/mock/asSpy.d.ts +18 -0
  40. package/dist/browserTestUtil/types/current/mock/asSpy.d.ts.map +1 -0
  41. package/dist/browserTestUtil/types/current/mock/asSpy.js +24 -0
  42. package/dist/browserTestUtil/types/current/mock/createSpyFactory.d.ts +44 -0
  43. package/dist/browserTestUtil/types/current/mock/createSpyFactory.d.ts.map +1 -0
  44. package/dist/browserTestUtil/types/current/mock/createSpyFactory.js +27 -0
  45. package/dist/browserTestUtil/types/current/mock/dom/MockTimeRanges.d.ts +12 -0
  46. package/dist/browserTestUtil/types/current/mock/dom/MockTimeRanges.d.ts.map +1 -0
  47. package/dist/browserTestUtil/types/current/mock/dom/MockTimeRanges.js +30 -0
  48. package/dist/browserTestUtil/types/current/mock/dom/globals.d.ts +11 -0
  49. package/dist/browserTestUtil/types/current/mock/dom/globals.d.ts.map +1 -0
  50. package/dist/browserTestUtil/types/current/mock/dom/globals.js +15 -0
  51. package/dist/browserTestUtil/types/current/mock/dom/lib.dom.d.ts +2110 -0
  52. package/dist/browserTestUtil/types/current/mock/dom/lib.dom.d.ts.map +1 -0
  53. package/dist/browserTestUtil/types/current/mock/dom/lib.dom.js +1828 -0
  54. package/dist/browserTestUtil/types/current/mock/dom/mockEvent.d.ts +7 -0
  55. package/dist/browserTestUtil/types/current/mock/dom/mockEvent.d.ts.map +1 -0
  56. package/dist/browserTestUtil/types/current/mock/dom/mockEvent.js +14 -0
  57. package/dist/browserTestUtil/types/current/mock/implementEventFakes.d.ts +17 -0
  58. package/dist/browserTestUtil/types/current/mock/implementEventFakes.d.ts.map +1 -0
  59. package/dist/browserTestUtil/types/current/mock/implementEventFakes.js +108 -0
  60. package/dist/browserTestUtil/types/current/mock/polyfillCustomEvent.d.ts +2 -0
  61. package/dist/browserTestUtil/types/current/mock/polyfillCustomEvent.d.ts.map +1 -0
  62. package/dist/browserTestUtil/types/current/mock/polyfillCustomEvent.js +26 -0
  63. package/dist/browserTestUtil/types/current/reporters/ConsoleReporter.d.ts +10 -0
  64. package/dist/browserTestUtil/types/current/reporters/ConsoleReporter.d.ts.map +1 -0
  65. package/dist/browserTestUtil/types/current/reporters/ConsoleReporter.js +32 -0
  66. package/dist/browserTestUtil/types/current/tsconfig.tsbuildinfo +1 -0
  67. package/dist/browserTestUtil/types/ts3.7/async/async.d.ts +30 -0
  68. package/dist/browserTestUtil/types/ts3.7/async/createCallbackTimingTest.d.ts +16 -0
  69. package/dist/browserTestUtil/types/ts3.7/async/marble.d.ts +12 -0
  70. package/dist/browserTestUtil/types/ts3.7/benchmark/Benchmark.d.ts +84 -0
  71. package/dist/browserTestUtil/types/ts3.7/env/jasmineEnv.d.ts +14 -0
  72. package/dist/browserTestUtil/types/ts3.7/expect/expectIterableEquals.d.ts +8 -0
  73. package/dist/browserTestUtil/types/ts3.7/expect/expectNothing.d.ts +5 -0
  74. package/dist/browserTestUtil/types/ts3.7/expect/prototype.d.ts +18 -0
  75. package/dist/browserTestUtil/types/ts3.7/expect/typesafety.d.ts +50 -0
  76. package/dist/browserTestUtil/types/ts3.7/index.d.ts +22 -0
  77. package/dist/browserTestUtil/types/ts3.7/matchers/customMatchers.d.ts +9 -0
  78. package/dist/browserTestUtil/types/ts3.7/matchers/toBeCloseToWithin.d.ts +5 -0
  79. package/dist/browserTestUtil/types/ts3.7/mock/asSpy.d.ts +18 -0
  80. package/dist/browserTestUtil/types/ts3.7/mock/createSpyFactory.d.ts +44 -0
  81. package/dist/browserTestUtil/types/ts3.7/mock/dom/MockTimeRanges.d.ts +15 -0
  82. package/dist/browserTestUtil/types/ts3.7/mock/dom/globals.d.ts +11 -0
  83. package/dist/browserTestUtil/types/ts3.7/mock/dom/lib.dom.d.ts +2110 -0
  84. package/dist/browserTestUtil/types/ts3.7/mock/dom/mockEvent.d.ts +7 -0
  85. package/dist/browserTestUtil/types/ts3.7/mock/implementEventFakes.d.ts +17 -0
  86. package/dist/browserTestUtil/types/ts3.7/mock/polyfillCustomEvent.d.ts +2 -0
  87. package/dist/browserTestUtil/types/ts3.7/reporters/ConsoleReporter.d.ts +10 -0
  88. package/dist/browserTestUtil/types/ts4.1/async/async.d.ts +30 -0
  89. package/dist/browserTestUtil/types/ts4.1/async/createCallbackTimingTest.d.ts +16 -0
  90. package/dist/browserTestUtil/types/ts4.1/async/marble.d.ts +12 -0
  91. package/dist/browserTestUtil/types/ts4.1/benchmark/Benchmark.d.ts +84 -0
  92. package/dist/browserTestUtil/types/ts4.1/env/jasmineEnv.d.ts +14 -0
  93. package/dist/browserTestUtil/types/ts4.1/expect/expectIterableEquals.d.ts +8 -0
  94. package/dist/browserTestUtil/types/ts4.1/expect/expectNothing.d.ts +5 -0
  95. package/dist/browserTestUtil/types/ts4.1/expect/prototype.d.ts +18 -0
  96. package/dist/browserTestUtil/types/ts4.1/expect/typesafety.d.ts +50 -0
  97. package/dist/browserTestUtil/types/ts4.1/index.d.ts +22 -0
  98. package/dist/browserTestUtil/types/ts4.1/matchers/customMatchers.d.ts +9 -0
  99. package/dist/browserTestUtil/types/ts4.1/matchers/toBeCloseToWithin.d.ts +5 -0
  100. package/dist/browserTestUtil/types/ts4.1/mock/asSpy.d.ts +18 -0
  101. package/dist/browserTestUtil/types/ts4.1/mock/createSpyFactory.d.ts +44 -0
  102. package/dist/browserTestUtil/types/ts4.1/mock/dom/MockTimeRanges.d.ts +15 -0
  103. package/dist/browserTestUtil/types/ts4.1/mock/dom/globals.d.ts +11 -0
  104. package/dist/browserTestUtil/types/ts4.1/mock/dom/lib.dom.d.ts +2110 -0
  105. package/dist/browserTestUtil/types/ts4.1/mock/dom/mockEvent.d.ts +7 -0
  106. package/dist/browserTestUtil/types/ts4.1/mock/implementEventFakes.d.ts +17 -0
  107. package/dist/browserTestUtil/types/ts4.1/mock/polyfillCustomEvent.d.ts +2 -0
  108. package/dist/browserTestUtil/types/ts4.1/reporters/ConsoleReporter.d.ts +10 -0
  109. package/dist/browserTestUtil/types/ts4.7/async/async.d.ts +30 -0
  110. package/dist/browserTestUtil/types/ts4.7/async/createCallbackTimingTest.d.ts +16 -0
  111. package/dist/browserTestUtil/types/ts4.7/async/marble.d.ts +12 -0
  112. package/dist/browserTestUtil/types/ts4.7/benchmark/Benchmark.d.ts +90 -0
  113. package/dist/browserTestUtil/types/ts4.7/env/jasmineEnv.d.ts +14 -0
  114. package/dist/browserTestUtil/types/ts4.7/expect/expectIterableEquals.d.ts +8 -0
  115. package/dist/browserTestUtil/types/ts4.7/expect/expectNothing.d.ts +5 -0
  116. package/dist/browserTestUtil/types/ts4.7/expect/prototype.d.ts +18 -0
  117. package/dist/browserTestUtil/types/ts4.7/expect/typesafety.d.ts +50 -0
  118. package/dist/browserTestUtil/types/ts4.7/index.d.ts +22 -0
  119. package/dist/browserTestUtil/types/ts4.7/matchers/customMatchers.d.ts +9 -0
  120. package/dist/browserTestUtil/types/ts4.7/matchers/toBeCloseToWithin.d.ts +5 -0
  121. package/dist/browserTestUtil/types/ts4.7/mock/asSpy.d.ts +18 -0
  122. package/dist/browserTestUtil/types/ts4.7/mock/createSpyFactory.d.ts +44 -0
  123. package/dist/browserTestUtil/types/ts4.7/mock/dom/MockTimeRanges.d.ts +15 -0
  124. package/dist/browserTestUtil/types/ts4.7/mock/dom/globals.d.ts +11 -0
  125. package/dist/browserTestUtil/types/ts4.7/mock/dom/lib.dom.d.ts +2110 -0
  126. package/dist/browserTestUtil/types/ts4.7/mock/dom/mockEvent.d.ts +7 -0
  127. package/dist/browserTestUtil/types/ts4.7/mock/implementEventFakes.d.ts +17 -0
  128. package/dist/browserTestUtil/types/ts4.7/mock/polyfillCustomEvent.d.ts +2 -0
  129. package/dist/browserTestUtil/types/ts4.7/reporters/ConsoleReporter.d.ts +10 -0
  130. package/dist/index.cjs +6104 -0
  131. package/dist/index.cjs.map +7 -0
  132. package/dist/index.js +6084 -0
  133. package/dist/index.js.map +7 -0
  134. package/dist/polyfill/index.d.ts +7 -0
  135. package/dist/polyfill/index.d.ts.map +1 -0
  136. package/dist/polyfill/index.js +3552 -0
  137. package/dist/polyfill/index.js.map +7 -0
  138. package/dist/polyfill/tsconfig.tsbuildinfo +1 -0
  139. package/dist/test/benchmark.es5.js +266 -0
  140. package/dist/test/benchmark.js +2026 -0
  141. package/dist/test/benchmark.js.map +7 -0
  142. package/dist/testUtil/index.js +593 -0
  143. package/dist/testUtil/index.js.map +7 -0
  144. package/dist/testUtil/types/current/error/uncaughtErrorUtil.d.ts +15 -0
  145. package/dist/testUtil/types/current/error/uncaughtErrorUtil.d.ts.map +1 -0
  146. package/dist/testUtil/types/current/error/uncaughtErrorUtil.js +52 -0
  147. package/dist/testUtil/types/current/global/overrideGlobalInit.d.ts +5 -0
  148. package/dist/testUtil/types/current/global/overrideGlobalInit.d.ts.map +1 -0
  149. package/dist/testUtil/types/current/global/overrideGlobalInit.js +10 -0
  150. package/dist/testUtil/types/current/index.d.ts +20 -0
  151. package/dist/testUtil/types/current/index.d.ts.map +1 -0
  152. package/dist/testUtil/types/current/index.js +19 -0
  153. package/dist/testUtil/types/current/mock/event/MockEventHost.d.ts +15 -0
  154. package/dist/testUtil/types/current/mock/event/MockEventHost.d.ts.map +1 -0
  155. package/dist/testUtil/types/current/mock/event/MockEventHost.js +21 -0
  156. package/dist/testUtil/types/current/mock/event/emptyLogTarget.d.ts +3 -0
  157. package/dist/testUtil/types/current/mock/event/emptyLogTarget.d.ts.map +1 -0
  158. package/dist/testUtil/types/current/mock/event/emptyLogTarget.js +7 -0
  159. package/dist/testUtil/types/current/mock/logging/MockLogger.d.ts +18 -0
  160. package/dist/testUtil/types/current/mock/logging/MockLogger.d.ts.map +1 -0
  161. package/dist/testUtil/types/current/mock/logging/MockLogger.js +41 -0
  162. package/dist/testUtil/types/current/mock/navigator/setMockNavigator.d.ts +7 -0
  163. package/dist/testUtil/types/current/mock/navigator/setMockNavigator.d.ts.map +1 -0
  164. package/dist/testUtil/types/current/mock/navigator/setMockNavigator.js +15 -0
  165. package/dist/testUtil/types/current/mock/network/MockNetworkInformation.d.ts +10 -0
  166. package/dist/testUtil/types/current/mock/network/MockNetworkInformation.d.ts.map +1 -0
  167. package/dist/testUtil/types/current/mock/network/MockNetworkInformation.js +12 -0
  168. package/dist/testUtil/types/current/mock/network/MockNetworkMetricsController.d.ts +10 -0
  169. package/dist/testUtil/types/current/mock/network/MockNetworkMetricsController.d.ts.map +1 -0
  170. package/dist/testUtil/types/current/mock/network/MockNetworkMetricsController.js +15 -0
  171. package/dist/testUtil/types/current/mock/network/MockNetworkState.d.ts +7 -0
  172. package/dist/testUtil/types/current/mock/network/MockNetworkState.d.ts.map +1 -0
  173. package/dist/testUtil/types/current/mock/network/MockNetworkState.js +11 -0
  174. package/dist/testUtil/types/current/mock/network/MockRequester.d.ts +6 -0
  175. package/dist/testUtil/types/current/mock/network/MockRequester.d.ts.map +1 -0
  176. package/dist/testUtil/types/current/mock/network/MockRequester.js +10 -0
  177. package/dist/testUtil/types/current/mock/network/emptyRequestInfo.d.ts +10 -0
  178. package/dist/testUtil/types/current/mock/network/emptyRequestInfo.d.ts.map +1 -0
  179. package/dist/testUtil/types/current/mock/network/emptyRequestInfo.js +71 -0
  180. package/dist/testUtil/types/current/mock/persistence/MockPersistence.d.ts +9 -0
  181. package/dist/testUtil/types/current/mock/persistence/MockPersistence.d.ts.map +1 -0
  182. package/dist/testUtil/types/current/mock/persistence/MockPersistence.js +12 -0
  183. package/dist/testUtil/types/current/mock/util/spyOnPropertySafe.d.ts +6 -0
  184. package/dist/testUtil/types/current/mock/util/spyOnPropertySafe.d.ts.map +1 -0
  185. package/dist/testUtil/types/current/mock/util/spyOnPropertySafe.js +20 -0
  186. package/dist/testUtil/types/current/patch/addPatchTests.d.ts +35 -0
  187. package/dist/testUtil/types/current/patch/addPatchTests.d.ts.map +1 -0
  188. package/dist/testUtil/types/current/patch/addPatchTests.js +54 -0
  189. package/dist/testUtil/types/current/reporters/LogReporter.d.ts +57 -0
  190. package/dist/testUtil/types/current/reporters/LogReporter.d.ts.map +1 -0
  191. package/dist/testUtil/types/current/reporters/LogReporter.js +145 -0
  192. package/dist/testUtil/types/current/reporters/RestApiReporter.d.ts +23 -0
  193. package/dist/testUtil/types/current/reporters/RestApiReporter.d.ts.map +1 -0
  194. package/dist/testUtil/types/current/reporters/RestApiReporter.js +91 -0
  195. package/dist/testUtil/types/current/tsconfig.tsbuildinfo +1 -0
  196. package/dist/testUtil/types/current/util/event/createEventSpy.d.ts +31 -0
  197. package/dist/testUtil/types/current/util/event/createEventSpy.d.ts.map +1 -0
  198. package/dist/testUtil/types/current/util/event/createEventSpy.js +33 -0
  199. package/dist/testUtil/types/current/util/initializeUncaughtErrorLogging.d.ts +6 -0
  200. package/dist/testUtil/types/current/util/initializeUncaughtErrorLogging.d.ts.map +1 -0
  201. package/dist/testUtil/types/current/util/initializeUncaughtErrorLogging.js +20 -0
  202. package/dist/testUtil/types/ts3.7/error/uncaughtErrorUtil.d.ts +15 -0
  203. package/dist/testUtil/types/ts3.7/global/overrideGlobalInit.d.ts +5 -0
  204. package/dist/testUtil/types/ts3.7/index.d.ts +20 -0
  205. package/dist/testUtil/types/ts3.7/mock/event/MockEventHost.d.ts +15 -0
  206. package/dist/testUtil/types/ts3.7/mock/event/emptyLogTarget.d.ts +3 -0
  207. package/dist/testUtil/types/ts3.7/mock/logging/MockLogger.d.ts +18 -0
  208. package/dist/testUtil/types/ts3.7/mock/navigator/setMockNavigator.d.ts +7 -0
  209. package/dist/testUtil/types/ts3.7/mock/network/MockNetworkInformation.d.ts +10 -0
  210. package/dist/testUtil/types/ts3.7/mock/network/MockNetworkMetricsController.d.ts +10 -0
  211. package/dist/testUtil/types/ts3.7/mock/network/MockNetworkState.d.ts +7 -0
  212. package/dist/testUtil/types/ts3.7/mock/network/MockRequester.d.ts +6 -0
  213. package/dist/testUtil/types/ts3.7/mock/network/emptyRequestInfo.d.ts +10 -0
  214. package/dist/testUtil/types/ts3.7/mock/persistence/MockPersistence.d.ts +9 -0
  215. package/dist/testUtil/types/ts3.7/mock/util/spyOnPropertySafe.d.ts +6 -0
  216. package/dist/testUtil/types/ts3.7/patch/addPatchTests.d.ts +35 -0
  217. package/dist/testUtil/types/ts3.7/reporters/LogReporter.d.ts +57 -0
  218. package/dist/testUtil/types/ts3.7/reporters/RestApiReporter.d.ts +23 -0
  219. package/dist/testUtil/types/ts3.7/util/event/createEventSpy.d.ts +31 -0
  220. package/dist/testUtil/types/ts3.7/util/initializeUncaughtErrorLogging.d.ts +6 -0
  221. package/dist/testUtil/types/ts4.1/error/uncaughtErrorUtil.d.ts +15 -0
  222. package/dist/testUtil/types/ts4.1/global/overrideGlobalInit.d.ts +5 -0
  223. package/dist/testUtil/types/ts4.1/index.d.ts +20 -0
  224. package/dist/testUtil/types/ts4.1/mock/event/MockEventHost.d.ts +15 -0
  225. package/dist/testUtil/types/ts4.1/mock/event/emptyLogTarget.d.ts +3 -0
  226. package/dist/testUtil/types/ts4.1/mock/logging/MockLogger.d.ts +18 -0
  227. package/dist/testUtil/types/ts4.1/mock/navigator/setMockNavigator.d.ts +7 -0
  228. package/dist/testUtil/types/ts4.1/mock/network/MockNetworkInformation.d.ts +10 -0
  229. package/dist/testUtil/types/ts4.1/mock/network/MockNetworkMetricsController.d.ts +10 -0
  230. package/dist/testUtil/types/ts4.1/mock/network/MockNetworkState.d.ts +7 -0
  231. package/dist/testUtil/types/ts4.1/mock/network/MockRequester.d.ts +6 -0
  232. package/dist/testUtil/types/ts4.1/mock/network/emptyRequestInfo.d.ts +10 -0
  233. package/dist/testUtil/types/ts4.1/mock/persistence/MockPersistence.d.ts +9 -0
  234. package/dist/testUtil/types/ts4.1/mock/util/spyOnPropertySafe.d.ts +6 -0
  235. package/dist/testUtil/types/ts4.1/patch/addPatchTests.d.ts +35 -0
  236. package/dist/testUtil/types/ts4.1/reporters/LogReporter.d.ts +58 -0
  237. package/dist/testUtil/types/ts4.1/reporters/RestApiReporter.d.ts +24 -0
  238. package/dist/testUtil/types/ts4.1/util/event/createEventSpy.d.ts +31 -0
  239. package/dist/testUtil/types/ts4.1/util/initializeUncaughtErrorLogging.d.ts +6 -0
  240. package/dist/testUtil/types/ts4.7/error/uncaughtErrorUtil.d.ts +15 -0
  241. package/dist/testUtil/types/ts4.7/global/overrideGlobalInit.d.ts +5 -0
  242. package/dist/testUtil/types/ts4.7/index.d.ts +20 -0
  243. package/dist/testUtil/types/ts4.7/mock/event/MockEventHost.d.ts +15 -0
  244. package/dist/testUtil/types/ts4.7/mock/event/emptyLogTarget.d.ts +3 -0
  245. package/dist/testUtil/types/ts4.7/mock/logging/MockLogger.d.ts +18 -0
  246. package/dist/testUtil/types/ts4.7/mock/navigator/setMockNavigator.d.ts +7 -0
  247. package/dist/testUtil/types/ts4.7/mock/network/MockNetworkInformation.d.ts +10 -0
  248. package/dist/testUtil/types/ts4.7/mock/network/MockNetworkMetricsController.d.ts +10 -0
  249. package/dist/testUtil/types/ts4.7/mock/network/MockNetworkState.d.ts +7 -0
  250. package/dist/testUtil/types/ts4.7/mock/network/MockRequester.d.ts +6 -0
  251. package/dist/testUtil/types/ts4.7/mock/network/emptyRequestInfo.d.ts +10 -0
  252. package/dist/testUtil/types/ts4.7/mock/persistence/MockPersistence.d.ts +9 -0
  253. package/dist/testUtil/types/ts4.7/mock/util/spyOnPropertySafe.d.ts +6 -0
  254. package/dist/testUtil/types/ts4.7/patch/addPatchTests.d.ts +35 -0
  255. package/dist/testUtil/types/ts4.7/reporters/LogReporter.d.ts +57 -0
  256. package/dist/testUtil/types/ts4.7/reporters/RestApiReporter.d.ts +23 -0
  257. package/dist/testUtil/types/ts4.7/util/event/createEventSpy.d.ts +31 -0
  258. package/dist/testUtil/types/ts4.7/util/initializeUncaughtErrorLogging.d.ts +6 -0
  259. package/dist/types/current/client/Version.d.ts +38 -0
  260. package/dist/types/current/client/Version.d.ts.map +1 -0
  261. package/dist/types/current/client/Version.js +40 -0
  262. package/dist/types/current/client/userAgent/UserAgentInfo.d.ts +36 -0
  263. package/dist/types/current/client/userAgent/UserAgentInfo.d.ts.map +1 -0
  264. package/dist/types/current/client/userAgent/UserAgentInfo.js +12 -0
  265. package/dist/types/current/client/userAgent/defaultUserAgentRules.d.ts +94 -0
  266. package/dist/types/current/client/userAgent/defaultUserAgentRules.d.ts.map +1 -0
  267. package/dist/types/current/client/userAgent/defaultUserAgentRules.js +251 -0
  268. package/dist/types/current/client/userAgent/hasBrowser.d.ts +26 -0
  269. package/dist/types/current/client/userAgent/hasBrowser.d.ts.map +1 -0
  270. package/dist/types/current/client/userAgent/hasBrowser.js +49 -0
  271. package/dist/types/current/client/userAgent/parseUserAgent.d.ts +14 -0
  272. package/dist/types/current/client/userAgent/parseUserAgent.d.ts.map +1 -0
  273. package/dist/types/current/client/userAgent/parseUserAgent.js +67 -0
  274. package/dist/types/current/client/userAgent/tokenizeUserAgent.d.ts +104 -0
  275. package/dist/types/current/client/userAgent/tokenizeUserAgent.d.ts.map +1 -0
  276. package/dist/types/current/client/userAgent/tokenizeUserAgent.js +167 -0
  277. package/dist/types/current/client/userAgent/userAgentRuleHelpers.d.ts +52 -0
  278. package/dist/types/current/client/userAgent/userAgentRuleHelpers.d.ts.map +1 -0
  279. package/dist/types/current/client/userAgent/userAgentRuleHelpers.js +96 -0
  280. package/dist/types/current/core/Unsubscribe.d.ts +2 -0
  281. package/dist/types/current/core/Unsubscribe.d.ts.map +1 -0
  282. package/dist/types/current/core/Unsubscribe.js +5 -0
  283. package/dist/types/current/core/clearable.d.ts +19 -0
  284. package/dist/types/current/core/clearable.d.ts.map +1 -0
  285. package/dist/types/current/core/clearable.js +24 -0
  286. package/dist/types/current/core/cloneable.d.ts +14 -0
  287. package/dist/types/current/core/cloneable.d.ts.map +1 -0
  288. package/dist/types/current/core/cloneable.js +14 -0
  289. package/dist/types/current/core/disposable.d.ts +66 -0
  290. package/dist/types/current/core/disposable.d.ts.map +1 -0
  291. package/dist/types/current/core/disposable.js +91 -0
  292. package/dist/types/current/error/AbortError.d.ts +6 -0
  293. package/dist/types/current/error/AbortError.d.ts.map +1 -0
  294. package/dist/types/current/error/AbortError.js +15 -0
  295. package/dist/types/current/error/ErrorOrigin.d.ts +45 -0
  296. package/dist/types/current/error/ErrorOrigin.d.ts.map +1 -0
  297. package/dist/types/current/error/ErrorOrigin.js +48 -0
  298. package/dist/types/current/error/IllegalArgumentError.d.ts +10 -0
  299. package/dist/types/current/error/IllegalArgumentError.d.ts.map +1 -0
  300. package/dist/types/current/error/IllegalArgumentError.js +20 -0
  301. package/dist/types/current/error/IllegalStateError.d.ts +9 -0
  302. package/dist/types/current/error/IllegalStateError.d.ts.map +1 -0
  303. package/dist/types/current/error/IllegalStateError.js +17 -0
  304. package/dist/types/current/error/MediaUnsupportedError.d.ts +9 -0
  305. package/dist/types/current/error/MediaUnsupportedError.d.ts.map +1 -0
  306. package/dist/types/current/error/MediaUnsupportedError.js +20 -0
  307. package/dist/types/current/error/ReportableError.d.ts +39 -0
  308. package/dist/types/current/error/ReportableError.d.ts.map +1 -0
  309. package/dist/types/current/error/ReportableError.js +66 -0
  310. package/dist/types/current/error/ServiceResponseError.d.ts +14 -0
  311. package/dist/types/current/error/ServiceResponseError.d.ts.map +1 -0
  312. package/dist/types/current/error/ServiceResponseError.js +31 -0
  313. package/dist/types/current/error/StackOverflowError.d.ts +9 -0
  314. package/dist/types/current/error/StackOverflowError.d.ts.map +1 -0
  315. package/dist/types/current/error/StackOverflowError.js +17 -0
  316. package/dist/types/current/error/TimeoutError.d.ts +6 -0
  317. package/dist/types/current/error/TimeoutError.d.ts.map +1 -0
  318. package/dist/types/current/error/TimeoutError.js +15 -0
  319. package/dist/types/current/error/UnreachableCodeError.d.ts +9 -0
  320. package/dist/types/current/error/UnreachableCodeError.d.ts.map +1 -0
  321. package/dist/types/current/error/UnreachableCodeError.js +17 -0
  322. package/dist/types/current/error/ValidationError.d.ts +17 -0
  323. package/dist/types/current/error/ValidationError.d.ts.map +1 -0
  324. package/dist/types/current/error/ValidationError.js +32 -0
  325. package/dist/types/current/event/DomEventHost.d.ts +45 -0
  326. package/dist/types/current/event/DomEventHost.d.ts.map +1 -0
  327. package/dist/types/current/event/DomEventHost.js +53 -0
  328. package/dist/types/current/event/EventHost.d.ts +69 -0
  329. package/dist/types/current/event/EventHost.d.ts.map +1 -0
  330. package/dist/types/current/event/EventHost.js +38 -0
  331. package/dist/types/current/event/Signal.d.ts +57 -0
  332. package/dist/types/current/event/Signal.d.ts.map +1 -0
  333. package/dist/types/current/event/Signal.js +66 -0
  334. package/dist/types/current/event/nextEventAsPromise.d.ts +30 -0
  335. package/dist/types/current/event/nextEventAsPromise.d.ts.map +1 -0
  336. package/dist/types/current/event/nextEventAsPromise.js +23 -0
  337. package/dist/types/current/event/onAny.d.ts +13 -0
  338. package/dist/types/current/event/onAny.d.ts.map +1 -0
  339. package/dist/types/current/event/onAny.js +24 -0
  340. package/dist/types/current/event/redispatchEvents.d.ts +15 -0
  341. package/dist/types/current/event/redispatchEvents.d.ts.map +1 -0
  342. package/dist/types/current/event/redispatchEvents.js +23 -0
  343. package/dist/types/current/global/environment.d.ts +26 -0
  344. package/dist/types/current/global/environment.d.ts.map +1 -0
  345. package/dist/types/current/global/environment.js +29 -0
  346. package/dist/types/current/global/globalRegistry.d.ts +86 -0
  347. package/dist/types/current/global/globalRegistry.d.ts.map +1 -0
  348. package/dist/types/current/global/globalRegistry.js +181 -0
  349. package/dist/types/current/global/globalTarget.d.ts +8 -0
  350. package/dist/types/current/global/globalTarget.d.ts.map +1 -0
  351. package/dist/types/current/global/globalTarget.js +12 -0
  352. package/dist/types/current/index.d.ts +118 -0
  353. package/dist/types/current/index.d.ts.map +1 -0
  354. package/dist/types/current/index.js +117 -0
  355. package/dist/types/current/logging/ConsoleLogHandler.d.ts +26 -0
  356. package/dist/types/current/logging/ConsoleLogHandler.d.ts.map +1 -0
  357. package/dist/types/current/logging/ConsoleLogHandler.js +43 -0
  358. package/dist/types/current/logging/HistoryLogHandler.d.ts +56 -0
  359. package/dist/types/current/logging/HistoryLogHandler.d.ts.map +1 -0
  360. package/dist/types/current/logging/HistoryLogHandler.js +54 -0
  361. package/dist/types/current/logging/LogTarget.d.ts +19 -0
  362. package/dist/types/current/logging/LogTarget.d.ts.map +1 -0
  363. package/dist/types/current/logging/LogTarget.js +18 -0
  364. package/dist/types/current/logging/Logger.d.ts +66 -0
  365. package/dist/types/current/logging/Logger.d.ts.map +1 -0
  366. package/dist/types/current/logging/Logger.js +110 -0
  367. package/dist/types/current/logging/VinylLogging.d.ts +9 -0
  368. package/dist/types/current/logging/VinylLogging.d.ts.map +1 -0
  369. package/dist/types/current/logging/VinylLogging.js +22 -0
  370. package/dist/types/current/logging/getLogLevelFromSearch.d.ts +8 -0
  371. package/dist/types/current/logging/getLogLevelFromSearch.d.ts.map +1 -0
  372. package/dist/types/current/logging/getLogLevelFromSearch.js +17 -0
  373. package/dist/types/current/logging/logTimer.d.ts +10 -0
  374. package/dist/types/current/logging/logTimer.d.ts.map +1 -0
  375. package/dist/types/current/logging/logTimer.js +18 -0
  376. package/dist/types/current/network/RequestError.d.ts +26 -0
  377. package/dist/types/current/network/RequestError.d.ts.map +1 -0
  378. package/dist/types/current/network/RequestError.js +78 -0
  379. package/dist/types/current/network/RequestInterceptor.d.ts +14 -0
  380. package/dist/types/current/network/RequestInterceptor.d.ts.map +1 -0
  381. package/dist/types/current/network/RequestInterceptor.js +5 -0
  382. package/dist/types/current/network/Requester.d.ts +84 -0
  383. package/dist/types/current/network/Requester.d.ts.map +1 -0
  384. package/dist/types/current/network/Requester.js +10 -0
  385. package/dist/types/current/network/RequesterImpl.d.ts +120 -0
  386. package/dist/types/current/network/RequesterImpl.d.ts.map +1 -0
  387. package/dist/types/current/network/RequesterImpl.js +321 -0
  388. package/dist/types/current/network/RequesterImplEventMap.d.ts +230 -0
  389. package/dist/types/current/network/RequesterImplEventMap.d.ts.map +1 -0
  390. package/dist/types/current/network/RequesterImplEventMap.js +23 -0
  391. package/dist/types/current/network/browser/NetworkInformation.d.ts +48 -0
  392. package/dist/types/current/network/browser/NetworkInformation.d.ts.map +1 -0
  393. package/dist/types/current/network/browser/NetworkInformation.js +17 -0
  394. package/dist/types/current/network/createRequester.d.ts +12 -0
  395. package/dist/types/current/network/createRequester.d.ts.map +1 -0
  396. package/dist/types/current/network/createRequester.js +29 -0
  397. package/dist/types/current/network/logging/networkLoggingHandler.d.ts +14 -0
  398. package/dist/types/current/network/logging/networkLoggingHandler.d.ts.map +1 -0
  399. package/dist/types/current/network/logging/networkLoggingHandler.js +74 -0
  400. package/dist/types/current/network/metrics/NetworkMetricsController.d.ts +41 -0
  401. package/dist/types/current/network/metrics/NetworkMetricsController.d.ts.map +1 -0
  402. package/dist/types/current/network/metrics/NetworkMetricsController.js +5 -0
  403. package/dist/types/current/network/metrics/NetworkMetricsControllerImpl.d.ts +119 -0
  404. package/dist/types/current/network/metrics/NetworkMetricsControllerImpl.d.ts.map +1 -0
  405. package/dist/types/current/network/metrics/NetworkMetricsControllerImpl.js +210 -0
  406. package/dist/types/current/network/metrics/networkMetricsGlobal.d.ts +11 -0
  407. package/dist/types/current/network/metrics/networkMetricsGlobal.d.ts.map +1 -0
  408. package/dist/types/current/network/metrics/networkMetricsGlobal.js +19 -0
  409. package/dist/types/current/network/metrics/networkMetricsModel.d.ts +147 -0
  410. package/dist/types/current/network/metrics/networkMetricsModel.d.ts.map +1 -0
  411. package/dist/types/current/network/metrics/networkMetricsModel.js +35 -0
  412. package/dist/types/current/network/network.d.ts +47 -0
  413. package/dist/types/current/network/network.d.ts.map +1 -0
  414. package/dist/types/current/network/network.js +54 -0
  415. package/dist/types/current/network/requesterGlobal.d.ts +19 -0
  416. package/dist/types/current/network/requesterGlobal.d.ts.map +1 -0
  417. package/dist/types/current/network/requesterGlobal.js +29 -0
  418. package/dist/types/current/network/requesterUtil.d.ts +28 -0
  419. package/dist/types/current/network/requesterUtil.d.ts.map +1 -0
  420. package/dist/types/current/network/requesterUtil.js +71 -0
  421. package/dist/types/current/network/responseUtil.d.ts +10 -0
  422. package/dist/types/current/network/responseUtil.d.ts.map +1 -0
  423. package/dist/types/current/network/responseUtil.js +14 -0
  424. package/dist/types/current/patch/network/fetch.d.ts +11 -0
  425. package/dist/types/current/patch/network/fetch.d.ts.map +1 -0
  426. package/dist/types/current/patch/network/fetch.js +43 -0
  427. package/dist/types/current/patch/patchTarget.d.ts +114 -0
  428. package/dist/types/current/patch/patchTarget.d.ts.map +1 -0
  429. package/dist/types/current/patch/patchTarget.js +219 -0
  430. package/dist/types/current/persistence/KeyValuePersistence.d.ts +28 -0
  431. package/dist/types/current/persistence/KeyValuePersistence.d.ts.map +1 -0
  432. package/dist/types/current/persistence/KeyValuePersistence.js +5 -0
  433. package/dist/types/current/persistence/PersistentItem.d.ts +86 -0
  434. package/dist/types/current/persistence/PersistentItem.d.ts.map +1 -0
  435. package/dist/types/current/persistence/PersistentItem.js +70 -0
  436. package/dist/types/current/persistence/StoragePersistence.d.ts +11 -0
  437. package/dist/types/current/persistence/StoragePersistence.d.ts.map +1 -0
  438. package/dist/types/current/persistence/StoragePersistence.js +25 -0
  439. package/dist/types/current/persistence/persistenceRef.d.ts +7 -0
  440. package/dist/types/current/persistence/persistenceRef.d.ts.map +1 -0
  441. package/dist/types/current/persistence/persistenceRef.js +13 -0
  442. package/dist/types/current/tsconfig.tsbuildinfo +1 -0
  443. package/dist/types/current/util/async/Abort.d.ts +99 -0
  444. package/dist/types/current/util/async/Abort.d.ts.map +1 -0
  445. package/dist/types/current/util/async/Abort.js +122 -0
  446. package/dist/types/current/util/async/Deferred.d.ts +25 -0
  447. package/dist/types/current/util/async/Deferred.d.ts.map +1 -0
  448. package/dist/types/current/util/async/Deferred.js +41 -0
  449. package/dist/types/current/util/async/TaskQueue.d.ts +74 -0
  450. package/dist/types/current/util/async/TaskQueue.d.ts.map +1 -0
  451. package/dist/types/current/util/async/TaskQueue.js +124 -0
  452. package/dist/types/current/util/async/TimeoutController.d.ts +36 -0
  453. package/dist/types/current/util/async/TimeoutController.d.ts.map +1 -0
  454. package/dist/types/current/util/async/TimeoutController.js +62 -0
  455. package/dist/types/current/util/async/TimeoutSlot.d.ts +29 -0
  456. package/dist/types/current/util/async/TimeoutSlot.d.ts.map +1 -0
  457. package/dist/types/current/util/async/TimeoutSlot.js +50 -0
  458. package/dist/types/current/util/async/abortUtils.d.ts +15 -0
  459. package/dist/types/current/util/async/abortUtils.d.ts.map +1 -0
  460. package/dist/types/current/util/async/abortUtils.js +27 -0
  461. package/dist/types/current/util/async/never.d.ts +5 -0
  462. package/dist/types/current/util/async/never.d.ts.map +1 -0
  463. package/dist/types/current/util/async/never.js +22 -0
  464. package/dist/types/current/util/async/promise.d.ts +53 -0
  465. package/dist/types/current/util/async/promise.d.ts.map +1 -0
  466. package/dist/types/current/util/async/promise.js +131 -0
  467. package/dist/types/current/util/async/sleep.d.ts +27 -0
  468. package/dist/types/current/util/async/sleep.d.ts.map +1 -0
  469. package/dist/types/current/util/async/sleep.js +41 -0
  470. package/dist/types/current/util/async/timeout.d.ts +29 -0
  471. package/dist/types/current/util/async/timeout.d.ts.map +1 -0
  472. package/dist/types/current/util/async/timeout.js +55 -0
  473. package/dist/types/current/util/browser/searchParams.d.ts +13 -0
  474. package/dist/types/current/util/browser/searchParams.d.ts.map +1 -0
  475. package/dist/types/current/util/browser/searchParams.js +26 -0
  476. package/dist/types/current/util/buffer/BufferError.d.ts +6 -0
  477. package/dist/types/current/util/buffer/BufferError.d.ts.map +1 -0
  478. package/dist/types/current/util/buffer/BufferError.js +15 -0
  479. package/dist/types/current/util/buffer/BufferReader.d.ts +77 -0
  480. package/dist/types/current/util/buffer/BufferReader.d.ts.map +1 -0
  481. package/dist/types/current/util/buffer/BufferReader.js +150 -0
  482. package/dist/types/current/util/buffer/BufferWriter.d.ts +30 -0
  483. package/dist/types/current/util/buffer/BufferWriter.d.ts.map +1 -0
  484. package/dist/types/current/util/buffer/BufferWriter.js +80 -0
  485. package/dist/types/current/util/buffer/buffer.d.ts +55 -0
  486. package/dist/types/current/util/buffer/buffer.d.ts.map +1 -0
  487. package/dist/types/current/util/buffer/buffer.js +99 -0
  488. package/dist/types/current/util/collection/CacheMap.d.ts +12 -0
  489. package/dist/types/current/util/collection/CacheMap.d.ts.map +1 -0
  490. package/dist/types/current/util/collection/CacheMap.js +5 -0
  491. package/dist/types/current/util/collection/LinkedList.d.ts +165 -0
  492. package/dist/types/current/util/collection/LinkedList.d.ts.map +1 -0
  493. package/dist/types/current/util/collection/LinkedList.js +332 -0
  494. package/dist/types/current/util/collection/LruCache.d.ts +93 -0
  495. package/dist/types/current/util/collection/LruCache.d.ts.map +1 -0
  496. package/dist/types/current/util/collection/LruCache.js +170 -0
  497. package/dist/types/current/util/collection/array.d.ts +207 -0
  498. package/dist/types/current/util/collection/array.d.ts.map +1 -0
  499. package/dist/types/current/util/collection/array.js +403 -0
  500. package/dist/types/current/util/collection/typedArray.d.ts +17 -0
  501. package/dist/types/current/util/collection/typedArray.d.ts.map +1 -0
  502. package/dist/types/current/util/collection/typedArray.js +32 -0
  503. package/dist/types/current/util/comparison/compare.d.ts +33 -0
  504. package/dist/types/current/util/comparison/compare.d.ts.map +1 -0
  505. package/dist/types/current/util/comparison/compare.js +53 -0
  506. package/dist/types/current/util/config/ValueProvider.d.ts +17 -0
  507. package/dist/types/current/util/config/ValueProvider.d.ts.map +1 -0
  508. package/dist/types/current/util/config/ValueProvider.js +18 -0
  509. package/dist/types/current/util/date/date.d.ts +32 -0
  510. package/dist/types/current/util/date/date.d.ts.map +1 -0
  511. package/dist/types/current/util/date/date.js +49 -0
  512. package/dist/types/current/util/error/stack.d.ts +79 -0
  513. package/dist/types/current/util/error/stack.d.ts.map +1 -0
  514. package/dist/types/current/util/error/stack.js +135 -0
  515. package/dist/types/current/util/fun/debounce.d.ts +12 -0
  516. package/dist/types/current/util/fun/debounce.d.ts.map +1 -0
  517. package/dist/types/current/util/fun/debounce.js +28 -0
  518. package/dist/types/current/util/fun/flow.d.ts +38 -0
  519. package/dist/types/current/util/fun/flow.d.ts.map +1 -0
  520. package/dist/types/current/util/fun/flow.js +28 -0
  521. package/dist/types/current/util/fun/function.d.ts +5 -0
  522. package/dist/types/current/util/fun/function.d.ts.map +1 -0
  523. package/dist/types/current/util/fun/function.js +8 -0
  524. package/dist/types/current/util/fun/memoize.d.ts +24 -0
  525. package/dist/types/current/util/fun/memoize.d.ts.map +1 -0
  526. package/dist/types/current/util/fun/memoize.js +62 -0
  527. package/dist/types/current/util/fun/throttle.d.ts +34 -0
  528. package/dist/types/current/util/fun/throttle.d.ts.map +1 -0
  529. package/dist/types/current/util/fun/throttle.js +66 -0
  530. package/dist/types/current/util/iteration/iterable.d.ts +26 -0
  531. package/dist/types/current/util/iteration/iterable.d.ts.map +1 -0
  532. package/dist/types/current/util/iteration/iterable.js +97 -0
  533. package/dist/types/current/util/map/map.d.ts +17 -0
  534. package/dist/types/current/util/map/map.d.ts.map +1 -0
  535. package/dist/types/current/util/map/map.js +35 -0
  536. package/dist/types/current/util/math/math.d.ts +79 -0
  537. package/dist/types/current/util/math/math.d.ts.map +1 -0
  538. package/dist/types/current/util/math/math.js +94 -0
  539. package/dist/types/current/util/mpeg/parseSidxBox.d.ts +100 -0
  540. package/dist/types/current/util/mpeg/parseSidxBox.d.ts.map +1 -0
  541. package/dist/types/current/util/mpeg/parseSidxBox.js +91 -0
  542. package/dist/types/current/util/network/request.d.ts +18 -0
  543. package/dist/types/current/util/network/request.d.ts.map +1 -0
  544. package/dist/types/current/util/network/request.js +79 -0
  545. package/dist/types/current/util/object/clone.d.ts +68 -0
  546. package/dist/types/current/util/object/clone.d.ts.map +1 -0
  547. package/dist/types/current/util/object/clone.js +36 -0
  548. package/dist/types/current/util/object/equalDeep.d.ts +54 -0
  549. package/dist/types/current/util/object/equalDeep.d.ts.map +1 -0
  550. package/dist/types/current/util/object/equalDeep.js +144 -0
  551. package/dist/types/current/util/object/lazy.d.ts +54 -0
  552. package/dist/types/current/util/object/lazy.d.ts.map +1 -0
  553. package/dist/types/current/util/object/lazy.js +70 -0
  554. package/dist/types/current/util/object/merge.d.ts +72 -0
  555. package/dist/types/current/util/object/merge.d.ts.map +1 -0
  556. package/dist/types/current/util/object/merge.js +19 -0
  557. package/dist/types/current/util/object/mergeDeep.d.ts +126 -0
  558. package/dist/types/current/util/object/mergeDeep.d.ts.map +1 -0
  559. package/dist/types/current/util/object/mergeDeep.js +256 -0
  560. package/dist/types/current/util/object/mutableType.d.ts +64 -0
  561. package/dist/types/current/util/object/mutableType.d.ts.map +1 -0
  562. package/dist/types/current/util/object/mutableType.js +5 -0
  563. package/dist/types/current/util/object/object.d.ts +55 -0
  564. package/dist/types/current/util/object/object.d.ts.map +1 -0
  565. package/dist/types/current/util/object/object.js +91 -0
  566. package/dist/types/current/util/object/readonlyType.d.ts +71 -0
  567. package/dist/types/current/util/object/readonlyType.d.ts.map +1 -0
  568. package/dist/types/current/util/object/readonlyType.js +5 -0
  569. package/dist/types/current/util/range/IntersectionRanges.d.ts +37 -0
  570. package/dist/types/current/util/range/IntersectionRanges.d.ts.map +1 -0
  571. package/dist/types/current/util/range/IntersectionRanges.js +77 -0
  572. package/dist/types/current/util/range/Ranges.d.ts +123 -0
  573. package/dist/types/current/util/range/Ranges.d.ts.map +1 -0
  574. package/dist/types/current/util/range/Ranges.js +192 -0
  575. package/dist/types/current/util/range/UnionRanges.d.ts +37 -0
  576. package/dist/types/current/util/range/UnionRanges.d.ts.map +1 -0
  577. package/dist/types/current/util/range/UnionRanges.js +56 -0
  578. package/dist/types/current/util/range/timeRanges.d.ts +14 -0
  579. package/dist/types/current/util/range/timeRanges.d.ts.map +1 -0
  580. package/dist/types/current/util/range/timeRanges.js +25 -0
  581. package/dist/types/current/util/serialization/ParseError.d.ts +48 -0
  582. package/dist/types/current/util/serialization/ParseError.d.ts.map +1 -0
  583. package/dist/types/current/util/serialization/ParseError.js +42 -0
  584. package/dist/types/current/util/serialization/json.d.ts +30 -0
  585. package/dist/types/current/util/serialization/json.d.ts.map +1 -0
  586. package/dist/types/current/util/serialization/json.js +79 -0
  587. package/dist/types/current/util/serialization/primitives.d.ts +24 -0
  588. package/dist/types/current/util/serialization/primitives.d.ts.map +1 -0
  589. package/dist/types/current/util/serialization/primitives.js +48 -0
  590. package/dist/types/current/util/serialization/stringifyForPrint.d.ts +14 -0
  591. package/dist/types/current/util/serialization/stringifyForPrint.d.ts.map +1 -0
  592. package/dist/types/current/util/serialization/stringifyForPrint.js +39 -0
  593. package/dist/types/current/util/set/set.d.ts +17 -0
  594. package/dist/types/current/util/set/set.d.ts.map +1 -0
  595. package/dist/types/current/util/set/set.js +29 -0
  596. package/dist/types/current/util/string/StringReader.d.ts +149 -0
  597. package/dist/types/current/util/string/StringReader.d.ts.map +1 -0
  598. package/dist/types/current/util/string/StringReader.js +242 -0
  599. package/dist/types/current/util/string/string.d.ts +130 -0
  600. package/dist/types/current/util/string/string.d.ts.map +1 -0
  601. package/dist/types/current/util/string/string.js +249 -0
  602. package/dist/types/current/util/string/uid.d.ts +20 -0
  603. package/dist/types/current/util/string/uid.d.ts.map +1 -0
  604. package/dist/types/current/util/string/uid.js +26 -0
  605. package/dist/types/current/util/type.d.ts +166 -0
  606. package/dist/types/current/util/type.d.ts.map +1 -0
  607. package/dist/types/current/util/type.js +25 -0
  608. package/dist/types/current/util/url/resolveUrl.d.ts +23 -0
  609. package/dist/types/current/util/url/resolveUrl.d.ts.map +1 -0
  610. package/dist/types/current/util/url/resolveUrl.js +79 -0
  611. package/dist/types/ts3.7/client/Version.d.ts +38 -0
  612. package/dist/types/ts3.7/client/userAgent/UserAgentInfo.d.ts +36 -0
  613. package/dist/types/ts3.7/client/userAgent/defaultUserAgentRules.d.ts +94 -0
  614. package/dist/types/ts3.7/client/userAgent/hasBrowser.d.ts +26 -0
  615. package/dist/types/ts3.7/client/userAgent/parseUserAgent.d.ts +14 -0
  616. package/dist/types/ts3.7/client/userAgent/tokenizeUserAgent.d.ts +104 -0
  617. package/dist/types/ts3.7/client/userAgent/userAgentRuleHelpers.d.ts +52 -0
  618. package/dist/types/ts3.7/core/Unsubscribe.d.ts +2 -0
  619. package/dist/types/ts3.7/core/clearable.d.ts +19 -0
  620. package/dist/types/ts3.7/core/cloneable.d.ts +14 -0
  621. package/dist/types/ts3.7/core/disposable.d.ts +66 -0
  622. package/dist/types/ts3.7/error/AbortError.d.ts +6 -0
  623. package/dist/types/ts3.7/error/ErrorOrigin.d.ts +45 -0
  624. package/dist/types/ts3.7/error/IllegalArgumentError.d.ts +10 -0
  625. package/dist/types/ts3.7/error/IllegalStateError.d.ts +9 -0
  626. package/dist/types/ts3.7/error/MediaUnsupportedError.d.ts +9 -0
  627. package/dist/types/ts3.7/error/ReportableError.d.ts +39 -0
  628. package/dist/types/ts3.7/error/ServiceResponseError.d.ts +14 -0
  629. package/dist/types/ts3.7/error/StackOverflowError.d.ts +9 -0
  630. package/dist/types/ts3.7/error/TimeoutError.d.ts +6 -0
  631. package/dist/types/ts3.7/error/UnreachableCodeError.d.ts +9 -0
  632. package/dist/types/ts3.7/error/ValidationError.d.ts +17 -0
  633. package/dist/types/ts3.7/event/DomEventHost.d.ts +45 -0
  634. package/dist/types/ts3.7/event/EventHost.d.ts +69 -0
  635. package/dist/types/ts3.7/event/Signal.d.ts +57 -0
  636. package/dist/types/ts3.7/event/nextEventAsPromise.d.ts +30 -0
  637. package/dist/types/ts3.7/event/onAny.d.ts +13 -0
  638. package/dist/types/ts3.7/event/redispatchEvents.d.ts +15 -0
  639. package/dist/types/ts3.7/global/environment.d.ts +26 -0
  640. package/dist/types/ts3.7/global/globalRegistry.d.ts +83 -0
  641. package/dist/types/ts3.7/global/globalTarget.d.ts +8 -0
  642. package/dist/types/ts3.7/index.d.ts +118 -0
  643. package/dist/types/ts3.7/logging/ConsoleLogHandler.d.ts +26 -0
  644. package/dist/types/ts3.7/logging/HistoryLogHandler.d.ts +56 -0
  645. package/dist/types/ts3.7/logging/LogTarget.d.ts +19 -0
  646. package/dist/types/ts3.7/logging/Logger.d.ts +66 -0
  647. package/dist/types/ts3.7/logging/VinylLogging.d.ts +9 -0
  648. package/dist/types/ts3.7/logging/getLogLevelFromSearch.d.ts +8 -0
  649. package/dist/types/ts3.7/logging/logTimer.d.ts +10 -0
  650. package/dist/types/ts3.7/network/RequestError.d.ts +26 -0
  651. package/dist/types/ts3.7/network/RequestInterceptor.d.ts +14 -0
  652. package/dist/types/ts3.7/network/Requester.d.ts +84 -0
  653. package/dist/types/ts3.7/network/RequesterImpl.d.ts +116 -0
  654. package/dist/types/ts3.7/network/RequesterImplEventMap.d.ts +230 -0
  655. package/dist/types/ts3.7/network/browser/NetworkInformation.d.ts +48 -0
  656. package/dist/types/ts3.7/network/createRequester.d.ts +12 -0
  657. package/dist/types/ts3.7/network/logging/networkLoggingHandler.d.ts +14 -0
  658. package/dist/types/ts3.7/network/metrics/NetworkMetricsController.d.ts +41 -0
  659. package/dist/types/ts3.7/network/metrics/NetworkMetricsControllerImpl.d.ts +119 -0
  660. package/dist/types/ts3.7/network/metrics/networkMetricsGlobal.d.ts +11 -0
  661. package/dist/types/ts3.7/network/metrics/networkMetricsModel.d.ts +147 -0
  662. package/dist/types/ts3.7/network/network.d.ts +47 -0
  663. package/dist/types/ts3.7/network/requesterGlobal.d.ts +19 -0
  664. package/dist/types/ts3.7/network/requesterUtil.d.ts +28 -0
  665. package/dist/types/ts3.7/network/responseUtil.d.ts +10 -0
  666. package/dist/types/ts3.7/patch/network/fetch.d.ts +11 -0
  667. package/dist/types/ts3.7/patch/patchTarget.d.ts +114 -0
  668. package/dist/types/ts3.7/persistence/KeyValuePersistence.d.ts +28 -0
  669. package/dist/types/ts3.7/persistence/PersistentItem.d.ts +86 -0
  670. package/dist/types/ts3.7/persistence/StoragePersistence.d.ts +11 -0
  671. package/dist/types/ts3.7/persistence/persistenceRef.d.ts +7 -0
  672. package/dist/types/ts3.7/util/async/Abort.d.ts +96 -0
  673. package/dist/types/ts3.7/util/async/Deferred.d.ts +25 -0
  674. package/dist/types/ts3.7/util/async/TaskQueue.d.ts +71 -0
  675. package/dist/types/ts3.7/util/async/TimeoutController.d.ts +36 -0
  676. package/dist/types/ts3.7/util/async/TimeoutSlot.d.ts +26 -0
  677. package/dist/types/ts3.7/util/async/abortUtils.d.ts +15 -0
  678. package/dist/types/ts3.7/util/async/never.d.ts +5 -0
  679. package/dist/types/ts3.7/util/async/promise.d.ts +53 -0
  680. package/dist/types/ts3.7/util/async/sleep.d.ts +27 -0
  681. package/dist/types/ts3.7/util/async/timeout.d.ts +29 -0
  682. package/dist/types/ts3.7/util/browser/searchParams.d.ts +13 -0
  683. package/dist/types/ts3.7/util/buffer/BufferError.d.ts +6 -0
  684. package/dist/types/ts3.7/util/buffer/BufferReader.d.ts +77 -0
  685. package/dist/types/ts3.7/util/buffer/BufferWriter.d.ts +30 -0
  686. package/dist/types/ts3.7/util/buffer/buffer.d.ts +55 -0
  687. package/dist/types/ts3.7/util/collection/CacheMap.d.ts +12 -0
  688. package/dist/types/ts3.7/util/collection/LinkedList.d.ts +156 -0
  689. package/dist/types/ts3.7/util/collection/LruCache.d.ts +96 -0
  690. package/dist/types/ts3.7/util/collection/array.d.ts +207 -0
  691. package/dist/types/ts3.7/util/collection/typedArray.d.ts +17 -0
  692. package/dist/types/ts3.7/util/comparison/compare.d.ts +33 -0
  693. package/dist/types/ts3.7/util/config/ValueProvider.d.ts +17 -0
  694. package/dist/types/ts3.7/util/date/date.d.ts +32 -0
  695. package/dist/types/ts3.7/util/error/stack.d.ts +79 -0
  696. package/dist/types/ts3.7/util/fun/debounce.d.ts +12 -0
  697. package/dist/types/ts3.7/util/fun/flow.d.ts +38 -0
  698. package/dist/types/ts3.7/util/fun/function.d.ts +5 -0
  699. package/dist/types/ts3.7/util/fun/memoize.d.ts +24 -0
  700. package/dist/types/ts3.7/util/fun/throttle.d.ts +34 -0
  701. package/dist/types/ts3.7/util/iteration/iterable.d.ts +26 -0
  702. package/dist/types/ts3.7/util/map/map.d.ts +17 -0
  703. package/dist/types/ts3.7/util/math/math.d.ts +79 -0
  704. package/dist/types/ts3.7/util/mpeg/parseSidxBox.d.ts +100 -0
  705. package/dist/types/ts3.7/util/network/request.d.ts +18 -0
  706. package/dist/types/ts3.7/util/object/clone.d.ts +68 -0
  707. package/dist/types/ts3.7/util/object/equalDeep.d.ts +54 -0
  708. package/dist/types/ts3.7/util/object/lazy.d.ts +54 -0
  709. package/dist/types/ts3.7/util/object/merge.d.ts +72 -0
  710. package/dist/types/ts3.7/util/object/mergeDeep.d.ts +153 -0
  711. package/dist/types/ts3.7/util/object/mutableType.d.ts +85 -0
  712. package/dist/types/ts3.7/util/object/object.d.ts +55 -0
  713. package/dist/types/ts3.7/util/object/readonlyType.d.ts +100 -0
  714. package/dist/types/ts3.7/util/range/IntersectionRanges.d.ts +37 -0
  715. package/dist/types/ts3.7/util/range/Ranges.d.ts +126 -0
  716. package/dist/types/ts3.7/util/range/UnionRanges.d.ts +37 -0
  717. package/dist/types/ts3.7/util/range/timeRanges.d.ts +14 -0
  718. package/dist/types/ts3.7/util/serialization/ParseError.d.ts +48 -0
  719. package/dist/types/ts3.7/util/serialization/json.d.ts +30 -0
  720. package/dist/types/ts3.7/util/serialization/primitives.d.ts +24 -0
  721. package/dist/types/ts3.7/util/serialization/stringifyForPrint.d.ts +14 -0
  722. package/dist/types/ts3.7/util/set/set.d.ts +17 -0
  723. package/dist/types/ts3.7/util/string/StringReader.d.ts +134 -0
  724. package/dist/types/ts3.7/util/string/string.d.ts +130 -0
  725. package/dist/types/ts3.7/util/string/uid.d.ts +20 -0
  726. package/dist/types/ts3.7/util/type.d.ts +173 -0
  727. package/dist/types/ts3.7/util/url/resolveUrl.d.ts +23 -0
  728. package/dist/types/ts4.1/client/Version.d.ts +38 -0
  729. package/dist/types/ts4.1/client/userAgent/UserAgentInfo.d.ts +36 -0
  730. package/dist/types/ts4.1/client/userAgent/defaultUserAgentRules.d.ts +94 -0
  731. package/dist/types/ts4.1/client/userAgent/hasBrowser.d.ts +26 -0
  732. package/dist/types/ts4.1/client/userAgent/parseUserAgent.d.ts +14 -0
  733. package/dist/types/ts4.1/client/userAgent/tokenizeUserAgent.d.ts +104 -0
  734. package/dist/types/ts4.1/client/userAgent/userAgentRuleHelpers.d.ts +52 -0
  735. package/dist/types/ts4.1/core/Unsubscribe.d.ts +2 -0
  736. package/dist/types/ts4.1/core/clearable.d.ts +19 -0
  737. package/dist/types/ts4.1/core/cloneable.d.ts +14 -0
  738. package/dist/types/ts4.1/core/disposable.d.ts +66 -0
  739. package/dist/types/ts4.1/error/AbortError.d.ts +6 -0
  740. package/dist/types/ts4.1/error/ErrorOrigin.d.ts +45 -0
  741. package/dist/types/ts4.1/error/IllegalArgumentError.d.ts +10 -0
  742. package/dist/types/ts4.1/error/IllegalStateError.d.ts +9 -0
  743. package/dist/types/ts4.1/error/MediaUnsupportedError.d.ts +9 -0
  744. package/dist/types/ts4.1/error/ReportableError.d.ts +39 -0
  745. package/dist/types/ts4.1/error/ServiceResponseError.d.ts +14 -0
  746. package/dist/types/ts4.1/error/StackOverflowError.d.ts +9 -0
  747. package/dist/types/ts4.1/error/TimeoutError.d.ts +6 -0
  748. package/dist/types/ts4.1/error/UnreachableCodeError.d.ts +9 -0
  749. package/dist/types/ts4.1/error/ValidationError.d.ts +17 -0
  750. package/dist/types/ts4.1/event/DomEventHost.d.ts +45 -0
  751. package/dist/types/ts4.1/event/EventHost.d.ts +69 -0
  752. package/dist/types/ts4.1/event/Signal.d.ts +57 -0
  753. package/dist/types/ts4.1/event/nextEventAsPromise.d.ts +30 -0
  754. package/dist/types/ts4.1/event/onAny.d.ts +13 -0
  755. package/dist/types/ts4.1/event/redispatchEvents.d.ts +15 -0
  756. package/dist/types/ts4.1/global/environment.d.ts +26 -0
  757. package/dist/types/ts4.1/global/globalRegistry.d.ts +83 -0
  758. package/dist/types/ts4.1/global/globalTarget.d.ts +8 -0
  759. package/dist/types/ts4.1/index.d.ts +118 -0
  760. package/dist/types/ts4.1/logging/ConsoleLogHandler.d.ts +26 -0
  761. package/dist/types/ts4.1/logging/HistoryLogHandler.d.ts +56 -0
  762. package/dist/types/ts4.1/logging/LogTarget.d.ts +19 -0
  763. package/dist/types/ts4.1/logging/Logger.d.ts +66 -0
  764. package/dist/types/ts4.1/logging/VinylLogging.d.ts +9 -0
  765. package/dist/types/ts4.1/logging/getLogLevelFromSearch.d.ts +8 -0
  766. package/dist/types/ts4.1/logging/logTimer.d.ts +10 -0
  767. package/dist/types/ts4.1/network/RequestError.d.ts +26 -0
  768. package/dist/types/ts4.1/network/RequestInterceptor.d.ts +14 -0
  769. package/dist/types/ts4.1/network/Requester.d.ts +84 -0
  770. package/dist/types/ts4.1/network/RequesterImpl.d.ts +116 -0
  771. package/dist/types/ts4.1/network/RequesterImplEventMap.d.ts +230 -0
  772. package/dist/types/ts4.1/network/browser/NetworkInformation.d.ts +48 -0
  773. package/dist/types/ts4.1/network/createRequester.d.ts +12 -0
  774. package/dist/types/ts4.1/network/logging/networkLoggingHandler.d.ts +14 -0
  775. package/dist/types/ts4.1/network/metrics/NetworkMetricsController.d.ts +41 -0
  776. package/dist/types/ts4.1/network/metrics/NetworkMetricsControllerImpl.d.ts +119 -0
  777. package/dist/types/ts4.1/network/metrics/networkMetricsGlobal.d.ts +11 -0
  778. package/dist/types/ts4.1/network/metrics/networkMetricsModel.d.ts +147 -0
  779. package/dist/types/ts4.1/network/network.d.ts +47 -0
  780. package/dist/types/ts4.1/network/requesterGlobal.d.ts +19 -0
  781. package/dist/types/ts4.1/network/requesterUtil.d.ts +28 -0
  782. package/dist/types/ts4.1/network/responseUtil.d.ts +10 -0
  783. package/dist/types/ts4.1/patch/network/fetch.d.ts +11 -0
  784. package/dist/types/ts4.1/patch/patchTarget.d.ts +114 -0
  785. package/dist/types/ts4.1/persistence/KeyValuePersistence.d.ts +28 -0
  786. package/dist/types/ts4.1/persistence/PersistentItem.d.ts +86 -0
  787. package/dist/types/ts4.1/persistence/StoragePersistence.d.ts +11 -0
  788. package/dist/types/ts4.1/persistence/persistenceRef.d.ts +7 -0
  789. package/dist/types/ts4.1/util/async/Abort.d.ts +96 -0
  790. package/dist/types/ts4.1/util/async/Deferred.d.ts +25 -0
  791. package/dist/types/ts4.1/util/async/TaskQueue.d.ts +71 -0
  792. package/dist/types/ts4.1/util/async/TimeoutController.d.ts +37 -0
  793. package/dist/types/ts4.1/util/async/TimeoutSlot.d.ts +26 -0
  794. package/dist/types/ts4.1/util/async/abortUtils.d.ts +15 -0
  795. package/dist/types/ts4.1/util/async/never.d.ts +5 -0
  796. package/dist/types/ts4.1/util/async/promise.d.ts +53 -0
  797. package/dist/types/ts4.1/util/async/sleep.d.ts +27 -0
  798. package/dist/types/ts4.1/util/async/timeout.d.ts +29 -0
  799. package/dist/types/ts4.1/util/browser/searchParams.d.ts +13 -0
  800. package/dist/types/ts4.1/util/buffer/BufferError.d.ts +6 -0
  801. package/dist/types/ts4.1/util/buffer/BufferReader.d.ts +77 -0
  802. package/dist/types/ts4.1/util/buffer/BufferWriter.d.ts +30 -0
  803. package/dist/types/ts4.1/util/buffer/buffer.d.ts +55 -0
  804. package/dist/types/ts4.1/util/collection/CacheMap.d.ts +12 -0
  805. package/dist/types/ts4.1/util/collection/LinkedList.d.ts +156 -0
  806. package/dist/types/ts4.1/util/collection/LruCache.d.ts +96 -0
  807. package/dist/types/ts4.1/util/collection/array.d.ts +207 -0
  808. package/dist/types/ts4.1/util/collection/typedArray.d.ts +17 -0
  809. package/dist/types/ts4.1/util/comparison/compare.d.ts +33 -0
  810. package/dist/types/ts4.1/util/config/ValueProvider.d.ts +17 -0
  811. package/dist/types/ts4.1/util/date/date.d.ts +32 -0
  812. package/dist/types/ts4.1/util/error/stack.d.ts +79 -0
  813. package/dist/types/ts4.1/util/fun/debounce.d.ts +12 -0
  814. package/dist/types/ts4.1/util/fun/flow.d.ts +38 -0
  815. package/dist/types/ts4.1/util/fun/function.d.ts +5 -0
  816. package/dist/types/ts4.1/util/fun/memoize.d.ts +24 -0
  817. package/dist/types/ts4.1/util/fun/throttle.d.ts +34 -0
  818. package/dist/types/ts4.1/util/iteration/iterable.d.ts +26 -0
  819. package/dist/types/ts4.1/util/map/map.d.ts +17 -0
  820. package/dist/types/ts4.1/util/math/math.d.ts +79 -0
  821. package/dist/types/ts4.1/util/mpeg/parseSidxBox.d.ts +100 -0
  822. package/dist/types/ts4.1/util/network/request.d.ts +18 -0
  823. package/dist/types/ts4.1/util/object/clone.d.ts +68 -0
  824. package/dist/types/ts4.1/util/object/equalDeep.d.ts +54 -0
  825. package/dist/types/ts4.1/util/object/lazy.d.ts +54 -0
  826. package/dist/types/ts4.1/util/object/merge.d.ts +72 -0
  827. package/dist/types/ts4.1/util/object/mergeDeep.d.ts +153 -0
  828. package/dist/types/ts4.1/util/object/mutableType.d.ts +87 -0
  829. package/dist/types/ts4.1/util/object/object.d.ts +55 -0
  830. package/dist/types/ts4.1/util/object/readonlyType.d.ts +100 -0
  831. package/dist/types/ts4.1/util/range/IntersectionRanges.d.ts +38 -0
  832. package/dist/types/ts4.1/util/range/Ranges.d.ts +126 -0
  833. package/dist/types/ts4.1/util/range/UnionRanges.d.ts +38 -0
  834. package/dist/types/ts4.1/util/range/timeRanges.d.ts +14 -0
  835. package/dist/types/ts4.1/util/serialization/ParseError.d.ts +48 -0
  836. package/dist/types/ts4.1/util/serialization/json.d.ts +30 -0
  837. package/dist/types/ts4.1/util/serialization/primitives.d.ts +24 -0
  838. package/dist/types/ts4.1/util/serialization/stringifyForPrint.d.ts +14 -0
  839. package/dist/types/ts4.1/util/set/set.d.ts +17 -0
  840. package/dist/types/ts4.1/util/string/StringReader.d.ts +134 -0
  841. package/dist/types/ts4.1/util/string/string.d.ts +130 -0
  842. package/dist/types/ts4.1/util/string/uid.d.ts +20 -0
  843. package/dist/types/ts4.1/util/type.d.ts +173 -0
  844. package/dist/types/ts4.1/util/url/resolveUrl.d.ts +23 -0
  845. package/dist/types/ts4.7/client/Version.d.ts +38 -0
  846. package/dist/types/ts4.7/client/userAgent/UserAgentInfo.d.ts +36 -0
  847. package/dist/types/ts4.7/client/userAgent/defaultUserAgentRules.d.ts +94 -0
  848. package/dist/types/ts4.7/client/userAgent/hasBrowser.d.ts +26 -0
  849. package/dist/types/ts4.7/client/userAgent/parseUserAgent.d.ts +14 -0
  850. package/dist/types/ts4.7/client/userAgent/tokenizeUserAgent.d.ts +104 -0
  851. package/dist/types/ts4.7/client/userAgent/userAgentRuleHelpers.d.ts +52 -0
  852. package/dist/types/ts4.7/core/Unsubscribe.d.ts +2 -0
  853. package/dist/types/ts4.7/core/clearable.d.ts +19 -0
  854. package/dist/types/ts4.7/core/cloneable.d.ts +14 -0
  855. package/dist/types/ts4.7/core/disposable.d.ts +66 -0
  856. package/dist/types/ts4.7/error/AbortError.d.ts +6 -0
  857. package/dist/types/ts4.7/error/ErrorOrigin.d.ts +45 -0
  858. package/dist/types/ts4.7/error/IllegalArgumentError.d.ts +10 -0
  859. package/dist/types/ts4.7/error/IllegalStateError.d.ts +9 -0
  860. package/dist/types/ts4.7/error/MediaUnsupportedError.d.ts +9 -0
  861. package/dist/types/ts4.7/error/ReportableError.d.ts +39 -0
  862. package/dist/types/ts4.7/error/ServiceResponseError.d.ts +14 -0
  863. package/dist/types/ts4.7/error/StackOverflowError.d.ts +9 -0
  864. package/dist/types/ts4.7/error/TimeoutError.d.ts +6 -0
  865. package/dist/types/ts4.7/error/UnreachableCodeError.d.ts +9 -0
  866. package/dist/types/ts4.7/error/ValidationError.d.ts +17 -0
  867. package/dist/types/ts4.7/event/DomEventHost.d.ts +45 -0
  868. package/dist/types/ts4.7/event/EventHost.d.ts +69 -0
  869. package/dist/types/ts4.7/event/Signal.d.ts +57 -0
  870. package/dist/types/ts4.7/event/nextEventAsPromise.d.ts +30 -0
  871. package/dist/types/ts4.7/event/onAny.d.ts +13 -0
  872. package/dist/types/ts4.7/event/redispatchEvents.d.ts +15 -0
  873. package/dist/types/ts4.7/global/environment.d.ts +26 -0
  874. package/dist/types/ts4.7/global/globalRegistry.d.ts +86 -0
  875. package/dist/types/ts4.7/global/globalTarget.d.ts +8 -0
  876. package/dist/types/ts4.7/index.d.ts +118 -0
  877. package/dist/types/ts4.7/logging/ConsoleLogHandler.d.ts +26 -0
  878. package/dist/types/ts4.7/logging/HistoryLogHandler.d.ts +56 -0
  879. package/dist/types/ts4.7/logging/LogTarget.d.ts +19 -0
  880. package/dist/types/ts4.7/logging/Logger.d.ts +66 -0
  881. package/dist/types/ts4.7/logging/VinylLogging.d.ts +9 -0
  882. package/dist/types/ts4.7/logging/getLogLevelFromSearch.d.ts +8 -0
  883. package/dist/types/ts4.7/logging/logTimer.d.ts +10 -0
  884. package/dist/types/ts4.7/network/RequestError.d.ts +26 -0
  885. package/dist/types/ts4.7/network/RequestInterceptor.d.ts +14 -0
  886. package/dist/types/ts4.7/network/Requester.d.ts +84 -0
  887. package/dist/types/ts4.7/network/RequesterImpl.d.ts +120 -0
  888. package/dist/types/ts4.7/network/RequesterImplEventMap.d.ts +230 -0
  889. package/dist/types/ts4.7/network/browser/NetworkInformation.d.ts +48 -0
  890. package/dist/types/ts4.7/network/createRequester.d.ts +12 -0
  891. package/dist/types/ts4.7/network/logging/networkLoggingHandler.d.ts +14 -0
  892. package/dist/types/ts4.7/network/metrics/NetworkMetricsController.d.ts +41 -0
  893. package/dist/types/ts4.7/network/metrics/NetworkMetricsControllerImpl.d.ts +119 -0
  894. package/dist/types/ts4.7/network/metrics/networkMetricsGlobal.d.ts +11 -0
  895. package/dist/types/ts4.7/network/metrics/networkMetricsModel.d.ts +147 -0
  896. package/dist/types/ts4.7/network/network.d.ts +47 -0
  897. package/dist/types/ts4.7/network/requesterGlobal.d.ts +19 -0
  898. package/dist/types/ts4.7/network/requesterUtil.d.ts +28 -0
  899. package/dist/types/ts4.7/network/responseUtil.d.ts +10 -0
  900. package/dist/types/ts4.7/patch/network/fetch.d.ts +11 -0
  901. package/dist/types/ts4.7/patch/patchTarget.d.ts +114 -0
  902. package/dist/types/ts4.7/persistence/KeyValuePersistence.d.ts +28 -0
  903. package/dist/types/ts4.7/persistence/PersistentItem.d.ts +86 -0
  904. package/dist/types/ts4.7/persistence/StoragePersistence.d.ts +11 -0
  905. package/dist/types/ts4.7/persistence/persistenceRef.d.ts +7 -0
  906. package/dist/types/ts4.7/util/async/Abort.d.ts +99 -0
  907. package/dist/types/ts4.7/util/async/Deferred.d.ts +25 -0
  908. package/dist/types/ts4.7/util/async/TaskQueue.d.ts +74 -0
  909. package/dist/types/ts4.7/util/async/TimeoutController.d.ts +36 -0
  910. package/dist/types/ts4.7/util/async/TimeoutSlot.d.ts +29 -0
  911. package/dist/types/ts4.7/util/async/abortUtils.d.ts +15 -0
  912. package/dist/types/ts4.7/util/async/never.d.ts +5 -0
  913. package/dist/types/ts4.7/util/async/promise.d.ts +53 -0
  914. package/dist/types/ts4.7/util/async/sleep.d.ts +27 -0
  915. package/dist/types/ts4.7/util/async/timeout.d.ts +29 -0
  916. package/dist/types/ts4.7/util/browser/searchParams.d.ts +13 -0
  917. package/dist/types/ts4.7/util/buffer/BufferError.d.ts +6 -0
  918. package/dist/types/ts4.7/util/buffer/BufferReader.d.ts +77 -0
  919. package/dist/types/ts4.7/util/buffer/BufferWriter.d.ts +30 -0
  920. package/dist/types/ts4.7/util/buffer/buffer.d.ts +55 -0
  921. package/dist/types/ts4.7/util/collection/CacheMap.d.ts +12 -0
  922. package/dist/types/ts4.7/util/collection/LinkedList.d.ts +165 -0
  923. package/dist/types/ts4.7/util/collection/LruCache.d.ts +99 -0
  924. package/dist/types/ts4.7/util/collection/array.d.ts +207 -0
  925. package/dist/types/ts4.7/util/collection/typedArray.d.ts +17 -0
  926. package/dist/types/ts4.7/util/comparison/compare.d.ts +33 -0
  927. package/dist/types/ts4.7/util/config/ValueProvider.d.ts +17 -0
  928. package/dist/types/ts4.7/util/date/date.d.ts +32 -0
  929. package/dist/types/ts4.7/util/error/stack.d.ts +79 -0
  930. package/dist/types/ts4.7/util/fun/debounce.d.ts +12 -0
  931. package/dist/types/ts4.7/util/fun/flow.d.ts +38 -0
  932. package/dist/types/ts4.7/util/fun/function.d.ts +5 -0
  933. package/dist/types/ts4.7/util/fun/memoize.d.ts +24 -0
  934. package/dist/types/ts4.7/util/fun/throttle.d.ts +34 -0
  935. package/dist/types/ts4.7/util/iteration/iterable.d.ts +26 -0
  936. package/dist/types/ts4.7/util/map/map.d.ts +17 -0
  937. package/dist/types/ts4.7/util/math/math.d.ts +79 -0
  938. package/dist/types/ts4.7/util/mpeg/parseSidxBox.d.ts +100 -0
  939. package/dist/types/ts4.7/util/network/request.d.ts +18 -0
  940. package/dist/types/ts4.7/util/object/clone.d.ts +68 -0
  941. package/dist/types/ts4.7/util/object/equalDeep.d.ts +54 -0
  942. package/dist/types/ts4.7/util/object/lazy.d.ts +54 -0
  943. package/dist/types/ts4.7/util/object/merge.d.ts +72 -0
  944. package/dist/types/ts4.7/util/object/mergeDeep.d.ts +153 -0
  945. package/dist/types/ts4.7/util/object/mutableType.d.ts +87 -0
  946. package/dist/types/ts4.7/util/object/object.d.ts +55 -0
  947. package/dist/types/ts4.7/util/object/readonlyType.d.ts +100 -0
  948. package/dist/types/ts4.7/util/range/IntersectionRanges.d.ts +37 -0
  949. package/dist/types/ts4.7/util/range/Ranges.d.ts +126 -0
  950. package/dist/types/ts4.7/util/range/UnionRanges.d.ts +37 -0
  951. package/dist/types/ts4.7/util/range/timeRanges.d.ts +14 -0
  952. package/dist/types/ts4.7/util/serialization/ParseError.d.ts +48 -0
  953. package/dist/types/ts4.7/util/serialization/json.d.ts +30 -0
  954. package/dist/types/ts4.7/util/serialization/primitives.d.ts +24 -0
  955. package/dist/types/ts4.7/util/serialization/stringifyForPrint.d.ts +14 -0
  956. package/dist/types/ts4.7/util/set/set.d.ts +17 -0
  957. package/dist/types/ts4.7/util/string/StringReader.d.ts +149 -0
  958. package/dist/types/ts4.7/util/string/string.d.ts +130 -0
  959. package/dist/types/ts4.7/util/string/uid.d.ts +20 -0
  960. package/dist/types/ts4.7/util/type.d.ts +173 -0
  961. package/dist/types/ts4.7/util/url/resolveUrl.d.ts +23 -0
  962. package/docs/EVENTS.md +187 -0
  963. package/docs/GLOBALS.md +45 -0
  964. package/docs/NETWORKING.md +161 -0
  965. package/package.json +118 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../test/browserTestUtil/reporters/ConsoleReporter.ts", "../../test/browserTestUtil/mock/createSpyFactory.ts", "../../test/browserTestUtil/mock/dom/lib.dom.ts", "../../test/browserTestUtil/mock/polyfillCustomEvent.ts", "../../test/browserTestUtil/mock/asSpy.ts", "../../test/browserTestUtil/mock/implementEventFakes.ts", "../../test/browserTestUtil/mock/dom/mockEvent.ts", "../../test/browserTestUtil/mock/dom/globals.ts", "../../test/browserTestUtil/mock/dom/MockTimeRanges.ts", "../../test/browserTestUtil/matchers/toBeCloseToWithin.ts", "../../test/browserTestUtil/matchers/customMatchers.ts", "../../test/browserTestUtil/expect/typesafety.ts", "../../test/browserTestUtil/expect/prototype.ts", "../../test/browserTestUtil/expect/expectNothing.ts", "../../test/browserTestUtil/expect/expectIterableEquals.ts", "../../test/browserTestUtil/env/jasmineEnv.ts", "../../test/browserTestUtil/benchmark/Benchmark.ts", "../../test/browserTestUtil/async/marble.ts", "../../test/browserTestUtil/async/createCallbackTimingTest.ts", "../../test/browserTestUtil/async/async.ts"],
4
+ "sourcesContent": ["/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CustomReporter = jasmine.CustomReporter\nimport JasmineStartedInfo = jasmine.JasmineStartedInfo\nimport SpecResult = jasmine.SpecResult\nimport FailedExpectation = jasmine.FailedExpectation\n\nexport class ConsoleReporter implements CustomReporter {\n private errors: FailedExpectation[] = []\n\n jasmineStarted(suiteInfo: JasmineStartedInfo): void {\n console.log(\n `Running suite with ${suiteInfo.totalSpecsDefined} specs, seed ${suiteInfo.order.seed}`\n )\n console.log(\n 'Testing for UA:',\n typeof navigator === 'object' ? navigator.userAgent : 'Node.js/<21'\n )\n }\n\n specDone(result: SpecResult): void {\n if (result.failedExpectations.length > 0) {\n console.warn(`Spec failed: ${result.fullName}`)\n for (let i = 0; i < result.failedExpectations.length; i++) {\n console.warn(`Failure: ${result.failedExpectations[i].message}`)\n console.warn(result.failedExpectations[i].stack)\n this.errors.push(result.failedExpectations[i])\n }\n }\n }\n\n jasmineDone(): void {\n if (this.errors.length > 0) {\n console.log(`There were ${this.errors.length} errors:`)\n this.errors.forEach((error, index) => {\n console.error(`Error ${index + 1}:`, error)\n })\n } else {\n console.log('No errors were found.')\n }\n }\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport createSpy = jasmine.createSpy\nimport Spy = jasmine.Spy\nimport SpyAnd = jasmine.SpyAnd\nimport Calls = jasmine.Calls\nimport MatchableArgs = jasmine.MatchableArgs\n\ntype Fun = (...args: any[]) => any\n\n/**\n * A SpyFactory creates spies by member access. The spies will be named based on the key,\n * and the type interface of the Spy will match the corresponding interface function.\n */\nexport interface SpyFactory<T> {\n <K extends FunctionKeys<T>>(\n key: K\n ): T[K] extends Fun ? Spy2<NoThisType<NonNullable<T[K]>>> : never\n}\n\n/**\n * Fixes Jasmine's Spy type.\n * Jasmine's Spy interface has a call signature instead of intersecting the original function type.\n * This causes parameterized types of the call signature to be dropped.\n */\nexport type Spy2<Fn extends Fun> = Fn & {\n and: SpyAnd<Fn>\n calls: Calls<Fn>\n withArgs(...args: MatchableArgs<Fn>): Spy<Fn>\n}\n\nexport type FunctionKeys<T> = {\n [P in keyof T]: T[P] extends Fun ? P : never\n}[keyof T]\n\n/**\n * Creates a new spy factory.\n *\n * @param createFake If provided, all spies will be created with the fake implementation createFake\n * returns for the given key.\n */\nexport function createSpyFactory<T>(\n createFake?: (key: FunctionKeys<T>) => Fun\n): SpyFactory<T> {\n return (key: FunctionKeys<T>) => {\n const spy = createSpy(String(key))\n if (createFake) spy.and.callFake(createFake(key))\n return spy as any\n }\n}\n\n/**\n * Creates a Spy.\n * This is an alias to jasmine.createSpy with fixed type parameters.\n * @param key\n */\nexport function createSpy2<Fn extends Fun | undefined>(\n key: keyof any\n): Spy2<NoThisType<NonNullable<Fn>>> {\n return createSpy(String(key)) as any\n}\n\n/**\n * Replaces `this` type with `any` in a method signature.\n */\nexport type NoThisType<Fn extends Fun> =\n ReturnType<Fn> extends ThisType<any>\n ? Fn & ((...args: Parameters<Fn>) => any)\n : Fn\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/*\n * AUTO-GENERATED FILE - DO NOT EDIT\n * Generated by @amazon/vinyl-mock-generator\n */\n\n/* eslint-disable @typescript-eslint/prefer-as-const */\n/* eslint-disable @typescript-eslint/no-deprecated */\n\nimport { createSpy2 } from '@/mock/createSpyFactory'\n\nexport class MockAbortController implements AbortController {\n signal: AbortSignal = undefined as any\n\n abort = createSpy2<AbortController['abort']>('abort')\n}\n\nexport class MockAbortSignal implements AbortSignal {\n aborted: boolean = false\n onabort: ((this: AbortSignal, ev: Event) => any) | null = null\n reason: any = undefined\n\n throwIfAborted = createSpy2<AbortSignal['throwIfAborted']>('throwIfAborted')\n addEventListener =\n createSpy2<AbortSignal['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<AbortSignal['removeEventListener']>(\n 'removeEventListener'\n )\n dispatchEvent = createSpy2<AbortSignal['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockAudioContext implements AudioContext {\n baseLatency: number = 0\n outputLatency: number = 0\n audioWorklet: AudioWorklet = undefined as any\n currentTime: number = 0\n destination: AudioDestinationNode = undefined as any\n listener: AudioListener = undefined as any\n onstatechange: ((this: BaseAudioContext, ev: Event) => any) | null = null\n sampleRate: number = 0\n state: AudioContextState = 'closed'\n\n close = createSpy2<AudioContext['close']>('close')\n createMediaElementSource = createSpy2<\n AudioContext['createMediaElementSource']\n >('createMediaElementSource')\n createMediaStreamDestination = createSpy2<\n AudioContext['createMediaStreamDestination']\n >('createMediaStreamDestination')\n createMediaStreamSource = createSpy2<\n AudioContext['createMediaStreamSource']\n >('createMediaStreamSource')\n getOutputTimestamp =\n createSpy2<AudioContext['getOutputTimestamp']>('getOutputTimestamp')\n resume = createSpy2<AudioContext['resume']>('resume')\n suspend = createSpy2<AudioContext['suspend']>('suspend')\n addEventListener =\n createSpy2<AudioContext['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<AudioContext['removeEventListener']>(\n 'removeEventListener'\n )\n createAnalyser =\n createSpy2<AudioContext['createAnalyser']>('createAnalyser')\n createBiquadFilter =\n createSpy2<AudioContext['createBiquadFilter']>('createBiquadFilter')\n createBuffer = createSpy2<AudioContext['createBuffer']>('createBuffer')\n createBufferSource =\n createSpy2<AudioContext['createBufferSource']>('createBufferSource')\n createChannelMerger = createSpy2<AudioContext['createChannelMerger']>(\n 'createChannelMerger'\n )\n createChannelSplitter = createSpy2<AudioContext['createChannelSplitter']>(\n 'createChannelSplitter'\n )\n createConstantSource = createSpy2<AudioContext['createConstantSource']>(\n 'createConstantSource'\n )\n createConvolver =\n createSpy2<AudioContext['createConvolver']>('createConvolver')\n createDelay = createSpy2<AudioContext['createDelay']>('createDelay')\n createDynamicsCompressor = createSpy2<\n AudioContext['createDynamicsCompressor']\n >('createDynamicsCompressor')\n createGain = createSpy2<AudioContext['createGain']>('createGain')\n createIIRFilter =\n createSpy2<AudioContext['createIIRFilter']>('createIIRFilter')\n createOscillator =\n createSpy2<AudioContext['createOscillator']>('createOscillator')\n createPanner = createSpy2<AudioContext['createPanner']>('createPanner')\n createPeriodicWave =\n createSpy2<AudioContext['createPeriodicWave']>('createPeriodicWave')\n createScriptProcessor = createSpy2<AudioContext['createScriptProcessor']>(\n 'createScriptProcessor'\n )\n createStereoPanner =\n createSpy2<AudioContext['createStereoPanner']>('createStereoPanner')\n createWaveShaper =\n createSpy2<AudioContext['createWaveShaper']>('createWaveShaper')\n decodeAudioData =\n createSpy2<AudioContext['decodeAudioData']>('decodeAudioData')\n dispatchEvent = createSpy2<AudioContext['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockCache implements Cache {\n add = createSpy2<Cache['add']>('add')\n addAll = createSpy2<Cache['addAll']>('addAll')\n delete = createSpy2<Cache['delete']>('delete')\n keys = createSpy2<Cache['keys']>('keys')\n match = createSpy2<Cache['match']>('match')\n matchAll = createSpy2<Cache['matchAll']>('matchAll')\n put = createSpy2<Cache['put']>('put')\n}\n\nexport class MockCacheStorage implements CacheStorage {\n delete = createSpy2<CacheStorage['delete']>('delete')\n has = createSpy2<CacheStorage['has']>('has')\n keys = createSpy2<CacheStorage['keys']>('keys')\n match = createSpy2<CacheStorage['match']>('match')\n open = createSpy2<CacheStorage['open']>('open')\n}\n\nexport class MockCustomEvent<T = any> implements CustomEvent<T> {\n detail: T = undefined as any\n bubbles: boolean = false\n cancelBubble: boolean = false\n cancelable: boolean = false\n composed: boolean = false\n currentTarget: EventTarget | null = null\n defaultPrevented: boolean = false\n eventPhase: number = 0\n isTrusted: boolean = false\n returnValue: boolean = false\n srcElement: EventTarget | null = null\n target: EventTarget | null = null\n timeStamp: DOMHighResTimeStamp = 0\n type: string = ''\n NONE: 0 = 0\n CAPTURING_PHASE: 1 = 1\n AT_TARGET: 2 = 2\n BUBBLING_PHASE: 3 = 3\n\n initCustomEvent =\n createSpy2<CustomEvent<T>['initCustomEvent']>('initCustomEvent')\n composedPath = createSpy2<CustomEvent<T>['composedPath']>('composedPath')\n initEvent = createSpy2<CustomEvent<T>['initEvent']>('initEvent')\n preventDefault =\n createSpy2<CustomEvent<T>['preventDefault']>('preventDefault')\n stopImmediatePropagation = createSpy2<\n CustomEvent<T>['stopImmediatePropagation']\n >('stopImmediatePropagation')\n stopPropagation =\n createSpy2<CustomEvent<T>['stopPropagation']>('stopPropagation')\n}\n\nexport class MockDocument implements Document {\n URL: string = ''\n alinkColor: string = ''\n all: HTMLAllCollection = undefined as any\n anchors: HTMLCollectionOf<HTMLAnchorElement> = undefined as any\n applets: HTMLCollection = undefined as any\n bgColor: string = ''\n body: HTMLElement = undefined as any\n characterSet: string = ''\n charset: string = ''\n compatMode: string = ''\n contentType: string = ''\n cookie: string = ''\n currentScript: HTMLOrSVGScriptElement | null = undefined as any\n defaultView: (WindowProxy & typeof globalThis) | null = undefined as any\n designMode: string = ''\n dir: string = ''\n doctype: DocumentType | null = null\n documentElement: HTMLElement = undefined as any\n documentURI: string = ''\n domain: string = ''\n embeds: HTMLCollectionOf<HTMLEmbedElement> = undefined as any\n fgColor: string = ''\n forms: HTMLCollectionOf<HTMLFormElement> = undefined as any\n fragmentDirective: FragmentDirective = undefined as any\n fullscreen: boolean = false\n fullscreenEnabled: boolean = false\n head: HTMLHeadElement = undefined as any\n hidden: boolean = false\n images: HTMLCollectionOf<HTMLImageElement> = undefined as any\n implementation: DOMImplementation = undefined as any\n inputEncoding: string = ''\n lastModified: string = ''\n linkColor: string = ''\n links: HTMLCollectionOf<HTMLAnchorElement | HTMLAreaElement> =\n undefined as any\n onfullscreenchange: ((this: Document, ev: Event) => any) | null = null\n onfullscreenerror: ((this: Document, ev: Event) => any) | null = null\n onpointerlockchange: ((this: Document, ev: Event) => any) | null = null\n onpointerlockerror: ((this: Document, ev: Event) => any) | null = null\n onreadystatechange: ((this: Document, ev: Event) => any) | null = null\n onvisibilitychange: ((this: Document, ev: Event) => any) | null = null\n ownerDocument: null = null\n pictureInPictureEnabled: boolean = false\n plugins: HTMLCollectionOf<HTMLEmbedElement> = undefined as any\n readyState: DocumentReadyState = 'complete'\n referrer: string = ''\n rootElement: SVGSVGElement | null = null\n scripts: HTMLCollectionOf<HTMLScriptElement> = undefined as any\n scrollingElement: Element | null = null\n timeline: DocumentTimeline = undefined as any\n title: string = ''\n visibilityState: DocumentVisibilityState = 'hidden'\n vlinkColor: string = ''\n location: any = undefined\n textContent: null = null\n baseURI: string = ''\n childNodes: NodeListOf<ChildNode> = undefined as any\n firstChild: ChildNode | null = null\n isConnected: boolean = false\n lastChild: ChildNode | null = null\n nextSibling: ChildNode | null = null\n nodeName: string = ''\n nodeType: number = 0\n nodeValue: string | null = ''\n parentElement: HTMLElement | null = null\n parentNode: ParentNode | null = null\n previousSibling: ChildNode | null = null\n ELEMENT_NODE: 1 = 1\n ATTRIBUTE_NODE: 2 = 2\n TEXT_NODE: 3 = 3\n CDATA_SECTION_NODE: 4 = 4\n ENTITY_REFERENCE_NODE: 5 = 5\n ENTITY_NODE: 6 = 6\n PROCESSING_INSTRUCTION_NODE: 7 = 7\n COMMENT_NODE: 8 = 8\n DOCUMENT_NODE: 9 = 9\n DOCUMENT_TYPE_NODE: 10 = 10\n DOCUMENT_FRAGMENT_NODE: 11 = 11\n NOTATION_NODE: 12 = 12\n DOCUMENT_POSITION_DISCONNECTED: 0x01 = 1\n DOCUMENT_POSITION_PRECEDING: 0x02 = 2\n DOCUMENT_POSITION_FOLLOWING: 0x04 = 4\n DOCUMENT_POSITION_CONTAINS: 0x08 = 8\n DOCUMENT_POSITION_CONTAINED_BY: 0x10 = 16\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20 = 32\n activeElement: Element | null = null\n adoptedStyleSheets: CSSStyleSheet[] = []\n fullscreenElement: Element | null = null\n pictureInPictureElement: Element | null = null\n pointerLockElement: Element | null = null\n styleSheets: StyleSheetList = undefined as any\n fonts: FontFaceSet = undefined as any\n onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onanimationcancel:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationend:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationiteration:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationstart:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null =\n null\n onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onbeforetoggle:\n | ((this: GlobalEventHandlers, ev: ToggleEvent) => any)\n | null = null\n onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextmenu:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onended: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onerror: OnErrorEventHandler = undefined as any\n onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null =\n null\n ongotpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onload: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onlostpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onpointercancel:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerdown:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerenter:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerleave:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointermove:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerout:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerover:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null =\n null\n onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsecuritypolicyviolation:\n | ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any)\n | null = null\n onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null =\n null\n onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null =\n null\n ontransitioncancel:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionend:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionrun:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionstart:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onwebkitanimationend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationiteration:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationstart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkittransitionend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null = null\n childElementCount: number = 0\n children: HTMLCollection = undefined as any\n firstElementChild: Element | null = null\n lastElementChild: Element | null = null\n\n adoptNode = createSpy2<Document['adoptNode']>('adoptNode')\n captureEvents = createSpy2<Document['captureEvents']>('captureEvents')\n caretPositionFromPoint = createSpy2<Document['caretPositionFromPoint']>(\n 'caretPositionFromPoint'\n )\n caretRangeFromPoint = createSpy2<Document['caretRangeFromPoint']>(\n 'caretRangeFromPoint'\n )\n clear = createSpy2<Document['clear']>('clear')\n close = createSpy2<Document['close']>('close')\n createAttribute = createSpy2<Document['createAttribute']>('createAttribute')\n createAttributeNS =\n createSpy2<Document['createAttributeNS']>('createAttributeNS')\n createCDATASection =\n createSpy2<Document['createCDATASection']>('createCDATASection')\n createComment = createSpy2<Document['createComment']>('createComment')\n createDocumentFragment = createSpy2<Document['createDocumentFragment']>(\n 'createDocumentFragment'\n )\n createElement = createSpy2<Document['createElement']>('createElement')\n createElementNS = createSpy2<Document['createElementNS']>('createElementNS')\n createEvent = createSpy2<Document['createEvent']>('createEvent')\n createNodeIterator =\n createSpy2<Document['createNodeIterator']>('createNodeIterator')\n createProcessingInstruction = createSpy2<\n Document['createProcessingInstruction']\n >('createProcessingInstruction')\n createRange = createSpy2<Document['createRange']>('createRange')\n createTextNode = createSpy2<Document['createTextNode']>('createTextNode')\n createTreeWalker =\n createSpy2<Document['createTreeWalker']>('createTreeWalker')\n execCommand = createSpy2<Document['execCommand']>('execCommand')\n exitFullscreen = createSpy2<Document['exitFullscreen']>('exitFullscreen')\n exitPictureInPicture = createSpy2<Document['exitPictureInPicture']>(\n 'exitPictureInPicture'\n )\n exitPointerLock = createSpy2<Document['exitPointerLock']>('exitPointerLock')\n getElementById = createSpy2<Document['getElementById']>('getElementById')\n getElementsByClassName = createSpy2<Document['getElementsByClassName']>(\n 'getElementsByClassName'\n )\n getElementsByName =\n createSpy2<Document['getElementsByName']>('getElementsByName')\n getElementsByTagName = createSpy2<Document['getElementsByTagName']>(\n 'getElementsByTagName'\n )\n getElementsByTagNameNS = createSpy2<Document['getElementsByTagNameNS']>(\n 'getElementsByTagNameNS'\n )\n getSelection = createSpy2<Document['getSelection']>('getSelection')\n hasFocus = createSpy2<Document['hasFocus']>('hasFocus')\n hasStorageAccess =\n createSpy2<Document['hasStorageAccess']>('hasStorageAccess')\n importNode = createSpy2<Document['importNode']>('importNode')\n open = createSpy2<Document['open']>('open')\n queryCommandEnabled = createSpy2<Document['queryCommandEnabled']>(\n 'queryCommandEnabled'\n )\n queryCommandIndeterm = createSpy2<Document['queryCommandIndeterm']>(\n 'queryCommandIndeterm'\n )\n queryCommandState =\n createSpy2<Document['queryCommandState']>('queryCommandState')\n queryCommandSupported = createSpy2<Document['queryCommandSupported']>(\n 'queryCommandSupported'\n )\n queryCommandValue =\n createSpy2<Document['queryCommandValue']>('queryCommandValue')\n releaseEvents = createSpy2<Document['releaseEvents']>('releaseEvents')\n requestStorageAccess = createSpy2<Document['requestStorageAccess']>(\n 'requestStorageAccess'\n )\n startViewTransition = createSpy2<Document['startViewTransition']>(\n 'startViewTransition'\n )\n write = createSpy2<Document['write']>('write')\n writeln = createSpy2<Document['writeln']>('writeln')\n addEventListener =\n createSpy2<Document['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<Document['removeEventListener']>(\n 'removeEventListener'\n )\n appendChild = createSpy2<Document['appendChild']>('appendChild')\n cloneNode = createSpy2<Document['cloneNode']>('cloneNode')\n compareDocumentPosition = createSpy2<Document['compareDocumentPosition']>(\n 'compareDocumentPosition'\n )\n contains = createSpy2<Document['contains']>('contains')\n getRootNode = createSpy2<Document['getRootNode']>('getRootNode')\n hasChildNodes = createSpy2<Document['hasChildNodes']>('hasChildNodes')\n insertBefore = createSpy2<Document['insertBefore']>('insertBefore')\n isDefaultNamespace =\n createSpy2<Document['isDefaultNamespace']>('isDefaultNamespace')\n isEqualNode = createSpy2<Document['isEqualNode']>('isEqualNode')\n isSameNode = createSpy2<Document['isSameNode']>('isSameNode')\n lookupNamespaceURI =\n createSpy2<Document['lookupNamespaceURI']>('lookupNamespaceURI')\n lookupPrefix = createSpy2<Document['lookupPrefix']>('lookupPrefix')\n normalize = createSpy2<Document['normalize']>('normalize')\n removeChild = createSpy2<Document['removeChild']>('removeChild')\n replaceChild = createSpy2<Document['replaceChild']>('replaceChild')\n elementFromPoint =\n createSpy2<Document['elementFromPoint']>('elementFromPoint')\n elementsFromPoint =\n createSpy2<Document['elementsFromPoint']>('elementsFromPoint')\n getAnimations = createSpy2<Document['getAnimations']>('getAnimations')\n append = createSpy2<Document['append']>('append')\n prepend = createSpy2<Document['prepend']>('prepend')\n querySelector = createSpy2<Document['querySelector']>('querySelector')\n querySelectorAll =\n createSpy2<Document['querySelectorAll']>('querySelectorAll')\n replaceChildren = createSpy2<Document['replaceChildren']>('replaceChildren')\n createExpression =\n createSpy2<Document['createExpression']>('createExpression')\n createNSResolver =\n createSpy2<Document['createNSResolver']>('createNSResolver')\n evaluate = createSpy2<Document['evaluate']>('evaluate')\n dispatchEvent = createSpy2<Document['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockErrorEvent implements ErrorEvent {\n colno: number = 0\n error: any = undefined\n filename: string = ''\n lineno: number = 0\n message: string = ''\n bubbles: boolean = false\n cancelBubble: boolean = false\n cancelable: boolean = false\n composed: boolean = false\n currentTarget: EventTarget | null = null\n defaultPrevented: boolean = false\n eventPhase: number = 0\n isTrusted: boolean = false\n returnValue: boolean = false\n srcElement: EventTarget | null = null\n target: EventTarget | null = null\n timeStamp: DOMHighResTimeStamp = 0\n type: string = ''\n NONE: 0 = 0\n CAPTURING_PHASE: 1 = 1\n AT_TARGET: 2 = 2\n BUBBLING_PHASE: 3 = 3\n\n composedPath = createSpy2<ErrorEvent['composedPath']>('composedPath')\n initEvent = createSpy2<ErrorEvent['initEvent']>('initEvent')\n preventDefault = createSpy2<ErrorEvent['preventDefault']>('preventDefault')\n stopImmediatePropagation = createSpy2<\n ErrorEvent['stopImmediatePropagation']\n >('stopImmediatePropagation')\n stopPropagation =\n createSpy2<ErrorEvent['stopPropagation']>('stopPropagation')\n}\n\nexport class MockEvent implements Event {\n bubbles: boolean = false\n cancelBubble: boolean = false\n cancelable: boolean = false\n composed: boolean = false\n currentTarget: EventTarget | null = null\n defaultPrevented: boolean = false\n eventPhase: number = 0\n isTrusted: boolean = false\n returnValue: boolean = false\n srcElement: EventTarget | null = null\n target: EventTarget | null = null\n timeStamp: DOMHighResTimeStamp = 0\n type: string = ''\n NONE: 0 = 0\n CAPTURING_PHASE: 1 = 1\n AT_TARGET: 2 = 2\n BUBBLING_PHASE: 3 = 3\n\n composedPath = createSpy2<Event['composedPath']>('composedPath')\n initEvent = createSpy2<Event['initEvent']>('initEvent')\n preventDefault = createSpy2<Event['preventDefault']>('preventDefault')\n stopImmediatePropagation = createSpy2<Event['stopImmediatePropagation']>(\n 'stopImmediatePropagation'\n )\n stopPropagation = createSpy2<Event['stopPropagation']>('stopPropagation')\n}\n\nexport class MockEventTarget implements EventTarget {\n addEventListener =\n createSpy2<EventTarget['addEventListener']>('addEventListener')\n dispatchEvent = createSpy2<EventTarget['dispatchEvent']>('dispatchEvent')\n removeEventListener = createSpy2<EventTarget['removeEventListener']>(\n 'removeEventListener'\n )\n}\n\nexport class MockHTMLAudioElement implements HTMLAudioElement {\n autoplay: boolean = false\n buffered: TimeRanges = undefined as any\n controls: boolean = false\n crossOrigin: string | null = ''\n currentSrc: string = ''\n currentTime: number = 0\n defaultMuted: boolean = false\n defaultPlaybackRate: number = 0\n disableRemotePlayback: boolean = false\n duration: number = 0\n ended: boolean = false\n error: MediaError | null = null\n loop: boolean = false\n mediaKeys: MediaKeys | null = null\n muted: boolean = false\n networkState: number = 0\n onencrypted:\n | ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any)\n | null = null\n onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null = null\n paused: boolean = false\n playbackRate: number = 0\n played: TimeRanges = undefined as any\n preload: 'none' | 'metadata' | 'auto' | '' = 'none'\n preservesPitch: boolean = false\n readyState: number = 0\n remote: RemotePlayback = undefined as any\n seekable: TimeRanges = undefined as any\n seeking: boolean = false\n sinkId: string = ''\n src: string = ''\n srcObject: MediaProvider | null = undefined as any\n textTracks: TextTrackList = undefined as any\n volume: number = 0\n NETWORK_EMPTY: 0 = 0\n NETWORK_IDLE: 1 = 1\n NETWORK_LOADING: 2 = 2\n NETWORK_NO_SOURCE: 3 = 3\n HAVE_NOTHING: 0 = 0\n HAVE_METADATA: 1 = 1\n HAVE_CURRENT_DATA: 2 = 2\n HAVE_FUTURE_DATA: 3 = 3\n HAVE_ENOUGH_DATA: 4 = 4\n accessKey: string = ''\n accessKeyLabel: string = ''\n autocapitalize: string = ''\n autocorrect: boolean = false\n dir: string = ''\n draggable: boolean = false\n hidden: boolean = false\n inert: boolean = false\n innerText: string = ''\n lang: string = ''\n offsetHeight: number = 0\n offsetLeft: number = 0\n offsetParent: Element | null = null\n offsetTop: number = 0\n offsetWidth: number = 0\n outerText: string = ''\n popover: string | null = ''\n spellcheck: boolean = false\n title: string = ''\n translate: boolean = false\n writingSuggestions: string = ''\n attributes: NamedNodeMap = undefined as any\n className: string = ''\n clientHeight: number = 0\n clientLeft: number = 0\n clientTop: number = 0\n clientWidth: number = 0\n currentCSSZoom: number = 0\n id: string = ''\n innerHTML: string = ''\n localName: string = ''\n namespaceURI: string | null = ''\n onfullscreenchange: ((this: Element, ev: Event) => any) | null = null\n onfullscreenerror: ((this: Element, ev: Event) => any) | null = null\n outerHTML: string = ''\n ownerDocument: Document = undefined as any\n prefix: string | null = ''\n scrollHeight: number = 0\n scrollLeft: number = 0\n scrollTop: number = 0\n scrollWidth: number = 0\n shadowRoot: ShadowRoot | null = null\n slot: string = ''\n tagName: string = ''\n classList: any = undefined\n part: any = undefined\n textContent: any = undefined\n attributeStyleMap: StylePropertyMap = undefined as any\n style: any = undefined\n contentEditable: string = ''\n enterKeyHint: string = ''\n inputMode: string = ''\n isContentEditable: boolean = false\n onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onanimationcancel:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationend:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationiteration:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationstart:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null =\n null\n onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onbeforetoggle:\n | ((this: GlobalEventHandlers, ev: ToggleEvent) => any)\n | null = null\n onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextmenu:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onended: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onerror: OnErrorEventHandler = undefined as any\n onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null =\n null\n ongotpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onload: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onlostpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onpointercancel:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerdown:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerenter:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerleave:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointermove:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerout:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerover:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null =\n null\n onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsecuritypolicyviolation:\n | ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any)\n | null = null\n onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null =\n null\n onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null =\n null\n ontransitioncancel:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionend:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionrun:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionstart:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onwebkitanimationend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationiteration:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationstart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkittransitionend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null = null\n autofocus: boolean = false\n dataset: DOMStringMap = undefined as any\n tabIndex: number = 0\n baseURI: string = ''\n childNodes: NodeListOf<ChildNode> = undefined as any\n firstChild: ChildNode | null = null\n isConnected: boolean = false\n lastChild: ChildNode | null = null\n nextSibling: ChildNode | null = null\n nodeName: string = ''\n nodeType: number = 0\n nodeValue: string | null = ''\n parentElement: HTMLElement | null = null\n parentNode: ParentNode | null = null\n previousSibling: ChildNode | null = null\n ELEMENT_NODE: 1 = 1\n ATTRIBUTE_NODE: 2 = 2\n TEXT_NODE: 3 = 3\n CDATA_SECTION_NODE: 4 = 4\n ENTITY_REFERENCE_NODE: 5 = 5\n ENTITY_NODE: 6 = 6\n PROCESSING_INSTRUCTION_NODE: 7 = 7\n COMMENT_NODE: 8 = 8\n DOCUMENT_NODE: 9 = 9\n DOCUMENT_TYPE_NODE: 10 = 10\n DOCUMENT_FRAGMENT_NODE: 11 = 11\n NOTATION_NODE: 12 = 12\n DOCUMENT_POSITION_DISCONNECTED: 0x01 = 1\n DOCUMENT_POSITION_PRECEDING: 0x02 = 2\n DOCUMENT_POSITION_FOLLOWING: 0x04 = 4\n DOCUMENT_POSITION_CONTAINS: 0x08 = 8\n DOCUMENT_POSITION_CONTAINED_BY: 0x10 = 16\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20 = 32\n ariaActiveDescendantElement: Element | null = null\n ariaAtomic: string | null = ''\n ariaAutoComplete: string | null = ''\n ariaBrailleLabel: string | null = ''\n ariaBrailleRoleDescription: string | null = ''\n ariaBusy: string | null = ''\n ariaChecked: string | null = ''\n ariaColCount: string | null = ''\n ariaColIndex: string | null = ''\n ariaColIndexText: string | null = ''\n ariaColSpan: string | null = ''\n ariaControlsElements: ReadonlyArray<Element> | null = null\n ariaCurrent: string | null = ''\n ariaDescribedByElements: ReadonlyArray<Element> | null = null\n ariaDescription: string | null = ''\n ariaDetailsElements: ReadonlyArray<Element> | null = null\n ariaDisabled: string | null = ''\n ariaErrorMessageElements: ReadonlyArray<Element> | null = null\n ariaExpanded: string | null = ''\n ariaFlowToElements: ReadonlyArray<Element> | null = null\n ariaHasPopup: string | null = ''\n ariaHidden: string | null = ''\n ariaInvalid: string | null = ''\n ariaKeyShortcuts: string | null = ''\n ariaLabel: string | null = ''\n ariaLabelledByElements: ReadonlyArray<Element> | null = null\n ariaLevel: string | null = ''\n ariaLive: string | null = ''\n ariaModal: string | null = ''\n ariaMultiLine: string | null = ''\n ariaMultiSelectable: string | null = ''\n ariaOrientation: string | null = ''\n ariaOwnsElements: ReadonlyArray<Element> | null = null\n ariaPlaceholder: string | null = ''\n ariaPosInSet: string | null = ''\n ariaPressed: string | null = ''\n ariaReadOnly: string | null = ''\n ariaRelevant: string | null = ''\n ariaRequired: string | null = ''\n ariaRoleDescription: string | null = ''\n ariaRowCount: string | null = ''\n ariaRowIndex: string | null = ''\n ariaRowIndexText: string | null = ''\n ariaRowSpan: string | null = ''\n ariaSelected: string | null = ''\n ariaSetSize: string | null = ''\n ariaSort: string | null = ''\n ariaValueMax: string | null = ''\n ariaValueMin: string | null = ''\n ariaValueNow: string | null = ''\n ariaValueText: string | null = ''\n role: string | null = ''\n nextElementSibling: Element | null = null\n previousElementSibling: Element | null = null\n childElementCount: number = 0\n children: HTMLCollection = undefined as any\n firstElementChild: Element | null = null\n lastElementChild: Element | null = null\n assignedSlot: HTMLSlotElement | null = null\n\n addEventListener =\n createSpy2<HTMLAudioElement['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<HTMLAudioElement['removeEventListener']>(\n 'removeEventListener'\n )\n addTextTrack = createSpy2<HTMLAudioElement['addTextTrack']>('addTextTrack')\n canPlayType = createSpy2<HTMLAudioElement['canPlayType']>('canPlayType')\n fastSeek = createSpy2<HTMLAudioElement['fastSeek']>('fastSeek')\n load = createSpy2<HTMLAudioElement['load']>('load')\n pause = createSpy2<HTMLAudioElement['pause']>('pause')\n play = createSpy2<HTMLAudioElement['play']>('play')\n setMediaKeys = createSpy2<HTMLAudioElement['setMediaKeys']>('setMediaKeys')\n setSinkId = createSpy2<HTMLAudioElement['setSinkId']>('setSinkId')\n attachInternals =\n createSpy2<HTMLAudioElement['attachInternals']>('attachInternals')\n click = createSpy2<HTMLAudioElement['click']>('click')\n hidePopover = createSpy2<HTMLAudioElement['hidePopover']>('hidePopover')\n showPopover = createSpy2<HTMLAudioElement['showPopover']>('showPopover')\n togglePopover =\n createSpy2<HTMLAudioElement['togglePopover']>('togglePopover')\n attachShadow = createSpy2<HTMLAudioElement['attachShadow']>('attachShadow')\n checkVisibility =\n createSpy2<HTMLAudioElement['checkVisibility']>('checkVisibility')\n closest = createSpy2<HTMLAudioElement['closest']>('closest')\n computedStyleMap =\n createSpy2<HTMLAudioElement['computedStyleMap']>('computedStyleMap')\n getAttribute = createSpy2<HTMLAudioElement['getAttribute']>('getAttribute')\n getAttributeNS =\n createSpy2<HTMLAudioElement['getAttributeNS']>('getAttributeNS')\n getAttributeNames =\n createSpy2<HTMLAudioElement['getAttributeNames']>('getAttributeNames')\n getAttributeNode =\n createSpy2<HTMLAudioElement['getAttributeNode']>('getAttributeNode')\n getAttributeNodeNS =\n createSpy2<HTMLAudioElement['getAttributeNodeNS']>('getAttributeNodeNS')\n getBoundingClientRect = createSpy2<\n HTMLAudioElement['getBoundingClientRect']\n >('getBoundingClientRect')\n getClientRects =\n createSpy2<HTMLAudioElement['getClientRects']>('getClientRects')\n getElementsByClassName = createSpy2<\n HTMLAudioElement['getElementsByClassName']\n >('getElementsByClassName')\n getElementsByTagName = createSpy2<HTMLAudioElement['getElementsByTagName']>(\n 'getElementsByTagName'\n )\n getElementsByTagNameNS = createSpy2<\n HTMLAudioElement['getElementsByTagNameNS']\n >('getElementsByTagNameNS')\n getHTML = createSpy2<HTMLAudioElement['getHTML']>('getHTML')\n hasAttribute = createSpy2<HTMLAudioElement['hasAttribute']>('hasAttribute')\n hasAttributeNS =\n createSpy2<HTMLAudioElement['hasAttributeNS']>('hasAttributeNS')\n hasAttributes =\n createSpy2<HTMLAudioElement['hasAttributes']>('hasAttributes')\n hasPointerCapture =\n createSpy2<HTMLAudioElement['hasPointerCapture']>('hasPointerCapture')\n insertAdjacentElement = createSpy2<\n HTMLAudioElement['insertAdjacentElement']\n >('insertAdjacentElement')\n insertAdjacentHTML =\n createSpy2<HTMLAudioElement['insertAdjacentHTML']>('insertAdjacentHTML')\n insertAdjacentText =\n createSpy2<HTMLAudioElement['insertAdjacentText']>('insertAdjacentText')\n matches = createSpy2<HTMLAudioElement['matches']>('matches')\n releasePointerCapture = createSpy2<\n HTMLAudioElement['releasePointerCapture']\n >('releasePointerCapture')\n removeAttribute =\n createSpy2<HTMLAudioElement['removeAttribute']>('removeAttribute')\n removeAttributeNS =\n createSpy2<HTMLAudioElement['removeAttributeNS']>('removeAttributeNS')\n removeAttributeNode = createSpy2<HTMLAudioElement['removeAttributeNode']>(\n 'removeAttributeNode'\n )\n requestFullscreen =\n createSpy2<HTMLAudioElement['requestFullscreen']>('requestFullscreen')\n requestPointerLock =\n createSpy2<HTMLAudioElement['requestPointerLock']>('requestPointerLock')\n scroll = createSpy2<HTMLAudioElement['scroll']>('scroll')\n scrollBy = createSpy2<HTMLAudioElement['scrollBy']>('scrollBy')\n scrollIntoView =\n createSpy2<HTMLAudioElement['scrollIntoView']>('scrollIntoView')\n scrollTo = createSpy2<HTMLAudioElement['scrollTo']>('scrollTo')\n setAttribute = createSpy2<HTMLAudioElement['setAttribute']>('setAttribute')\n setAttributeNS =\n createSpy2<HTMLAudioElement['setAttributeNS']>('setAttributeNS')\n setAttributeNode =\n createSpy2<HTMLAudioElement['setAttributeNode']>('setAttributeNode')\n setAttributeNodeNS =\n createSpy2<HTMLAudioElement['setAttributeNodeNS']>('setAttributeNodeNS')\n setHTMLUnsafe =\n createSpy2<HTMLAudioElement['setHTMLUnsafe']>('setHTMLUnsafe')\n setPointerCapture =\n createSpy2<HTMLAudioElement['setPointerCapture']>('setPointerCapture')\n toggleAttribute =\n createSpy2<HTMLAudioElement['toggleAttribute']>('toggleAttribute')\n webkitMatchesSelector = createSpy2<\n HTMLAudioElement['webkitMatchesSelector']\n >('webkitMatchesSelector')\n blur = createSpy2<HTMLAudioElement['blur']>('blur')\n focus = createSpy2<HTMLAudioElement['focus']>('focus')\n appendChild = createSpy2<HTMLAudioElement['appendChild']>('appendChild')\n cloneNode = createSpy2<HTMLAudioElement['cloneNode']>('cloneNode')\n compareDocumentPosition = createSpy2<\n HTMLAudioElement['compareDocumentPosition']\n >('compareDocumentPosition')\n contains = createSpy2<HTMLAudioElement['contains']>('contains')\n getRootNode = createSpy2<HTMLAudioElement['getRootNode']>('getRootNode')\n hasChildNodes =\n createSpy2<HTMLAudioElement['hasChildNodes']>('hasChildNodes')\n insertBefore = createSpy2<HTMLAudioElement['insertBefore']>('insertBefore')\n isDefaultNamespace =\n createSpy2<HTMLAudioElement['isDefaultNamespace']>('isDefaultNamespace')\n isEqualNode = createSpy2<HTMLAudioElement['isEqualNode']>('isEqualNode')\n isSameNode = createSpy2<HTMLAudioElement['isSameNode']>('isSameNode')\n lookupNamespaceURI =\n createSpy2<HTMLAudioElement['lookupNamespaceURI']>('lookupNamespaceURI')\n lookupPrefix = createSpy2<HTMLAudioElement['lookupPrefix']>('lookupPrefix')\n normalize = createSpy2<HTMLAudioElement['normalize']>('normalize')\n removeChild = createSpy2<HTMLAudioElement['removeChild']>('removeChild')\n replaceChild = createSpy2<HTMLAudioElement['replaceChild']>('replaceChild')\n animate = createSpy2<HTMLAudioElement['animate']>('animate')\n getAnimations =\n createSpy2<HTMLAudioElement['getAnimations']>('getAnimations')\n after = createSpy2<HTMLAudioElement['after']>('after')\n before = createSpy2<HTMLAudioElement['before']>('before')\n remove = createSpy2<HTMLAudioElement['remove']>('remove')\n replaceWith = createSpy2<HTMLAudioElement['replaceWith']>('replaceWith')\n append = createSpy2<HTMLAudioElement['append']>('append')\n prepend = createSpy2<HTMLAudioElement['prepend']>('prepend')\n querySelector =\n createSpy2<HTMLAudioElement['querySelector']>('querySelector')\n querySelectorAll =\n createSpy2<HTMLAudioElement['querySelectorAll']>('querySelectorAll')\n replaceChildren =\n createSpy2<HTMLAudioElement['replaceChildren']>('replaceChildren')\n dispatchEvent =\n createSpy2<HTMLAudioElement['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockHTMLDivElement implements HTMLDivElement {\n align: string = ''\n accessKey: string = ''\n accessKeyLabel: string = ''\n autocapitalize: string = ''\n autocorrect: boolean = false\n dir: string = ''\n draggable: boolean = false\n hidden: boolean = false\n inert: boolean = false\n innerText: string = ''\n lang: string = ''\n offsetHeight: number = 0\n offsetLeft: number = 0\n offsetParent: Element | null = null\n offsetTop: number = 0\n offsetWidth: number = 0\n outerText: string = ''\n popover: string | null = ''\n spellcheck: boolean = false\n title: string = ''\n translate: boolean = false\n writingSuggestions: string = ''\n attributes: NamedNodeMap = undefined as any\n className: string = ''\n clientHeight: number = 0\n clientLeft: number = 0\n clientTop: number = 0\n clientWidth: number = 0\n currentCSSZoom: number = 0\n id: string = ''\n innerHTML: string = ''\n localName: string = ''\n namespaceURI: string | null = ''\n onfullscreenchange: ((this: Element, ev: Event) => any) | null = null\n onfullscreenerror: ((this: Element, ev: Event) => any) | null = null\n outerHTML: string = ''\n ownerDocument: Document = undefined as any\n prefix: string | null = ''\n scrollHeight: number = 0\n scrollLeft: number = 0\n scrollTop: number = 0\n scrollWidth: number = 0\n shadowRoot: ShadowRoot | null = null\n slot: string = ''\n tagName: string = ''\n classList: any = undefined\n part: any = undefined\n textContent: any = undefined\n attributeStyleMap: StylePropertyMap = undefined as any\n style: any = undefined\n contentEditable: string = ''\n enterKeyHint: string = ''\n inputMode: string = ''\n isContentEditable: boolean = false\n onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onanimationcancel:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationend:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationiteration:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationstart:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null =\n null\n onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onbeforetoggle:\n | ((this: GlobalEventHandlers, ev: ToggleEvent) => any)\n | null = null\n onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextmenu:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onended: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onerror: OnErrorEventHandler = undefined as any\n onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null =\n null\n ongotpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onload: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onlostpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onpointercancel:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerdown:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerenter:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerleave:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointermove:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerout:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerover:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null =\n null\n onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsecuritypolicyviolation:\n | ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any)\n | null = null\n onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null =\n null\n onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null =\n null\n ontransitioncancel:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionend:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionrun:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionstart:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onwebkitanimationend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationiteration:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationstart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkittransitionend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null = null\n autofocus: boolean = false\n dataset: DOMStringMap = undefined as any\n tabIndex: number = 0\n baseURI: string = ''\n childNodes: NodeListOf<ChildNode> = undefined as any\n firstChild: ChildNode | null = null\n isConnected: boolean = false\n lastChild: ChildNode | null = null\n nextSibling: ChildNode | null = null\n nodeName: string = ''\n nodeType: number = 0\n nodeValue: string | null = ''\n parentElement: HTMLElement | null = null\n parentNode: ParentNode | null = null\n previousSibling: ChildNode | null = null\n ELEMENT_NODE: 1 = 1\n ATTRIBUTE_NODE: 2 = 2\n TEXT_NODE: 3 = 3\n CDATA_SECTION_NODE: 4 = 4\n ENTITY_REFERENCE_NODE: 5 = 5\n ENTITY_NODE: 6 = 6\n PROCESSING_INSTRUCTION_NODE: 7 = 7\n COMMENT_NODE: 8 = 8\n DOCUMENT_NODE: 9 = 9\n DOCUMENT_TYPE_NODE: 10 = 10\n DOCUMENT_FRAGMENT_NODE: 11 = 11\n NOTATION_NODE: 12 = 12\n DOCUMENT_POSITION_DISCONNECTED: 0x01 = 1\n DOCUMENT_POSITION_PRECEDING: 0x02 = 2\n DOCUMENT_POSITION_FOLLOWING: 0x04 = 4\n DOCUMENT_POSITION_CONTAINS: 0x08 = 8\n DOCUMENT_POSITION_CONTAINED_BY: 0x10 = 16\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20 = 32\n ariaActiveDescendantElement: Element | null = null\n ariaAtomic: string | null = ''\n ariaAutoComplete: string | null = ''\n ariaBrailleLabel: string | null = ''\n ariaBrailleRoleDescription: string | null = ''\n ariaBusy: string | null = ''\n ariaChecked: string | null = ''\n ariaColCount: string | null = ''\n ariaColIndex: string | null = ''\n ariaColIndexText: string | null = ''\n ariaColSpan: string | null = ''\n ariaControlsElements: ReadonlyArray<Element> | null = null\n ariaCurrent: string | null = ''\n ariaDescribedByElements: ReadonlyArray<Element> | null = null\n ariaDescription: string | null = ''\n ariaDetailsElements: ReadonlyArray<Element> | null = null\n ariaDisabled: string | null = ''\n ariaErrorMessageElements: ReadonlyArray<Element> | null = null\n ariaExpanded: string | null = ''\n ariaFlowToElements: ReadonlyArray<Element> | null = null\n ariaHasPopup: string | null = ''\n ariaHidden: string | null = ''\n ariaInvalid: string | null = ''\n ariaKeyShortcuts: string | null = ''\n ariaLabel: string | null = ''\n ariaLabelledByElements: ReadonlyArray<Element> | null = null\n ariaLevel: string | null = ''\n ariaLive: string | null = ''\n ariaModal: string | null = ''\n ariaMultiLine: string | null = ''\n ariaMultiSelectable: string | null = ''\n ariaOrientation: string | null = ''\n ariaOwnsElements: ReadonlyArray<Element> | null = null\n ariaPlaceholder: string | null = ''\n ariaPosInSet: string | null = ''\n ariaPressed: string | null = ''\n ariaReadOnly: string | null = ''\n ariaRelevant: string | null = ''\n ariaRequired: string | null = ''\n ariaRoleDescription: string | null = ''\n ariaRowCount: string | null = ''\n ariaRowIndex: string | null = ''\n ariaRowIndexText: string | null = ''\n ariaRowSpan: string | null = ''\n ariaSelected: string | null = ''\n ariaSetSize: string | null = ''\n ariaSort: string | null = ''\n ariaValueMax: string | null = ''\n ariaValueMin: string | null = ''\n ariaValueNow: string | null = ''\n ariaValueText: string | null = ''\n role: string | null = ''\n nextElementSibling: Element | null = null\n previousElementSibling: Element | null = null\n childElementCount: number = 0\n children: HTMLCollection = undefined as any\n firstElementChild: Element | null = null\n lastElementChild: Element | null = null\n assignedSlot: HTMLSlotElement | null = null\n\n addEventListener =\n createSpy2<HTMLDivElement['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<HTMLDivElement['removeEventListener']>(\n 'removeEventListener'\n )\n attachInternals =\n createSpy2<HTMLDivElement['attachInternals']>('attachInternals')\n click = createSpy2<HTMLDivElement['click']>('click')\n hidePopover = createSpy2<HTMLDivElement['hidePopover']>('hidePopover')\n showPopover = createSpy2<HTMLDivElement['showPopover']>('showPopover')\n togglePopover = createSpy2<HTMLDivElement['togglePopover']>('togglePopover')\n attachShadow = createSpy2<HTMLDivElement['attachShadow']>('attachShadow')\n checkVisibility =\n createSpy2<HTMLDivElement['checkVisibility']>('checkVisibility')\n closest = createSpy2<HTMLDivElement['closest']>('closest')\n computedStyleMap =\n createSpy2<HTMLDivElement['computedStyleMap']>('computedStyleMap')\n getAttribute = createSpy2<HTMLDivElement['getAttribute']>('getAttribute')\n getAttributeNS =\n createSpy2<HTMLDivElement['getAttributeNS']>('getAttributeNS')\n getAttributeNames =\n createSpy2<HTMLDivElement['getAttributeNames']>('getAttributeNames')\n getAttributeNode =\n createSpy2<HTMLDivElement['getAttributeNode']>('getAttributeNode')\n getAttributeNodeNS =\n createSpy2<HTMLDivElement['getAttributeNodeNS']>('getAttributeNodeNS')\n getBoundingClientRect = createSpy2<HTMLDivElement['getBoundingClientRect']>(\n 'getBoundingClientRect'\n )\n getClientRects =\n createSpy2<HTMLDivElement['getClientRects']>('getClientRects')\n getElementsByClassName = createSpy2<\n HTMLDivElement['getElementsByClassName']\n >('getElementsByClassName')\n getElementsByTagName = createSpy2<HTMLDivElement['getElementsByTagName']>(\n 'getElementsByTagName'\n )\n getElementsByTagNameNS = createSpy2<\n HTMLDivElement['getElementsByTagNameNS']\n >('getElementsByTagNameNS')\n getHTML = createSpy2<HTMLDivElement['getHTML']>('getHTML')\n hasAttribute = createSpy2<HTMLDivElement['hasAttribute']>('hasAttribute')\n hasAttributeNS =\n createSpy2<HTMLDivElement['hasAttributeNS']>('hasAttributeNS')\n hasAttributes = createSpy2<HTMLDivElement['hasAttributes']>('hasAttributes')\n hasPointerCapture =\n createSpy2<HTMLDivElement['hasPointerCapture']>('hasPointerCapture')\n insertAdjacentElement = createSpy2<HTMLDivElement['insertAdjacentElement']>(\n 'insertAdjacentElement'\n )\n insertAdjacentHTML =\n createSpy2<HTMLDivElement['insertAdjacentHTML']>('insertAdjacentHTML')\n insertAdjacentText =\n createSpy2<HTMLDivElement['insertAdjacentText']>('insertAdjacentText')\n matches = createSpy2<HTMLDivElement['matches']>('matches')\n releasePointerCapture = createSpy2<HTMLDivElement['releasePointerCapture']>(\n 'releasePointerCapture'\n )\n removeAttribute =\n createSpy2<HTMLDivElement['removeAttribute']>('removeAttribute')\n removeAttributeNS =\n createSpy2<HTMLDivElement['removeAttributeNS']>('removeAttributeNS')\n removeAttributeNode = createSpy2<HTMLDivElement['removeAttributeNode']>(\n 'removeAttributeNode'\n )\n requestFullscreen =\n createSpy2<HTMLDivElement['requestFullscreen']>('requestFullscreen')\n requestPointerLock =\n createSpy2<HTMLDivElement['requestPointerLock']>('requestPointerLock')\n scroll = createSpy2<HTMLDivElement['scroll']>('scroll')\n scrollBy = createSpy2<HTMLDivElement['scrollBy']>('scrollBy')\n scrollIntoView =\n createSpy2<HTMLDivElement['scrollIntoView']>('scrollIntoView')\n scrollTo = createSpy2<HTMLDivElement['scrollTo']>('scrollTo')\n setAttribute = createSpy2<HTMLDivElement['setAttribute']>('setAttribute')\n setAttributeNS =\n createSpy2<HTMLDivElement['setAttributeNS']>('setAttributeNS')\n setAttributeNode =\n createSpy2<HTMLDivElement['setAttributeNode']>('setAttributeNode')\n setAttributeNodeNS =\n createSpy2<HTMLDivElement['setAttributeNodeNS']>('setAttributeNodeNS')\n setHTMLUnsafe = createSpy2<HTMLDivElement['setHTMLUnsafe']>('setHTMLUnsafe')\n setPointerCapture =\n createSpy2<HTMLDivElement['setPointerCapture']>('setPointerCapture')\n toggleAttribute =\n createSpy2<HTMLDivElement['toggleAttribute']>('toggleAttribute')\n webkitMatchesSelector = createSpy2<HTMLDivElement['webkitMatchesSelector']>(\n 'webkitMatchesSelector'\n )\n blur = createSpy2<HTMLDivElement['blur']>('blur')\n focus = createSpy2<HTMLDivElement['focus']>('focus')\n appendChild = createSpy2<HTMLDivElement['appendChild']>('appendChild')\n cloneNode = createSpy2<HTMLDivElement['cloneNode']>('cloneNode')\n compareDocumentPosition = createSpy2<\n HTMLDivElement['compareDocumentPosition']\n >('compareDocumentPosition')\n contains = createSpy2<HTMLDivElement['contains']>('contains')\n getRootNode = createSpy2<HTMLDivElement['getRootNode']>('getRootNode')\n hasChildNodes = createSpy2<HTMLDivElement['hasChildNodes']>('hasChildNodes')\n insertBefore = createSpy2<HTMLDivElement['insertBefore']>('insertBefore')\n isDefaultNamespace =\n createSpy2<HTMLDivElement['isDefaultNamespace']>('isDefaultNamespace')\n isEqualNode = createSpy2<HTMLDivElement['isEqualNode']>('isEqualNode')\n isSameNode = createSpy2<HTMLDivElement['isSameNode']>('isSameNode')\n lookupNamespaceURI =\n createSpy2<HTMLDivElement['lookupNamespaceURI']>('lookupNamespaceURI')\n lookupPrefix = createSpy2<HTMLDivElement['lookupPrefix']>('lookupPrefix')\n normalize = createSpy2<HTMLDivElement['normalize']>('normalize')\n removeChild = createSpy2<HTMLDivElement['removeChild']>('removeChild')\n replaceChild = createSpy2<HTMLDivElement['replaceChild']>('replaceChild')\n animate = createSpy2<HTMLDivElement['animate']>('animate')\n getAnimations = createSpy2<HTMLDivElement['getAnimations']>('getAnimations')\n after = createSpy2<HTMLDivElement['after']>('after')\n before = createSpy2<HTMLDivElement['before']>('before')\n remove = createSpy2<HTMLDivElement['remove']>('remove')\n replaceWith = createSpy2<HTMLDivElement['replaceWith']>('replaceWith')\n append = createSpy2<HTMLDivElement['append']>('append')\n prepend = createSpy2<HTMLDivElement['prepend']>('prepend')\n querySelector = createSpy2<HTMLDivElement['querySelector']>('querySelector')\n querySelectorAll =\n createSpy2<HTMLDivElement['querySelectorAll']>('querySelectorAll')\n replaceChildren =\n createSpy2<HTMLDivElement['replaceChildren']>('replaceChildren')\n dispatchEvent = createSpy2<HTMLDivElement['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockHTMLMediaElement implements HTMLMediaElement {\n autoplay: boolean = false\n buffered: TimeRanges = undefined as any\n controls: boolean = false\n crossOrigin: string | null = ''\n currentSrc: string = ''\n currentTime: number = 0\n defaultMuted: boolean = false\n defaultPlaybackRate: number = 0\n disableRemotePlayback: boolean = false\n duration: number = 0\n ended: boolean = false\n error: MediaError | null = null\n loop: boolean = false\n mediaKeys: MediaKeys | null = null\n muted: boolean = false\n networkState: number = 0\n onencrypted:\n | ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any)\n | null = null\n onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null = null\n paused: boolean = false\n playbackRate: number = 0\n played: TimeRanges = undefined as any\n preload: 'none' | 'metadata' | 'auto' | '' = 'none'\n preservesPitch: boolean = false\n readyState: number = 0\n remote: RemotePlayback = undefined as any\n seekable: TimeRanges = undefined as any\n seeking: boolean = false\n sinkId: string = ''\n src: string = ''\n srcObject: MediaProvider | null = undefined as any\n textTracks: TextTrackList = undefined as any\n volume: number = 0\n NETWORK_EMPTY: 0 = 0\n NETWORK_IDLE: 1 = 1\n NETWORK_LOADING: 2 = 2\n NETWORK_NO_SOURCE: 3 = 3\n HAVE_NOTHING: 0 = 0\n HAVE_METADATA: 1 = 1\n HAVE_CURRENT_DATA: 2 = 2\n HAVE_FUTURE_DATA: 3 = 3\n HAVE_ENOUGH_DATA: 4 = 4\n accessKey: string = ''\n accessKeyLabel: string = ''\n autocapitalize: string = ''\n autocorrect: boolean = false\n dir: string = ''\n draggable: boolean = false\n hidden: boolean = false\n inert: boolean = false\n innerText: string = ''\n lang: string = ''\n offsetHeight: number = 0\n offsetLeft: number = 0\n offsetParent: Element | null = null\n offsetTop: number = 0\n offsetWidth: number = 0\n outerText: string = ''\n popover: string | null = ''\n spellcheck: boolean = false\n title: string = ''\n translate: boolean = false\n writingSuggestions: string = ''\n attributes: NamedNodeMap = undefined as any\n className: string = ''\n clientHeight: number = 0\n clientLeft: number = 0\n clientTop: number = 0\n clientWidth: number = 0\n currentCSSZoom: number = 0\n id: string = ''\n innerHTML: string = ''\n localName: string = ''\n namespaceURI: string | null = ''\n onfullscreenchange: ((this: Element, ev: Event) => any) | null = null\n onfullscreenerror: ((this: Element, ev: Event) => any) | null = null\n outerHTML: string = ''\n ownerDocument: Document = undefined as any\n prefix: string | null = ''\n scrollHeight: number = 0\n scrollLeft: number = 0\n scrollTop: number = 0\n scrollWidth: number = 0\n shadowRoot: ShadowRoot | null = null\n slot: string = ''\n tagName: string = ''\n classList: any = undefined\n part: any = undefined\n textContent: any = undefined\n attributeStyleMap: StylePropertyMap = undefined as any\n style: any = undefined\n contentEditable: string = ''\n enterKeyHint: string = ''\n inputMode: string = ''\n isContentEditable: boolean = false\n onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onanimationcancel:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationend:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationiteration:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onanimationstart:\n | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)\n | null = null\n onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null =\n null\n onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onbeforetoggle:\n | ((this: GlobalEventHandlers, ev: ToggleEvent) => any)\n | null = null\n onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncontextmenu:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null =\n null\n ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null = null\n ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onended: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onerror: OnErrorEventHandler = undefined as any\n onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null = null\n onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null =\n null\n ongotpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null =\n null\n onload: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onlostpointercapture:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null =\n null\n onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null =\n null\n onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onpointercancel:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerdown:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerenter:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerleave:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointermove:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerout:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerover:\n | ((this: GlobalEventHandlers, ev: PointerEvent) => any)\n | null = null\n onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null =\n null\n onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null =\n null\n onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null = null\n onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsecuritypolicyviolation:\n | ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any)\n | null = null\n onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null =\n null\n onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null =\n null\n ontransitioncancel:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionend:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionrun:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n ontransitionstart:\n | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)\n | null = null\n onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null =\n null\n onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null = null\n onwebkitanimationend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationiteration:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkitanimationstart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwebkittransitionend:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = null\n onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null = null\n autofocus: boolean = false\n dataset: DOMStringMap = undefined as any\n tabIndex: number = 0\n baseURI: string = ''\n childNodes: NodeListOf<ChildNode> = undefined as any\n firstChild: ChildNode | null = null\n isConnected: boolean = false\n lastChild: ChildNode | null = null\n nextSibling: ChildNode | null = null\n nodeName: string = ''\n nodeType: number = 0\n nodeValue: string | null = ''\n parentElement: HTMLElement | null = null\n parentNode: ParentNode | null = null\n previousSibling: ChildNode | null = null\n ELEMENT_NODE: 1 = 1\n ATTRIBUTE_NODE: 2 = 2\n TEXT_NODE: 3 = 3\n CDATA_SECTION_NODE: 4 = 4\n ENTITY_REFERENCE_NODE: 5 = 5\n ENTITY_NODE: 6 = 6\n PROCESSING_INSTRUCTION_NODE: 7 = 7\n COMMENT_NODE: 8 = 8\n DOCUMENT_NODE: 9 = 9\n DOCUMENT_TYPE_NODE: 10 = 10\n DOCUMENT_FRAGMENT_NODE: 11 = 11\n NOTATION_NODE: 12 = 12\n DOCUMENT_POSITION_DISCONNECTED: 0x01 = 1\n DOCUMENT_POSITION_PRECEDING: 0x02 = 2\n DOCUMENT_POSITION_FOLLOWING: 0x04 = 4\n DOCUMENT_POSITION_CONTAINS: 0x08 = 8\n DOCUMENT_POSITION_CONTAINED_BY: 0x10 = 16\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20 = 32\n ariaActiveDescendantElement: Element | null = null\n ariaAtomic: string | null = ''\n ariaAutoComplete: string | null = ''\n ariaBrailleLabel: string | null = ''\n ariaBrailleRoleDescription: string | null = ''\n ariaBusy: string | null = ''\n ariaChecked: string | null = ''\n ariaColCount: string | null = ''\n ariaColIndex: string | null = ''\n ariaColIndexText: string | null = ''\n ariaColSpan: string | null = ''\n ariaControlsElements: ReadonlyArray<Element> | null = null\n ariaCurrent: string | null = ''\n ariaDescribedByElements: ReadonlyArray<Element> | null = null\n ariaDescription: string | null = ''\n ariaDetailsElements: ReadonlyArray<Element> | null = null\n ariaDisabled: string | null = ''\n ariaErrorMessageElements: ReadonlyArray<Element> | null = null\n ariaExpanded: string | null = ''\n ariaFlowToElements: ReadonlyArray<Element> | null = null\n ariaHasPopup: string | null = ''\n ariaHidden: string | null = ''\n ariaInvalid: string | null = ''\n ariaKeyShortcuts: string | null = ''\n ariaLabel: string | null = ''\n ariaLabelledByElements: ReadonlyArray<Element> | null = null\n ariaLevel: string | null = ''\n ariaLive: string | null = ''\n ariaModal: string | null = ''\n ariaMultiLine: string | null = ''\n ariaMultiSelectable: string | null = ''\n ariaOrientation: string | null = ''\n ariaOwnsElements: ReadonlyArray<Element> | null = null\n ariaPlaceholder: string | null = ''\n ariaPosInSet: string | null = ''\n ariaPressed: string | null = ''\n ariaReadOnly: string | null = ''\n ariaRelevant: string | null = ''\n ariaRequired: string | null = ''\n ariaRoleDescription: string | null = ''\n ariaRowCount: string | null = ''\n ariaRowIndex: string | null = ''\n ariaRowIndexText: string | null = ''\n ariaRowSpan: string | null = ''\n ariaSelected: string | null = ''\n ariaSetSize: string | null = ''\n ariaSort: string | null = ''\n ariaValueMax: string | null = ''\n ariaValueMin: string | null = ''\n ariaValueNow: string | null = ''\n ariaValueText: string | null = ''\n role: string | null = ''\n nextElementSibling: Element | null = null\n previousElementSibling: Element | null = null\n childElementCount: number = 0\n children: HTMLCollection = undefined as any\n firstElementChild: Element | null = null\n lastElementChild: Element | null = null\n assignedSlot: HTMLSlotElement | null = null\n\n addTextTrack = createSpy2<HTMLMediaElement['addTextTrack']>('addTextTrack')\n canPlayType = createSpy2<HTMLMediaElement['canPlayType']>('canPlayType')\n fastSeek = createSpy2<HTMLMediaElement['fastSeek']>('fastSeek')\n load = createSpy2<HTMLMediaElement['load']>('load')\n pause = createSpy2<HTMLMediaElement['pause']>('pause')\n play = createSpy2<HTMLMediaElement['play']>('play')\n setMediaKeys = createSpy2<HTMLMediaElement['setMediaKeys']>('setMediaKeys')\n setSinkId = createSpy2<HTMLMediaElement['setSinkId']>('setSinkId')\n addEventListener =\n createSpy2<HTMLMediaElement['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<HTMLMediaElement['removeEventListener']>(\n 'removeEventListener'\n )\n attachInternals =\n createSpy2<HTMLMediaElement['attachInternals']>('attachInternals')\n click = createSpy2<HTMLMediaElement['click']>('click')\n hidePopover = createSpy2<HTMLMediaElement['hidePopover']>('hidePopover')\n showPopover = createSpy2<HTMLMediaElement['showPopover']>('showPopover')\n togglePopover =\n createSpy2<HTMLMediaElement['togglePopover']>('togglePopover')\n attachShadow = createSpy2<HTMLMediaElement['attachShadow']>('attachShadow')\n checkVisibility =\n createSpy2<HTMLMediaElement['checkVisibility']>('checkVisibility')\n closest = createSpy2<HTMLMediaElement['closest']>('closest')\n computedStyleMap =\n createSpy2<HTMLMediaElement['computedStyleMap']>('computedStyleMap')\n getAttribute = createSpy2<HTMLMediaElement['getAttribute']>('getAttribute')\n getAttributeNS =\n createSpy2<HTMLMediaElement['getAttributeNS']>('getAttributeNS')\n getAttributeNames =\n createSpy2<HTMLMediaElement['getAttributeNames']>('getAttributeNames')\n getAttributeNode =\n createSpy2<HTMLMediaElement['getAttributeNode']>('getAttributeNode')\n getAttributeNodeNS =\n createSpy2<HTMLMediaElement['getAttributeNodeNS']>('getAttributeNodeNS')\n getBoundingClientRect = createSpy2<\n HTMLMediaElement['getBoundingClientRect']\n >('getBoundingClientRect')\n getClientRects =\n createSpy2<HTMLMediaElement['getClientRects']>('getClientRects')\n getElementsByClassName = createSpy2<\n HTMLMediaElement['getElementsByClassName']\n >('getElementsByClassName')\n getElementsByTagName = createSpy2<HTMLMediaElement['getElementsByTagName']>(\n 'getElementsByTagName'\n )\n getElementsByTagNameNS = createSpy2<\n HTMLMediaElement['getElementsByTagNameNS']\n >('getElementsByTagNameNS')\n getHTML = createSpy2<HTMLMediaElement['getHTML']>('getHTML')\n hasAttribute = createSpy2<HTMLMediaElement['hasAttribute']>('hasAttribute')\n hasAttributeNS =\n createSpy2<HTMLMediaElement['hasAttributeNS']>('hasAttributeNS')\n hasAttributes =\n createSpy2<HTMLMediaElement['hasAttributes']>('hasAttributes')\n hasPointerCapture =\n createSpy2<HTMLMediaElement['hasPointerCapture']>('hasPointerCapture')\n insertAdjacentElement = createSpy2<\n HTMLMediaElement['insertAdjacentElement']\n >('insertAdjacentElement')\n insertAdjacentHTML =\n createSpy2<HTMLMediaElement['insertAdjacentHTML']>('insertAdjacentHTML')\n insertAdjacentText =\n createSpy2<HTMLMediaElement['insertAdjacentText']>('insertAdjacentText')\n matches = createSpy2<HTMLMediaElement['matches']>('matches')\n releasePointerCapture = createSpy2<\n HTMLMediaElement['releasePointerCapture']\n >('releasePointerCapture')\n removeAttribute =\n createSpy2<HTMLMediaElement['removeAttribute']>('removeAttribute')\n removeAttributeNS =\n createSpy2<HTMLMediaElement['removeAttributeNS']>('removeAttributeNS')\n removeAttributeNode = createSpy2<HTMLMediaElement['removeAttributeNode']>(\n 'removeAttributeNode'\n )\n requestFullscreen =\n createSpy2<HTMLMediaElement['requestFullscreen']>('requestFullscreen')\n requestPointerLock =\n createSpy2<HTMLMediaElement['requestPointerLock']>('requestPointerLock')\n scroll = createSpy2<HTMLMediaElement['scroll']>('scroll')\n scrollBy = createSpy2<HTMLMediaElement['scrollBy']>('scrollBy')\n scrollIntoView =\n createSpy2<HTMLMediaElement['scrollIntoView']>('scrollIntoView')\n scrollTo = createSpy2<HTMLMediaElement['scrollTo']>('scrollTo')\n setAttribute = createSpy2<HTMLMediaElement['setAttribute']>('setAttribute')\n setAttributeNS =\n createSpy2<HTMLMediaElement['setAttributeNS']>('setAttributeNS')\n setAttributeNode =\n createSpy2<HTMLMediaElement['setAttributeNode']>('setAttributeNode')\n setAttributeNodeNS =\n createSpy2<HTMLMediaElement['setAttributeNodeNS']>('setAttributeNodeNS')\n setHTMLUnsafe =\n createSpy2<HTMLMediaElement['setHTMLUnsafe']>('setHTMLUnsafe')\n setPointerCapture =\n createSpy2<HTMLMediaElement['setPointerCapture']>('setPointerCapture')\n toggleAttribute =\n createSpy2<HTMLMediaElement['toggleAttribute']>('toggleAttribute')\n webkitMatchesSelector = createSpy2<\n HTMLMediaElement['webkitMatchesSelector']\n >('webkitMatchesSelector')\n blur = createSpy2<HTMLMediaElement['blur']>('blur')\n focus = createSpy2<HTMLMediaElement['focus']>('focus')\n appendChild = createSpy2<HTMLMediaElement['appendChild']>('appendChild')\n cloneNode = createSpy2<HTMLMediaElement['cloneNode']>('cloneNode')\n compareDocumentPosition = createSpy2<\n HTMLMediaElement['compareDocumentPosition']\n >('compareDocumentPosition')\n contains = createSpy2<HTMLMediaElement['contains']>('contains')\n getRootNode = createSpy2<HTMLMediaElement['getRootNode']>('getRootNode')\n hasChildNodes =\n createSpy2<HTMLMediaElement['hasChildNodes']>('hasChildNodes')\n insertBefore = createSpy2<HTMLMediaElement['insertBefore']>('insertBefore')\n isDefaultNamespace =\n createSpy2<HTMLMediaElement['isDefaultNamespace']>('isDefaultNamespace')\n isEqualNode = createSpy2<HTMLMediaElement['isEqualNode']>('isEqualNode')\n isSameNode = createSpy2<HTMLMediaElement['isSameNode']>('isSameNode')\n lookupNamespaceURI =\n createSpy2<HTMLMediaElement['lookupNamespaceURI']>('lookupNamespaceURI')\n lookupPrefix = createSpy2<HTMLMediaElement['lookupPrefix']>('lookupPrefix')\n normalize = createSpy2<HTMLMediaElement['normalize']>('normalize')\n removeChild = createSpy2<HTMLMediaElement['removeChild']>('removeChild')\n replaceChild = createSpy2<HTMLMediaElement['replaceChild']>('replaceChild')\n animate = createSpy2<HTMLMediaElement['animate']>('animate')\n getAnimations =\n createSpy2<HTMLMediaElement['getAnimations']>('getAnimations')\n after = createSpy2<HTMLMediaElement['after']>('after')\n before = createSpy2<HTMLMediaElement['before']>('before')\n remove = createSpy2<HTMLMediaElement['remove']>('remove')\n replaceWith = createSpy2<HTMLMediaElement['replaceWith']>('replaceWith')\n append = createSpy2<HTMLMediaElement['append']>('append')\n prepend = createSpy2<HTMLMediaElement['prepend']>('prepend')\n querySelector =\n createSpy2<HTMLMediaElement['querySelector']>('querySelector')\n querySelectorAll =\n createSpy2<HTMLMediaElement['querySelectorAll']>('querySelectorAll')\n replaceChildren =\n createSpy2<HTMLMediaElement['replaceChildren']>('replaceChildren')\n dispatchEvent =\n createSpy2<HTMLMediaElement['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockMediaError implements MediaError {\n code: number = 0\n message: string = ''\n MEDIA_ERR_ABORTED: 1 = 1\n MEDIA_ERR_NETWORK: 2 = 2\n MEDIA_ERR_DECODE: 3 = 3\n MEDIA_ERR_SRC_NOT_SUPPORTED: 4 = 4\n}\n\nexport class MockMediaKeyMessageEvent implements MediaKeyMessageEvent {\n message: ArrayBuffer = new ArrayBuffer(0)\n messageType: MediaKeyMessageType = 'individualization-request'\n bubbles: boolean = false\n cancelBubble: boolean = false\n cancelable: boolean = false\n composed: boolean = false\n currentTarget: EventTarget | null = null\n defaultPrevented: boolean = false\n eventPhase: number = 0\n isTrusted: boolean = false\n returnValue: boolean = false\n srcElement: EventTarget | null = null\n target: EventTarget | null = null\n timeStamp: DOMHighResTimeStamp = 0\n type: string = ''\n NONE: 0 = 0\n CAPTURING_PHASE: 1 = 1\n AT_TARGET: 2 = 2\n BUBBLING_PHASE: 3 = 3\n\n composedPath =\n createSpy2<MediaKeyMessageEvent['composedPath']>('composedPath')\n initEvent = createSpy2<MediaKeyMessageEvent['initEvent']>('initEvent')\n preventDefault =\n createSpy2<MediaKeyMessageEvent['preventDefault']>('preventDefault')\n stopImmediatePropagation = createSpy2<\n MediaKeyMessageEvent['stopImmediatePropagation']\n >('stopImmediatePropagation')\n stopPropagation =\n createSpy2<MediaKeyMessageEvent['stopPropagation']>('stopPropagation')\n}\n\nexport class MockMediaKeySession implements MediaKeySession {\n closed: Promise<MediaKeySessionClosedReason> = undefined as any\n expiration: number = 0\n keyStatuses: MediaKeyStatusMap = undefined as any\n onkeystatuseschange: ((this: MediaKeySession, ev: Event) => any) | null =\n null\n onmessage:\n | ((this: MediaKeySession, ev: MediaKeyMessageEvent) => any)\n | null = null\n sessionId: string = ''\n\n close = createSpy2<MediaKeySession['close']>('close')\n generateRequest =\n createSpy2<MediaKeySession['generateRequest']>('generateRequest')\n load = createSpy2<MediaKeySession['load']>('load')\n remove = createSpy2<MediaKeySession['remove']>('remove')\n update = createSpy2<MediaKeySession['update']>('update')\n addEventListener =\n createSpy2<MediaKeySession['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<MediaKeySession['removeEventListener']>(\n 'removeEventListener'\n )\n dispatchEvent =\n createSpy2<MediaKeySession['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockMediaKeySystemAccess implements MediaKeySystemAccess {\n keySystem: string = ''\n\n createMediaKeys =\n createSpy2<MediaKeySystemAccess['createMediaKeys']>('createMediaKeys')\n getConfiguration =\n createSpy2<MediaKeySystemAccess['getConfiguration']>('getConfiguration')\n}\n\nexport class MockMediaKeys implements MediaKeys {\n createSession = createSpy2<MediaKeys['createSession']>('createSession')\n getStatusForPolicy =\n createSpy2<MediaKeys['getStatusForPolicy']>('getStatusForPolicy')\n setServerCertificate = createSpy2<MediaKeys['setServerCertificate']>(\n 'setServerCertificate'\n )\n}\n\nexport class MockMediaSource implements MediaSource {\n activeSourceBuffers: SourceBufferList = undefined as any\n duration: number = 0\n onsourceclose: ((this: MediaSource, ev: Event) => any) | null = null\n onsourceended: ((this: MediaSource, ev: Event) => any) | null = null\n onsourceopen: ((this: MediaSource, ev: Event) => any) | null = null\n readyState: ReadyState = 'closed'\n sourceBuffers: SourceBufferList = undefined as any\n\n addSourceBuffer =\n createSpy2<MediaSource['addSourceBuffer']>('addSourceBuffer')\n clearLiveSeekableRange = createSpy2<MediaSource['clearLiveSeekableRange']>(\n 'clearLiveSeekableRange'\n )\n endOfStream = createSpy2<MediaSource['endOfStream']>('endOfStream')\n removeSourceBuffer =\n createSpy2<MediaSource['removeSourceBuffer']>('removeSourceBuffer')\n setLiveSeekableRange = createSpy2<MediaSource['setLiveSeekableRange']>(\n 'setLiveSeekableRange'\n )\n addEventListener =\n createSpy2<MediaSource['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<MediaSource['removeEventListener']>(\n 'removeEventListener'\n )\n dispatchEvent = createSpy2<MediaSource['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockMediaStream implements MediaStream {\n active: boolean = false\n id: string = ''\n onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null =\n null\n onremovetrack:\n | ((this: MediaStream, ev: MediaStreamTrackEvent) => any)\n | null = null\n\n addTrack = createSpy2<MediaStream['addTrack']>('addTrack')\n clone = createSpy2<MediaStream['clone']>('clone')\n getAudioTracks = createSpy2<MediaStream['getAudioTracks']>('getAudioTracks')\n getTrackById = createSpy2<MediaStream['getTrackById']>('getTrackById')\n getTracks = createSpy2<MediaStream['getTracks']>('getTracks')\n getVideoTracks = createSpy2<MediaStream['getVideoTracks']>('getVideoTracks')\n removeTrack = createSpy2<MediaStream['removeTrack']>('removeTrack')\n addEventListener =\n createSpy2<MediaStream['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<MediaStream['removeEventListener']>(\n 'removeEventListener'\n )\n dispatchEvent = createSpy2<MediaStream['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockNavigator implements Navigator {\n clipboard: Clipboard = undefined as any\n credentials: CredentialsContainer = undefined as any\n doNotTrack: string | null = ''\n geolocation: Geolocation = undefined as any\n login: NavigatorLogin = undefined as any\n maxTouchPoints: number = 0\n mediaCapabilities: MediaCapabilities = undefined as any\n mediaDevices: MediaDevices = undefined as any\n mediaSession: MediaSession = undefined as any\n permissions: Permissions = undefined as any\n serviceWorker: ServiceWorkerContainer = undefined as any\n userActivation: UserActivation = undefined as any\n wakeLock: WakeLock = undefined as any\n webdriver: boolean = false\n hardwareConcurrency: number = 0\n cookieEnabled: boolean = false\n appCodeName: string = ''\n appName: string = ''\n appVersion: string = ''\n platform: string = ''\n product: string = ''\n productSub: string = ''\n userAgent: string = ''\n vendor: string = ''\n vendorSub: string = ''\n language: string = ''\n languages: ReadonlyArray<string> = []\n locks: LockManager = undefined as any\n onLine: boolean = false\n mimeTypes: MimeTypeArray = undefined as any\n pdfViewerEnabled: boolean = false\n plugins: PluginArray = undefined as any\n storage: StorageManager = undefined as any\n\n canShare = createSpy2<Navigator['canShare']>('canShare')\n getGamepads = createSpy2<Navigator['getGamepads']>('getGamepads')\n requestMIDIAccess =\n createSpy2<Navigator['requestMIDIAccess']>('requestMIDIAccess')\n requestMediaKeySystemAccess = createSpy2<\n Navigator['requestMediaKeySystemAccess']\n >('requestMediaKeySystemAccess')\n sendBeacon = createSpy2<Navigator['sendBeacon']>('sendBeacon')\n share = createSpy2<Navigator['share']>('share')\n vibrate = createSpy2<Navigator['vibrate']>('vibrate')\n clearAppBadge = createSpy2<Navigator['clearAppBadge']>('clearAppBadge')\n setAppBadge = createSpy2<Navigator['setAppBadge']>('setAppBadge')\n registerProtocolHandler = createSpy2<Navigator['registerProtocolHandler']>(\n 'registerProtocolHandler'\n )\n javaEnabled = createSpy2<Navigator['javaEnabled']>('javaEnabled')\n}\n\nexport class MockNode implements Node {\n baseURI: string = ''\n childNodes: NodeListOf<ChildNode> = undefined as any\n firstChild: ChildNode | null = null\n isConnected: boolean = false\n lastChild: ChildNode | null = null\n nextSibling: ChildNode | null = null\n nodeName: string = ''\n nodeType: number = 0\n nodeValue: string | null = ''\n ownerDocument: Document | null = null\n parentElement: HTMLElement | null = null\n parentNode: ParentNode | null = null\n previousSibling: ChildNode | null = null\n textContent: string | null = ''\n ELEMENT_NODE: 1 = 1\n ATTRIBUTE_NODE: 2 = 2\n TEXT_NODE: 3 = 3\n CDATA_SECTION_NODE: 4 = 4\n ENTITY_REFERENCE_NODE: 5 = 5\n ENTITY_NODE: 6 = 6\n PROCESSING_INSTRUCTION_NODE: 7 = 7\n COMMENT_NODE: 8 = 8\n DOCUMENT_NODE: 9 = 9\n DOCUMENT_TYPE_NODE: 10 = 10\n DOCUMENT_FRAGMENT_NODE: 11 = 11\n NOTATION_NODE: 12 = 12\n DOCUMENT_POSITION_DISCONNECTED: 0x01 = 1\n DOCUMENT_POSITION_PRECEDING: 0x02 = 2\n DOCUMENT_POSITION_FOLLOWING: 0x04 = 4\n DOCUMENT_POSITION_CONTAINS: 0x08 = 8\n DOCUMENT_POSITION_CONTAINED_BY: 0x10 = 16\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20 = 32\n\n appendChild = createSpy2<Node['appendChild']>('appendChild')\n cloneNode = createSpy2<Node['cloneNode']>('cloneNode')\n compareDocumentPosition = createSpy2<Node['compareDocumentPosition']>(\n 'compareDocumentPosition'\n )\n contains = createSpy2<Node['contains']>('contains')\n getRootNode = createSpy2<Node['getRootNode']>('getRootNode')\n hasChildNodes = createSpy2<Node['hasChildNodes']>('hasChildNodes')\n insertBefore = createSpy2<Node['insertBefore']>('insertBefore')\n isDefaultNamespace =\n createSpy2<Node['isDefaultNamespace']>('isDefaultNamespace')\n isEqualNode = createSpy2<Node['isEqualNode']>('isEqualNode')\n isSameNode = createSpy2<Node['isSameNode']>('isSameNode')\n lookupNamespaceURI =\n createSpy2<Node['lookupNamespaceURI']>('lookupNamespaceURI')\n lookupPrefix = createSpy2<Node['lookupPrefix']>('lookupPrefix')\n normalize = createSpy2<Node['normalize']>('normalize')\n removeChild = createSpy2<Node['removeChild']>('removeChild')\n replaceChild = createSpy2<Node['replaceChild']>('replaceChild')\n addEventListener = createSpy2<Node['addEventListener']>('addEventListener')\n dispatchEvent = createSpy2<Node['dispatchEvent']>('dispatchEvent')\n removeEventListener = createSpy2<Node['removeEventListener']>(\n 'removeEventListener'\n )\n}\n\nexport class MockProgressEvent<\n T extends EventTarget = EventTarget,\n> implements ProgressEvent<T> {\n lengthComputable: boolean = false\n loaded: number = 0\n target: T | null = undefined as any\n total: number = 0\n bubbles: boolean = false\n cancelBubble: boolean = false\n cancelable: boolean = false\n composed: boolean = false\n currentTarget: EventTarget | null = null\n defaultPrevented: boolean = false\n eventPhase: number = 0\n isTrusted: boolean = false\n returnValue: boolean = false\n srcElement: EventTarget | null = null\n timeStamp: DOMHighResTimeStamp = 0\n type: string = ''\n NONE: 0 = 0\n CAPTURING_PHASE: 1 = 1\n AT_TARGET: 2 = 2\n BUBBLING_PHASE: 3 = 3\n\n composedPath = createSpy2<ProgressEvent<T>['composedPath']>('composedPath')\n initEvent = createSpy2<ProgressEvent<T>['initEvent']>('initEvent')\n preventDefault =\n createSpy2<ProgressEvent<T>['preventDefault']>('preventDefault')\n stopImmediatePropagation = createSpy2<\n ProgressEvent<T>['stopImmediatePropagation']\n >('stopImmediatePropagation')\n stopPropagation =\n createSpy2<ProgressEvent<T>['stopPropagation']>('stopPropagation')\n}\n\nexport class MockPromiseRejectionEvent implements PromiseRejectionEvent {\n promise: Promise<any> = undefined as any\n reason: any = undefined\n bubbles: boolean = false\n cancelBubble: boolean = false\n cancelable: boolean = false\n composed: boolean = false\n currentTarget: EventTarget | null = null\n defaultPrevented: boolean = false\n eventPhase: number = 0\n isTrusted: boolean = false\n returnValue: boolean = false\n srcElement: EventTarget | null = null\n target: EventTarget | null = null\n timeStamp: DOMHighResTimeStamp = 0\n type: string = ''\n NONE: 0 = 0\n CAPTURING_PHASE: 1 = 1\n AT_TARGET: 2 = 2\n BUBBLING_PHASE: 3 = 3\n\n composedPath =\n createSpy2<PromiseRejectionEvent['composedPath']>('composedPath')\n initEvent = createSpy2<PromiseRejectionEvent['initEvent']>('initEvent')\n preventDefault =\n createSpy2<PromiseRejectionEvent['preventDefault']>('preventDefault')\n stopImmediatePropagation = createSpy2<\n PromiseRejectionEvent['stopImmediatePropagation']\n >('stopImmediatePropagation')\n stopPropagation =\n createSpy2<PromiseRejectionEvent['stopPropagation']>('stopPropagation')\n}\n\nexport class MockSourceBuffer implements SourceBuffer {\n appendWindowEnd: number = 0\n appendWindowStart: number = 0\n buffered: TimeRanges = undefined as any\n mode: AppendMode = 'segments'\n onabort: ((this: SourceBuffer, ev: Event) => any) | null = null\n onerror: ((this: SourceBuffer, ev: Event) => any) | null = null\n onupdate: ((this: SourceBuffer, ev: Event) => any) | null = null\n onupdateend: ((this: SourceBuffer, ev: Event) => any) | null = null\n onupdatestart: ((this: SourceBuffer, ev: Event) => any) | null = null\n timestampOffset: number = 0\n updating: boolean = false\n\n abort = createSpy2<SourceBuffer['abort']>('abort')\n appendBuffer = createSpy2<SourceBuffer['appendBuffer']>('appendBuffer')\n changeType = createSpy2<SourceBuffer['changeType']>('changeType')\n remove = createSpy2<SourceBuffer['remove']>('remove')\n addEventListener =\n createSpy2<SourceBuffer['addEventListener']>('addEventListener')\n removeEventListener = createSpy2<SourceBuffer['removeEventListener']>(\n 'removeEventListener'\n )\n dispatchEvent = createSpy2<SourceBuffer['dispatchEvent']>('dispatchEvent')\n}\n\nexport class MockStorage implements Storage {\n [key: string]: any\n\n length: number = 0\n\n clear = createSpy2<Storage['clear']>('clear')\n getItem = createSpy2<Storage['getItem']>('getItem')\n key = createSpy2<Storage['key']>('key')\n removeItem = createSpy2<Storage['removeItem']>('removeItem')\n setItem = createSpy2<Storage['setItem']>('setItem')\n}\n\nexport class MockText implements Text {\n wholeText: string = ''\n data: string = ''\n length: number = 0\n ownerDocument: Document = undefined as any\n textContent: any = undefined\n assignedSlot: HTMLSlotElement | null = null\n baseURI: string = ''\n childNodes: NodeListOf<ChildNode> = undefined as any\n firstChild: ChildNode | null = null\n isConnected: boolean = false\n lastChild: ChildNode | null = null\n nextSibling: ChildNode | null = null\n nodeName: string = ''\n nodeType: number = 0\n nodeValue: string | null = ''\n parentElement: HTMLElement | null = null\n parentNode: ParentNode | null = null\n previousSibling: ChildNode | null = null\n ELEMENT_NODE: 1 = 1\n ATTRIBUTE_NODE: 2 = 2\n TEXT_NODE: 3 = 3\n CDATA_SECTION_NODE: 4 = 4\n ENTITY_REFERENCE_NODE: 5 = 5\n ENTITY_NODE: 6 = 6\n PROCESSING_INSTRUCTION_NODE: 7 = 7\n COMMENT_NODE: 8 = 8\n DOCUMENT_NODE: 9 = 9\n DOCUMENT_TYPE_NODE: 10 = 10\n DOCUMENT_FRAGMENT_NODE: 11 = 11\n NOTATION_NODE: 12 = 12\n DOCUMENT_POSITION_DISCONNECTED: 0x01 = 1\n DOCUMENT_POSITION_PRECEDING: 0x02 = 2\n DOCUMENT_POSITION_FOLLOWING: 0x04 = 4\n DOCUMENT_POSITION_CONTAINS: 0x08 = 8\n DOCUMENT_POSITION_CONTAINED_BY: 0x10 = 16\n DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 0x20 = 32\n nextElementSibling: Element | null = null\n previousElementSibling: Element | null = null\n\n splitText = createSpy2<Text['splitText']>('splitText')\n appendData = createSpy2<Text['appendData']>('appendData')\n deleteData = createSpy2<Text['deleteData']>('deleteData')\n insertData = createSpy2<Text['insertData']>('insertData')\n replaceData = createSpy2<Text['replaceData']>('replaceData')\n substringData = createSpy2<Text['substringData']>('substringData')\n appendChild = createSpy2<Text['appendChild']>('appendChild')\n cloneNode = createSpy2<Text['cloneNode']>('cloneNode')\n compareDocumentPosition = createSpy2<Text['compareDocumentPosition']>(\n 'compareDocumentPosition'\n )\n contains = createSpy2<Text['contains']>('contains')\n getRootNode = createSpy2<Text['getRootNode']>('getRootNode')\n hasChildNodes = createSpy2<Text['hasChildNodes']>('hasChildNodes')\n insertBefore = createSpy2<Text['insertBefore']>('insertBefore')\n isDefaultNamespace =\n createSpy2<Text['isDefaultNamespace']>('isDefaultNamespace')\n isEqualNode = createSpy2<Text['isEqualNode']>('isEqualNode')\n isSameNode = createSpy2<Text['isSameNode']>('isSameNode')\n lookupNamespaceURI =\n createSpy2<Text['lookupNamespaceURI']>('lookupNamespaceURI')\n lookupPrefix = createSpy2<Text['lookupPrefix']>('lookupPrefix')\n normalize = createSpy2<Text['normalize']>('normalize')\n removeChild = createSpy2<Text['removeChild']>('removeChild')\n replaceChild = createSpy2<Text['replaceChild']>('replaceChild')\n after = createSpy2<Text['after']>('after')\n before = createSpy2<Text['before']>('before')\n remove = createSpy2<Text['remove']>('remove')\n replaceWith = createSpy2<Text['replaceWith']>('replaceWith')\n addEventListener = createSpy2<Text['addEventListener']>('addEventListener')\n dispatchEvent = createSpy2<Text['dispatchEvent']>('dispatchEvent')\n removeEventListener = createSpy2<Text['removeEventListener']>(\n 'removeEventListener'\n )\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { MockEvent } from '@/mock/dom/lib.dom'\n\nclass FakeCustomEvent<T = any> extends MockEvent implements CustomEvent<T> {\n readonly detail: T\n\n constructor(type: string, eventInitDict?: CustomEventInit<T>) {\n super()\n this.type = type\n this.detail = eventInitDict?.detail as T\n this.bubbles = eventInitDict?.bubbles ?? false\n this.cancelable = eventInitDict?.cancelable ?? false\n }\n\n initCustomEvent() {}\n}\n\nexport function polyfillCustomEvent() {\n beforeEach(() => {\n if (typeof window === 'undefined')\n (global as any).CustomEvent = FakeCustomEvent\n })\n\n afterEach(() => {\n if (typeof window === 'undefined') delete (global as any).CustomEvent\n })\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Spy = jasmine.Spy\n\n/**\n * A type representing any type of function.\n */\ntype Fun = (...args: any[]) => any\n\n/**\n * Creates or returns a Spy for a function on an object.\n * If the method is already a spy, it will be returned.\n * If not, a spy will be created.\n *\n * @param object\n * @param method\n */\nexport function asSpy<T, K extends keyof T = keyof T>(\n object: T,\n method: T[K] extends Fun ? K : never\n): Spy<\n T[K] extends jasmine.Func\n ? T[K]\n : T[K] extends { new (...args: infer A): infer V }\n ? (...args: A) => V\n : never\n> {\n if (object == null || object[method] == null) {\n throw new Error('method not implemented')\n }\n const fun = object[method] as Fun\n if ('calls' in fun) {\n return fun as Spy\n } else {\n return spyOn(object, method as any)\n }\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { MockEvent } from '@/mock/dom/lib.dom'\nimport { asSpy } from '@/mock/asSpy'\n\ntype Callback = (event: Event) => any\ninterface CallbackOptions {\n once: boolean\n}\n\nexport interface EventFakesHandle {\n /**\n * Returns true if there are any remaining listeners on this event target.\n */\n hasAnyListeners(): boolean\n}\n\n/**\n * Implements addEventListener, dispatchEvent, and removeEventListener.\n * Simulates browser behavior for dispatching events.\n *\n * Does not differentiate between passive and active listeners or work with a dom hierarchy\n * for bubble/capture phases.\n *\n * `dispatchEvent` must use subtypes of MockEvent.\n */\nexport function implementEventFakes(target: EventTarget): EventFakesHandle {\n // type -> capture -> options\n const callbacks = new Map<\n string,\n Map<boolean, Map<Callback, CallbackOptions>>\n >()\n\n asSpy(target, 'addEventListener').and.callFake(\n (\n type: string,\n callback: Callback,\n addOptions?: AddEventListenerOptions | boolean\n ) => {\n if (!callbacks.has(type)) callbacks.set(type, new Map())\n const captureMap = callbacks.get(type)!\n let newOptions: CallbackOptions\n let capture: boolean\n if (addOptions == null) {\n newOptions = { once: false }\n capture = false\n } else if (typeof addOptions === 'boolean') {\n newOptions = { once: false }\n capture = addOptions\n } else {\n newOptions = { once: addOptions.once ?? false }\n capture = addOptions.capture ?? false\n }\n\n if (!captureMap.has(capture)) captureMap.set(capture, new Map())\n const callbacksMap = captureMap.get(capture)!\n if (!callbacksMap.has(callback)) {\n // A repeat call to addEventListener with the same type and callback but with\n // a different `once` value will not overwrite the previous once. This is normal\n // browser behavior.\n callbacksMap.set(callback, newOptions)\n }\n }\n )\n\n asSpy(target, 'removeEventListener').and.callFake(\n (\n type: string,\n callback: Callback,\n options?: EventListenerOptions | boolean\n ) => {\n if (!callbacks.has(type)) return\n const captureMap = callbacks.get(type)!\n const capture =\n typeof options === 'boolean'\n ? options\n : (options?.capture ?? false)\n if (!captureMap.has(capture)) return\n const callbacksMap = captureMap.get(capture)!\n callbacksMap.delete(callback)\n }\n )\n\n asSpy(target, 'dispatchEvent').and.callFake((event: MockEvent): boolean => {\n // Note, does not support a display hierarchy and bubble/capture phases. Simulates only\n // at target such as an EventTarget object would support.\n if (!callbacks.has(event.type)) return true\n const captureMap = callbacks.get(event.type)!\n event.eventPhase = event.AT_TARGET\n event.currentTarget = target\n event.target = target\n\n if (captureMap.has(true)) {\n const captureCallbacks = captureMap.get(true)!\n for (const [callback, options] of captureCallbacks.entries()) {\n if (event.stopImmediatePropagation.calls.any()) break\n if (\n event.eventPhase === event.AT_TARGET ||\n event.eventPhase === event.CAPTURING_PHASE\n ) {\n if (options.once) {\n target.removeEventListener(event.type, callback, true)\n }\n callback(event)\n }\n }\n }\n if (captureMap.has(false)) {\n const bubbleCallbacks = captureMap.get(false)!\n for (const [callback, options] of bubbleCallbacks.entries()) {\n if (event.stopImmediatePropagation.calls.any()) break\n if (\n event.eventPhase === event.AT_TARGET ||\n event.eventPhase === event.BUBBLING_PHASE\n ) {\n if (options.once) {\n target.removeEventListener(event.type, callback, false)\n }\n callback(event)\n }\n }\n }\n return !event.cancelable || !event.preventDefault.calls.any()\n })\n\n return {\n hasAnyListeners(): boolean {\n for (const typeMap of callbacks.values()) {\n for (const captureMap of typeMap.values()) {\n if (captureMap.size > 0) return true\n }\n }\n return false\n },\n }\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { MockEvent } from './lib.dom'\n\n/**\n * A convenience function to create a MockEvent with a given type.\n * @param type\n */\nexport function mockEvent(type: string): MockEvent {\n const e = new MockEvent()\n e.type = type\n return e\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { MockAbortSignal, MockMediaSource } from './lib.dom'\nimport { createSpy2 } from '@/mock/createSpyFactory'\n\nexport class MockMediaSourceGlobal extends MockMediaSource {\n static canConstructInDedicatedWorker = false\n static isTypeSupported =\n createSpy2<(typeof global.MediaSource)['isTypeSupported']>(\n 'isTypeSupported'\n )\n}\n\nexport class MockAbortSignalGlobal extends MockAbortSignal {\n static abort = createSpy2<(typeof global.AbortSignal)['abort']>('abort')\n static any = createSpy2<(typeof global.AbortSignal)['any']>('any')\n static timeout =\n createSpy2<(typeof global.AbortSignal)['timeout']>('timeout')\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * An implementation of DOM TimeRanges that uses a source array of start/end tuples.\n * For testing purposes only.\n */\nexport class MockTimeRanges implements TimeRanges {\n constructor(\n private ranges: ReadonlyArray<\n readonly [start: number, end: number]\n > = []\n ) {\n // check the ranges are valid\n for (let i = 1; i < ranges.length; i++) {\n const prev = ranges[i - 1]\n const range = ranges[i]\n if (range[0] >= range[1] || range[0] <= prev[1])\n throw new Error('invalid ranges')\n }\n }\n\n get length(): number {\n return this.ranges.length\n }\n\n start(index: number): number {\n return this.ranges[index][0]\n }\n\n end(index: number): number {\n return this.ranges[index][1]\n }\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CustomMatcher = jasmine.CustomMatcher\n\nexport interface WithToBeCloseToWithinMatcher {\n toBeCloseToWithin(expected: number, tolerance?: number): boolean\n}\n\nexport function addToBeCloseToWithin() {\n beforeEach(function () {\n jasmine.addMatchers({\n toBeCloseToWithin: function (): CustomMatcher {\n return {\n compare: function (\n actual: number,\n expected: number,\n tolerance: number = Number.EPSILON\n ) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (tolerance == null) {\n throw new Error('You must supply a tolerance value')\n }\n\n const pass = Math.abs(expected - actual) <= tolerance\n const message = pass\n ? `Expected ${actual} to be close to ${expected} with tolerance ${tolerance}`\n : `Expected ${actual} to be close to ${expected} with tolerance ${tolerance}, but it was not`\n\n return { pass: pass, message: message }\n },\n }\n },\n })\n })\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { WithToBeCloseToWithinMatcher } from './toBeCloseToWithin'\nimport { addToBeCloseToWithin } from './toBeCloseToWithin'\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jasmine {\n // eslint-disable-next-line\n interface Matchers<T> extends WithToBeCloseToWithinMatcher {}\n }\n}\n\nexport function addCustomMatchers() {\n addToBeCloseToWithin()\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n//----------------------------------------------------------------------------\n// Tests to validate that Types are what we expect them to be.\n// These tests are for the compiler only and have no runtime significance.\n//\n// expect(true).toBeTrue() is to avoid jasmine no-expectation warnings for\n// tests that only have compile-time assertions.\n//----------------------------------------------------------------------------\n\n/**\n * A type that equals true if Left and Right are strictly equal.\n * Works with complex objects, readonly, and optional modifiers.\n * Works with method input arguments.\n * This will always equal true or false, and never the union `true | false`\n */\nexport type StrictEqual<Left, Right> =\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters\n (<T>() => T extends Left ? 0 : 1) extends <T>() => T extends Right ? 0 : 1\n ? Equal<Left, Right>\n : false\n\n/**\n * A type that equals true if Left and Right are loosely equal, that is, that Left extends Right\n * and Right extends Left.\n * This will always equal true or false, and never the union `true | false`\n */\nexport type Equal<Left, Right> = [Left] extends [Right]\n ? [Right] extends [Left]\n ? true\n : false\n : false\n\n/**\n * Adds a compile-time check that types Left and Right are identical.\n */\nexport function expectTypeStrictlyEquals<Left, Right>(\n _matches: StrictEqual<Left, Right>\n): void {\n expect(true).toBeTrue()\n}\n\n// noinspection JSUnusedLocalSymbols\n/**\n * Adds a compile-time check that type Left extends Right and Right extends Left.\n * This is not as strict as `expectTypeStrictlyEquals`, it does not validate:\n * - unknown types\n * - any types\n */\nexport function expectTypeEquals<Left, Right>(\n _matches: Equal<Left, Right>\n): void {\n expect(true).toBeTrue()\n}\n\n// noinspection JSUnusedLocalSymbols\n/**\n * Adds a compile-time check that Sub extends Super.\n * This is distributive, so `expectTypeExtends<1, 1 | 2>` will expect true.\n */\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters\nexport function expectTypeExtends<Sub, Super>(\n _matches: [Sub] extends [Super] ? true : false\n): void {\n expect(true).toBeTrue()\n}\n\n/**\n * Adds a compile-time check that expects that the given type is exactly true.\n */\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters,@typescript-eslint/no-unused-vars\nexport function expectTypeTrue<T extends true>(): void {\n expect(true).toBeTrue()\n}\n\n/**\n * Adds a compile-time check that expects that the given type is exactly false.\n */\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters,@typescript-eslint/no-unused-vars\nexport function expectTypeFalse<T extends false>(): void {\n expect(true).toBeTrue()\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Expect that the given factory produces an instance of `clazz` and `superClass`\n * This is different from `expect(e).toBeInstanceOf` in that it accounts for TypeScript's branching\n * if _super.call returns undefined.\n *\n * For example, IllegalArgumentError extends Error will produce the following constructor:\n * ```\n * var _this = _super.call(this, message) || this;\n * Object.setPrototypeOf(_this, IllegalArgumentError.prototype);\n * ```\n * The branch of _super.call || this requires two tests for perfect coverage, one for the falsy\n * case, and one for the truthy case.\n *\n * @param factory\n * @param classes\n */\nexport function expectPrototype(factory: () => any, ...classes: any[]): void {\n const e = factory()\n classes.forEach((clazz) => expect(e).toBeInstanceOf(clazz))\n const spy = spyOn(classes[classes.length - 1], 'call')\n spy.and.returnValue(null)\n const e2 = factory()\n classes.forEach((clazz) => expect(e2).toBeInstanceOf(clazz))\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Some tests (such as benchmarks or type expectations) have no jasmine expectations.\n */\nexport function expectNothing() {\n expect(true).toBeTruthy()\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Expects that two iterable objects have the same elements.\n *\n * @param arr1\n * @param arr2\n */\nexport function expectIterableEquals<T>(\n arr1: Iterable<T> | ArrayLike<T>,\n arr2: Iterable<T> | ArrayLike<T>\n) {\n expect(Array.from(arr1)).toEqual(Array.from(arr2))\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nlet nextTestTimeoutOverridden: boolean = false\n\n/**\n * Sets the timeout for the current describe block.\n *\n * @param timeout The test timeout, in seconds.\n */\nexport function setTestTimeout(timeout: number) {\n let originalTimeout: number | null = null\n beforeEach(() => {\n originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL\n if (!nextTestTimeoutOverridden)\n jasmine.DEFAULT_TIMEOUT_INTERVAL = timeout * 1000\n })\n\n afterEach(() => {\n if (originalTimeout) jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout\n if (nextTestTimeoutOverridden) nextTestTimeoutOverridden = false\n })\n}\n\n/**\n * Sets the timeout for the next test and only the next test,\n * overriding any value set subsequently to setTestTimeout.\n *\n * @param timeout The test timeout, in seconds.\n */\nexport function setNextTestTimeout(timeout: number) {\n nextTestTimeoutOverridden = true\n jasmine.DEFAULT_TIMEOUT_INTERVAL = timeout * 1000\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n//-------------------------------------------------------------------------\n// A Benchmarking utility for testing and comparing performance.\n//-------------------------------------------------------------------------\n\n/**\n * Gets the current high resolution timestamp, platform dependent.\n */\nlet now: () => number\nif (\n typeof window !== 'undefined' &&\n typeof window.performance !== 'undefined' &&\n typeof window.performance.now !== 'undefined'\n) {\n now = () => window.performance.now()\n} else if (\n typeof self !== 'undefined' &&\n typeof self.performance !== 'undefined' &&\n typeof self.performance.now !== 'undefined'\n) {\n now = () => self.performance.now()\n} else {\n now = () => Date.now()\n}\n\nexport interface BenchMarkOptions {\n /**\n * The amount of time to run the executor before beginning measurement (in seconds).\n */\n readonly warmupTime: number\n\n /**\n * When time has elapsed past this duration during a cycle (in seconds), there will be no\n * operations.\n * The cycle will end when `maxCycleDuration` has been reached.\n */\n readonly maxCycleDuration: number\n\n /**\n * The number of trials to run.\n */\n readonly cycles: number\n}\n\nexport interface CycleResults {\n /**\n * The number of seconds the cycle ran.\n */\n readonly duration: number\n\n /**\n * The number of completed executions.\n */\n readonly ops: number\n}\n\nexport class BenchmarkRunResults {\n readonly cycleResults: number[] = []\n\n private _totalSamples = 0\n get totalSamples(): number {\n return this._totalSamples\n }\n\n get cycleResultsNoOutliers(): number[] {\n const sD = this.standardDeviation\n const avg = average(this.cycleResults)\n return this.cycleResults.filter((e) => {\n const zScore = (avg - e) / sD\n return Math.abs(zScore) < 3\n })\n }\n\n /**\n * Returns the mean ops per second minus outliers of greater than 3 standard deviations.\n */\n get meanOpsPerSec(): number {\n return average(this.cycleResultsNoOutliers)\n }\n\n get standardDeviation(): number {\n return standardDeviation(this.cycleResults)\n }\n\n get variance(): number {\n return this.standardDeviation / this.meanOpsPerSec\n }\n\n /**\n * Returns the mean ops / s \u00B1 variance % as a string.\n */\n get meanOpsStr(): string {\n const mean = this.meanOpsPerSec.toLocaleString(undefined, {\n maximumSignificantDigits: 4,\n })\n const variance = this.variance.toLocaleString(undefined, {\n style: 'percent',\n })\n return `${mean} \u00B1${variance}`\n }\n\n constructor(readonly name: string) {}\n\n add(cycle: CycleResults) {\n const opsPerSecond = cycle.ops / cycle.duration\n let index = this.cycleResults.findIndex((value) => opsPerSecond < value)\n if (index < 0) index = this.cycleResults.length\n this.cycleResults.splice(index, 0, opsPerSecond)\n this._totalSamples += cycle.ops\n }\n\n toString(): string {\n if (!this.cycleResults.length) return 'No results'\n return `${this.name}: ${this.meanOpsStr} ops/sec`\n }\n}\n\nexport class RunResultsComparison {\n /**\n * Sorted by median ops/s from slowest to fastest.\n */\n readonly results: BenchmarkRunResults[]\n\n constructor(\n readonly name: string,\n results: BenchmarkRunResults[]\n ) {\n this.results = results.sort((a, b) => {\n return a.meanOpsPerSec - b.meanOpsPerSec\n })\n }\n\n logToTable(): void {\n const r = this.results.map((run) => {\n const variance = run.variance.toLocaleString(undefined, {\n style: 'percent',\n })\n const mean = run.meanOpsPerSec.toLocaleString(undefined, {\n maximumSignificantDigits: 4,\n })\n\n return {\n Name: run.name,\n Mean: `${mean} \u00B1${variance}`,\n Samples: run.totalSamples,\n Compare: this.runComparisonToString(run),\n }\n })\n // Use the names as the index.\n const table = r.reduce<any>((acc, { Name, ...x }) => {\n acc[Name] = x\n return acc\n }, {})\n console.log('\\n' + this.name)\n console.table(table)\n }\n\n runComparisonToString(run: BenchmarkRunResults): string {\n const baseline = this.results[0]?.meanOpsPerSec ?? 0\n const fasterPercent = run.meanOpsPerSec / baseline - 1\n return fasterPercent < 0.01\n ? '-'\n : fasterPercent.toLocaleString(undefined, {\n style: 'percent',\n }) + ' faster'\n }\n}\n\nexport function compareResults(\n name: string,\n ...results: BenchmarkRunResults[]\n): RunResultsComparison {\n return new RunResultsComparison(name, results)\n}\n\nconst defaultBenchmarkOptions: BenchMarkOptions = {\n warmupTime: 0.5,\n maxCycleDuration: 0.5,\n cycles: 9,\n} as const\n\nexport class Benchmark {\n private static semaphore: Promise<any> = nextFrame()\n\n private readonly options: BenchMarkOptions\n\n /**\n * Constructs a new Benchmark.\n *\n * @param name The name of the benchmark, to be used when logging.\n * @param executor The method to execute and measure. If this method returns a promise, the\n * promise will be awaited. The executor should either always return a promise, or never.\n * @param options Optional configuration for the benchmark.\n */\n constructor(\n readonly name: string,\n readonly executor: () => any,\n options?: Partial<BenchMarkOptions>\n ) {\n this.options = { ...defaultBenchmarkOptions, ...options }\n }\n\n async run(): Promise<BenchmarkRunResults> {\n const opts = this.options\n // Wait for any currently running work to complete.\n await Benchmark.semaphore\n\n const warmupTimeMs = opts.warmupTime * 1000\n const cycleStart = now()\n let isAsync = false\n do {\n const result = this.executor()\n // If the executor returns a promise, it is considered an async test and the benchmark\n // should await its result.\n isAsync = isAsync || (result && typeof result.then === 'function')\n if (isAsync) await result\n } while (now() - cycleStart < warmupTimeMs)\n const resultsPromise: Promise<BenchmarkRunResults> = (async () => {\n const results = new BenchmarkRunResults(this.name)\n for (let i = 0; i < opts.cycles; i++) {\n const cycleResults = await this.runCycle(isAsync)\n results.add(cycleResults)\n await nextFrame()\n }\n return results\n })()\n Benchmark.semaphore = resultsPromise\n return await resultsPromise\n }\n\n /**\n * Runs one cycle. A cycle will repeat the executor approximately `options.maxCycleDuration`\n * seconds.\n *\n * @param isAsync\n * @return Returns the duration (in seconds) and number of operations the cycle repeated.\n */\n private async runCycle(isAsync: boolean): Promise<CycleResults> {\n const cycleMs = this.options.maxCycleDuration * 1000\n let ops = 0\n const cycleStart = now()\n do {\n const result = this.executor()\n if (isAsync) await result\n ops++\n } while (now() - cycleStart < cycleMs)\n const duration = (now() - cycleStart) / 1000\n return {\n duration,\n ops,\n }\n }\n}\n\n/**\n * Creates and runs a benchmark, logging the result.\n *\n * @param name\n * @param executor\n * @param options\n */\nexport function benchmark(\n name: string,\n executor: () => any,\n options?: Partial<BenchMarkOptions>\n): Promise<BenchmarkRunResults> {\n const benchmark = new Benchmark(name, executor, options)\n return benchmark.run().then((results) => {\n console.log(results.toString())\n return results\n })\n}\n\n/**\n * To avoid killing the browser's frame.\n */\nfunction nextFrame(): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve)\n })\n}\n\n/**\n * Returns the standard deviation of the given values.\n *\n * @param values\n */\nfunction standardDeviation(values: readonly number[]): number {\n const avg = average(values)\n const squareDiffs = values.map((value) => {\n const diff = value - avg\n return diff * diff\n })\n const avgSquareDiff = average(squareDiffs)\n return Math.sqrt(avgSquareDiff)\n}\n\n/**\n * Returns the mean/average of the given values.\n *\n * @param values\n */\nfunction average(values: readonly number[]): number {\n const sum = values.reduce((acc, value) => acc + value, 0)\n return sum / values.length\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * Creates a marble test, returning a function (input: string) => string where the input is a\n * sequence of characters, each character mapping to the legend, and the output a string\n * produced by the output generator.\n *\n * @param init\n * @param legend An object whose keys are characters, and the values are functions to invoke when\n * the character is found in the input string.\n * @param output A method to invoke at the end of the actions to return the output sequence.\n */\nexport function marbleTest<T>(\n init: () => Promise<T> | T,\n legend: Readonly<\n Record<string, ((test: T) => Promise<void> | void) | undefined>\n >,\n output: (test: T) => Promise<string> | string\n): (input: string) => Promise<string> {\n return async (input: string): Promise<string> => {\n const test = await init()\n for (let i = 0; i < input.length; i++) {\n const char = input[i]\n const action = legend[char]\n if (!action) throw new Error(`Unknown marble: '${char}'`)\n await action(test)\n }\n return output(test)\n }\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { marbleTest } from './marble'\nimport type { MockTime } from '@/async/async'\nimport Spy = jasmine.Spy\nimport createSpy = jasmine.createSpy\n\n/**\n * Creates a marble test for callback timing.\n * This provides an easy way to test callback timing, for example a debounce or throttle function.\n *\n * The returned function takes an input string where dashes represent a wait of 1 second, and x's represent\n * invoking the function returned by wrapCallback. The resolved string will be the timing of when the inner function is\n * invoked.\n * An x does not represent passage of time. For example a marble diagram of x-xx-x represents execution at:\n * 0s, 1s, 1s, 2s\n *\n * @param clock\n * @param wrapCallback\n */\nexport function createCallbackTimingTest(\n clock: MockTime,\n wrapCallback: (inner: () => void) => () => void\n): (input: string) => Promise<string> {\n return marbleTest<{\n spy: Spy\n throttled: () => void\n out: string\n }>(\n () => {\n clock.mockDate(new Date(0))\n let _out = ''\n let lastTimeMs = 0\n const writeTime = () => {\n const nowMs = Date.now()\n _out += '-'.repeat((nowMs - lastTimeMs) / 1000)\n lastTimeMs = nowMs\n }\n const spy = createSpy('inner').and.callFake(() => {\n writeTime()\n _out += 'x'\n })\n const throttled = wrapCallback(spy)\n return {\n spy,\n throttled,\n get out() {\n return _out\n },\n }\n },\n {\n '-': () => {\n return clock.tick(1)\n },\n x: (test) => {\n test.throttled()\n },\n },\n async (o) => {\n // Flush any pending timeouts up to 10s in the future, ticking in 1s increments\n // in order to get correct mock time resolution:\n for (let i = 0; i < 10; i++) {\n await clock.tick(1)\n }\n return o.out\n }\n )\n}\n", "/*\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Clock = jasmine.Clock\n\n/**\n * Fixed to setTimeout before any mocks can take place.\n */\nconst scheduler = setTimeout\n\n/**\n * Returns a promise, when awaited, will ensure that all promise handlers are invoked.\n */\nexport function flushPromises(): Promise<void> {\n return new Promise((resolve) => {\n scheduler(() => resolve(void 0))\n })\n}\n\nexport interface MockTime {\n /**\n * Ticks forward `time` seconds, incrementally for each time argument.\n * After each time increment, promises will be flushed.\n * If no time values are provided, {@link flushPromises}, time will not be incremented, but\n * will still be called.\n *\n * @param time (in seconds)\n * @return Returns a promise which resolves after the last time increment and promise flush.\n */\n tick(...time: number[]): Promise<void>\n\n /**\n * Sets the current date to the given date.\n *\n * @param date\n */\n mockDate(date?: Date): void\n}\n\n/**\n * Call within a `describe` block to install jasmine's mock clock between tests.\n * The returned object has one difference from jasmine's Clock tick and setTime; a promise is\n * returned, which when awaited, will ensure that promise handlers based on timed events will be\n * called in the order in which they were intended.\n */\nexport function useMockTime(): MockTime {\n const clock: Clock = jasmine.clock()\n\n beforeEach(() => {\n clock.install()\n clock.mockDate(new Date(0))\n })\n\n afterEach(() => {\n clock.uninstall()\n })\n\n const mockTime: MockTime = {\n async tick(...time: readonly number[]): Promise<void> {\n if (!time.length) {\n clock.tick(0)\n await flushPromises()\n }\n for (const s of time) {\n clock.tick(s * 1000)\n await flushPromises()\n }\n },\n\n mockDate(date?: Date): void {\n clock.mockDate(date)\n },\n } as const\n return mockTime\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["benchmark", "createSpy"]
7
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Returns a promise, when awaited, will ensure that all promise handlers are invoked.
3
+ */
4
+ export declare function flushPromises(): Promise<void>;
5
+ export interface MockTime {
6
+ /**
7
+ * Ticks forward `time` seconds, incrementally for each time argument.
8
+ * After each time increment, promises will be flushed.
9
+ * If no time values are provided, {@link flushPromises}, time will not be incremented, but
10
+ * will still be called.
11
+ *
12
+ * @param time (in seconds)
13
+ * @return Returns a promise which resolves after the last time increment and promise flush.
14
+ */
15
+ tick(...time: number[]): Promise<void>;
16
+ /**
17
+ * Sets the current date to the given date.
18
+ *
19
+ * @param date
20
+ */
21
+ mockDate(date?: Date): void;
22
+ }
23
+ /**
24
+ * Call within a `describe` block to install jasmine's mock clock between tests.
25
+ * The returned object has one difference from jasmine's Clock tick and setTime; a promise is
26
+ * returned, which when awaited, will ensure that promise handlers based on timed events will be
27
+ * called in the order in which they were intended.
28
+ */
29
+ export declare function useMockTime(): MockTime;
30
+ //# sourceMappingURL=async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../../../test/browserTestUtil/async/async.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAI7C;AAED,MAAM,WAAW,QAAQ;IACrB;;;;;;;;OAQG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CA6BtC"}
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Fixed to setTimeout before any mocks can take place.
7
+ */
8
+ const scheduler = setTimeout;
9
+ /**
10
+ * Returns a promise, when awaited, will ensure that all promise handlers are invoked.
11
+ */
12
+ export function flushPromises() {
13
+ return new Promise((resolve) => {
14
+ scheduler(() => resolve(void 0));
15
+ });
16
+ }
17
+ /**
18
+ * Call within a `describe` block to install jasmine's mock clock between tests.
19
+ * The returned object has one difference from jasmine's Clock tick and setTime; a promise is
20
+ * returned, which when awaited, will ensure that promise handlers based on timed events will be
21
+ * called in the order in which they were intended.
22
+ */
23
+ export function useMockTime() {
24
+ const clock = jasmine.clock();
25
+ beforeEach(() => {
26
+ clock.install();
27
+ clock.mockDate(new Date(0));
28
+ });
29
+ afterEach(() => {
30
+ clock.uninstall();
31
+ });
32
+ const mockTime = {
33
+ async tick(...time) {
34
+ if (!time.length) {
35
+ clock.tick(0);
36
+ await flushPromises();
37
+ }
38
+ for (const s of time) {
39
+ clock.tick(s * 1000);
40
+ await flushPromises();
41
+ }
42
+ },
43
+ mockDate(date) {
44
+ clock.mockDate(date);
45
+ },
46
+ };
47
+ return mockTime;
48
+ }
@@ -0,0 +1,16 @@
1
+ import type { MockTime } from '../async/async';
2
+ /**
3
+ * Creates a marble test for callback timing.
4
+ * This provides an easy way to test callback timing, for example a debounce or throttle function.
5
+ *
6
+ * The returned function takes an input string where dashes represent a wait of 1 second, and x's represent
7
+ * invoking the function returned by wrapCallback. The resolved string will be the timing of when the inner function is
8
+ * invoked.
9
+ * An x does not represent passage of time. For example a marble diagram of x-xx-x represents execution at:
10
+ * 0s, 1s, 1s, 2s
11
+ *
12
+ * @param clock
13
+ * @param wrapCallback
14
+ */
15
+ export declare function createCallbackTimingTest(clock: MockTime, wrapCallback: (inner: () => void) => () => void): (input: string) => Promise<string>;
16
+ //# sourceMappingURL=createCallbackTimingTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCallbackTimingTest.d.ts","sourceRoot":"","sources":["../../../../../test/browserTestUtil/async/createCallbackTimingTest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,QAAQ,EACf,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,GAChD,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CA6CpC"}