@hot-updater/react-native 1.0.0-rc.2 → 1.0.0-rc.22

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 (291) hide show
  1. package/android/proguard-rules.pro +17 -2
  2. package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
  3. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +954 -837
  4. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +15 -11
  5. package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
  6. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +287 -22
  7. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +43 -31
  8. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +37 -54
  9. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
  10. package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
  11. package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
  12. package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
  13. package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
  14. package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +127 -50
  15. package/android/src/main/java/com/hotupdater/PreviousProcessExit.kt +89 -0
  16. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
  17. package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
  18. package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
  19. package/android/src/newarch/HotUpdater.kt +7 -9
  20. package/android/src/newarch/HotUpdaterModule.kt +109 -84
  21. package/android/src/oldarch/HotUpdater.kt +7 -9
  22. package/android/src/oldarch/HotUpdaterModule.kt +98 -74
  23. package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
  24. package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
  25. package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
  26. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +950 -1112
  27. package/ios/HotUpdater/Internal/BundleMetadata.swift +8 -53
  28. package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
  29. package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
  30. package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
  31. package/ios/HotUpdater/Internal/HotUpdater.mm +13 -45
  32. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +190 -73
  33. package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
  34. package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
  35. package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
  36. package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +119 -71
  37. package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
  38. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
  39. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
  40. package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
  41. package/lib/commonjs/appReady.js +111 -0
  42. package/lib/commonjs/appReady.js.map +1 -0
  43. package/lib/commonjs/checkForUpdate.js +125 -70
  44. package/lib/commonjs/checkForUpdate.js.map +1 -1
  45. package/lib/commonjs/clientPlugin.js +13 -0
  46. package/lib/commonjs/clientPlugin.js.map +1 -0
  47. package/lib/commonjs/error.js +4 -13
  48. package/lib/commonjs/error.js.map +1 -1
  49. package/lib/commonjs/fetchJSON.js +5 -2
  50. package/lib/commonjs/fetchJSON.js.map +1 -1
  51. package/lib/commonjs/httpClient.js +55 -92
  52. package/lib/commonjs/httpClient.js.map +1 -1
  53. package/lib/commonjs/index.js +68 -20
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/native.js +82 -62
  56. package/lib/commonjs/native.js.map +1 -1
  57. package/lib/commonjs/pluginHost.js +44 -0
  58. package/lib/commonjs/pluginHost.js.map +1 -0
  59. package/lib/commonjs/releaseCatalogCache.js +20 -61
  60. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  61. package/lib/commonjs/sdkVersion.js +1 -1
  62. package/lib/commonjs/sdkVersion.js.map +1 -1
  63. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  64. package/lib/commonjs/store.js +3 -10
  65. package/lib/commonjs/store.js.map +1 -1
  66. package/lib/commonjs/updateError.js +132 -0
  67. package/lib/commonjs/updateError.js.map +1 -0
  68. package/lib/commonjs/wrap.js +44 -27
  69. package/lib/commonjs/wrap.js.map +1 -1
  70. package/lib/module/appReady.js +103 -0
  71. package/lib/module/appReady.js.map +1 -0
  72. package/lib/module/checkForUpdate.js +118 -65
  73. package/lib/module/checkForUpdate.js.map +1 -1
  74. package/lib/module/clientPlugin.js +4 -0
  75. package/lib/module/clientPlugin.js.map +1 -0
  76. package/lib/module/error.js +4 -13
  77. package/lib/module/error.js.map +1 -1
  78. package/lib/module/fetchJSON.js +3 -1
  79. package/lib/module/fetchJSON.js.map +1 -1
  80. package/lib/module/httpClient.js +53 -90
  81. package/lib/module/httpClient.js.map +1 -1
  82. package/lib/module/index.js +55 -22
  83. package/lib/module/index.js.map +1 -1
  84. package/lib/module/native.js +74 -54
  85. package/lib/module/native.js.map +1 -1
  86. package/lib/module/pluginHost.js +35 -0
  87. package/lib/module/pluginHost.js.map +1 -0
  88. package/lib/module/releaseCatalogCache.js +16 -56
  89. package/lib/module/releaseCatalogCache.js.map +1 -1
  90. package/lib/module/sdkVersion.js +1 -1
  91. package/lib/module/sdkVersion.js.map +1 -1
  92. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  93. package/lib/module/store.js +3 -10
  94. package/lib/module/store.js.map +1 -1
  95. package/lib/module/updateError.js +126 -0
  96. package/lib/module/updateError.js.map +1 -0
  97. package/lib/module/wrap.js +45 -28
  98. package/lib/module/wrap.js.map +1 -1
  99. package/lib/typescript/commonjs/appReady.d.ts +23 -0
  100. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/checkForUpdate.d.ts +16 -4
  102. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
  104. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/error.d.ts +4 -13
  106. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/fetchJSON.d.ts +3 -0
  108. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/httpClient.d.ts +3 -32
  110. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/index.d.ts +7 -12
  112. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/native.d.ts +33 -23
  114. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/pluginHost.d.ts +4 -0
  116. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +6 -14
  118. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  120. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +42 -47
  122. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/store.d.ts +1 -3
  124. package/lib/typescript/commonjs/store.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/types.d.ts +1 -1
  126. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  128. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/wrap.types.d.ts +6 -7
  131. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  132. package/lib/typescript/module/appReady.d.ts +23 -0
  133. package/lib/typescript/module/appReady.d.ts.map +1 -0
  134. package/lib/typescript/module/checkForUpdate.d.ts +16 -4
  135. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  136. package/lib/typescript/module/clientPlugin.d.ts +2 -0
  137. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  138. package/lib/typescript/module/error.d.ts +4 -13
  139. package/lib/typescript/module/error.d.ts.map +1 -1
  140. package/lib/typescript/module/fetchJSON.d.ts +3 -0
  141. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  142. package/lib/typescript/module/httpClient.d.ts +3 -32
  143. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  144. package/lib/typescript/module/index.d.ts +7 -12
  145. package/lib/typescript/module/index.d.ts.map +1 -1
  146. package/lib/typescript/module/native.d.ts +33 -23
  147. package/lib/typescript/module/native.d.ts.map +1 -1
  148. package/lib/typescript/module/pluginHost.d.ts +4 -0
  149. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  150. package/lib/typescript/module/releaseCatalogCache.d.ts +6 -14
  151. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  152. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  153. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  154. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +42 -47
  155. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  156. package/lib/typescript/module/store.d.ts +1 -3
  157. package/lib/typescript/module/store.d.ts.map +1 -1
  158. package/lib/typescript/module/types.d.ts +1 -1
  159. package/lib/typescript/module/types.d.ts.map +1 -1
  160. package/lib/typescript/module/updateError.d.ts +26 -0
  161. package/lib/typescript/module/updateError.d.ts.map +1 -0
  162. package/lib/typescript/module/wrap.d.ts.map +1 -1
  163. package/lib/typescript/module/wrap.types.d.ts +6 -7
  164. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  165. package/package.json +7 -4
  166. package/src/appReady.ts +149 -0
  167. package/src/checkForUpdate.ts +152 -89
  168. package/src/clientPlugin.ts +17 -0
  169. package/src/error.ts +4 -14
  170. package/src/fetchJSON.ts +5 -1
  171. package/src/httpClient.ts +78 -157
  172. package/src/index.ts +87 -29
  173. package/src/native.ts +109 -104
  174. package/src/pluginHost.ts +45 -0
  175. package/src/releaseCatalogCache.ts +26 -140
  176. package/src/sdkVersion.ts +1 -1
  177. package/src/specs/NativeHotUpdater.ts +41 -48
  178. package/src/store.ts +2 -23
  179. package/src/types.ts +1 -1
  180. package/src/updateError.ts +153 -0
  181. package/src/wrap.tsx +59 -28
  182. package/src/wrap.types.ts +6 -7
  183. package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
  184. package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
  185. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
  186. package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
  187. package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
  188. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  189. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
  190. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
  191. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  192. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
  193. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  194. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  195. package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
  196. package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
  197. package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
  198. package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
  199. package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
  200. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
  201. package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
  202. package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
  203. package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
  204. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  205. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  206. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -604
  207. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  208. package/lib/commonjs/httpClient.spec.js +0 -102
  209. package/lib/commonjs/httpClient.spec.js.map +0 -1
  210. package/lib/commonjs/index.spec.js +0 -298
  211. package/lib/commonjs/index.spec.js.map +0 -1
  212. package/lib/commonjs/iosInterop.spec.js +0 -18
  213. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  214. package/lib/commonjs/native.spec.js +0 -795
  215. package/lib/commonjs/native.spec.js.map +0 -1
  216. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
  217. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  218. package/lib/commonjs/notifyAppReadyInsights.js +0 -133
  219. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  220. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
  221. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  222. package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
  223. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  224. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
  225. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  226. package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
  227. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  228. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  229. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  230. package/lib/commonjs/store.notification.spec.js +0 -76
  231. package/lib/commonjs/store.notification.spec.js.map +0 -1
  232. package/lib/commonjs/store.spec.js +0 -316
  233. package/lib/commonjs/store.spec.js.map +0 -1
  234. package/lib/commonjs/wrap.spec.js +0 -296
  235. package/lib/commonjs/wrap.spec.js.map +0 -1
  236. package/lib/module/catalogCacheNative.spec.js +0 -31
  237. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  238. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -603
  239. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  240. package/lib/module/httpClient.spec.js +0 -102
  241. package/lib/module/httpClient.spec.js.map +0 -1
  242. package/lib/module/index.spec.js +0 -297
  243. package/lib/module/index.spec.js.map +0 -1
  244. package/lib/module/iosInterop.spec.js +0 -18
  245. package/lib/module/iosInterop.spec.js.map +0 -1
  246. package/lib/module/native.spec.js +0 -794
  247. package/lib/module/native.spec.js.map +0 -1
  248. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
  249. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  250. package/lib/module/notifyAppReadyInsights.js +0 -128
  251. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  252. package/lib/module/notifyAppReadyInsights.spec.js +0 -245
  253. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  254. package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
  255. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  256. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
  257. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  258. package/lib/module/releaseCatalogCache.spec.js +0 -195
  259. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  260. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  261. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  262. package/lib/module/store.notification.spec.js +0 -77
  263. package/lib/module/store.notification.spec.js.map +0 -1
  264. package/lib/module/store.spec.js +0 -315
  265. package/lib/module/store.spec.js.map +0 -1
  266. package/lib/module/wrap.spec.js +0 -295
  267. package/lib/module/wrap.spec.js.map +0 -1
  268. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
  269. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  270. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  271. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  272. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
  273. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  274. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  275. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  276. package/src/catalogCacheNative.spec.ts +0 -63
  277. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -596
  278. package/src/httpClient.spec.ts +0 -132
  279. package/src/index.spec.ts +0 -331
  280. package/src/iosInterop.spec.ts +0 -30
  281. package/src/native.spec.ts +0 -855
  282. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
  283. package/src/notifyAppReadyInsights.spec.ts +0 -243
  284. package/src/notifyAppReadyInsights.test-utils.ts +0 -31
  285. package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
  286. package/src/notifyAppReadyInsights.ts +0 -194
  287. package/src/releaseCatalogCache.spec.ts +0 -282
  288. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  289. package/src/store.notification.spec.ts +0 -92
  290. package/src/store.spec.ts +0 -372
  291. package/src/wrap.spec.ts +0 -367
@@ -1,315 +0,0 @@
1
- "use strict";
2
-
3
- import { beforeEach, describe, expect, it, vi } from "vitest";
4
- const listeners = vi.hoisted(() => new Map());
5
- vi.mock("./native", () => ({
6
- addListener: vi.fn((eventName, listener) => {
7
- listeners.set(eventName, listener);
8
- return () => {
9
- listeners.delete(eventName);
10
- };
11
- })
12
- }));
13
- const importStore = async () => {
14
- const {
15
- hotUpdaterStore
16
- } = await import("./store");
17
- return hotUpdaterStore;
18
- };
19
- describe("hotUpdaterStore", () => {
20
- beforeEach(() => {
21
- listeners.clear();
22
- vi.resetModules();
23
- });
24
- it("does not notify subscribers when state values are unchanged", async () => {
25
- const store = await importStore();
26
- const listener = vi.fn();
27
- const unsubscribe = store.subscribe(listener);
28
- store.setState({});
29
- store.setState({
30
- progress: 0
31
- });
32
- store.setState({
33
- isUpdateDownloaded: false
34
- });
35
- expect(listener).not.toHaveBeenCalled();
36
- unsubscribe();
37
- });
38
- it("notifies subscribers only when progress events change the snapshot", async () => {
39
- const store = await importStore();
40
- const listener = vi.fn();
41
- const emitProgress = listeners.get("onProgress");
42
- expect(emitProgress).toBeTypeOf("function");
43
- const unsubscribe = store.subscribe(listener);
44
- emitProgress?.({
45
- artifactType: "archive",
46
- progress: 0.5
47
- });
48
- emitProgress?.({
49
- artifactType: "archive",
50
- progress: 0.5
51
- });
52
- emitProgress?.({
53
- artifactType: "archive",
54
- progress: 1
55
- });
56
- store.setState({
57
- isUpdateDownloaded: true
58
- });
59
- expect(listener).toHaveBeenCalledTimes(2);
60
- expect(store.getSnapshot()).toEqual({
61
- artifactType: "archive",
62
- details: null,
63
- downloadedBytes: undefined,
64
- isUpdateDownloaded: true,
65
- progress: 1,
66
- totalBytes: undefined
67
- });
68
- unsubscribe();
69
- });
70
- it("stores archive byte metadata and notifies when only bytes change", async () => {
71
- const store = await importStore();
72
- const listener = vi.fn();
73
- const emitProgress = listeners.get("onProgress");
74
- const unsubscribe = store.subscribe(listener);
75
- emitProgress?.({
76
- artifactType: "archive",
77
- downloadedBytes: 100.4,
78
- progress: 0.5,
79
- totalBytes: 1_000
80
- });
81
- emitProgress?.({
82
- artifactType: "archive",
83
- downloadedBytes: 250,
84
- progress: 0.5,
85
- totalBytes: 1_000
86
- });
87
- expect(listener).toHaveBeenCalledTimes(2);
88
- expect(store.getSnapshot()).toEqual({
89
- artifactType: "archive",
90
- details: null,
91
- downloadedBytes: 250,
92
- isUpdateDownloaded: false,
93
- progress: 0.5,
94
- totalBytes: 1_000
95
- });
96
- unsubscribe();
97
- });
98
- it("stores manifest progress metadata while keeping overall progress", async () => {
99
- const store = await importStore();
100
- const emitProgress = listeners.get("onProgress");
101
- expect(emitProgress).toBeTypeOf("function");
102
- emitProgress?.({
103
- artifactType: "diff",
104
- details: {
105
- completedFilesCount: 1,
106
- files: [{
107
- downloadPath: "index.ios.bundle",
108
- order: 0,
109
- path: "index.ios.bundle",
110
- progress: 1,
111
- status: "downloaded"
112
- }, {
113
- downloadPath: "assets/logo.png",
114
- order: 1,
115
- path: "assets/logo.png",
116
- progress: 0.5,
117
- status: "downloading"
118
- }],
119
- totalFilesCount: 2
120
- },
121
- progress: 0.42
122
- });
123
- expect(store.getSnapshot()).toEqual({
124
- artifactType: "diff",
125
- details: {
126
- completedFilesCount: 1,
127
- files: [{
128
- downloadPath: "index.ios.bundle",
129
- order: 0,
130
- path: "index.ios.bundle",
131
- progress: 1,
132
- status: "downloaded"
133
- }, {
134
- downloadPath: "assets/logo.png",
135
- order: 1,
136
- path: "assets/logo.png",
137
- progress: 0.5,
138
- status: "downloading"
139
- }],
140
- totalFilesCount: 2
141
- },
142
- downloadedBytes: undefined,
143
- isUpdateDownloaded: false,
144
- progress: 0.42,
145
- totalBytes: undefined
146
- });
147
- });
148
- it("preserves patch download metadata for manifest diff files", async () => {
149
- const store = await importStore();
150
- const emitProgress = listeners.get("onProgress");
151
- emitProgress?.({
152
- artifactType: "diff",
153
- details: {
154
- completedFilesCount: 0,
155
- files: [{
156
- downloadPath: "index.ios.bundle.bsdiff",
157
- order: 0,
158
- path: "index.ios.bundle",
159
- progress: 0.4,
160
- status: "downloading"
161
- }],
162
- totalFilesCount: 1
163
- },
164
- progress: 0.32
165
- });
166
- expect(store.getSnapshot().details?.files).toEqual([{
167
- downloadPath: "index.ios.bundle.bsdiff",
168
- downloadedBytes: undefined,
169
- order: 0,
170
- path: "index.ios.bundle",
171
- progress: 0.4,
172
- status: "downloading",
173
- totalBytes: undefined
174
- }]);
175
- });
176
- it("stores diff snapshot transitions from downloading to downloaded", async () => {
177
- const store = await importStore();
178
- const emitProgress = listeners.get("onProgress");
179
- emitProgress?.({
180
- artifactType: "diff",
181
- details: {
182
- completedFilesCount: 0,
183
- files: [{
184
- order: 0,
185
- path: "index.ios.bundle",
186
- progress: 0.6,
187
- status: "downloading"
188
- }, {
189
- order: 1,
190
- path: "assets/logo.png",
191
- progress: 0,
192
- status: "pending"
193
- }],
194
- totalFilesCount: 2
195
- },
196
- progress: 0.4
197
- });
198
- emitProgress?.({
199
- artifactType: "diff",
200
- details: {
201
- completedFilesCount: 1,
202
- files: [{
203
- downloadPath: "index.ios.bundle",
204
- order: 0,
205
- path: "index.ios.bundle",
206
- progress: 1,
207
- status: "downloaded"
208
- }, {
209
- downloadPath: "assets/logo.png",
210
- order: 1,
211
- path: "assets/logo.png",
212
- progress: 0,
213
- status: "pending"
214
- }],
215
- totalFilesCount: 2
216
- },
217
- progress: 0.6
218
- });
219
- expect(store.getSnapshot()).toEqual({
220
- artifactType: "diff",
221
- details: {
222
- completedFilesCount: 1,
223
- files: [{
224
- downloadPath: "index.ios.bundle",
225
- order: 0,
226
- path: "index.ios.bundle",
227
- progress: 1,
228
- status: "downloaded"
229
- }, {
230
- downloadPath: "assets/logo.png",
231
- order: 1,
232
- path: "assets/logo.png",
233
- progress: 0,
234
- status: "pending"
235
- }],
236
- totalFilesCount: 2
237
- },
238
- downloadedBytes: undefined,
239
- isUpdateDownloaded: false,
240
- progress: 0.6,
241
- totalBytes: undefined
242
- });
243
- });
244
- it("clears manifest metadata when archive progress events arrive", async () => {
245
- const store = await importStore();
246
- const emitProgress = listeners.get("onProgress");
247
- emitProgress?.({
248
- artifactType: "diff",
249
- details: {
250
- completedFilesCount: 2,
251
- files: [{
252
- order: 0,
253
- path: "index.ios.bundle",
254
- progress: 1,
255
- status: "downloaded"
256
- }, {
257
- order: 1,
258
- path: "assets/logo.png",
259
- progress: 1,
260
- status: "downloaded"
261
- }, {
262
- order: 2,
263
- path: "assets/bg.png",
264
- progress: 0,
265
- status: "pending"
266
- }],
267
- totalFilesCount: 3
268
- },
269
- progress: 0.9
270
- });
271
- emitProgress?.({
272
- artifactType: "archive",
273
- progress: 0.25
274
- });
275
- expect(store.getSnapshot()).toEqual({
276
- artifactType: "archive",
277
- details: null,
278
- downloadedBytes: undefined,
279
- isUpdateDownloaded: false,
280
- progress: 0.25,
281
- totalBytes: undefined
282
- });
283
- });
284
- it("clears stale manifest metadata even when archive events omit optional fields", async () => {
285
- const store = await importStore();
286
- const emitProgress = listeners.get("onProgress");
287
- emitProgress?.({
288
- artifactType: "diff",
289
- details: {
290
- completedFilesCount: 0,
291
- files: [{
292
- order: 0,
293
- path: "manifest.asset.png",
294
- progress: 0,
295
- status: "failed"
296
- }],
297
- totalFilesCount: 1
298
- },
299
- progress: 0.2
300
- });
301
- emitProgress?.({
302
- artifactType: "archive",
303
- progress: 0.4
304
- });
305
- expect(store.getSnapshot()).toEqual({
306
- artifactType: "archive",
307
- details: null,
308
- downloadedBytes: undefined,
309
- isUpdateDownloaded: false,
310
- progress: 0.4,
311
- totalBytes: undefined
312
- });
313
- });
314
- });
315
- //# sourceMappingURL=store.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","listeners","hoisted","Map","mock","addListener","fn","eventName","listener","set","delete","importStore","hotUpdaterStore","clear","resetModules","store","unsubscribe","subscribe","setState","progress","isUpdateDownloaded","not","toHaveBeenCalled","emitProgress","get","toBeTypeOf","artifactType","toHaveBeenCalledTimes","getSnapshot","toEqual","details","downloadedBytes","undefined","totalBytes","completedFilesCount","files","downloadPath","order","path","status","totalFilesCount"],"sourceRoot":"../../src","sources":["store.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1,295 +0,0 @@
1
- "use strict";
2
-
3
- import { beforeEach, describe, expect, it, vi } from "vitest";
4
- vi.mock("react-native", () => ({
5
- Platform: {
6
- OS: "ios"
7
- }
8
- }));
9
- const createNotifyReadResult = (result = {
10
- status: "UNCHANGED"
11
- }, insightsEvent = null, pending = false) => ({
12
- insightsEvent,
13
- pending,
14
- result
15
- });
16
- const mocks = vi.hoisted(() => ({
17
- addListener: vi.fn(() => () => {}),
18
- checkForUpdate: vi.fn(),
19
- getAppVersion: vi.fn(() => "1.0.0"),
20
- getBundleId: vi.fn(() => "bundle-id"),
21
- getChannel: vi.fn(() => "production"),
22
- getCohort: vi.fn(() => "123"),
23
- getFingerprintHash: vi.fn(() => "fingerprint-hash"),
24
- getInstallId: vi.fn(() => "install-id"),
25
- getPersistedUserIdentity: vi.fn(() => ({})),
26
- readNotifyAppReady: vi.fn(() => createNotifyReadResult()),
27
- reload: vi.fn()
28
- }));
29
- vi.mock("./checkForUpdate", () => ({
30
- checkForUpdate: mocks.checkForUpdate
31
- }));
32
- vi.mock("./native", () => ({
33
- addListener: mocks.addListener,
34
- getAppVersion: mocks.getAppVersion,
35
- getBundleId: mocks.getBundleId,
36
- getChannel: mocks.getChannel,
37
- getCohort: mocks.getCohort,
38
- getFingerprintHash: mocks.getFingerprintHash,
39
- getInstallId: mocks.getInstallId,
40
- getPersistedUserIdentity: mocks.getPersistedUserIdentity,
41
- readNotifyAppReady: mocks.readNotifyAppReady,
42
- reload: mocks.reload
43
- }));
44
- const createClient = (sendInsightsEvent = vi.fn().mockResolvedValue(undefined)) => ({
45
- client: {
46
- createSession: vi.fn(async () => ({
47
- fetchReleaseCatalog: vi.fn(),
48
- resolveArtifact: vi.fn(),
49
- sendInsightsEvent
50
- }))
51
- },
52
- sendInsightsEvent
53
- });
54
- describe("HotUpdater wrap initialization", () => {
55
- beforeEach(() => {
56
- vi.resetModules();
57
- vi.unstubAllGlobals();
58
- vi.useRealTimers();
59
- for (const mock of Object.values(mocks)) {
60
- mock.mockReset();
61
- }
62
- mocks.checkForUpdate.mockResolvedValue(null);
63
- mocks.addListener.mockReturnValue(() => {});
64
- mocks.getAppVersion.mockReturnValue("1.0.0");
65
- mocks.getPersistedUserIdentity.mockReturnValue({});
66
- mocks.getBundleId.mockReturnValue("bundle-id");
67
- mocks.getChannel.mockReturnValue("production");
68
- mocks.getCohort.mockReturnValue("123");
69
- mocks.getFingerprintHash.mockReturnValue("fingerprint-hash");
70
- mocks.getInstallId.mockReturnValue("install-id");
71
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult());
72
- });
73
- it("returns void from init and defers notifyAppReady to the next frame", async () => {
74
- vi.useFakeTimers();
75
- const requestAnimationFrame = vi.fn(callback => {
76
- setTimeout(() => callback(0), 0);
77
- return 1;
78
- });
79
- vi.stubGlobal("requestAnimationFrame", requestAnimationFrame);
80
- const {
81
- client,
82
- sendInsightsEvent
83
- } = createClient();
84
- const {
85
- init
86
- } = await import("./wrap");
87
- const result = init({
88
- client,
89
- requestHeaders: {
90
- Authorization: "Bearer token"
91
- },
92
- requestTimeout: 1000
93
- });
94
- expect(result).toBeUndefined();
95
- expect(mocks.readNotifyAppReady).not.toHaveBeenCalled();
96
- expect(sendInsightsEvent).not.toHaveBeenCalled();
97
- expect(requestAnimationFrame).toHaveBeenCalled();
98
- await vi.runOnlyPendingTimersAsync();
99
- expect(mocks.readNotifyAppReady).toHaveBeenCalledWith();
100
- expect(sendInsightsEvent).not.toHaveBeenCalled();
101
- });
102
- it("waits for native launch verification before sending insights", async () => {
103
- vi.useFakeTimers();
104
- vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
105
- setTimeout(() => callback(0), 0);
106
- return 1;
107
- }));
108
- mocks.readNotifyAppReady.mockReturnValueOnce(createNotifyReadResult(undefined, null, true)).mockReturnValueOnce(createNotifyReadResult({
109
- fromBundleId: "bundle-a",
110
- status: "UPDATE_APPLIED",
111
- toBundleId: "bundle-b"
112
- }, {
113
- fromBundleId: "bundle-a",
114
- toBundleId: "bundle-b",
115
- type: "UPDATE_APPLIED",
116
- updateStrategy: "appVersion"
117
- }));
118
- const {
119
- client,
120
- sendInsightsEvent
121
- } = createClient();
122
- const {
123
- init
124
- } = await import("./wrap");
125
- init({
126
- insights: true,
127
- client
128
- });
129
- await vi.runAllTimersAsync();
130
- expect(mocks.readNotifyAppReady).toHaveBeenCalledTimes(2);
131
- expect(sendInsightsEvent).toHaveBeenCalledTimes(1);
132
- });
133
- it("sends automatic insights only from init when enabled", async () => {
134
- vi.useFakeTimers();
135
- vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
136
- setTimeout(() => callback(0), 0);
137
- return 1;
138
- }));
139
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
140
- fromBundleId: "bundle-a",
141
- status: "UPDATE_APPLIED",
142
- toBundleId: "bundle-b"
143
- }, {
144
- fromBundleId: "bundle-a",
145
- toBundleId: "bundle-b",
146
- type: "UPDATE_APPLIED",
147
- updateStrategy: "fingerprint"
148
- }));
149
- mocks.getPersistedUserIdentity.mockReturnValue({
150
- userId: "user-123",
151
- username: "alice"
152
- });
153
- const {
154
- client,
155
- sendInsightsEvent
156
- } = createClient();
157
- const {
158
- init
159
- } = await import("./wrap");
160
- init({
161
- insights: true,
162
- requestHeaders: {
163
- Authorization: "Bearer token"
164
- },
165
- requestTimeout: 1000,
166
- client
167
- });
168
- await vi.runOnlyPendingTimersAsync();
169
- expect(sendInsightsEvent).toHaveBeenCalledWith({
170
- appVersion: "1.0.0",
171
- channel: "production",
172
- cohort: "123",
173
- fingerprintHash: "fingerprint-hash",
174
- fromBundleId: "bundle-a",
175
- fromReleaseId: null,
176
- installId: "install-id",
177
- platform: "ios",
178
- requestHeaders: {
179
- Authorization: "Bearer token"
180
- },
181
- requestTimeout: 1000,
182
- toBundleId: "bundle-b",
183
- toReleaseId: null,
184
- type: "UPDATE_APPLIED",
185
- updateStrategy: "fingerprint",
186
- userId: "user-123",
187
- username: "alice"
188
- });
189
- });
190
- it("guards automatic insights to a single delivery attempt per runtime", async () => {
191
- vi.useFakeTimers();
192
- vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
193
- setTimeout(() => callback(0), 0);
194
- return 1;
195
- }));
196
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
197
- fromBundleId: "bundle-a",
198
- status: "RECOVERED",
199
- toBundleId: "bundle-b"
200
- }, {
201
- fromBundleId: "bundle-a",
202
- toBundleId: "bundle-b",
203
- type: "RECOVERED",
204
- updateStrategy: "appVersion"
205
- }));
206
- const {
207
- client,
208
- sendInsightsEvent
209
- } = createClient();
210
- const {
211
- init
212
- } = await import("./wrap");
213
- init({
214
- insights: true,
215
- client
216
- });
217
- init({
218
- insights: true,
219
- client
220
- });
221
- await vi.runOnlyPendingTimersAsync();
222
- expect(sendInsightsEvent).toHaveBeenCalledTimes(1);
223
- });
224
- it("warns without interrupting app readiness when insights transport fails", async () => {
225
- vi.useFakeTimers();
226
- const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
227
- const error = new Error("Expected HTTP 204 from /events, received 404");
228
- const onError = vi.fn();
229
- const onNotifyAppReady = vi.fn();
230
- vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
231
- setTimeout(() => callback(0), 0);
232
- return 1;
233
- }));
234
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
235
- fromBundleId: "bundle-a",
236
- status: "UPDATE_APPLIED",
237
- toBundleId: "bundle-b"
238
- }, {
239
- fromBundleId: "bundle-a",
240
- toBundleId: "bundle-b",
241
- type: "UPDATE_APPLIED",
242
- updateStrategy: "appVersion"
243
- }));
244
- const {
245
- client
246
- } = createClient(vi.fn().mockRejectedValue(error));
247
- const {
248
- init
249
- } = await import("./wrap");
250
- init({
251
- insights: true,
252
- onError,
253
- onNotifyAppReady,
254
- client
255
- });
256
- await vi.runOnlyPendingTimersAsync();
257
- expect(onError).not.toHaveBeenCalled();
258
- expect(warn).toHaveBeenCalledWith("[HotUpdater] Automatic notifyAppReady insights failed:", error);
259
- expect(onNotifyAppReady).toHaveBeenCalledWith({
260
- fromBundleId: "bundle-a",
261
- status: "UPDATE_APPLIED",
262
- toBundleId: "bundle-b"
263
- });
264
- warn.mockRestore();
265
- });
266
- it("does not accept a manual wrap HOC", async () => {
267
- const {
268
- wrap
269
- } = await import("./wrap");
270
- wrap({
271
- client: createClient().client,
272
- updateStrategy: "appVersion"
273
- });
274
- });
275
- it("preserves wrapped component prop inference", async () => {
276
- const {
277
- wrap
278
- } = await import("./wrap");
279
- const Component = () => null;
280
- const WrappedComponent = wrap({
281
- client: createClient().client,
282
- updateStrategy: "appVersion"
283
- })(Component);
284
- const acceptsTitleProps = WrappedComponent;
285
- expect(acceptsTitleProps).toBe(WrappedComponent);
286
- });
287
- it("types public wrap options as automatic mode by default", () => {
288
- const autoOptions = {
289
- baseURL: "https://updates.example.com",
290
- updateStrategy: "appVersion"
291
- };
292
- expect(autoOptions.updateStrategy).toBe("appVersion");
293
- });
294
- });
295
- //# sourceMappingURL=wrap.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","mock","Platform","OS","createNotifyReadResult","result","status","insightsEvent","pending","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","createClient","sendInsightsEvent","mockResolvedValue","undefined","client","createSession","fetchReleaseCatalog","resolveArtifact","resetModules","unstubAllGlobals","useRealTimers","Object","values","mockReset","mockReturnValue","useFakeTimers","requestAnimationFrame","callback","setTimeout","stubGlobal","init","requestHeaders","Authorization","requestTimeout","toBeUndefined","not","toHaveBeenCalled","runOnlyPendingTimersAsync","toHaveBeenCalledWith","mockReturnValueOnce","fromBundleId","toBundleId","type","updateStrategy","insights","runAllTimersAsync","toHaveBeenCalledTimes","userId","username","appVersion","channel","cohort","fingerprintHash","fromReleaseId","installId","platform","toReleaseId","warn","spyOn","console","mockImplementation","error","Error","onError","onNotifyAppReady","mockRejectedValue","mockRestore","wrap","Component","WrappedComponent","acceptsTitleProps","toBe","autoOptions","baseURL"],"sourceRoot":"../../src","sources":["wrap.spec.ts"],"mappings":";;AACA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAQ7DA,EAAE,CAACC,IAAI,CAAC,cAAc,EAAE,OAAO;EAC7BC,QAAQ,EAAE;IACRC,EAAE,EAAE;EACN;AACF,CAAC,CAAC,CAAC;AAEH,MAAMC,sBAAsB,GAAGA,CAC7BC,MAA4B,GAAG;EAAEC,MAAM,EAAE;AAAY,CAAC,EACtDC,aAAiD,GAAG,IAAI,EACxDC,OAAO,GAAG,KAAK,MAKX;EACJD,aAAa;EACbC,OAAO;EACPH;AACF,CAAC,CAAC;AAEF,MAAMI,KAAK,GAAGT,EAAE,CAACU,OAAO,CAAC,OAAO;EAC9BC,WAAW,EAAEX,EAAE,CAACY,EAAE,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;EAClCC,cAAc,EAAEb,EAAE,CAACY,EAAE,CAAC,CAAC;EACvBE,aAAa,EAAEd,EAAE,CAACY,EAAE,CAAC,MAAM,OAAO,CAAC;EACnCG,WAAW,EAAEf,EAAE,CAACY,EAAE,CAAC,MAAM,WAAW,CAAC;EACrCI,UAAU,EAAEhB,EAAE,CAACY,EAAE,CAAC,MAAM,YAAY,CAAC;EACrCK,SAAS,EAAEjB,EAAE,CAACY,EAAE,CAAC,MAAM,KAAK,CAAC;EAC7BM,kBAAkB,EAAElB,EAAE,CAACY,EAAE,CAAC,MAAM,kBAAkB,CAAC;EACnDO,YAAY,EAAEnB,EAAE,CAACY,EAAE,CAAC,MAAM,YAAY,CAAC;EACvCQ,wBAAwB,EAAEpB,EAAE,CAACY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAC3CS,kBAAkB,EAAErB,EAAE,CAACY,EAAE,CAMvB,MAAMR,sBAAsB,CAAC,CAAC,CAAC;EACjCkB,MAAM,EAAEtB,EAAE,CAACY,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEHZ,EAAE,CAACC,IAAI,CAAC,kBAAkB,EAAE,OAAO;EACjCY,cAAc,EAAEJ,KAAK,CAACI;AACxB,CAAC,CAAC,CAAC;AAEHb,EAAE,CAACC,IAAI,CAAC,UAAU,EAAE,OAAO;EACzBU,WAAW,EAAEF,KAAK,CAACE,WAAW;EAC9BG,aAAa,EAAEL,KAAK,CAACK,aAAa;EAClCC,WAAW,EAAEN,KAAK,CAACM,WAAW;EAC9BC,UAAU,EAAEP,KAAK,CAACO,UAAU;EAC5BC,SAAS,EAAER,KAAK,CAACQ,SAAS;EAC1BC,kBAAkB,EAAET,KAAK,CAACS,kBAAkB;EAC5CC,YAAY,EAAEV,KAAK,CAACU,YAAY;EAChCC,wBAAwB,EAAEX,KAAK,CAACW,wBAAwB;EACxDC,kBAAkB,EAAEZ,KAAK,CAACY,kBAAkB;EAC5CC,MAAM,EAAEb,KAAK,CAACa;AAChB,CAAC,CAAC,CAAC;AAEH,MAAMC,YAAY,GAAGA,CACnBC,iBAAiB,GAAGxB,EAAE,CAACY,EAAE,CAAC,CAAC,CAACa,iBAAiB,CAACC,SAAS,CAAC,MACpD;EACJC,MAAM,EAAE;IACNC,aAAa,EAAE5B,EAAE,CAACY,EAAE,CAAC,aAAa;MAChCiB,mBAAmB,EAAE7B,EAAE,CAACY,EAAE,CAAC,CAAC;MAC5BkB,eAAe,EAAE9B,EAAE,CAACY,EAAE,CAAC,CAAC;MACxBY;IACF,CAAC,CAAC;EACJ,CAAC;EACDA;AACF,CAAC,CAAC;AAEF3B,QAAQ,CAAC,gCAAgC,EAAE,MAAM;EAC/CD,UAAU,CAAC,MAAM;IACfI,EAAE,CAAC+B,YAAY,CAAC,CAAC;IACjB/B,EAAE,CAACgC,gBAAgB,CAAC,CAAC;IACrBhC,EAAE,CAACiC,aAAa,CAAC,CAAC;IAElB,KAAK,MAAMhC,IAAI,IAAIiC,MAAM,CAACC,MAAM,CAAC1B,KAAK,CAAC,EAAE;MACvCR,IAAI,CAACmC,SAAS,CAAC,CAAC;IAClB;IAEA3B,KAAK,CAACI,cAAc,CAACY,iBAAiB,CAAC,IAAI,CAAC;IAC5ChB,KAAK,CAACE,WAAW,CAAC0B,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C5B,KAAK,CAACK,aAAa,CAACuB,eAAe,CAAC,OAAO,CAAC;IAC5C5B,KAAK,CAACW,wBAAwB,CAACiB,eAAe,CAAC,CAAC,CAAC,CAAC;IAClD5B,KAAK,CAACM,WAAW,CAACsB,eAAe,CAAC,WAAW,CAAC;IAC9C5B,KAAK,CAACO,UAAU,CAACqB,eAAe,CAAC,YAAY,CAAC;IAC9C5B,KAAK,CAACQ,SAAS,CAACoB,eAAe,CAAC,KAAK,CAAC;IACtC5B,KAAK,CAACS,kBAAkB,CAACmB,eAAe,CAAC,kBAAkB,CAAC;IAC5D5B,KAAK,CAACU,YAAY,CAACkB,eAAe,CAAC,YAAY,CAAC;IAChD5B,KAAK,CAACY,kBAAkB,CAACgB,eAAe,CAACjC,sBAAsB,CAAC,CAAC,CAAC;EACpE,CAAC,CAAC;EAEFL,EAAE,CAAC,oEAAoE,EAAE,YAAY;IACnFC,EAAE,CAACsC,aAAa,CAAC,CAAC;IAElB,MAAMC,qBAAqB,GAAGvC,EAAE,CAACY,EAAE,CAChC4B,QAAqC,IAAK;MACzCC,UAAU,CAAC,MAAMD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MAChC,OAAO,CAAC;IACV,CACF,CAAC;IACDxC,EAAE,CAAC0C,UAAU,CAAC,uBAAuB,EAAEH,qBAAqB,CAAC;IAE7D,MAAM;MAAEZ,MAAM;MAAEH;IAAkB,CAAC,GAAGD,YAAY,CAAC,CAAC;IACpD,MAAM;MAAEoB;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IAEvC,MAAMtC,MAAM,GAAGsC,IAAI,CAAC;MAClBhB,MAAM;MACNiB,cAAc,EAAE;QACdC,aAAa,EAAE;MACjB,CAAC;MACDC,cAAc,EAAE;IAClB,CAAC,CAAC;IAEFhD,MAAM,CAACO,MAAM,CAAC,CAAC0C,aAAa,CAAC,CAAC;IAC9BjD,MAAM,CAACW,KAAK,CAACY,kBAAkB,CAAC,CAAC2B,GAAG,CAACC,gBAAgB,CAAC,CAAC;IACvDnD,MAAM,CAAC0B,iBAAiB,CAAC,CAACwB,GAAG,CAACC,gBAAgB,CAAC,CAAC;IAEhDnD,MAAM,CAACyC,qBAAqB,CAAC,CAACU,gBAAgB,CAAC,CAAC;IAEhD,MAAMjD,EAAE,CAACkD,yBAAyB,CAAC,CAAC;IAEpCpD,MAAM,CAACW,KAAK,CAACY,kBAAkB,CAAC,CAAC8B,oBAAoB,CAAC,CAAC;IACvDrD,MAAM,CAAC0B,iBAAiB,CAAC,CAACwB,GAAG,CAACC,gBAAgB,CAAC,CAAC;EAClD,CAAC,CAAC;EAEFlD,EAAE,CAAC,8DAA8D,EAAE,YAAY;IAC7EC,EAAE,CAACsC,aAAa,CAAC,CAAC;IAElBtC,EAAE,CAAC0C,UAAU,CACX,uBAAuB,EACvB1C,EAAE,CAACY,EAAE,CAAE4B,QAAqC,IAAK;MAC/CC,UAAU,CAAC,MAAMD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MAChC,OAAO,CAAC;IACV,CAAC,CACH,CAAC;IAED/B,KAAK,CAACY,kBAAkB,CACrB+B,mBAAmB,CAAChD,sBAAsB,CAACsB,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAClE0B,mBAAmB,CAClBhD,sBAAsB,CACpB;MACEiD,YAAY,EAAE,UAAU;MACxB/C,MAAM,EAAE,gBAAgB;MACxBgD,UAAU,EAAE;IACd,CAAC,EACD;MACED,YAAY,EAAE,UAAU;MACxBC,UAAU,EAAE,UAAU;MACtBC,IAAI,EAAE,gBAAgB;MACtBC,cAAc,EAAE;IAClB,CACF,CACF,CAAC;IAEH,MAAM;MAAE7B,MAAM;MAAEH;IAAkB,CAAC,GAAGD,YAAY,CAAC,CAAC;IACpD,MAAM;MAAEoB;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IAEvCA,IAAI,CAAC;MAAEc,QAAQ,EAAE,IAAI;MAAE9B;IAAO,CAAC,CAAC;IAEhC,MAAM3B,EAAE,CAAC0D,iBAAiB,CAAC,CAAC;IAE5B5D,MAAM,CAACW,KAAK,CAACY,kBAAkB,CAAC,CAACsC,qBAAqB,CAAC,CAAC,CAAC;IACzD7D,MAAM,CAAC0B,iBAAiB,CAAC,CAACmC,qBAAqB,CAAC,CAAC,CAAC;EACpD,CAAC,CAAC;EAEF5D,EAAE,CAAC,sDAAsD,EAAE,YAAY;IACrEC,EAAE,CAACsC,aAAa,CAAC,CAAC;IAElBtC,EAAE,CAAC0C,UAAU,CACX,uBAAuB,EACvB1C,EAAE,CAACY,EAAE,CAAE4B,QAAqC,IAAK;MAC/CC,UAAU,CAAC,MAAMD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MAChC,OAAO,CAAC;IACV,CAAC,CACH,CAAC;IAED/B,KAAK,CAACY,kBAAkB,CAACgB,eAAe,CACtCjC,sBAAsB,CACpB;MACEiD,YAAY,EAAE,UAAU;MACxB/C,MAAM,EAAE,gBAAgB;MACxBgD,UAAU,EAAE;IACd,CAAC,EACD;MACED,YAAY,EAAE,UAAU;MACxBC,UAAU,EAAE,UAAU;MACtBC,IAAI,EAAE,gBAAgB;MACtBC,cAAc,EAAE;IAClB,CACF,CACF,CAAC;IAED/C,KAAK,CAACW,wBAAwB,CAACiB,eAAe,CAAC;MAC7CuB,MAAM,EAAE,UAAU;MAClBC,QAAQ,EAAE;IACZ,CAAC,CAAC;IAEF,MAAM;MAAElC,MAAM;MAAEH;IAAkB,CAAC,GAAGD,YAAY,CAAC,CAAC;IACpD,MAAM;MAAEoB;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IAEvCA,IAAI,CAAC;MACHc,QAAQ,EAAE,IAAI;MACdb,cAAc,EAAE;QACdC,aAAa,EAAE;MACjB,CAAC;MACDC,cAAc,EAAE,IAAI;MACpBnB;IACF,CAAC,CAAC;IAEF,MAAM3B,EAAE,CAACkD,yBAAyB,CAAC,CAAC;IAEpCpD,MAAM,CAAC0B,iBAAiB,CAAC,CAAC2B,oBAAoB,CAAC;MAC7CW,UAAU,EAAE,OAAO;MACnBC,OAAO,EAAE,YAAY;MACrBC,MAAM,EAAE,KAAK;MACbC,eAAe,EAAE,kBAAkB;MACnCZ,YAAY,EAAE,UAAU;MACxBa,aAAa,EAAE,IAAI;MACnBC,SAAS,EAAE,YAAY;MACvBC,QAAQ,EAAE,KAAK;MACfxB,cAAc,EAAE;QACdC,aAAa,EAAE;MACjB,CAAC;MACDC,cAAc,EAAE,IAAI;MACpBQ,UAAU,EAAE,UAAU;MACtBe,WAAW,EAAE,IAAI;MACjBd,IAAI,EAAE,gBAAgB;MACtBC,cAAc,EAAE,aAAa;MAC7BI,MAAM,EAAE,UAAU;MAClBC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9D,EAAE,CAAC,oEAAoE,EAAE,YAAY;IACnFC,EAAE,CAACsC,aAAa,CAAC,CAAC;IAElBtC,EAAE,CAAC0C,UAAU,CACX,uBAAuB,EACvB1C,EAAE,CAACY,EAAE,CAAE4B,QAAqC,IAAK;MAC/CC,UAAU,CAAC,MAAMD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MAChC,OAAO,CAAC;IACV,CAAC,CACH,CAAC;IAED/B,KAAK,CAACY,kBAAkB,CAACgB,eAAe,CACtCjC,sBAAsB,CACpB;MACEiD,YAAY,EAAE,UAAU;MACxB/C,MAAM,EAAE,WAAW;MACnBgD,UAAU,EAAE;IACd,CAAC,EACD;MACED,YAAY,EAAE,UAAU;MACxBC,UAAU,EAAE,UAAU;MACtBC,IAAI,EAAE,WAAW;MACjBC,cAAc,EAAE;IAClB,CACF,CACF,CAAC;IAED,MAAM;MAAE7B,MAAM;MAAEH;IAAkB,CAAC,GAAGD,YAAY,CAAC,CAAC;IACpD,MAAM;MAAEoB;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IAEvCA,IAAI,CAAC;MAAEc,QAAQ,EAAE,IAAI;MAAE9B;IAAO,CAAC,CAAC;IAChCgB,IAAI,CAAC;MAAEc,QAAQ,EAAE,IAAI;MAAE9B;IAAO,CAAC,CAAC;IAEhC,MAAM3B,EAAE,CAACkD,yBAAyB,CAAC,CAAC;IAEpCpD,MAAM,CAAC0B,iBAAiB,CAAC,CAACmC,qBAAqB,CAAC,CAAC,CAAC;EACpD,CAAC,CAAC;EAEF5D,EAAE,CAAC,wEAAwE,EAAE,YAAY;IACvFC,EAAE,CAACsC,aAAa,CAAC,CAAC;IAElB,MAAMgC,IAAI,GAAGtE,EAAE,CAACuE,KAAK,CAACC,OAAO,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,8CAA8C,CAAC;IACvE,MAAMC,OAAO,GAAG5E,EAAE,CAACY,EAAE,CAAC,CAAC;IACvB,MAAMiE,gBAAgB,GAAG7E,EAAE,CAACY,EAAE,CAAC,CAAC;IAChCZ,EAAE,CAAC0C,UAAU,CACX,uBAAuB,EACvB1C,EAAE,CAACY,EAAE,CAAE4B,QAAqC,IAAK;MAC/CC,UAAU,CAAC,MAAMD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MAChC,OAAO,CAAC;IACV,CAAC,CACH,CAAC;IACD/B,KAAK,CAACY,kBAAkB,CAACgB,eAAe,CACtCjC,sBAAsB,CACpB;MACEiD,YAAY,EAAE,UAAU;MACxB/C,MAAM,EAAE,gBAAgB;MACxBgD,UAAU,EAAE;IACd,CAAC,EACD;MACED,YAAY,EAAE,UAAU;MACxBC,UAAU,EAAE,UAAU;MACtBC,IAAI,EAAE,gBAAgB;MACtBC,cAAc,EAAE;IAClB,CACF,CACF,CAAC;IACD,MAAM;MAAE7B;IAAO,CAAC,GAAGJ,YAAY,CAACvB,EAAE,CAACY,EAAE,CAAC,CAAC,CAACkE,iBAAiB,CAACJ,KAAK,CAAC,CAAC;IACjE,MAAM;MAAE/B;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IAEvCA,IAAI,CAAC;MACHc,QAAQ,EAAE,IAAI;MACdmB,OAAO;MACPC,gBAAgB;MAChBlD;IACF,CAAC,CAAC;IAEF,MAAM3B,EAAE,CAACkD,yBAAyB,CAAC,CAAC;IAEpCpD,MAAM,CAAC8E,OAAO,CAAC,CAAC5B,GAAG,CAACC,gBAAgB,CAAC,CAAC;IACtCnD,MAAM,CAACwE,IAAI,CAAC,CAACnB,oBAAoB,CAC/B,wDAAwD,EACxDuB,KACF,CAAC;IACD5E,MAAM,CAAC+E,gBAAgB,CAAC,CAAC1B,oBAAoB,CAAC;MAC5CE,YAAY,EAAE,UAAU;MACxB/C,MAAM,EAAE,gBAAgB;MACxBgD,UAAU,EAAE;IACd,CAAC,CAAC;IACFgB,IAAI,CAACS,WAAW,CAAC,CAAC;EACpB,CAAC,CAAC;EAEFhF,EAAE,CAAC,mCAAmC,EAAE,YAAY;IAClD,MAAM;MAAEiF;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IAEvCA,IAAI,CAAC;MACHrD,MAAM,EAAEJ,YAAY,CAAC,CAAC,CAACI,MAAM;MAC7B6B,cAAc,EAAE;IAClB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFzD,EAAE,CAAC,4CAA4C,EAAE,YAAY;IAC3D,MAAM;MAAEiF;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;IACvC,MAAMC,SAAiD,GAAGA,CAAA,KAAM,IAAI;IAEpE,MAAMC,gBAAgB,GAAGF,IAAI,CAAC;MAC5BrD,MAAM,EAAEJ,YAAY,CAAC,CAAC,CAACI,MAAM;MAC7B6B,cAAc,EAAE;IAClB,CAAC,CAAC,CAACyB,SAAS,CAAC;IAEb,MAAME,iBAAyD,GAC7DD,gBAAgB;IAClBpF,MAAM,CAACqF,iBAAiB,CAAC,CAACC,IAAI,CAACF,gBAAgB,CAAC;EAClD,CAAC,CAAC;EAEFnF,EAAE,CAAC,wDAAwD,EAAE,MAAM;IACjE,MAAMsF,WAAW,GAAG;MAClBC,OAAO,EAAE,6BAA6B;MACtC9B,cAAc,EAAE;IAClB,CAA6B;IAE7B1D,MAAM,CAACuF,WAAW,CAAC7B,cAAc,CAAC,CAAC4B,IAAI,CAAC,YAAY,CAAC;EACvD,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- import type { HotUpdaterError } from "./error";
2
- import type { HotUpdaterHttpClient } from "./httpClient";
3
- import { type NotifyAppReadyResult } from "./native";
4
- export type NotifyAppReadyOptions = {
5
- insights?: boolean;
6
- client: HotUpdaterHttpClient;
7
- requestHeaders?: Record<string, string>;
8
- requestTimeout?: number;
9
- onNotifyAppReady?: (result: NotifyAppReadyResult) => void;
10
- onError?: (error: HotUpdaterError | Error | unknown) => void;
11
- };
12
- export declare const handleNotifyAppReady: (options: NotifyAppReadyOptions) => Promise<void>;
13
- //# sourceMappingURL=notifyAppReadyInsights.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifyAppReadyInsights.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyInsights.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAuB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EASL,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;CAC9D,CAAC;AA4IF,eAAO,MAAM,oBAAoB,YACtB,qBAAqB,KAC7B,OAAO,CAAC,IAAI,CA2Bd,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { NotifyAppReadyInsightsEvent, NotifyAppReadyResult } from "./native";
2
- export declare const createNotifyReadResult: (result?: NotifyAppReadyResult, insightsEvent?: NotifyAppReadyInsightsEvent | null, pending?: boolean) => {
3
- insightsEvent: NotifyAppReadyInsightsEvent | null;
4
- pending: boolean;
5
- result: NotifyAppReadyResult;
6
- };
7
- export declare const stubNotifyFrame: () => void;
8
- //# sourceMappingURL=notifyAppReadyInsights.test-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifyAppReadyInsights.test-utils.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyInsights.test-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,sBAAsB,YACzB,oBAAoB,kBACb,2BAA2B,GAAG,IAAI,wBAEhD;IACD,aAAa,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;CAK7B,CAAC;AAEH,eAAO,MAAM,eAAe,YAS3B,CAAC"}