@hot-updater/react-native 1.0.0-rc.4 → 1.0.0-rc.41
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.
- package/android/build.gradle +13 -2
- package/android/proguard-rules.pro +8 -2
- package/android/src/bridge/BridgeReactInstance.kt +38 -0
- package/android/src/bridgeless/BridgeReactInstance.kt +24 -0
- package/android/src/main/java/com/hotupdater/ActivityStartGate.kt +94 -0
- package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
- package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +1064 -844
- package/android/src/main/java/com/hotupdater/BundleMetadata.kt +50 -11
- package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +287 -22
- package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +46 -30
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +75 -192
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
- package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
- package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
- package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
- package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
- package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +127 -50
- package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
- package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
- package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
- package/android/src/newarch/HotUpdater.kt +7 -9
- package/android/src/newarch/HotUpdaterModule.kt +109 -84
- package/android/src/newarch/JavaScriptExceptionHooks.kt +48 -0
- package/android/src/newarch/ReactIntegrationManager.kt +6 -32
- package/android/src/oldarch/HotUpdater.kt +7 -9
- package/android/src/oldarch/HotUpdaterModule.kt +98 -74
- package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
- package/android/src/oldarch/JavaScriptExceptionHooks.kt +71 -0
- package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
- package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
- package/ios/HotUpdater/Internal/BundleFileStorageService.swift +1032 -1116
- package/ios/HotUpdater/Internal/BundleMetadata.swift +61 -54
- package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
- package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
- package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
- package/ios/HotUpdater/Internal/HotUpdater.mm +32 -67
- package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +229 -73
- package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
- package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
- package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
- package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +119 -71
- package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
- package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
- package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
- package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
- package/lib/commonjs/appReady.js +96 -0
- package/lib/commonjs/appReady.js.map +1 -0
- package/lib/commonjs/checkForUpdate.js +121 -69
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/clientPlugin.js +13 -0
- package/lib/commonjs/clientPlugin.js.map +1 -0
- package/lib/commonjs/error.js +5 -14
- package/lib/commonjs/error.js.map +1 -1
- package/lib/commonjs/fetchJSON.js +16 -27
- package/lib/commonjs/fetchJSON.js.map +1 -1
- package/lib/commonjs/fetchUpdateResponse.js +60 -0
- package/lib/commonjs/fetchUpdateResponse.js.map +1 -0
- package/lib/commonjs/httpClient.js +64 -95
- package/lib/commonjs/httpClient.js.map +1 -1
- package/lib/commonjs/index.js +355 -324
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/init.types.js +6 -0
- package/lib/commonjs/init.types.js.map +1 -0
- package/lib/commonjs/native.js +77 -63
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/pluginHost.js +41 -0
- package/lib/commonjs/pluginHost.js.map +1 -0
- package/lib/commonjs/releaseCatalogCache.js +36 -87
- package/lib/commonjs/releaseCatalogCache.js.map +1 -1
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/commonjs/sdkVersion.js.map +1 -1
- package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
- package/lib/commonjs/store.js +3 -10
- package/lib/commonjs/store.js.map +1 -1
- package/lib/commonjs/updateError.js +145 -0
- package/lib/commonjs/updateError.js.map +1 -0
- package/lib/commonjs/wrap.js +46 -38
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/module/appReady.js +90 -0
- package/lib/module/appReady.js.map +1 -0
- package/lib/module/checkForUpdate.js +114 -64
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/clientPlugin.js +4 -0
- package/lib/module/clientPlugin.js.map +1 -0
- package/lib/module/error.js +5 -14
- package/lib/module/error.js.map +1 -1
- package/lib/module/fetchJSON.js +14 -26
- package/lib/module/fetchJSON.js.map +1 -1
- package/lib/module/fetchUpdateResponse.js +55 -0
- package/lib/module/fetchUpdateResponse.js.map +1 -0
- package/lib/module/httpClient.js +63 -94
- package/lib/module/httpClient.js.map +1 -1
- package/lib/module/index.js +335 -327
- package/lib/module/index.js.map +1 -1
- package/lib/module/init.types.js +4 -0
- package/lib/module/init.types.js.map +1 -0
- package/lib/module/native.js +70 -56
- package/lib/module/native.js.map +1 -1
- package/lib/module/pluginHost.js +36 -0
- package/lib/module/pluginHost.js.map +1 -0
- package/lib/module/releaseCatalogCache.js +32 -82
- package/lib/module/releaseCatalogCache.js.map +1 -1
- package/lib/module/sdkVersion.js +1 -1
- package/lib/module/sdkVersion.js.map +1 -1
- package/lib/module/specs/NativeHotUpdater.js.map +1 -1
- package/lib/module/store.js +3 -10
- package/lib/module/store.js.map +1 -1
- package/lib/module/updateError.js +139 -0
- package/lib/module/updateError.js.map +1 -0
- package/lib/module/wrap.js +47 -38
- package/lib/module/wrap.js.map +1 -1
- package/lib/typescript/commonjs/appReady.d.ts +30 -0
- package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
- package/lib/typescript/commonjs/checkForUpdate.d.ts +20 -6
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
- package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
- package/lib/typescript/commonjs/error.d.ts +5 -14
- package/lib/typescript/commonjs/error.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchJSON.d.ts +5 -5
- package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchUpdateResponse.d.ts +14 -0
- package/lib/typescript/commonjs/fetchUpdateResponse.d.ts.map +1 -0
- package/lib/typescript/commonjs/httpClient.d.ts +5 -34
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +124 -116
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/init.types.d.ts +21 -0
- package/lib/typescript/commonjs/init.types.d.ts.map +1 -0
- package/lib/typescript/commonjs/native.d.ts +32 -25
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/pluginHost.d.ts +8 -0
- package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts +8 -14
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +35 -47
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/commonjs/store.d.ts +1 -3
- package/lib/typescript/commonjs/store.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +1 -1
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/updateError.d.ts +26 -0
- package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
- package/lib/typescript/commonjs/wrap.d.ts +2 -3
- package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
- package/lib/typescript/commonjs/wrap.types.d.ts +13 -41
- package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
- package/lib/typescript/module/appReady.d.ts +30 -0
- package/lib/typescript/module/appReady.d.ts.map +1 -0
- package/lib/typescript/module/checkForUpdate.d.ts +20 -6
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/clientPlugin.d.ts +2 -0
- package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
- package/lib/typescript/module/error.d.ts +5 -14
- package/lib/typescript/module/error.d.ts.map +1 -1
- package/lib/typescript/module/fetchJSON.d.ts +5 -5
- package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/module/fetchUpdateResponse.d.ts +14 -0
- package/lib/typescript/module/fetchUpdateResponse.d.ts.map +1 -0
- package/lib/typescript/module/httpClient.d.ts +5 -34
- package/lib/typescript/module/httpClient.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +124 -116
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/init.types.d.ts +21 -0
- package/lib/typescript/module/init.types.d.ts.map +1 -0
- package/lib/typescript/module/native.d.ts +32 -25
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/pluginHost.d.ts +8 -0
- package/lib/typescript/module/pluginHost.d.ts.map +1 -0
- package/lib/typescript/module/releaseCatalogCache.d.ts +8 -14
- package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts +35 -47
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/module/store.d.ts +1 -3
- package/lib/typescript/module/store.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +1 -1
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/updateError.d.ts +26 -0
- package/lib/typescript/module/updateError.d.ts.map +1 -0
- package/lib/typescript/module/wrap.d.ts +2 -3
- package/lib/typescript/module/wrap.d.ts.map +1 -1
- package/lib/typescript/module/wrap.types.d.ts +13 -41
- package/lib/typescript/module/wrap.types.d.ts.map +1 -1
- package/package.json +8 -4
- package/src/appReady.ts +147 -0
- package/src/checkForUpdate.ts +156 -89
- package/src/clientPlugin.ts +21 -0
- package/src/error.ts +5 -15
- package/src/fetchJSON.ts +14 -30
- package/src/fetchUpdateResponse.ts +60 -0
- package/src/httpClient.ts +89 -160
- package/src/index.ts +413 -425
- package/src/init.types.ts +24 -0
- package/src/native.ts +101 -105
- package/src/pluginHost.ts +52 -0
- package/src/releaseCatalogCache.ts +43 -172
- package/src/sdkVersion.ts +1 -1
- package/src/specs/NativeHotUpdater.ts +34 -48
- package/src/store.ts +2 -23
- package/src/types.ts +1 -1
- package/src/updateError.ts +167 -0
- package/src/wrap.tsx +60 -43
- package/src/wrap.types.ts +18 -46
- package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
- package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
- package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
- package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
- package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
- package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
- package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
- package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
- package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
- package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
- package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
- package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
- package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
- package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
- package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
- package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
- package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
- package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
- package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
- package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
- package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
- package/lib/commonjs/catalogCacheNative.spec.js +0 -31
- package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -616
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
- package/lib/commonjs/httpClient.spec.js +0 -102
- package/lib/commonjs/httpClient.spec.js.map +0 -1
- package/lib/commonjs/index.spec.js +0 -302
- package/lib/commonjs/index.spec.js.map +0 -1
- package/lib/commonjs/iosInterop.spec.js +0 -18
- package/lib/commonjs/iosInterop.spec.js.map +0 -1
- package/lib/commonjs/native.spec.js +0 -883
- package/lib/commonjs/native.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.js +0 -133
- package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
- package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
- package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
- package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
- package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
- package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
- package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
- package/lib/commonjs/store.notification.spec.js +0 -76
- package/lib/commonjs/store.notification.spec.js.map +0 -1
- package/lib/commonjs/store.spec.js +0 -316
- package/lib/commonjs/store.spec.js.map +0 -1
- package/lib/commonjs/wrap.spec.js +0 -329
- package/lib/commonjs/wrap.spec.js.map +0 -1
- package/lib/module/catalogCacheNative.spec.js +0 -31
- package/lib/module/catalogCacheNative.spec.js.map +0 -1
- package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -615
- package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
- package/lib/module/httpClient.spec.js +0 -102
- package/lib/module/httpClient.spec.js.map +0 -1
- package/lib/module/index.spec.js +0 -301
- package/lib/module/index.spec.js.map +0 -1
- package/lib/module/iosInterop.spec.js +0 -18
- package/lib/module/iosInterop.spec.js.map +0 -1
- package/lib/module/native.spec.js +0 -882
- package/lib/module/native.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
- package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.js +0 -128
- package/lib/module/notifyAppReadyInsights.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.spec.js +0 -245
- package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
- package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
- package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
- package/lib/module/releaseCatalogCache.spec.js +0 -195
- package/lib/module/releaseCatalogCache.spec.js.map +0 -1
- package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
- package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
- package/lib/module/store.notification.spec.js +0 -77
- package/lib/module/store.notification.spec.js.map +0 -1
- package/lib/module/store.spec.js +0 -315
- package/lib/module/store.spec.js.map +0 -1
- package/lib/module/wrap.spec.js +0 -330
- package/lib/module/wrap.spec.js.map +0 -1
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
- package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
- package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
- package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
- package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
- package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
- package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
- package/src/catalogCacheNative.spec.ts +0 -63
- package/src/checkForUpdate.releaseCatalog.spec.ts +0 -612
- package/src/httpClient.spec.ts +0 -132
- package/src/index.spec.ts +0 -337
- package/src/iosInterop.spec.ts +0 -30
- package/src/native.spec.ts +0 -945
- package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
- package/src/notifyAppReadyInsights.spec.ts +0 -243
- package/src/notifyAppReadyInsights.test-utils.ts +0 -31
- package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
- package/src/notifyAppReadyInsights.ts +0 -194
- package/src/releaseCatalogCache.spec.ts +0 -282
- package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
- package/src/store.notification.spec.ts +0 -92
- package/src/store.spec.ts +0 -372
- package/src/wrap.spec.ts +0 -406
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["checkForUpdate","createHttpClient","addListener","getPublicActiveUpdateState","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","
|
|
1
|
+
{"version":3,"names":["createLaunchReporter","checkForUpdate","reportUpdateError","createHttpClient","addListener","getPublicActiveUpdateState","getActiveUpdateState","getBundleId","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","stageBundle","createAppPluginHost","hotUpdaterStore","wrap","defineClientPlugin","insights","remoteConfig","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","createMissingNetworkConfigError","Error","nativeMethods","isUpdateDownloaded","getSnapshot","ok","setState","artifactType","details","progress","createConfiguredMethods","config","check","options","client","emit","launch","requestHeaders","requestTimeout","onError","updateBundle","params","fromBundleId","state","active","activeSelection","fromReleaseId","bundleId","releaseId","stableSelection","channel","strategyOf","scopeKey","startsWith","delivery","error","undefined","targetBundleId","targetReleaseId","selection","updateStrategy","toBundleId","toReleaseId","appReady","HotUpdater","init","baseURL","plugins","onNotifyAppReady","host","instance","response","reservedIds","Set","Object","keys","plugin","has","id","apis","configurePlugins","read","freeze"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAA6B,eAAY;AACtE,SAEEC,cAAc,EACdC,iBAAiB,QACZ,qBAAkB;AAEzB,SAASC,gBAAgB,QAAmC,iBAAc;AAE1E,SACEC,WAAW,EACXC,0BAA0B,EAC1BC,oBAAoB,EACpBC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,iBAAiB,EACjBC,cAAc,EACdC,MAAM,EACNC,YAAY,EACZC,SAAS,EACTC,iBAAiB,EACjBC,WAAW,QAEN,aAAU;AACjB,SAASC,mBAAmB,QAAQ,iBAAc;AAClD,SAASC,eAAe,QAAQ,YAAS;AACzC,SAAqCC,IAAI,QAAQ,WAAQ;AAEzD,SACEC,kBAAkB,QAiBb,mBAAgB;AACvB;AACA,SACEC,QAAQ,QAKH,qCAAqC;AAC5C;AACA,SACEC,YAAY,QAWP,0CAA0C;AAajD,cAAc,YAAS;AACvB,SACEC,uBAAuB,EAEvBC,4BAA4B,QAEvB,YAAS;AAQhB;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EACrC,MAAMC,EAAE,GAAG1B,UAAU;;EAErB;EACA,IAAI,OAAO2B,UAAU,KAAK,WAAW,EAAE;IACrC,IAAI,CAACA,UAAU,CAACC,oBAAoB,EAAE;MACpCD,UAAU,CAACC,oBAAoB,GAAGF,EAAE;IACtC;EACF;AACF,CAAC;;AAED;AACAD,wBAAwB,CAAC,CAAC;AAE1B,MAAMI,+BAA+B,GAAGA,CAAA,KACtC,IAAIC,KAAK,CACP,4CAA4C,GAC1C,2DAA2D,GAC3D,iDAAiD,GACjD,4CAA4C,GAC5C,WAAW,GACX,wDACJ,CAAC;;AAEH;AACA,MAAMC,aAAa,GAAG;EACpB;AACF;AACA;EACEnB,MAAM;EAEN;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,iBAAiB;EAEjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEiB,kBAAkB,EAAEA,CAAA,KAAMd,eAAe,CAACe,WAAW,CAAC,CAAC,CAACD,kBAAkB;EAE1E;AACF;AACA;EACEjC,aAAa;EAEb;EACAH,oBAAoB,EAAE,MAAAA,CAAA,KAAYD,0BAA0B,CAAC,CAAC;EAE9D;AACF;AACA;AACA;EACEE,WAAW,EAAEI,WAAW;EAExB;EACAQ,cAAc;EAEd;AACF;AACA;EACED,WAAW;EAEX;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEN,UAAU;EAEV;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,iBAAiB;EAEjB;AACF;AACA;AACA;AACA;EACEK,iBAAiB;EAEjB;AACF;AACA;AACA;EACEI,SAAS;EAET;AACF;AACA;EACEX,SAAS;EAET;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACET,WAAW;EAEX;AACF;AACA;AACA;AACA;EACEmB,YAAY,EAAE,MAAAA,CAAA,KAAY;IACxB,MAAMqB,EAAE,GAAG,MAAMrB,YAAY,CAAC,CAAC;IAC/B,IAAIqB,EAAE,EAAE;MACNhB,eAAe,CAACiB,QAAQ,CAAC;QACvBC,YAAY,EAAE,IAAI;QAClBC,OAAO,EAAE,IAAI;QACbL,kBAAkB,EAAE,KAAK;QACzBM,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ;IACA,OAAOJ,EAAE;EACX,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE5B,kBAAkB;EAElB;AACF;AACA;EACEC,YAAY;EAEZ;AACF;AACA;EACEI,cAAc;EAEd;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEP,eAAe;EAEf;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEN;AACF,CAAC;;AAED;;AASA;AACA,MAAMyC,uBAAuB,GAAIC,MAAs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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["init.types.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/native.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { INVALID_COHORT_ERROR_MESSAGE, isValidCohort, normalizeCohortValue } from "@hot-updater/
|
|
3
|
+
import { INVALID_COHORT_ERROR_MESSAGE, isValidCohort, normalizeCohortValue } from "@hot-updater/protocol";
|
|
4
4
|
import { NativeEventEmitter, Platform } from "react-native";
|
|
5
5
|
import { HotUpdaterErrorCode, isHotUpdaterError } from "./error.js";
|
|
6
6
|
import HotUpdaterNative from "./specs/NativeHotUpdater.js";
|
|
@@ -15,7 +15,7 @@ const normalizeAndValidateCohort = cohort => {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* Built-in reload behaviors used by `
|
|
18
|
+
* Built-in reload behaviors used by `hotUpdater.reload()`.
|
|
19
19
|
*
|
|
20
20
|
* - `reload`: In-process React Native reload.
|
|
21
21
|
* - `processRestart`: Android-only cold restart. On iOS the same call behaves like `reload`.
|
|
@@ -188,24 +188,40 @@ export const commitReleaseSelection = async input => {
|
|
|
188
188
|
return ok;
|
|
189
189
|
};
|
|
190
190
|
|
|
191
|
+
/** How native delivered a staged bundle. */
|
|
192
|
+
|
|
193
|
+
const readBundleDelivery = value => {
|
|
194
|
+
if (typeof value !== "object" || value === null) return null;
|
|
195
|
+
const {
|
|
196
|
+
delivery,
|
|
197
|
+
patchFallback
|
|
198
|
+
} = value;
|
|
199
|
+
if (delivery !== "patch" && delivery !== "manifest" && delivery !== "archive") {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
delivery,
|
|
204
|
+
patchFallback: patchFallback === true
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
|
|
191
208
|
/**
|
|
192
|
-
*
|
|
209
|
+
* Stages a bundle for the next launch. Resolves with how native delivered
|
|
210
|
+
* it, or with null when this runtime had already staged it and nothing was
|
|
211
|
+
* downloaded; rejects when the download or install fails.
|
|
193
212
|
*
|
|
194
|
-
* @param {UpdateParams} params - Parameters object required for bundle update
|
|
195
|
-
* @returns {Promise<boolean>} Resolves with true if download was successful
|
|
196
213
|
* @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
|
|
197
214
|
*/
|
|
198
|
-
export async function
|
|
215
|
+
export async function stageBundle(params) {
|
|
199
216
|
const updateBundleId = params.bundleId;
|
|
200
217
|
const status = params.status;
|
|
201
|
-
const targetFileUrl = params.fileUrl;
|
|
202
218
|
const currentBundleId = status === "UPDATE" ? getFreshBundleId() : undefined;
|
|
203
219
|
|
|
204
220
|
// If native is still on the same bundle we installed in this session,
|
|
205
221
|
// skip re-download. Native state can move back to the built-in bundle after
|
|
206
222
|
// rollback/reset, so check a fresh native bundle id before using this guard.
|
|
207
223
|
if (status === "UPDATE" && sessionState.hasInstalledBundle(updateBundleId) && currentBundleId === updateBundleId) {
|
|
208
|
-
return
|
|
224
|
+
return null;
|
|
209
225
|
}
|
|
210
226
|
const shouldSkipCurrentBundleIdCheck = params.shouldSkipCurrentBundleIdCheck === true;
|
|
211
227
|
if (!shouldSkipCurrentBundleIdCheck && status === "UPDATE" && currentBundleId !== undefined && updateBundleId.localeCompare(currentBundleId) <= 0) {
|
|
@@ -215,30 +231,28 @@ export async function updateBundle(params) {
|
|
|
215
231
|
// In-flight guard: return the same promise if the same bundle is already updating.
|
|
216
232
|
const existing = sessionState.getInflightUpdate(updateBundleId);
|
|
217
233
|
if (existing) return existing;
|
|
218
|
-
const targetFileHash = params.fileHash;
|
|
219
234
|
const targetChannel = params.channel;
|
|
220
235
|
const targetManifestUrl = params.manifestUrl;
|
|
221
236
|
const targetManifestFileHash = params.manifestFileHash;
|
|
222
|
-
const
|
|
237
|
+
const targetAssets = params.assets;
|
|
223
238
|
const promise = (async () => {
|
|
224
239
|
try {
|
|
225
240
|
const selection = params.selection;
|
|
226
|
-
const
|
|
241
|
+
const staged = await HotUpdaterNative.updateBundle({
|
|
227
242
|
bundleId: updateBundleId,
|
|
228
243
|
channel: targetChannel,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
244
|
+
assets: targetAssets,
|
|
245
|
+
manifestFileHash: targetManifestFileHash,
|
|
246
|
+
manifestUrl: targetManifestUrl,
|
|
247
|
+
...(params.archiveUrl ? {
|
|
248
|
+
archiveUrl: params.archiveUrl
|
|
249
|
+
} : {}),
|
|
234
250
|
...(selection === undefined ? {} : {
|
|
235
251
|
selection
|
|
236
252
|
})
|
|
237
253
|
});
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
return ok;
|
|
254
|
+
sessionState.markBundleInstalled(updateBundleId, targetChannel);
|
|
255
|
+
return readBundleDelivery(staged);
|
|
242
256
|
} finally {
|
|
243
257
|
sessionState.clearInflightUpdate(updateBundleId);
|
|
244
258
|
}
|
|
@@ -247,6 +261,18 @@ export async function updateBundle(params) {
|
|
|
247
261
|
return promise;
|
|
248
262
|
}
|
|
249
263
|
|
|
264
|
+
/**
|
|
265
|
+
* Downloads files and applies them to the app.
|
|
266
|
+
*
|
|
267
|
+
* @param {UpdateParams} params - Parameters object required for bundle update
|
|
268
|
+
* @returns {Promise<boolean>} Resolves with true if download was successful
|
|
269
|
+
* @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
|
|
270
|
+
*/
|
|
271
|
+
export async function updateBundle(params) {
|
|
272
|
+
await stageBundle(params);
|
|
273
|
+
return true;
|
|
274
|
+
}
|
|
275
|
+
|
|
250
276
|
/**
|
|
251
277
|
* Fetches the current app version.
|
|
252
278
|
*/
|
|
@@ -288,7 +314,7 @@ export const reload = async () => {
|
|
|
288
314
|
};
|
|
289
315
|
|
|
290
316
|
/**
|
|
291
|
-
* Configures how `
|
|
317
|
+
* Configures how `hotUpdater.reload()` should behave.
|
|
292
318
|
*
|
|
293
319
|
* This API is available on both Android and iOS so app code can stay symmetric.
|
|
294
320
|
* By default, HotUpdater uses `processRestart`.
|
|
@@ -419,39 +445,31 @@ export const getInstallId = () => {
|
|
|
419
445
|
}
|
|
420
446
|
return nativeModule.getInstallId();
|
|
421
447
|
};
|
|
422
|
-
|
|
423
|
-
const
|
|
424
|
-
if (typeof
|
|
425
|
-
throw new Error(
|
|
448
|
+
const requireStorageNativeMethod = name => {
|
|
449
|
+
const method = HotUpdaterNative[name];
|
|
450
|
+
if (typeof method !== "function") {
|
|
451
|
+
throw new Error(`[HotUpdater] Native module is missing '${name}()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.`);
|
|
426
452
|
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
453
|
+
return method.bind(HotUpdaterNative);
|
|
454
|
+
};
|
|
455
|
+
|
|
456
|
+
/** Reads a value from the SDK's native key-value store. */
|
|
457
|
+
export const getStorageItem = key => {
|
|
458
|
+
const value = requireStorageNativeMethod("getStorageItem")(key);
|
|
459
|
+
return typeof value === "string" ? value : null;
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
/** Writes a value to the SDK's native key-value store; null removes it. */
|
|
463
|
+
export const setStorageItem = (key, value) => {
|
|
464
|
+
requireStorageNativeMethod("setStorageItem")(key, value);
|
|
437
465
|
};
|
|
438
|
-
export function setUser(params) {
|
|
439
|
-
const nativeModule = HotUpdaterNative;
|
|
440
|
-
if (typeof nativeModule.setUser !== "function") {
|
|
441
|
-
throw new Error("[HotUpdater] Native module is missing 'setUser()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.");
|
|
442
|
-
}
|
|
443
|
-
if (params === null) {
|
|
444
|
-
nativeModule.setUser(null, null);
|
|
445
|
-
return;
|
|
446
|
-
}
|
|
447
|
-
const normalizedUserId = params.userId === null || params.userId === undefined ? null : String(params.userId);
|
|
448
|
-
nativeModule.setUser(normalizedUserId, params.username ?? null);
|
|
449
|
-
}
|
|
450
466
|
|
|
451
467
|
/**
|
|
452
468
|
* Result returned by notifyAppReady()
|
|
453
469
|
*/
|
|
454
470
|
|
|
471
|
+
/** An update applied or recovered at this launch, as native persisted it. */
|
|
472
|
+
|
|
455
473
|
const isPersistedUpdateStrategy = value => {
|
|
456
474
|
return value === "appVersion" || value === "fingerprint";
|
|
457
475
|
};
|
|
@@ -517,7 +535,7 @@ const getNotifyAppReadyTransition = result => {
|
|
|
517
535
|
}
|
|
518
536
|
return null;
|
|
519
537
|
};
|
|
520
|
-
const
|
|
538
|
+
const getLaunchTransition = result => {
|
|
521
539
|
const transition = getNotifyAppReadyTransition(result);
|
|
522
540
|
if (!transition || !isPersistedUpdateStrategy(result.updateStrategy)) {
|
|
523
541
|
return null;
|
|
@@ -526,12 +544,8 @@ const getNotifyAppReadyInsightsEvent = result => {
|
|
|
526
544
|
type: transition.status,
|
|
527
545
|
fromBundleId: transition.fromBundleId,
|
|
528
546
|
toBundleId: transition.toBundleId,
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
}),
|
|
532
|
-
...(transition.toReleaseId === null ? {} : {
|
|
533
|
-
toReleaseId: transition.toReleaseId
|
|
534
|
-
}),
|
|
547
|
+
fromReleaseId: transition.fromReleaseId,
|
|
548
|
+
toReleaseId: transition.toReleaseId,
|
|
535
549
|
updateStrategy: result.updateStrategy
|
|
536
550
|
};
|
|
537
551
|
};
|
|
@@ -558,7 +572,7 @@ export const readNotifyAppReady = () => {
|
|
|
558
572
|
const rawResult = readRawNotifyAppReadyResult();
|
|
559
573
|
return {
|
|
560
574
|
result: normalizeNotifyAppReadyResult(rawResult),
|
|
561
|
-
|
|
575
|
+
transition: getLaunchTransition(rawResult),
|
|
562
576
|
pending: rawResult.status === "PENDING"
|
|
563
577
|
};
|
|
564
578
|
};
|
|
@@ -575,7 +589,7 @@ export const readNotifyAppReady = () => {
|
|
|
575
589
|
*
|
|
576
590
|
* @example
|
|
577
591
|
* ```ts
|
|
578
|
-
* const result =
|
|
592
|
+
* const result = hotUpdater.notifyAppReady();
|
|
579
593
|
*
|
|
580
594
|
* if (result.status === "RECOVERED") {
|
|
581
595
|
* console.log(result.fromBundleId, result.toBundleId);
|
package/lib/module/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinBundleId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","updateBundle","params","updateBundleId","status","targetFileUrl","fileUrl","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetFileHash","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetChangedAssets","changedAssets","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","getUpdateId","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","getFingerprintHash","FINGERPRINT_HASH","getInstallId","getPersistedUserIdentity","getUserId","getUsername","userId","username","setUser","normalizedUserId","String","isPersistedUpdateStrategy","readRawNotifyAppReadyResult","result","notifyAppReady","parsed","Array","isArray","readDirectionalBundleId","normalizedBundleId","trim","length","readDirectionalReleaseId","normalizedReleaseId","getNotifyAppReadyTransition","fromBundleId","toBundleId","fromReleaseId","toReleaseId","getNotifyAppReadyInsightsEvent","transition","updateStrategy","type","normalizeNotifyAppReadyResult","readNotifyAppReady","rawResult","insightsEvent","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinBundleId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","readBundleDelivery","delivery","patchFallback","stageBundle","params","updateBundleId","status","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetAssets","staged","updateBundle","archiveUrl","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","getUpdateId","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","getFingerprintHash","FINGERPRINT_HASH","getInstallId","requireStorageNativeMethod","getStorageItem","setStorageItem","isPersistedUpdateStrategy","readRawNotifyAppReadyResult","result","notifyAppReady","parsed","Array","isArray","readDirectionalBundleId","normalizedBundleId","trim","length","readDirectionalReleaseId","normalizedReleaseId","getNotifyAppReadyTransition","fromBundleId","toBundleId","fromReleaseId","toReleaseId","getLaunchTransition","transition","updateStrategy","type","normalizeNotifyAppReadyResult","readNotifyAppReady","rawResult","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":";;AAAA,SAGEA,4BAA4B,EAC5BC,aAAa,EACbC,oBAAoB,QAGf,uBAAuB;AAC9B,SAASC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE3D,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,YAAS;AAChE,OAAOC,gBAAgB,MAEhB,6BAA0B;AAEjC,SAASF,mBAAmB,EAAEC,iBAAiB;AAE/C,MAAME,QAAQ,GAAG,sCAAsC;AAGvD,MAAMC,0BAA0B,GAAIC,MAAc,IAAa;EAC7D,MAAMC,UAAU,GAAGT,oBAAoB,CAACQ,MAAM,CAAC;EAC/C,IAAI,CAACT,aAAa,CAACU,UAAU,CAAC,EAAE;IAC9B,MAAM,IAAIC,KAAK,CAACZ,4BAA4B,CAAC;EAC/C;EACA,OAAOW,UAAU;AACnB,CAAC;;AAoBD;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAME,sBAAsB,CAAC;EAIVC,eAAe,GAAG,IAAIC,GAAG,CAGxC,CAAC;EACKC,qBAAqB,GAAkB,IAAI;EAClCC,yBAAyB,GAAG,IAAIF,GAAG,CAGlD,CAAC;EAEHG,WAAWA,CAAA,EAAG;IACZ,MAAMC,SAAS,GAAGZ,gBAAgB,CAACa,YAAY,CAAC,CAAC;IACjD,IAAI,CAACC,cAAc,GAAGF,SAAS,CAACG,eAAe,IAAIH,SAAS,CAACI,OAAO;IACpE,IAAI,CAACC,cAAc,GAAGL,SAAS,CAACI,OAAO;EACzC;EAEAE,UAAUA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACD,cAAc;EAC5B;EAEAE,iBAAiBA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACL,cAAc;EAC5B;EAEAM,iBAAiBA,CAAA,EAAY;IAC3B,OAAO,IAAI,CAACH,cAAc,KAAK,IAAI,CAACH,cAAc;EACpD;EAEAO,kBAAkBA,CAACC,QAAgB,EAAW;IAC5C,OAAO,IAAI,CAACb,qBAAqB,KAAKa,QAAQ;EAChD;EAEAC,iBAAiBA,CACfD,QAAgB,EAC4B;IAC5C,OAAO,IAAI,CAACf,eAAe,CAACiB,GAAG,CAACF,QAAQ,CAAC;EAC3C;EAEAG,mBAAmBA,CACjBH,QAAgB,EAChBI,OAAuC,EACvC;IACA,IAAI,CAACnB,eAAe,CAACoB,GAAG,CAACL,QAAQ,EAAEI,OAAO,CAAC;EAC7C;EAEAE,mBAAmBA,CAACN,QAAgB,EAAE;IACpC,IAAI,CAACf,eAAe,CAACsB,MAAM,CAACP,QAAQ,CAAC;EACvC;EAEAQ,mBAAmBA,CAACR,QAAgB,EAAES,OAAgB,EAAE;IACtD,IAAI,CAACtB,qBAAqB,GAAGa,QAAQ;IACrC,IAAIS,OAAO,EAAE;MACX,IAAI,CAACd,cAAc,GAAGc,OAAO;IAC/B;IACA,IAAI,CAACC,8BAA8B,CAAC,CAAC;EACvC;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAChB,cAAc,GAAG,IAAI,CAACH,cAAc;IACzC,IAAI,CAACL,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACF,eAAe,CAAC2B,KAAK,CAAC,CAAC;IAC5B,IAAI,CAACF,8BAA8B,CAAC,CAAC;EACvC;EAEAG,iBAAiBA,CAAA,EAAuB;IACtC,OAAO,IAAI,CAACC,4BAA4B,CAAC,UAAU,CAAC;EACtD;EAEAC,aAAaA,CAACf,QAAgB,EAAE;IAC9B,IAAI,CAACgB,4BAA4B,CAAC,UAAU,EAAEhB,QAAQ,CAAC;EACzD;EAEAiB,iBAAiBA,CAAA,EAAyB;IACxC,MAAMC,QAAQ,GAAG,IAAI,CAACJ,4BAA4B,CAAC,UAAU,CAAC;IAC9D,OAAOI,QAAQ,GAAGC,aAAa,CAACD,QAAQ,CAAC,GAAGE,SAAS;EACvD;EAEAC,aAAaA,CAACH,QAAkB,EAAE;IAChC,IAAI,CAACF,4BAA4B,CAAC,UAAU,EAAEG,aAAa,CAACD,QAAQ,CAAC,CAAC;EACxE;EAEAI,gBAAgBA,CAAA,EAA8B;IAC5C,OAAO,IAAI,CAACR,4BAA4B,CAAC,SAAS,CAAC;EACrD;EAEAS,YAAYA,CAACC,OAAsB,EAAE;IACnC,IAAI,CAACR,4BAA4B,CAAC,SAAS,EAAEQ,OAAO,CAAC;EACvD;EAEAC,eAAeA,CAAA,EAAuB;IACpC,OAAO,IAAI,CAACC,YAAY;EAC1B;EAEAC,WAAWA,CAAC9C,MAAc,EAAE;IAC1B,IAAI,CAAC6C,YAAY,GAAG7C,MAAM;EAC5B;EAEQ6B,8BAA8BA,CAAA,EAAG;IACvC,IAAI,CAACtB,yBAAyB,CAACwB,KAAK,CAAC,CAAC;EACxC;EAEQE,4BAA4BA,CAClCc,GAAM,EAC0C;IAChD,OAAO,IAAI,CAACxC,yBAAyB,CAACc,GAAG,CAAC0B,GAAG,CAAC;EAGhD;EAEQZ,4BAA4BA,CAClCY,GAAM,EACNC,KAAyC,EACzC;IACA,IAAI,CAACzC,yBAAyB,CAACiB,GAAG,CAACuB,GAAG,EAAEC,KAAK,CAAC;EAChD;AACF;AAEA,MAAMC,YAAY,GAAG,IAAI9C,sBAAsB,CAAC,CAAC;AACjD,IAAI+C,cAAqC,GAAG,gBAAgB;AAC5D,IAAIC,mBAA+C,GAAG,IAAI;AAE1D,MAAMb,aAAa,GAAID,QAAkB,KAAgB;EACvDlB,QAAQ,EAAEkB,QAAQ,CAAClB,QAAQ;EAC3BiC,MAAM,EAAEC,MAAM,CAACC,WAAW,CACxBD,MAAM,CAACE,OAAO,CAAClB,QAAQ,CAACe,MAAM,CAAC,CAACI,GAAG,CAAC,CAAC,CAACT,GAAG,EAAEU,KAAK,CAAC,KAAK,CACpDV,GAAG,EACH;IACEW,QAAQ,EAAED,KAAK,CAACC,QAAQ;IACxB,IAAID,KAAK,CAACE,SAAS,GAAG;MAAEA,SAAS,EAAEF,KAAK,CAACE;IAAU,CAAC,GAAG,CAAC,CAAC;EAC3D,CAAC,CACF,CACH;AACF,CAAC,CAAC;AAEF,MAAMC,iBAAiB,GAAGA,CAAA,KAAqB;EAC7C,MAAMC,YAAY,GAAGhE,gBAEpB;EAED,IAAI,OAAOgE,YAAY,CAACC,WAAW,KAAK,UAAU,EAAE;IAClD,MAAM,IAAI5D,KAAK,CACb,uMACF,CAAC;EACH;EAEA,OAAO2D,YAAY,CAACC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED,MAAMC,eAAe,GAAI5C,QAAuB,IAAa;EAC3D,OAAO,CAACA,QAAQ,IAAIA,QAAQ,KAAKrB,QAAQ,GAAGkE,cAAc,CAAC,CAAC,GAAG7C,QAAQ;AACzE,CAAC;AAED,MAAM8C,gBAAgB,GAAGA,CAAA,KAAc;EACrC,MAAMC,gBAAgB,GAAGH,eAAe,CAACH,iBAAiB,CAAC,CAAC,CAAC;EAC7DX,YAAY,CAACf,aAAa,CAACgC,gBAAgB,CAAC;EAC5C,OAAOA,gBAAgB;AACzB,CAAC;AAED,MAAMC,gBAAgB,GAAGA,CAAA,KAAoC;EAC3D,MAAMN,YAAY,GAAGhE,gBAEpB;EAED,OAAO,OAAOgE,YAAY,CAACO,aAAa,KAAK,UAAU,GACnDP,YAAY,CAACO,aAAa,CAACC,IAAI,CAACR,YAAY,CAAC,GAC7C,IAAI;AACV,CAAC;AAgED,MAAMS,YAAY,GAAG,IAAI7E,kBAAkB,CAACI,gBAAgB,CAAC;AAE7D,OAAO,MAAM0E,WAAW,GAAGA,CACzBC,SAAY,EACZC,QAA6C,KAC1C;EACH,MAAMC,YAAY,GAAGJ,YAAY,CAACC,WAAW,CAACC,SAAS,EAAEC,QAAQ,CAAC;EAElE,OAAO,MAAM;IACXC,YAAY,CAACC,MAAM,CAAC,CAAC;EACvB,CAAC;AACH,CAAC;AAkCD,MAAMC,iCAAiC,GACrCC,IAAY,IACN;EACN,MAAMC,MAAM,GAAIjF,gBAAgB,CAAwCgF,IAAI,CAAC;EAC7E,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE;IAChC,MAAM,IAAI5E,KAAK,CACb,0CAA0C2E,IAAI,4DAChD,CAAC;EACH;EACA,OAAOC,MAAM,CAACT,IAAI,CAACxE,gBAAgB,CAAC;AACtC,CAAC;AAED,OAAO,MAAMkF,oBAAoB,GAAIC,KAOpC,IACCJ,iCAAiC,CAC/B,sBACF,CAAC,CAACI,KAAK,CAAC;AAEV,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAiC;EACnE,MAAMjC,KAAK,GAAG4B,iCAAiC,CAC7C,sBACF,CAAC,CAAC,CAAC;EACH,IAAI,OAAO5B,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOkC,IAAI,CAACC,KAAK,CAACnC,KAAK,CAAC;EAC1B;EACA,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,MAAMoC,0BAA0B,GAAGA,CAAA,KAAyB;EACjE,MAAMC,KAAK,GAAGJ,oBAAoB,CAAC,CAAC;EACpC,MAAMK,SAAS,GACbC,OAAyC,IAEzCA,OAAO,KAAK,IAAI,GACZ,IAAI,GACJ;IACEC,IAAI,EAAED,OAAO,CAACC,IAAI;IAClBC,SAAS,EAAEF,OAAO,CAACE,SAAS;IAC5BtE,QAAQ,EAAEoE,OAAO,CAACpE,QAAQ;IAC1BS,OAAO,EAAE2D,OAAO,CAAC3D;EACnB,CAAC;EACP,OAAO;IACL8D,eAAe,EAAEJ,SAAS,CAACD,KAAK,CAACK,eAAe,CAAC;IACjDC,eAAe,EAAEL,SAAS,CAACD,KAAK,CAACM,eAAe,CAAC;IACjDC,mBAAmB,EAAEP,KAAK,CAACO;EAC7B,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,yBAAyB,GACpCb,KAA4B,IAE5BJ,iCAAiC,CAC/B,2BACF,CAAC,CAACI,KAAK,CAAC;AAEV,OAAO,MAAMc,sBAAsB,GAAG,MAAOd,KAG5C,IAAuB;EACtB,MAAMe,EAAE,GAAG,MAAMnB,iCAAiC,CAEhD,wBAAwB,CAAC,CAACI,KAAK,CAAC;EAClC,IAAIe,EAAE,EACJ9C,YAAY,CAACtB,mBAAmB,CAC9BqD,KAAK,CAACM,SAAS,CAACnE,QAAQ,EACxB6D,KAAK,CAACM,SAAS,CAAC1D,OAClB,CAAC;EACH,OAAOmE,EAAE;AACX,CAAC;;AAED;;AAWA,MAAMC,kBAAkB,GAAIhD,KAAc,IAA4B;EACpE,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,IAAI;EAC5D,MAAM;IAAEiD,QAAQ;IAAEC;EAAc,CAAC,GAAGlD,KAAgC;EACpE,IACEiD,QAAQ,KAAK,OAAO,IACpBA,QAAQ,KAAK,UAAU,IACvBA,QAAQ,KAAK,SAAS,EACtB;IACA,OAAO,IAAI;EACb;EACA,OAAO;IAAEA,QAAQ;IAAEC,aAAa,EAAEA,aAAa,KAAK;EAAK,CAAC;AAC5D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAC/BC,MAAoB,EACY;EAChC,MAAMC,cAAc,GAAGD,MAAM,CAACjF,QAAQ;EACtC,MAAMmF,MAAM,GAAGF,MAAM,CAACE,MAAM;EAC5B,MAAMC,eAAe,GAAGD,MAAM,KAAK,QAAQ,GAAGrC,gBAAgB,CAAC,CAAC,GAAG1B,SAAS;;EAE5E;EACA;EACA;EACA,IACE+D,MAAM,KAAK,QAAQ,IACnBrD,YAAY,CAAC/B,kBAAkB,CAACmF,cAAc,CAAC,IAC/CE,eAAe,KAAKF,cAAc,EAClC;IACA,OAAO,IAAI;EACb;EAEA,MAAMG,8BAA8B,GAClCJ,MAAM,CAACI,8BAA8B,KAAK,IAAI;EAEhD,IACE,CAACA,8BAA8B,IAC/BF,MAAM,KAAK,QAAQ,IACnBC,eAAe,KAAKhE,SAAS,IAC7B8D,cAAc,CAACI,aAAa,CAACF,eAAe,CAAC,IAAI,CAAC,EAClD;IACA,MAAM,IAAIrG,KAAK,CACb,4FACF,CAAC;EACH;;EAEA;EACA,MAAMwG,QAAQ,GAAGzD,YAAY,CAAC7B,iBAAiB,CAACiF,cAAc,CAAC;EAC/D,IAAIK,QAAQ,EAAE,OAAOA,QAAQ;EAE7B,MAAMC,aAAa,GAAGP,MAAM,CAACxE,OAAO;EACpC,MAAMgF,iBAAiB,GAAGR,MAAM,CAACS,WAAW;EAC5C,MAAMC,sBAAsB,GAAGV,MAAM,CAACW,gBAAgB;EACtD,MAAMC,YAAY,GAAGZ,MAAM,CAAChD,MAAM;EAElC,MAAM7B,OAAO,GAAG,CAAC,YAAY;IAC3B,IAAI;MACF,MAAM+D,SAAS,GAAGc,MAAM,CAACd,SAAS;MAClC,MAAM2B,MAAM,GAAG,MAAMpH,gBAAgB,CAACqH,YAAY,CAAC;QACjD/F,QAAQ,EAAEkF,cAAc;QACxBzE,OAAO,EAAE+E,aAAa;QACtBvD,MAAM,EAAE4D,YAA6C;QACrDD,gBAAgB,EAAED,sBAAsB;QACxCD,WAAW,EAAED,iBAAiB;QAC9B,IAAIR,MAAM,CAACe,UAAU,GAAG;UAAEA,UAAU,EAAEf,MAAM,CAACe;QAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI7B,SAAS,KAAK/C,SAAS,GAAG,CAAC,CAAC,GAAG;UAAE+C;QAAU,CAAC;MAClD,CAAC,CAAC;MACFrC,YAAY,CAACtB,mBAAmB,CAAC0E,cAAc,EAAEM,aAAa,CAAC;MAC/D,OAAOX,kBAAkB,CAACiB,MAAM,CAAC;IACnC,CAAC,SAAS;MACRhE,YAAY,CAACxB,mBAAmB,CAAC4E,cAAc,CAAC;IAClD;EACF,CAAC,EAAE,CAAC;EAEJpD,YAAY,CAAC3B,mBAAmB,CAAC+E,cAAc,EAAE9E,OAAO,CAAC;EACzD,OAAOA,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe2F,YAAYA,CAACd,MAAoB,EAAoB;EACzE,MAAMD,WAAW,CAACC,MAAM,CAAC;EACzB,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA,OAAO,MAAMgB,aAAa,GAAGA,CAAA,KAAqB;EAChD,MAAM3G,SAAS,GAAGZ,gBAAgB,CAACa,YAAY,CAAC,CAAC;EACjD,OAAOD,SAAS,EAAE4G,WAAW,IAAI,IAAI;AACvC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAG,MAAAA,CAAA,KAAY;EAChC,IAAIpE,cAAc,KAAK,QAAQ,EAAE;IAC/B,IAAI,CAACC,mBAAmB,EAAE;MACxB,MAAM,IAAIjD,KAAK,CACb,qEACF,CAAC;IACH;IAEA,MAAMiD,mBAAmB,CAAC,CAAC;IAC3B;EACF;EAEA,IAAIzD,QAAQ,CAAC6H,EAAE,KAAK,SAAS,IAAIrE,cAAc,KAAK,gBAAgB,EAAE;IACpE,MAAMkB,aAAa,GAAGD,gBAAgB,CAAC,CAAC;IACxC,IAAIC,aAAa,EAAE;MACjB,MAAMA,aAAa,CAAC,CAAC;MACrB;IACF;EACF;EAEA,MAAMvE,gBAAgB,CAACyH,MAAM,CAAC,CAAC;AACjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,iBAAiBA,CAC/B,GAAGC,IAEmD,EAChD;EACN,MAAM,CAACC,QAAQ,EAAEC,OAAO,CAAC,GAAGF,IAAI;EAEhC,IAAIC,QAAQ,KAAK,QAAQ,EAAE;IACzB,IAAI,OAAOC,OAAO,KAAK,UAAU,EAAE;MACjC,MAAM,IAAIzH,KAAK,CACb,qEACF,CAAC;IACH;IAEAgD,cAAc,GAAGwE,QAAQ;IACzBvE,mBAAmB,GAAGwE,OAAO;IAC7B;EACF;EAEA,IAAIA,OAAO,EAAE;IACX,MAAM,IAAIzH,KAAK,CACb,mCAAmCwH,QAAQ,6CAC7C,CAAC;EACH;EAEAxE,cAAc,GAAGwE,QAAQ;EACzBvE,mBAAmB,GAAG,IAAI;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMa,cAAc,GAAGA,CAAA,KAAc;EAC1C,MAAMvD,SAAS,GAAGZ,gBAAgB,CAACa,YAAY,CAAC,CAAC;EACjD,OAAOD,SAAS,CAACmH,aAAa;AAChC,CAAC;;AAED;AACA,OAAO,MAAMC,WAAW,GAAGA,CAAA,KACzB5C,oBAAoB,CAAC,CAAC,CAACS,eAAe,EAAED,SAAS,IAAI3B,WAAW,CAAC,CAAC;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAGA,CAAA,KAAc;EACvC,MAAMgE,cAAc,GAAG7E,YAAY,CAACjB,iBAAiB,CAAC,CAAC;EACvD,IAAI8F,cAAc,KAAKvF,SAAS,EAAE;IAChC,OAAOuF,cAAc;EACvB;EAEA,OAAO7D,gBAAgB,CAAC,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM8D,WAAW,GAAGA,CAAA,KAAgB;EACzC,MAAMC,cAAc,GAAG/E,YAAY,CAACb,iBAAiB,CAAC,CAAC;EACvD,IAAI4F,cAAc,KAAKzF,SAAS,EAAE;IAChC,OAAOyF,cAAc;EACvB;EAEA,MAAMnE,YAAY,GAAGhE,gBAEpB;EACD,MAAMwC,QAAQ,GAAGwB,YAAY,CAACkE,WAAW,GAAG,CAAC;EAE7C,IAAIE,kBAA4B;EAEhC,IAAI,CAAC5F,QAAQ,EAAE;IACb4F,kBAAkB,GAAGC,mBAAmB,CAAC,CAAC;EAC5C,CAAC,MAAM,IAAI,OAAO7F,QAAQ,KAAK,QAAQ,EAAE;IACvC,IAAI;MACF4F,kBAAkB,GAAGE,iBAAiB,CAACjD,IAAI,CAACC,KAAK,CAAC9C,QAAQ,CAAC,CAAC;IAC9D,CAAC,CAAC,MAAM;MACN4F,kBAAkB,GAAGC,mBAAmB,CAAC,CAAC;IAC5C;EACF,CAAC,MAAM;IACLD,kBAAkB,GAAGE,iBAAiB,CAAC9F,QAAQ,CAAC;EAClD;EAEAY,YAAY,CAACf,aAAa,CAAC+F,kBAAkB,CAAC9G,QAAQ,CAAC;EACvD8B,YAAY,CAACT,aAAa,CAACyF,kBAAkB,CAAC;EAC9C,OAAO3F,aAAa,CAAC2F,kBAAkB,CAAC;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMlH,UAAU,GAAGA,CAAA,KAAc;EACtC,OAAOkC,YAAY,CAAClC,UAAU,CAAC,CAAC;AAClC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAc;EAC7C,OAAOiC,YAAY,CAACjC,iBAAiB,CAAC,CAAC;AACzC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAe;EAC9C,OAAOgC,YAAY,CAAChC,iBAAiB,CAAC,CAAC;AACzC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMmH,kBAAkB,GAAGA,CAAA,KAAqB;EACrD,MAAM3H,SAAS,GAAGZ,gBAAgB,CAACa,YAAY,CAAC,CAAC;EACjD,OAAOD,SAAS,CAAC4H,gBAAgB,IAAI,IAAI;AAC3C,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAc;EACxC,MAAMzE,YAAY,GAAGhE,gBAEpB;EAED,IAAI,OAAOgE,YAAY,CAACyE,YAAY,KAAK,UAAU,EAAE;IACnD,MAAM,IAAIpI,KAAK,CACb,wMACF,CAAC;EACH;EAEA,OAAO2D,YAAY,CAACyE,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,MAAMC,0BAA0B,GAC9B1D,IAAyC,IACnC;EACN,MAAMC,MAAM,GAAIjF,gBAAgB,CAAwCgF,IAAI,CAAC;EAC7E,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE;IAChC,MAAM,IAAI5E,KAAK,CACb,0CAA0C2E,IAAI,qJAChD,CAAC;EACH;EACA,OAAOC,MAAM,CAACT,IAAI,CAACxE,gBAAgB,CAAC;AACtC,CAAC;;AAED;AACA,OAAO,MAAM2I,cAAc,GAAIzF,GAAW,IAAoB;EAC5D,MAAMC,KAAK,GACTuF,0BAA0B,CAA2B,gBAAgB,CAAC,CAACxF,GAAG,CAAC;EAC7E,OAAO,OAAOC,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,IAAI;AACjD,CAAC;;AAED;AACA,OAAO,MAAMyF,cAAc,GAAGA,CAAC1F,GAAW,EAAEC,KAAoB,KAAW;EACzEuF,0BAA0B,CACxB,gBACF,CAAC,CAACxF,GAAG,EAAEC,KAAK,CAAC;AACf,CAAC;;AAED;AACA;AACA;;AAkBA;;AAoBA,MAAM0F,yBAAyB,GAC7B1F,KAAc,IACuB;EACrC,OAAOA,KAAK,KAAK,YAAY,IAAIA,KAAK,KAAK,aAAa;AAC1D,CAAC;AAED,MAAM2F,2BAA2B,GAAGA,CAAA,KAA+B;EACjE,MAAMC,MAAM,GAAG/I,gBAAgB,CAACgJ,cAAc,CAAC,CAAC;EAEhD,IAAI,OAAOD,MAAM,KAAK,QAAQ,EAAE;IAC9B,IAAI;MACF,MAAME,MAAM,GAAG5D,IAAI,CAACC,KAAK,CAACyD,MAAM,CAAY;MAC5C,IACE,OAAOE,MAAM,KAAK,QAAQ,IAC1BA,MAAM,KAAK,IAAI,IACfC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EACrB;QACA,OAAO,CAAC,CAAC;MACX;MACA,OAAOA,MAAM;IACf,CAAC,CAAC,MAAM;MACN,OAAO,CAAC,CAAC;IACX;EACF;EAEA,IAAI,OAAOF,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAIG,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;IAC1E,OAAO,CAAC,CAAC;EACX;EAEA,OAAOA,MAAM;AACf,CAAC;AAED,MAAMK,uBAAuB,GAAI9H,QAAiB,IAAoB;EACpE,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;IAChC,OAAO,IAAI;EACb;EACA,MAAM+H,kBAAkB,GAAG/H,QAAQ,CAACgI,IAAI,CAAC,CAAC;EAC1C,IAAID,kBAAkB,CAACE,MAAM,KAAK,CAAC,EAAE;IACnC,OAAO,IAAI;EACb;EACA,OAAOrF,eAAe,CAACmF,kBAAkB,CAAC;AAC5C,CAAC;AAED,MAAMG,wBAAwB,GAAI5D,SAAkB,IAAoB;EACtE,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE,OAAO,IAAI;EAC9C,MAAM6D,mBAAmB,GAAG7D,SAAS,CAAC0D,IAAI,CAAC,CAAC;EAC5C,OAAOG,mBAAmB,CAACF,MAAM,KAAK,CAAC,GAAG,IAAI,GAAGE,mBAAmB;AACtE,CAAC;AAED,MAAMC,2BAA2B,GAC/BX,MAA+B,IAOrB;EACV,IAAIA,MAAM,CAACtC,MAAM,KAAK,gBAAgB,IAAIsC,MAAM,CAACtC,MAAM,KAAK,UAAU,EAAE;IACtE,MAAMkD,YAAY,GAAGP,uBAAuB,CAACL,MAAM,CAACY,YAAY,CAAC;IACjE,MAAMC,UAAU,GAAGR,uBAAuB,CAACL,MAAM,CAACa,UAAU,CAAC;IAC7D,IAAID,YAAY,IAAIC,UAAU,EAAE;MAC9B,OAAO;QACLnD,MAAM,EAAE,gBAAgB;QACxBkD,YAAY;QACZC,UAAU;QACVC,aAAa,EAAEL,wBAAwB,CAACT,MAAM,CAACc,aAAa,CAAC;QAC7DC,WAAW,EAAEN,wBAAwB,CAACT,MAAM,CAACe,WAAW;MAC1D,CAAC;IACH;EACF;EAEA,IAAIf,MAAM,CAACtC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMkD,YAAY,GAAGP,uBAAuB,CAACL,MAAM,CAACY,YAAY,CAAC;IACjE,MAAMC,UAAU,GAAGR,uBAAuB,CAACL,MAAM,CAACa,UAAU,CAAC;IAC7D,IAAID,YAAY,IAAIC,UAAU,EAAE;MAC9B,OAAO;QACLnD,MAAM,EAAE,WAAW;QACnBkD,YAAY;QACZC,UAAU;QACVC,aAAa,EAAEL,wBAAwB,CAACT,MAAM,CAACc,aAAa,CAAC;QAC7DC,WAAW,EAAEN,wBAAwB,CAACT,MAAM,CAACe,WAAW;MAC1D,CAAC;IACH;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,mBAAmB,GACvBhB,MAA+B,IACH;EAC5B,MAAMiB,UAAU,GAAGN,2BAA2B,CAACX,MAAM,CAAC;EAEtD,IAAI,CAACiB,UAAU,IAAI,CAACnB,yBAAyB,CAACE,MAAM,CAACkB,cAAc,CAAC,EAAE;IACpE,OAAO,IAAI;EACb;EAEA,OAAO;IACLC,IAAI,EAAEF,UAAU,CAACvD,MAAM;IACvBkD,YAAY,EAAEK,UAAU,CAACL,YAAY;IACrCC,UAAU,EAAEI,UAAU,CAACJ,UAAU;IACjCC,aAAa,EAAEG,UAAU,CAACH,aAAa;IACvCC,WAAW,EAAEE,UAAU,CAACF,WAAW;IACnCG,cAAc,EAAElB,MAAM,CAACkB;EACzB,CAAC;AACH,CAAC;AAED,MAAME,6BAA6B,GACjCpB,MAA+B,IACN;EACzB,MAAMiB,UAAU,GAAGN,2BAA2B,CAACX,MAAM,CAAC;EAEtD,IAAIiB,UAAU,EAAE;IACd,OAAO;MACLvD,MAAM,EAAEuD,UAAU,CAACvD,MAAM;MACzBkD,YAAY,EAAEK,UAAU,CAACL,YAAY;MACrCC,UAAU,EAAEI,UAAU,CAACJ,UAAU;MACjC,IAAII,UAAU,CAACH,aAAa,KAAK,IAAI,GACjC,CAAC,CAAC,GACF;QAAEA,aAAa,EAAEG,UAAU,CAACH;MAAc,CAAC,CAAC;MAChD,IAAIG,UAAU,CAACF,WAAW,KAAK,IAAI,GAC/B,CAAC,CAAC,GACF;QAAEA,WAAW,EAAEE,UAAU,CAACF;MAAY,CAAC;IAC7C,CAAC;EACH;EAEA,OAAO;IAAErD,MAAM,EAAE;EAAY,CAAC;AAChC,CAAC;AAED,OAAO,MAAM2D,kBAAkB,GAAGA,CAAA,KAI7B;EACH,MAAMC,SAAS,GAAGvB,2BAA2B,CAAC,CAAC;EAE/C,OAAO;IACLC,MAAM,EAAEoB,6BAA6B,CAACE,SAAS,CAAC;IAChDL,UAAU,EAAED,mBAAmB,CAACM,SAAS,CAAC;IAC1CC,OAAO,EAAED,SAAS,CAAC5D,MAAM,KAAK;EAChC,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMuC,cAAc,GAAGA,CAAA,KAA4B;EACxD,OAAOoB,kBAAkB,CAAC,CAAC,CAACrB,MAAM;AACpC,CAAC;AAED,MAAMV,mBAAmB,GAAGA,CAAA,MAAiB;EAC3C/G,QAAQ,EAAE2C,WAAW,CAAC,CAAC;EACvBV,MAAM,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,MAAM+E,iBAAiB,GAAInF,KAAc,IAAe;EACtD,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI+F,KAAK,CAACC,OAAO,CAAChG,KAAK,CAAC,EAAE;IAC/D,OAAOkF,mBAAmB,CAAC,CAAC;EAC9B;EAEA,MAAMkC,aAAa,GAAIpH,KAAK,CAA4B7B,QAAQ;EAChE,MAAMA,QAAQ,GACZ,OAAOiJ,aAAa,KAAK,QAAQ,IAAIA,aAAa,CAACjB,IAAI,CAAC,CAAC,GACrDiB,aAAa,CAACjB,IAAI,CAAC,CAAC,GACpBrF,WAAW,CAAC,CAAC;EAEnB,OAAO;IACL3C,QAAQ;IACRiC,MAAM,EAAEiH,uBAAuB,CAAErH,KAAK,CAA0BI,MAAM;EACxE,CAAC;AACH,CAAC;AAED,MAAMiH,uBAAuB,GAAIrH,KAAc,IAAyB;EACtE,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI+F,KAAK,CAACC,OAAO,CAAChG,KAAK,CAAC,EAAE;IAC/D,OAAO,CAAC,CAAC;EACX;EAEA,OAAOK,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACP,KAAK,CAAC,CAACsH,OAAO,CAAC,CAAC,CAACvH,GAAG,EAAEwH,KAAK,CAAC,KAAK;IAC9C,MAAMC,UAAU,GAAGzH,GAAG,CAACoG,IAAI,CAAC,CAAC;IAE7B,IAAI,CAACqB,UAAU,EAAE;MACf,OAAO,EAAE;IACX;IAEA,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;MAC7B,MAAM7G,QAAQ,GAAG6G,KAAK,CAACpB,IAAI,CAAC,CAAC;MAE7B,IAAI,CAACzF,QAAQ,EAAE;QACb,OAAO,EAAE;MACX;MAEA,OAAO,CAAC,CAAC8G,UAAU,EAAE;QAAE9G;MAAS,CAAC,CAAC,CAAU;IAC9C;IAEA,IAAI,CAAC6G,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIxB,KAAK,CAACC,OAAO,CAACuB,KAAK,CAAC,EAAE;MAC/D,OAAO,EAAE;IACX;IAEA,MAAM;MAAE7G,QAAQ;MAAEC;IAAU,CAAC,GAAG4G,KAG/B;IACD,IAAI,OAAO7G,QAAQ,KAAK,QAAQ,IAAI,CAACA,QAAQ,CAACyF,IAAI,CAAC,CAAC,EAAE;MACpD,OAAO,EAAE;IACX;IAEA,OAAO,CACL,CACEqB,UAAU,EACV;MACE9G,QAAQ,EAAEA,QAAQ,CAACyF,IAAI,CAAC,CAAC;MACzB,IAAI,OAAOxF,SAAS,KAAK,QAAQ,IAAIA,SAAS,CAACwF,IAAI,CAAC,CAAC,GACjD;QAAExF,SAAS,EAAEA,SAAS,CAACwF,IAAI,CAAC;MAAE,CAAC,GAC/B,CAAC,CAAC;IACR,CAAC,CACF,CACF;EACH,CAAC,CACH,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMsB,eAAe,GAAGA,CAAA,KAAgB;EAC7C,MAAM7B,MAAM,GAAG/I,gBAAgB,CAAC4K,eAAe,CAAC,CAAC;EACjD;EACA,IAAI,OAAO7B,MAAM,KAAK,QAAQ,EAAE;IAC9B,IAAI;MACF,OAAO1D,IAAI,CAACC,KAAK,CAACyD,MAAM,CAAC;IAC3B,CAAC,CAAC,MAAM;MACN,OAAO,EAAE;IACX;EACF;EACA,OAAOA,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM8B,iBAAiB,GAAGA,CAAA,KAAe;EAC9C,OAAO7K,gBAAgB,CAAC6K,iBAAiB,CAAC,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAqB;EAC7C,MAAMC,aAAa,GAAG3H,YAAY,CAACR,gBAAgB,CAAC,CAAC;EACrD,IAAImI,aAAa,KAAKrI,SAAS,EAAE;IAC/B,OAAOqI,aAAa;EACtB;EAEA,MAAMhC,MAAM,GAAG/I,gBAAgB,CAAC8K,UAAU,CAAC,CAAC;EAC5C,MAAMhI,OAAO,GAAG,OAAOiG,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,EAAE,GAAGA,MAAM,GAAG,IAAI;EAC3E3F,YAAY,CAACP,YAAY,CAACC,OAAO,CAAC;EAClC,OAAOA,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMkI,YAAY,GAAG,MAAAA,CAAA,KAA8B;EACxD,MAAM9E,EAAE,GAAG,MAAMlG,gBAAgB,CAACgL,YAAY,CAAC,CAAC;EAChD,IAAI9E,EAAE,EAAE;IACN9C,YAAY,CAACnB,iBAAiB,CAAC,CAAC;EAClC;EACA,OAAOiE,EAAE;AACX,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM+E,SAAS,GAAI9K,MAAc,IAAW;EACjD,MAAMC,UAAU,GAAGF,0BAA0B,CAACC,MAAM,CAAC;EACrDH,gBAAgB,CAACiL,SAAS,CAAC7K,UAAU,CAAC;EACtCgD,YAAY,CAACH,WAAW,CAAC7C,UAAU,CAAC;AACtC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM8K,SAAS,GAAGA,CAAA,KAAc;EACrC,MAAMlI,YAAY,GAAGI,YAAY,CAACL,eAAe,CAAC,CAAC;EACnD,IAAIC,YAAY,KAAKN,SAAS,EAAE;IAC9B,OAAOM,YAAY;EACrB;EAEA,MAAM7C,MAAM,GAAGD,0BAA0B,CAACF,gBAAgB,CAACkL,SAAS,CAAC,CAAC,CAAC;EACvE9H,YAAY,CAACH,WAAW,CAAC9C,MAAM,CAAC;EAChC,OAAOA,MAAM;AACf,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createPluginHost } from "@hot-updater/protocol";
|
|
4
|
+
import { Platform } from "react-native";
|
|
5
|
+
import { getAppVersion, getBundleId, getChannel, getCohort, getFingerprintHash, getInstallId, getMinBundleId, getStorageItem, setStorageItem } from "./native.js";
|
|
6
|
+
import { HOT_UPDATER_SDK_VERSION } from "./sdkVersion.js";
|
|
7
|
+
/** The native module and runtime every plugin host reads. */
|
|
8
|
+
const environment = {
|
|
9
|
+
fetch: (url, init) => fetch(url, init),
|
|
10
|
+
get platform() {
|
|
11
|
+
return Platform.OS === "android" ? "android" : "ios";
|
|
12
|
+
},
|
|
13
|
+
get isDebugBuild() {
|
|
14
|
+
return typeof __DEV__ !== "undefined" && __DEV__;
|
|
15
|
+
},
|
|
16
|
+
get sdkVersion() {
|
|
17
|
+
return HOT_UPDATER_SDK_VERSION;
|
|
18
|
+
},
|
|
19
|
+
getInstallId: () => getInstallId(),
|
|
20
|
+
getAppVersion: () => getAppVersion(),
|
|
21
|
+
getMinBundleId: () => getMinBundleId(),
|
|
22
|
+
getBundleId: () => getBundleId(),
|
|
23
|
+
getChannel: () => getChannel(),
|
|
24
|
+
getCohort: () => getCohort(),
|
|
25
|
+
getFingerprintHash: () => getFingerprintHash(),
|
|
26
|
+
getStorageItem: key => getStorageItem(key),
|
|
27
|
+
setStorageItem: (key, value) => setStorageItem(key, value),
|
|
28
|
+
now: () => Date.now()
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Creates an instance's plugin host: its plugins read the native module and
|
|
33
|
+
* fetch the server the instance was configured with.
|
|
34
|
+
*/
|
|
35
|
+
export const createAppPluginHost = () => createPluginHost(environment);
|
|
36
|
+
//# sourceMappingURL=pluginHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPluginHost","Platform","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getMinBundleId","getStorageItem","setStorageItem","HOT_UPDATER_SDK_VERSION","environment","fetch","url","init","platform","OS","isDebugBuild","__DEV__","sdkVersion","key","value","now","Date","createAppPluginHost"],"sourceRoot":"../../src","sources":["pluginHost.ts"],"mappings":";;AAAA,SACEA,gBAAgB,QAGX,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SACEC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,kBAAkB,EAClBC,YAAY,EACZC,cAAc,EACdC,cAAc,EACdC,cAAc,QACT,aAAU;AACjB,SAASC,uBAAuB,QAAQ,iBAAc;AAItD;AACA,MAAMC,WAAkC,GAAG;EACzCC,KAAK,EAAEA,CAACC,GAAG,EAAEC,IAAI,KAAKF,KAAK,CAACC,GAAG,EAAEC,IAAI,CAAC;EACtC,IAAIC,QAAQA,CAAA,EAAG;IACb,OAAOf,QAAQ,CAACgB,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,KAAK;EACtD,CAAC;EACD,IAAIC,YAAYA,CAAA,EAAG;IACjB,OAAO,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO;EAClD,CAAC;EACD,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAOT,uBAAuB;EAChC,CAAC;EACDJ,YAAY,EAAEA,CAAA,KAAMA,YAAY,CAAC,CAAC;EAClCL,aAAa,EAAEA,CAAA,KAAMA,aAAa,CAAC,CAAC;EACpCM,cAAc,EAAEA,CAAA,KAAMA,cAAc,CAAC,CAAC;EACtCL,WAAW,EAAEA,CAAA,KAAMA,WAAW,CAAC,CAAC;EAChCC,UAAU,EAAEA,CAAA,KAAMA,UAAU,CAAC,CAAC;EAC9BC,SAAS,EAAEA,CAAA,KAAMA,SAAS,CAAC,CAAC;EAC5BC,kBAAkB,EAAEA,CAAA,KAAMA,kBAAkB,CAAC,CAAC;EAC9CG,cAAc,EAAGY,GAAG,IAAKZ,cAAc,CAACY,GAAG,CAAC;EAC5CX,cAAc,EAAEA,CAACW,GAAG,EAAEC,KAAK,KAAKZ,cAAc,CAACW,GAAG,EAAEC,KAAK,CAAC;EAC1DC,GAAG,EAAEA,CAAA,KAAMC,IAAI,CAACD,GAAG,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAME,mBAAmB,GAAGA,CAAA,KACjCzB,gBAAgB,CAACY,WAAW,CAAC","ignoreList":[]}
|
|
@@ -1,64 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { getUtf8ByteLength, MAX_RELEASE_CATALOG_WIRE_BYTES, parseReleaseCatalog } from "@hot-updater/protocol";
|
|
4
|
+
import { fetchUpdateResponse } from "./fetchUpdateResponse.js";
|
|
5
|
+
import { InvalidUpdateResponseError, UpdateHttpError } from "./updateError.js";
|
|
4
6
|
const CACHE_FORMAT_VERSION = "1";
|
|
5
7
|
const MAX_ETAG_BYTES = 1024;
|
|
6
|
-
export const MAX_RELEASE_CATALOG_WIRE_BYTES = MAX_COMPILED_CATALOG_BYTES * 2 + 4 * 1024;
|
|
7
8
|
export const MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES = MAX_RELEASE_CATALOG_WIRE_BYTES + MAX_ETAG_BYTES + 3;
|
|
8
9
|
const readNativeReleaseCatalogCache = async partition => (await import("./catalogCacheNative")).readNativeReleaseCatalogCache(partition);
|
|
9
10
|
const writeNativeReleaseCatalogCache = async (partition, payload) => (await import("./catalogCacheNative")).writeNativeReleaseCatalogCache(partition, payload);
|
|
10
11
|
const removeNativeReleaseCatalogCache = async partition => (await import("./catalogCacheNative")).removeNativeReleaseCatalogCache(partition);
|
|
11
12
|
let lastParsedCache = null;
|
|
12
|
-
const getUtf8ByteLength = value => {
|
|
13
|
-
let bytes = 0;
|
|
14
|
-
for (let index = 0; index < value.length; index += 1) {
|
|
15
|
-
const code = value.charCodeAt(index);
|
|
16
|
-
if (code <= 0x7f) {
|
|
17
|
-
bytes += 1;
|
|
18
|
-
} else if (code <= 0x7ff) {
|
|
19
|
-
bytes += 2;
|
|
20
|
-
} else if (code >= 0xd800 && code <= 0xdbff && index + 1 < value.length && value.charCodeAt(index + 1) >= 0xdc00 && value.charCodeAt(index + 1) <= 0xdfff) {
|
|
21
|
-
bytes += 4;
|
|
22
|
-
index += 1;
|
|
23
|
-
} else {
|
|
24
|
-
bytes += 3;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return bytes;
|
|
28
|
-
};
|
|
29
|
-
const isStringArray = value => Array.isArray(value) && value.every(entry => typeof entry === "string");
|
|
30
|
-
const isValidReleaseDescriptor = value => {
|
|
31
|
-
if (value === null || typeof value !== "object") return false;
|
|
32
|
-
const descriptor = value;
|
|
33
|
-
return isUUIDv7(descriptor.releaseId) && (descriptor.kind === "BUNDLE" || descriptor.kind === "EMBEDDED") && (descriptor.kind === "BUNDLE" && typeof descriptor.bundleId === "string" || descriptor.kind === "EMBEDDED" && descriptor.bundleId === null) && Number.isSafeInteger(descriptor.rolloutCohortCount) && descriptor.rolloutCohortCount >= 0 && descriptor.rolloutCohortCount <= NUMERIC_COHORT_SIZE && isStringArray(descriptor.targetCohorts) && descriptor.targetCohorts.length <= MAX_TARGET_COHORTS_PER_RELEASE && typeof descriptor.shouldForceUpdate === "boolean" && (descriptor.message === null || typeof descriptor.message === "string");
|
|
34
|
-
};
|
|
35
|
-
export const hasExpectedReleaseCatalogScope = (catalog, expected) => {
|
|
36
|
-
try {
|
|
37
|
-
const parsed = parseReleaseCatalogScopeKey(catalog.scopeKey);
|
|
38
|
-
return parsed.channelKey === expected.channelKey && parsed.platform === expected.platform && parsed.strategy === expected.strategy && (parsed.strategy === "APP_VERSION" || expected.strategy === "FINGERPRINT" && parsed.fingerprintHash === expected.fingerprintHash);
|
|
39
|
-
} catch {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
const parseValidatedCatalog = (value, expectedScope) => {
|
|
44
|
-
if (getUtf8ByteLength(value) > MAX_RELEASE_CATALOG_WIRE_BYTES) return null;
|
|
45
|
-
try {
|
|
46
|
-
const catalog = JSON.parse(value);
|
|
47
|
-
if (catalog.schemaVersion !== 1 || typeof catalog.catalogId !== "string" || catalog.catalogId.length === 0 || typeof catalog.scopeKey !== "string" || !Number.isSafeInteger(catalog.generation) || (catalog.generation ?? 0) < 1 || typeof catalog.catalogHash !== "string" || !/^sha256:[0-9a-f]{64}$/.test(catalog.catalogHash) || catalog.fallbackPolicy !== "BUILTIN_IF_ACTIVE_INELIGIBLE" || !Array.isArray(catalog.releases) || !catalog.releases.every(isValidReleaseDescriptor) || catalog.rollbackReleases !== undefined && (!Array.isArray(catalog.rollbackReleases) || !catalog.rollbackReleases.every(isValidReleaseDescriptor))) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
if (!hasExpectedReleaseCatalogScope(catalog, expectedScope)) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
const distinctTargetCohorts = new Set([...catalog.releases, ...(catalog.rollbackReleases ?? [])].flatMap(release => release.targetCohorts));
|
|
54
|
-
if (distinctTargetCohorts.size > MAX_DISTINCT_TARGET_COHORTS_PER_SCOPE) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
return catalog;
|
|
58
|
-
} catch {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
13
|
const isValidETag = value => value !== null && value.length > 0 && !value.includes("\r") && !value.includes("\n") && getUtf8ByteLength(value) <= MAX_ETAG_BYTES;
|
|
63
14
|
const serializeCache = (etag, body) => `${CACHE_FORMAT_VERSION}\n${etag}\n${body}`;
|
|
64
15
|
const parseCache = (value, expectedScope, partition) => {
|
|
@@ -73,7 +24,7 @@ const parseCache = (value, expectedScope, partition) => {
|
|
|
73
24
|
const etag = value.slice(versionEnd + 1, etagEnd);
|
|
74
25
|
const body = value.slice(etagEnd + 1);
|
|
75
26
|
if (!isValidETag(etag)) return null;
|
|
76
|
-
const catalog =
|
|
27
|
+
const catalog = parseReleaseCatalog(body, expectedScope);
|
|
77
28
|
if (catalog === null) return null;
|
|
78
29
|
const parsed = {
|
|
79
30
|
catalog,
|
|
@@ -94,29 +45,16 @@ export const createReleaseCatalogCachePartition = input => JSON.stringify({
|
|
|
94
45
|
url: input.url,
|
|
95
46
|
version: 2
|
|
96
47
|
});
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
return await fetch(input.url, {
|
|
109
|
-
headers,
|
|
110
|
-
signal: controller.signal
|
|
111
|
-
});
|
|
112
|
-
} catch (error) {
|
|
113
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
114
|
-
throw new Error("Request timed out");
|
|
115
|
-
}
|
|
116
|
-
throw error;
|
|
117
|
-
} finally {
|
|
118
|
-
clearTimeout(timeoutId);
|
|
119
|
-
}
|
|
48
|
+
const isEmptyCatalogResponse = response => response.status === 404 && response.headers.get("x-hot-updater-catalog")?.trim().toLowerCase() === "none";
|
|
49
|
+
const fetchCatalogResponse = (input, etag) => {
|
|
50
|
+
const headers = new Headers(input.requestHeaders);
|
|
51
|
+
headers.set("Accept", "application/json");
|
|
52
|
+
if (etag === undefined) headers.delete("If-None-Match");else headers.set("If-None-Match", etag);
|
|
53
|
+
return fetchUpdateResponse({
|
|
54
|
+
...input,
|
|
55
|
+
resource: "catalog",
|
|
56
|
+
requestHeaders: Object.fromEntries(headers.entries())
|
|
57
|
+
});
|
|
120
58
|
};
|
|
121
59
|
const readValidatedCache = async (partition, expectedScope) => {
|
|
122
60
|
const value = await readNativeReleaseCatalogCache(partition);
|
|
@@ -127,15 +65,22 @@ const readValidatedCache = async (partition, expectedScope) => {
|
|
|
127
65
|
}
|
|
128
66
|
return cached;
|
|
129
67
|
};
|
|
130
|
-
const consumeSuccessfulResponse = async (
|
|
68
|
+
const consumeSuccessfulResponse = async ({
|
|
69
|
+
response,
|
|
70
|
+
body
|
|
71
|
+
}, input, partition) => {
|
|
72
|
+
// The server marks the 404 of a scope that has no catalog yet: no update,
|
|
73
|
+
// not a failure. Any other 404 is a wrong baseURL or route.
|
|
74
|
+
if (isEmptyCatalogResponse(response)) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
131
77
|
if (response.status !== 200) {
|
|
132
|
-
throw new
|
|
78
|
+
throw new UpdateHttpError(response.status, response.statusText);
|
|
133
79
|
}
|
|
134
|
-
const
|
|
135
|
-
const catalog = parseValidatedCatalog(body, input.expectedScope);
|
|
80
|
+
const catalog = parseReleaseCatalog(body, input.expectedScope);
|
|
136
81
|
if (catalog === null) {
|
|
137
82
|
await removeNativeReleaseCatalogCache(partition);
|
|
138
|
-
throw new
|
|
83
|
+
throw new InvalidUpdateResponseError("Received an invalid Release catalog");
|
|
139
84
|
}
|
|
140
85
|
const etag = response.headers.get("etag");
|
|
141
86
|
if (isValidETag(etag)) {
|
|
@@ -157,11 +102,16 @@ const consumeSuccessfulResponse = async (response, input, partition) => {
|
|
|
157
102
|
}
|
|
158
103
|
return catalog;
|
|
159
104
|
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Fetches a scope's catalog, or null when the server answers that the scope
|
|
108
|
+
* has none (a 404 with `x-hot-updater-catalog: none`).
|
|
109
|
+
*/
|
|
160
110
|
export const fetchReleaseCatalogWithCache = async input => {
|
|
161
111
|
const partition = createReleaseCatalogCachePartition(input);
|
|
162
112
|
const cached = await readValidatedCache(partition, input.expectedScope);
|
|
163
113
|
const response = await fetchCatalogResponse(input, cached?.etag);
|
|
164
|
-
if (response.status === 304) {
|
|
114
|
+
if (response.response.status === 304) {
|
|
165
115
|
if (cached !== null) return cached.catalog;
|
|
166
116
|
const repairResponse = await fetchCatalogResponse(input);
|
|
167
117
|
return consumeSuccessfulResponse(repairResponse, input, partition);
|