@hot-updater/react-native 1.0.0-rc.15 → 1.0.0-rc.17
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/src/main/java/com/hotupdater/BundleFileStorageService.kt +491 -388
- package/android/src/main/java/com/hotupdater/BundleMetadata.kt +5 -11
- package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +290 -12
- package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +35 -19
- 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 +110 -52
- package/android/src/main/java/com/hotupdater/PreviousProcessExit.kt +89 -0
- package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
- package/android/src/newarch/HotUpdaterModule.kt +74 -69
- package/android/src/oldarch/HotUpdaterModule.kt +63 -59
- package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
- package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +1 -1
- package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +446 -61
- package/android/src/test/java/com/hotupdater/HotUpdaterExceptionTest.kt +220 -0
- package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +19 -27
- package/android/src/test/java/com/hotupdater/InstallIdentityServiceTest.kt +71 -0
- package/android/src/test/java/com/hotupdater/KeyValueStorageServiceTest.kt +106 -0
- package/android/src/test/java/com/hotupdater/NoBackupContext.kt +11 -0
- package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +309 -23
- package/android/src/test/java/com/hotupdater/PreviousProcessExitTest.kt +57 -0
- package/ios/HotUpdater/Internal/BundleFileStorageService.swift +238 -157
- package/ios/HotUpdater/Internal/BundleMetadata.swift +3 -53
- package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
- package/ios/HotUpdater/Internal/HotUpdater.mm +8 -18
- package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +48 -29
- package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
- package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +108 -1
- package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
- package/lib/commonjs/appReady.js +111 -0
- package/lib/commonjs/appReady.js.map +1 -0
- package/lib/commonjs/appReady.spec.js +360 -0
- package/lib/commonjs/appReady.spec.js.map +1 -0
- package/lib/commonjs/{notifyAppReadyInsights.test-utils.js → appReady.test-utils.js} +4 -3
- package/lib/commonjs/appReady.test-utils.js.map +1 -0
- package/lib/commonjs/baseURL.js +16 -0
- package/lib/commonjs/baseURL.js.map +1 -0
- package/lib/commonjs/checkForUpdate.js +104 -56
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +337 -74
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -1
- package/lib/commonjs/clientPlugin.js +49 -0
- package/lib/commonjs/clientPlugin.js.map +1 -0
- package/lib/commonjs/entryImportGraph.spec.js +50 -0
- package/lib/commonjs/entryImportGraph.spec.js.map +1 -0
- package/lib/commonjs/fetchJSON.js +2 -6
- package/lib/commonjs/fetchJSON.js.map +1 -1
- package/lib/commonjs/httpClient.js +15 -67
- package/lib/commonjs/httpClient.js.map +1 -1
- package/lib/commonjs/httpClient.spec.js +26 -9
- package/lib/commonjs/httpClient.spec.js.map +1 -1
- package/lib/commonjs/index.js +49 -25
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.spec.js +126 -40
- package/lib/commonjs/index.spec.js.map +1 -1
- package/lib/commonjs/native.js +67 -48
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.spec.js +80 -58
- package/lib/commonjs/native.spec.js.map +1 -1
- package/lib/commonjs/pluginHost.js +208 -0
- package/lib/commonjs/pluginHost.js.map +1 -0
- package/lib/commonjs/pluginHost.spec.js +292 -0
- package/lib/commonjs/pluginHost.spec.js.map +1 -0
- package/lib/commonjs/plugins/insights/eventId.js +129 -0
- package/lib/commonjs/plugins/insights/eventId.js.map +1 -0
- package/lib/commonjs/plugins/insights/eventId.spec.js +47 -0
- package/lib/commonjs/plugins/insights/eventId.spec.js.map +1 -0
- package/lib/commonjs/plugins/insights/index.js +272 -0
- package/lib/commonjs/plugins/insights/index.js.map +1 -0
- package/lib/commonjs/plugins/insights/insights.spec.js +640 -0
- package/lib/commonjs/plugins/insights/insights.spec.js.map +1 -0
- package/lib/commonjs/plugins/insights/sender.js +128 -0
- package/lib/commonjs/plugins/insights/sender.js.map +1 -0
- package/lib/commonjs/plugins/insights/sender.spec.js +265 -0
- package/lib/commonjs/plugins/insights/sender.spec.js.map +1 -0
- package/lib/commonjs/plugins/insights/state.js +145 -0
- package/lib/commonjs/plugins/insights/state.js.map +1 -0
- package/lib/commonjs/releaseCatalogCache.js +13 -2
- package/lib/commonjs/releaseCatalogCache.js.map +1 -1
- package/lib/commonjs/releaseCatalogCache.spec.js +18 -0
- package/lib/commonjs/releaseCatalogCache.spec.js.map +1 -1
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
- package/lib/commonjs/updateError.js +132 -0
- package/lib/commonjs/updateError.js.map +1 -0
- package/lib/commonjs/updateError.spec.js +149 -0
- package/lib/commonjs/updateError.spec.js.map +1 -0
- package/lib/commonjs/wrap.js +43 -25
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/commonjs/wrap.progress.spec.js +195 -0
- package/lib/commonjs/wrap.progress.spec.js.map +1 -0
- package/lib/commonjs/wrap.spec.js +94 -230
- package/lib/commonjs/wrap.spec.js.map +1 -1
- package/lib/module/appReady.js +103 -0
- package/lib/module/appReady.js.map +1 -0
- package/lib/module/appReady.spec.js +359 -0
- package/lib/module/appReady.spec.js.map +1 -0
- package/lib/module/{notifyAppReadyInsights.test-utils.js → appReady.test-utils.js} +4 -3
- package/lib/module/appReady.test-utils.js.map +1 -0
- package/lib/module/baseURL.js +11 -0
- package/lib/module/baseURL.js.map +1 -0
- package/lib/module/checkForUpdate.js +103 -57
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/checkForUpdate.releaseCatalog.spec.js +337 -74
- package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -1
- package/lib/module/clientPlugin.js +44 -0
- package/lib/module/clientPlugin.js.map +1 -0
- package/lib/module/entryImportGraph.spec.js +50 -0
- package/lib/module/entryImportGraph.spec.js.map +1 -0
- package/lib/module/fetchJSON.js +2 -6
- package/lib/module/fetchJSON.js.map +1 -1
- package/lib/module/httpClient.js +14 -66
- package/lib/module/httpClient.js.map +1 -1
- package/lib/module/httpClient.spec.js +26 -9
- package/lib/module/httpClient.spec.js.map +1 -1
- package/lib/module/index.js +44 -27
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.spec.js +127 -41
- package/lib/module/index.spec.js.map +1 -1
- package/lib/module/native.js +63 -44
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.spec.js +80 -58
- package/lib/module/native.spec.js.map +1 -1
- package/lib/module/pluginHost.js +200 -0
- package/lib/module/pluginHost.js.map +1 -0
- package/lib/module/pluginHost.spec.js +291 -0
- package/lib/module/pluginHost.spec.js.map +1 -0
- package/lib/module/plugins/insights/eventId.js +122 -0
- package/lib/module/plugins/insights/eventId.js.map +1 -0
- package/lib/module/plugins/insights/eventId.spec.js +47 -0
- package/lib/module/plugins/insights/eventId.spec.js.map +1 -0
- package/lib/module/plugins/insights/index.js +268 -0
- package/lib/module/plugins/insights/index.js.map +1 -0
- package/lib/module/plugins/insights/insights.spec.js +639 -0
- package/lib/module/plugins/insights/insights.spec.js.map +1 -0
- package/lib/module/plugins/insights/sender.js +123 -0
- package/lib/module/plugins/insights/sender.js.map +1 -0
- package/lib/module/plugins/insights/sender.spec.js +265 -0
- package/lib/module/plugins/insights/sender.spec.js.map +1 -0
- package/lib/module/plugins/insights/state.js +139 -0
- package/lib/module/plugins/insights/state.js.map +1 -0
- package/lib/module/releaseCatalogCache.js +13 -2
- package/lib/module/releaseCatalogCache.js.map +1 -1
- package/lib/module/releaseCatalogCache.spec.js +18 -0
- package/lib/module/releaseCatalogCache.spec.js.map +1 -1
- package/lib/module/sdkVersion.js +1 -1
- package/lib/module/specs/NativeHotUpdater.js.map +1 -1
- package/lib/module/updateError.js +126 -0
- package/lib/module/updateError.js.map +1 -0
- package/lib/module/updateError.spec.js +149 -0
- package/lib/module/updateError.spec.js.map +1 -0
- package/lib/module/wrap.js +43 -25
- package/lib/module/wrap.js.map +1 -1
- package/lib/module/wrap.progress.spec.js +196 -0
- package/lib/module/wrap.progress.spec.js.map +1 -0
- package/lib/module/wrap.spec.js +93 -229
- package/lib/module/wrap.spec.js.map +1 -1
- package/lib/typescript/commonjs/appReady.d.ts +23 -0
- package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
- package/lib/typescript/commonjs/appReady.test-utils.d.ts +9 -0
- package/lib/typescript/commonjs/appReady.test-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/baseURL.d.ts +4 -0
- package/lib/typescript/commonjs/baseURL.d.ts.map +1 -0
- package/lib/typescript/commonjs/checkForUpdate.d.ts +15 -2
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/clientPlugin.d.ts +185 -0
- package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
- package/lib/typescript/commonjs/fetchJSON.d.ts +2 -3
- package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/commonjs/httpClient.d.ts +2 -30
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -6
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +29 -15
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/pluginHost.d.ts +29 -0
- package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/plugins/insights/eventId.d.ts +18 -0
- package/lib/typescript/commonjs/plugins/insights/eventId.d.ts.map +1 -0
- package/lib/typescript/commonjs/plugins/insights/index.d.ts +40 -0
- package/lib/typescript/commonjs/plugins/insights/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/plugins/insights/sender.d.ts +74 -0
- package/lib/typescript/commonjs/plugins/insights/sender.d.ts.map +1 -0
- package/lib/typescript/commonjs/plugins/insights/state.d.ts +46 -0
- package/lib/typescript/commonjs/plugins/insights/state.d.ts.map +1 -0
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts +5 -1
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +34 -12
- package/lib/typescript/commonjs/specs/NativeHotUpdater.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.map +1 -1
- package/lib/typescript/commonjs/wrap.types.d.ts +6 -5
- package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
- package/lib/typescript/module/appReady.d.ts +23 -0
- package/lib/typescript/module/appReady.d.ts.map +1 -0
- package/lib/typescript/module/appReady.test-utils.d.ts +9 -0
- package/lib/typescript/module/appReady.test-utils.d.ts.map +1 -0
- package/lib/typescript/module/baseURL.d.ts +4 -0
- package/lib/typescript/module/baseURL.d.ts.map +1 -0
- package/lib/typescript/module/checkForUpdate.d.ts +15 -2
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/clientPlugin.d.ts +185 -0
- package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
- package/lib/typescript/module/fetchJSON.d.ts +2 -3
- package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/module/httpClient.d.ts +2 -30
- package/lib/typescript/module/httpClient.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -6
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +29 -15
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/pluginHost.d.ts +29 -0
- package/lib/typescript/module/pluginHost.d.ts.map +1 -0
- package/lib/typescript/module/plugins/insights/eventId.d.ts +18 -0
- package/lib/typescript/module/plugins/insights/eventId.d.ts.map +1 -0
- package/lib/typescript/module/plugins/insights/index.d.ts +40 -0
- package/lib/typescript/module/plugins/insights/index.d.ts.map +1 -0
- package/lib/typescript/module/plugins/insights/sender.d.ts +74 -0
- package/lib/typescript/module/plugins/insights/sender.d.ts.map +1 -0
- package/lib/typescript/module/plugins/insights/state.d.ts +46 -0
- package/lib/typescript/module/plugins/insights/state.d.ts.map +1 -0
- package/lib/typescript/module/releaseCatalogCache.d.ts +5 -1
- package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts +34 -12
- package/lib/typescript/module/specs/NativeHotUpdater.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.map +1 -1
- package/lib/typescript/module/wrap.types.d.ts +6 -5
- package/lib/typescript/module/wrap.types.d.ts.map +1 -1
- package/package.json +14 -2
- package/plugins/insights/package.json +8 -0
- package/src/appReady.spec.ts +393 -0
- package/src/{notifyAppReadyInsights.test-utils.ts → appReady.test-utils.ts} +7 -7
- package/src/appReady.ts +149 -0
- package/src/baseURL.ts +15 -0
- package/src/checkForUpdate.releaseCatalog.spec.ts +370 -76
- package/src/checkForUpdate.ts +135 -80
- package/src/clientPlugin.ts +231 -0
- package/src/entryImportGraph.spec.ts +65 -0
- package/src/fetchJSON.ts +3 -10
- package/src/httpClient.spec.ts +28 -9
- package/src/httpClient.ts +16 -109
- package/src/index.spec.ts +129 -36
- package/src/index.ts +67 -37
- package/src/native.spec.ts +98 -72
- package/src/native.ts +93 -77
- package/src/pluginHost.spec.ts +297 -0
- package/src/pluginHost.ts +262 -0
- package/src/plugins/insights/eventId.spec.ts +60 -0
- package/src/plugins/insights/eventId.ts +171 -0
- package/src/plugins/insights/index.ts +367 -0
- package/src/plugins/insights/insights.spec.ts +732 -0
- package/src/plugins/insights/sender.spec.ts +287 -0
- package/src/plugins/insights/sender.ts +221 -0
- package/src/plugins/insights/state.ts +184 -0
- package/src/releaseCatalogCache.spec.ts +22 -0
- package/src/releaseCatalogCache.ts +19 -4
- package/src/sdkVersion.ts +1 -1
- package/src/specs/NativeHotUpdater.ts +34 -13
- package/src/updateError.spec.ts +144 -0
- package/src/updateError.ts +153 -0
- package/src/wrap.progress.spec.ts +232 -0
- package/src/wrap.spec.ts +100 -283
- package/src/wrap.tsx +57 -26
- package/src/wrap.types.ts +6 -5
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -225
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.js +0 -188
- package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -378
- package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -124
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -224
- package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.js +0 -181
- package/lib/module/notifyAppReadyInsights.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.spec.js +0 -377
- package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -123
- package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -25
- 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 -25
- 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/notifyAppReadyInsights.boundary.spec.ts +0 -242
- package/src/notifyAppReadyInsights.spec.ts +0 -362
- package/src/notifyAppReadyInsights.transport.spec.ts +0 -138
- package/src/notifyAppReadyInsights.ts +0 -293
package/lib/commonjs/native.js
CHANGED
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "HotUpdaterErrorCode", {
|
|
|
9
9
|
return _error.HotUpdaterErrorCode;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
exports.isChannelSwitched = exports.getUpdateId = exports.
|
|
12
|
+
exports.isChannelSwitched = exports.getUpdateId = exports.getStorageItem = exports.getPublicActiveUpdateState = exports.getMinBundleId = exports.getManifest = exports.getInstallId = exports.getFingerprintHash = exports.getDefaultChannel = exports.getCrashHistory = exports.getCohort = exports.getChannel = exports.getBundleId = exports.getBaseURL = exports.getAppVersion = exports.getActiveUpdateState = exports.commitReleaseSelection = exports.clearCrashHistory = exports.addListener = exports.acceptReleaseCatalog = void 0;
|
|
13
13
|
Object.defineProperty(exports, "isHotUpdaterError", {
|
|
14
14
|
enumerable: true,
|
|
15
15
|
get: function () {
|
|
@@ -18,7 +18,8 @@ Object.defineProperty(exports, "isHotUpdaterError", {
|
|
|
18
18
|
});
|
|
19
19
|
exports.setCohort = exports.resetChannel = exports.reload = exports.readNotifyAppReady = exports.notifyAppReady = exports.isReleaseSelectionCurrent = void 0;
|
|
20
20
|
exports.setReloadBehavior = setReloadBehavior;
|
|
21
|
-
exports.
|
|
21
|
+
exports.setStorageItem = void 0;
|
|
22
|
+
exports.stageBundle = stageBundle;
|
|
22
23
|
exports.updateBundle = updateBundle;
|
|
23
24
|
var _core = require("@hot-updater/core");
|
|
24
25
|
var _reactNative = require("react-native");
|
|
@@ -213,15 +214,31 @@ const commitReleaseSelection = async input => {
|
|
|
213
214
|
return ok;
|
|
214
215
|
};
|
|
215
216
|
|
|
217
|
+
/** How native delivered a staged bundle. */
|
|
218
|
+
exports.commitReleaseSelection = commitReleaseSelection;
|
|
219
|
+
const readBundleDelivery = value => {
|
|
220
|
+
if (typeof value !== "object" || value === null) return null;
|
|
221
|
+
const {
|
|
222
|
+
delivery,
|
|
223
|
+
patchFallback
|
|
224
|
+
} = value;
|
|
225
|
+
if (delivery !== "patch" && delivery !== "manifest" && delivery !== "archive") {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
return {
|
|
229
|
+
delivery,
|
|
230
|
+
patchFallback: patchFallback === true
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
|
|
216
234
|
/**
|
|
217
|
-
*
|
|
235
|
+
* Stages a bundle for the next launch. Resolves with how native delivered
|
|
236
|
+
* it, or with null when this runtime had already staged it and nothing was
|
|
237
|
+
* downloaded; rejects when the download or install fails.
|
|
218
238
|
*
|
|
219
|
-
* @param {UpdateParams} params - Parameters object required for bundle update
|
|
220
|
-
* @returns {Promise<boolean>} Resolves with true if download was successful
|
|
221
239
|
* @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
|
|
222
240
|
*/
|
|
223
|
-
|
|
224
|
-
async function updateBundle(params) {
|
|
241
|
+
async function stageBundle(params) {
|
|
225
242
|
const updateBundleId = params.bundleId;
|
|
226
243
|
const status = params.status;
|
|
227
244
|
const currentBundleId = status === "UPDATE" ? getFreshBundleId() : undefined;
|
|
@@ -230,7 +247,7 @@ async function updateBundle(params) {
|
|
|
230
247
|
// skip re-download. Native state can move back to the built-in bundle after
|
|
231
248
|
// rollback/reset, so check a fresh native bundle id before using this guard.
|
|
232
249
|
if (status === "UPDATE" && sessionState.hasInstalledBundle(updateBundleId) && currentBundleId === updateBundleId) {
|
|
233
|
-
return
|
|
250
|
+
return null;
|
|
234
251
|
}
|
|
235
252
|
const shouldSkipCurrentBundleIdCheck = params.shouldSkipCurrentBundleIdCheck === true;
|
|
236
253
|
if (!shouldSkipCurrentBundleIdCheck && status === "UPDATE" && currentBundleId !== undefined && updateBundleId.localeCompare(currentBundleId) <= 0) {
|
|
@@ -247,7 +264,7 @@ async function updateBundle(params) {
|
|
|
247
264
|
const promise = (async () => {
|
|
248
265
|
try {
|
|
249
266
|
const selection = params.selection;
|
|
250
|
-
const
|
|
267
|
+
const staged = await _NativeHotUpdater.default.updateBundle({
|
|
251
268
|
bundleId: updateBundleId,
|
|
252
269
|
channel: targetChannel,
|
|
253
270
|
assets: targetAssets,
|
|
@@ -260,10 +277,8 @@ async function updateBundle(params) {
|
|
|
260
277
|
selection
|
|
261
278
|
})
|
|
262
279
|
});
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
return ok;
|
|
280
|
+
sessionState.markBundleInstalled(updateBundleId, targetChannel);
|
|
281
|
+
return readBundleDelivery(staged);
|
|
267
282
|
} finally {
|
|
268
283
|
sessionState.clearInflightUpdate(updateBundleId);
|
|
269
284
|
}
|
|
@@ -272,6 +287,18 @@ async function updateBundle(params) {
|
|
|
272
287
|
return promise;
|
|
273
288
|
}
|
|
274
289
|
|
|
290
|
+
/**
|
|
291
|
+
* Downloads files and applies them to the app.
|
|
292
|
+
*
|
|
293
|
+
* @param {UpdateParams} params - Parameters object required for bundle update
|
|
294
|
+
* @returns {Promise<boolean>} Resolves with true if download was successful
|
|
295
|
+
* @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
|
|
296
|
+
*/
|
|
297
|
+
async function updateBundle(params) {
|
|
298
|
+
await stageBundle(params);
|
|
299
|
+
return true;
|
|
300
|
+
}
|
|
301
|
+
|
|
275
302
|
/**
|
|
276
303
|
* Fetches the current app version.
|
|
277
304
|
*/
|
|
@@ -455,40 +482,32 @@ const getInstallId = () => {
|
|
|
455
482
|
return nativeModule.getInstallId();
|
|
456
483
|
};
|
|
457
484
|
exports.getInstallId = getInstallId;
|
|
458
|
-
const
|
|
459
|
-
const
|
|
460
|
-
if (typeof
|
|
461
|
-
throw new Error(
|
|
485
|
+
const requireStorageNativeMethod = name => {
|
|
486
|
+
const method = _NativeHotUpdater.default[name];
|
|
487
|
+
if (typeof method !== "function") {
|
|
488
|
+
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.`);
|
|
462
489
|
}
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
490
|
+
return method.bind(_NativeHotUpdater.default);
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
/** Reads a value from the SDK's native key-value store. */
|
|
494
|
+
const getStorageItem = key => {
|
|
495
|
+
const value = requireStorageNativeMethod("getStorageItem")(key);
|
|
496
|
+
return typeof value === "string" ? value : null;
|
|
497
|
+
};
|
|
498
|
+
|
|
499
|
+
/** Writes a value to the SDK's native key-value store; null removes it. */
|
|
500
|
+
exports.getStorageItem = getStorageItem;
|
|
501
|
+
const setStorageItem = (key, value) => {
|
|
502
|
+
requireStorageNativeMethod("setStorageItem")(key, value);
|
|
473
503
|
};
|
|
474
|
-
exports.getPersistedUserIdentity = getPersistedUserIdentity;
|
|
475
|
-
function setUser(params) {
|
|
476
|
-
const nativeModule = _NativeHotUpdater.default;
|
|
477
|
-
if (typeof nativeModule.setUser !== "function") {
|
|
478
|
-
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.");
|
|
479
|
-
}
|
|
480
|
-
if (params === null) {
|
|
481
|
-
nativeModule.setUser(null, null);
|
|
482
|
-
return;
|
|
483
|
-
}
|
|
484
|
-
const normalizedUserId = params.userId === null || params.userId === undefined ? null : String(params.userId);
|
|
485
|
-
nativeModule.setUser(normalizedUserId, params.username ?? null);
|
|
486
|
-
}
|
|
487
504
|
|
|
488
505
|
/**
|
|
489
506
|
* Result returned by notifyAppReady()
|
|
490
507
|
*/
|
|
491
508
|
|
|
509
|
+
/** An update applied or recovered at this launch, as native persisted it. */
|
|
510
|
+
exports.setStorageItem = setStorageItem;
|
|
492
511
|
const isPersistedUpdateStrategy = value => {
|
|
493
512
|
return value === "appVersion" || value === "fingerprint";
|
|
494
513
|
};
|
|
@@ -554,7 +573,7 @@ const getNotifyAppReadyTransition = result => {
|
|
|
554
573
|
}
|
|
555
574
|
return null;
|
|
556
575
|
};
|
|
557
|
-
const
|
|
576
|
+
const getLaunchTransition = result => {
|
|
558
577
|
const transition = getNotifyAppReadyTransition(result);
|
|
559
578
|
if (!transition || !isPersistedUpdateStrategy(result.updateStrategy)) {
|
|
560
579
|
return null;
|
|
@@ -563,12 +582,8 @@ const getNotifyAppReadyInsightsEvent = result => {
|
|
|
563
582
|
type: transition.status,
|
|
564
583
|
fromBundleId: transition.fromBundleId,
|
|
565
584
|
toBundleId: transition.toBundleId,
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
}),
|
|
569
|
-
...(transition.toReleaseId === null ? {} : {
|
|
570
|
-
toReleaseId: transition.toReleaseId
|
|
571
|
-
}),
|
|
585
|
+
fromReleaseId: transition.fromReleaseId,
|
|
586
|
+
toReleaseId: transition.toReleaseId,
|
|
572
587
|
updateStrategy: result.updateStrategy
|
|
573
588
|
};
|
|
574
589
|
};
|
|
@@ -593,9 +608,13 @@ const normalizeNotifyAppReadyResult = result => {
|
|
|
593
608
|
};
|
|
594
609
|
const readNotifyAppReady = () => {
|
|
595
610
|
const rawResult = readRawNotifyAppReadyResult();
|
|
611
|
+
const {
|
|
612
|
+
previousProcessExit
|
|
613
|
+
} = rawResult;
|
|
596
614
|
return {
|
|
597
615
|
result: normalizeNotifyAppReadyResult(rawResult),
|
|
598
|
-
|
|
616
|
+
transition: getLaunchTransition(rawResult),
|
|
617
|
+
previousProcessExit: typeof previousProcessExit === "string" && previousProcessExit !== "" ? previousProcessExit : null,
|
|
599
618
|
pending: rawResult.status === "PENDING"
|
|
600
619
|
};
|
|
601
620
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_reactNative","_error","_NativeHotUpdater","_interopRequireDefault","e","__esModule","default","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","normalizeCohortValue","isValidCohort","Error","INVALID_COHORT_ERROR_MESSAGE","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","HotUpdaterNative","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","NativeEventEmitter","addListener","eventName","listener","subscription","remove","exports","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","updateBundle","params","updateBundleId","status","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetAssets","archiveUrl","getAppVersion","APP_VERSION","reload","Platform","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":["_core","require","_reactNative","_error","_NativeHotUpdater","_interopRequireDefault","e","__esModule","default","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","normalizeCohortValue","isValidCohort","Error","INVALID_COHORT_ERROR_MESSAGE","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","HotUpdaterNative","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","NativeEventEmitter","addListener","eventName","listener","subscription","remove","exports","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","Platform","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","previousProcessExit","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,8 +13,7 @@ const nativeModuleMock = _vitest.vi.hoisted(() => {
|
|
|
13
13
|
getBundleId: _vitest.vi.fn(() => "bundle-id"),
|
|
14
14
|
getCohort: _vitest.vi.fn(() => "123"),
|
|
15
15
|
getInstallId: _vitest.vi.fn(() => "install-id"),
|
|
16
|
-
|
|
17
|
-
getUsername: _vitest.vi.fn(() => null),
|
|
16
|
+
getStorageItem: _vitest.vi.fn(() => null),
|
|
18
17
|
getManifest,
|
|
19
18
|
getCrashHistory,
|
|
20
19
|
getConstants: _vitest.vi.fn(() => ({
|
|
@@ -28,7 +27,7 @@ const nativeModuleMock = _vitest.vi.hoisted(() => {
|
|
|
28
27
|
reload: _vitest.vi.fn(),
|
|
29
28
|
resetChannel: _vitest.vi.fn(),
|
|
30
29
|
setCohort: _vitest.vi.fn(),
|
|
31
|
-
|
|
30
|
+
setStorageItem: _vitest.vi.fn(),
|
|
32
31
|
setBundleURL: _vitest.vi.fn(),
|
|
33
32
|
switchChannel: _vitest.vi.fn(),
|
|
34
33
|
updateBundle: _vitest.vi.fn()
|
|
@@ -88,7 +87,9 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
88
87
|
});
|
|
89
88
|
nativeModuleMock.resetChannel.mockReset();
|
|
90
89
|
nativeModuleMock.setCohort.mockReset();
|
|
91
|
-
nativeModuleMock.
|
|
90
|
+
nativeModuleMock.getStorageItem.mockReset();
|
|
91
|
+
nativeModuleMock.getStorageItem.mockReturnValue(null);
|
|
92
|
+
nativeModuleMock.setStorageItem.mockReset();
|
|
92
93
|
nativeModuleMock.updateBundle.mockReset();
|
|
93
94
|
});
|
|
94
95
|
(0, _vitest.it)("exposes active Release state without internal Catalog identity or history", async () => {
|
|
@@ -243,9 +244,12 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
243
244
|
toBundleId: "bundle-122"
|
|
244
245
|
});
|
|
245
246
|
(0, _vitest.expect)(readNotifyAppReady()).toEqual({
|
|
246
|
-
|
|
247
|
+
previousProcessExit: null,
|
|
248
|
+
transition: {
|
|
247
249
|
fromBundleId: "bundle-123",
|
|
250
|
+
fromReleaseId: null,
|
|
248
251
|
toBundleId: "bundle-122",
|
|
252
|
+
toReleaseId: null,
|
|
249
253
|
type: "RECOVERED",
|
|
250
254
|
updateStrategy: "appVersion"
|
|
251
255
|
},
|
|
@@ -272,14 +276,15 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
272
276
|
status: "UNCHANGED"
|
|
273
277
|
});
|
|
274
278
|
(0, _vitest.expect)(readNotifyAppReady()).toEqual({
|
|
275
|
-
|
|
279
|
+
previousProcessExit: null,
|
|
280
|
+
transition: null,
|
|
276
281
|
pending: false,
|
|
277
282
|
result: {
|
|
278
283
|
status: "UNCHANGED"
|
|
279
284
|
}
|
|
280
285
|
});
|
|
281
286
|
});
|
|
282
|
-
(0, _vitest.it)("returns UNCHANGED when
|
|
287
|
+
(0, _vitest.it)("returns UNCHANGED when an applied launch report has no bundle ids", async () => {
|
|
283
288
|
nativeModuleMock.notifyAppReady.mockReturnValue({
|
|
284
289
|
status: "UPDATE_APPLIED"
|
|
285
290
|
});
|
|
@@ -291,7 +296,8 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
291
296
|
status: "UNCHANGED"
|
|
292
297
|
});
|
|
293
298
|
(0, _vitest.expect)(readNotifyAppReady()).toEqual({
|
|
294
|
-
|
|
299
|
+
previousProcessExit: null,
|
|
300
|
+
transition: null,
|
|
295
301
|
pending: false,
|
|
296
302
|
result: {
|
|
297
303
|
status: "UNCHANGED"
|
|
@@ -308,7 +314,8 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
308
314
|
status: "UNCHANGED"
|
|
309
315
|
});
|
|
310
316
|
(0, _vitest.expect)(readNotifyAppReady()).toEqual({
|
|
311
|
-
|
|
317
|
+
previousProcessExit: null,
|
|
318
|
+
transition: null,
|
|
312
319
|
pending: false,
|
|
313
320
|
result: {
|
|
314
321
|
status: "UNCHANGED"
|
|
@@ -327,7 +334,8 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
327
334
|
status: "UNCHANGED"
|
|
328
335
|
});
|
|
329
336
|
(0, _vitest.expect)(readNotifyAppReady()).toEqual({
|
|
330
|
-
|
|
337
|
+
previousProcessExit: null,
|
|
338
|
+
transition: null,
|
|
331
339
|
pending: true,
|
|
332
340
|
result: {
|
|
333
341
|
status: "UNCHANGED"
|
|
@@ -664,6 +672,51 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
664
672
|
manifestUrl: "https://example.com/manifest.json"
|
|
665
673
|
});
|
|
666
674
|
});
|
|
675
|
+
(0, _vitest.it)("resolves how native delivered a staged bundle", async () => {
|
|
676
|
+
nativeModuleMock.getBundleId.mockReturnValue("bundle-123");
|
|
677
|
+
nativeModuleMock.updateBundle.mockResolvedValue({
|
|
678
|
+
delivery: "patch",
|
|
679
|
+
patchFallback: true
|
|
680
|
+
});
|
|
681
|
+
const {
|
|
682
|
+
stageBundle,
|
|
683
|
+
updateBundle
|
|
684
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require("./native")));
|
|
685
|
+
const params = {
|
|
686
|
+
assets: {},
|
|
687
|
+
bundleId: "bundle-789",
|
|
688
|
+
manifestFileHash: "sig:manifest",
|
|
689
|
+
manifestUrl: "https://example.com/manifest.json",
|
|
690
|
+
status: "UPDATE"
|
|
691
|
+
};
|
|
692
|
+
await (0, _vitest.expect)(stageBundle(params)).resolves.toEqual({
|
|
693
|
+
delivery: "patch",
|
|
694
|
+
patchFallback: true
|
|
695
|
+
});
|
|
696
|
+
// Native still reports bundle-123, so the same bundle downloads again.
|
|
697
|
+
await (0, _vitest.expect)(updateBundle(params)).resolves.toBe(true);
|
|
698
|
+
nativeModuleMock.getBundleId.mockReturnValue("bundle-789");
|
|
699
|
+
// Now native reports it: this runtime already staged it.
|
|
700
|
+
await (0, _vitest.expect)(stageBundle(params)).resolves.toBeNull();
|
|
701
|
+
(0, _vitest.expect)(nativeModuleMock.updateBundle).toHaveBeenCalledTimes(2);
|
|
702
|
+
});
|
|
703
|
+
(0, _vitest.it)("passes on why the previous process exited from the launch report", async () => {
|
|
704
|
+
nativeModuleMock.notifyAppReady.mockReturnValue({
|
|
705
|
+
previousProcessExit: "LOW_MEMORY",
|
|
706
|
+
status: "UNCHANGED"
|
|
707
|
+
});
|
|
708
|
+
const {
|
|
709
|
+
readNotifyAppReady
|
|
710
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require("./native")));
|
|
711
|
+
(0, _vitest.expect)(readNotifyAppReady()).toEqual({
|
|
712
|
+
previousProcessExit: "LOW_MEMORY",
|
|
713
|
+
transition: null,
|
|
714
|
+
pending: false,
|
|
715
|
+
result: {
|
|
716
|
+
status: "UNCHANGED"
|
|
717
|
+
}
|
|
718
|
+
});
|
|
719
|
+
});
|
|
667
720
|
(0, _vitest.it)("invalidates cached bundle getters after resetChannel succeeds", async () => {
|
|
668
721
|
nativeModuleMock.getConstants.mockReturnValue({
|
|
669
722
|
APP_VERSION: null,
|
|
@@ -805,62 +858,31 @@ _vitest.vi.mock("./specs/NativeHotUpdater", () => ({
|
|
|
805
858
|
nativeModule.getInstallId = originalGetInstallId;
|
|
806
859
|
}
|
|
807
860
|
});
|
|
808
|
-
(0, _vitest.it)("
|
|
861
|
+
(0, _vitest.it)("reads and writes the native key-value store", async () => {
|
|
862
|
+
nativeModuleMock.getStorageItem.mockImplementation(key => key === "plugins/example/state" ? "stored" : null);
|
|
809
863
|
const {
|
|
810
|
-
|
|
864
|
+
getStorageItem,
|
|
865
|
+
setStorageItem
|
|
811
866
|
} = await Promise.resolve().then(() => _interopRequireWildcard(require("./native")));
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
username: "bob"
|
|
819
|
-
});
|
|
820
|
-
setUser({});
|
|
821
|
-
setUser(null);
|
|
822
|
-
(0, _vitest.expect)(nativeModuleMock.setUser).toHaveBeenNthCalledWith(1, "user-123", "alice");
|
|
823
|
-
(0, _vitest.expect)(nativeModuleMock.setUser).toHaveBeenNthCalledWith(2, "42", "bob");
|
|
824
|
-
(0, _vitest.expect)(nativeModuleMock.setUser).toHaveBeenNthCalledWith(3, null, null);
|
|
825
|
-
(0, _vitest.expect)(nativeModuleMock.setUser).toHaveBeenNthCalledWith(4, null, null);
|
|
826
|
-
});
|
|
827
|
-
(0, _vitest.it)("reads persisted user identity from native when available", async () => {
|
|
828
|
-
nativeModuleMock.getUserId.mockReturnValue("user-123");
|
|
829
|
-
nativeModuleMock.getUsername.mockReturnValue("alice");
|
|
830
|
-
const {
|
|
831
|
-
getPersistedUserIdentity
|
|
832
|
-
} = await Promise.resolve().then(() => _interopRequireWildcard(require("./native")));
|
|
833
|
-
(0, _vitest.expect)(getPersistedUserIdentity()).toEqual({
|
|
834
|
-
userId: "user-123",
|
|
835
|
-
username: "alice"
|
|
836
|
-
});
|
|
837
|
-
});
|
|
838
|
-
(0, _vitest.it)("throws when native SDK does not expose persisted user identity getters", async () => {
|
|
839
|
-
const nativeModule = nativeModuleMock;
|
|
840
|
-
const originalGetUserId = nativeModule.getUserId;
|
|
841
|
-
nativeModule.getUserId = null;
|
|
842
|
-
try {
|
|
843
|
-
const {
|
|
844
|
-
getPersistedUserIdentity
|
|
845
|
-
} = await Promise.resolve().then(() => _interopRequireWildcard(require("./native")));
|
|
846
|
-
(0, _vitest.expect)(() => getPersistedUserIdentity()).toThrow("Native module is missing 'getUserId()' or 'getUsername()'");
|
|
847
|
-
} finally {
|
|
848
|
-
nativeModule.getUserId = originalGetUserId;
|
|
849
|
-
}
|
|
867
|
+
(0, _vitest.expect)(getStorageItem("plugins/example/state")).toBe("stored");
|
|
868
|
+
(0, _vitest.expect)(getStorageItem("plugins/example/missing")).toBeNull();
|
|
869
|
+
setStorageItem("plugins/example/state", "next");
|
|
870
|
+
setStorageItem("plugins/example/state", null);
|
|
871
|
+
(0, _vitest.expect)(nativeModuleMock.setStorageItem).toHaveBeenNthCalledWith(1, "plugins/example/state", "next");
|
|
872
|
+
(0, _vitest.expect)(nativeModuleMock.setStorageItem).toHaveBeenNthCalledWith(2, "plugins/example/state", null);
|
|
850
873
|
});
|
|
851
|
-
(
|
|
874
|
+
_vitest.it.each(["getStorageItem", "setStorageItem"])("throws when native SDK does not expose %s", async name => {
|
|
852
875
|
const nativeModule = nativeModuleMock;
|
|
853
|
-
const
|
|
854
|
-
nativeModule
|
|
876
|
+
const original = nativeModule[name];
|
|
877
|
+
nativeModule[name] = undefined;
|
|
855
878
|
try {
|
|
856
879
|
const {
|
|
857
|
-
|
|
880
|
+
getStorageItem,
|
|
881
|
+
setStorageItem
|
|
858
882
|
} = await Promise.resolve().then(() => _interopRequireWildcard(require("./native")));
|
|
859
|
-
(0, _vitest.expect)(() =>
|
|
860
|
-
userId: "user-123"
|
|
861
|
-
})).toThrow("Native module is missing 'setUser()'");
|
|
883
|
+
(0, _vitest.expect)(() => name === "getStorageItem" ? getStorageItem("key") : setStorageItem("key", "value")).toThrow(`Native module is missing '${name}()'`);
|
|
862
884
|
} finally {
|
|
863
|
-
nativeModule
|
|
885
|
+
nativeModule[name] = original;
|
|
864
886
|
}
|
|
865
887
|
});
|
|
866
888
|
(0, _vitest.it)("returns the cohort reported by native", async () => {
|