From 6b83ede317c4eedd4827f00466c684fb64be3d94 Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 14:57:21 +0200 Subject: [PATCH 1/8] Fixe dindentation in codePush.sync's documentation comment Signed-off-by: Clovis Durand --- src/codePush.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/codePush.ts b/src/codePush.ts index 89190045..20509492 100644 --- a/src/codePush.ts +++ b/src/codePush.ts @@ -287,11 +287,11 @@ class CodePush implements CodePushCapacitorPlugin { * The algorithm of this method is the following: * - Checks for an update on the CodePush server. * - If an update is available - * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. - * The update package will then be downloaded and applied. - * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. - * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. - * - Otherwise, the update package will be downloaded and applied with no user interaction. + * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. + * The update package will then be downloaded and applied. + * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. + * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. + * - Otherwise, the update package will be downloaded and applied with no user interaction. * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE. * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR. * From 2c4ad78fefca8f71ff7ca42b526bce7a351127ff Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 15:19:50 +0200 Subject: [PATCH 2/8] Added log for the InstallMode.IMMEDIATE case in syncInternal.onInstallSuccess Signed-off-by: Clovis Durand --- src/codePush.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/codePush.ts b/src/codePush.ts index 20509492..36ab6c98 100644 --- a/src/codePush.ts +++ b/src/codePush.ts @@ -404,7 +404,9 @@ class CodePush implements CodePushCapacitorPlugin { } else { CodePushUtil.logMessage("Update is installed and will be run when the app next resumes."); } - + break; + case InstallMode.IMMEDIATE: + CodePushUtil.logMessage("Update is installed and will be run immediately."); break; } From a0e990a46c7999a75e3f6c2e50742c5b2402e77c Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 15:54:06 +0200 Subject: [PATCH 3/8] Fixed indentation inside of checkForUpdate's implementation Signed-off-by: Clovis Durand --- src/codePush.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/codePush.ts b/src/codePush.ts index 36ab6c98..2ada90d4 100644 --- a/src/codePush.ts +++ b/src/codePush.ts @@ -245,16 +245,16 @@ class CodePush implements CodePushCapacitorPlugin { const queryUpdate = async () => { try { const acquisitionManager = await Sdk.getAcquisitionManager(deploymentKey); - const localPackage = await LocalPackage.getCurrentOrDefaultPackage(); - try { - const currentBinaryVersion = await NativeAppInfo.getApplicationVersion(); - localPackage.appVersion = currentBinaryVersion; - } catch (e) { - /* Nothing to do */ - /* TODO : Why ? */ - } - CodePushUtil.logMessage("Checking for update."); - acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback); + const localPackage = await LocalPackage.getCurrentOrDefaultPackage(); + try { + const currentBinaryVersion = await NativeAppInfo.getApplicationVersion(); + localPackage.appVersion = currentBinaryVersion; + } catch (e) { + /* Nothing to do */ + /* TODO : Why ? */ + } + CodePushUtil.logMessage("Checking for update."); + acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback); } catch (e) { CodePushUtil.invokeErrorCallback(e, queryError); } From 4406c72bed609d801d9f7012f58436563648b256 Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 15:55:03 +0200 Subject: [PATCH 4/8] Replaced var by const in checkForUpdate Signed-off-by: Clovis Durand --- src/codePush.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/codePush.ts b/src/codePush.ts index 2ada90d4..782514aa 100644 --- a/src/codePush.ts +++ b/src/codePush.ts @@ -221,9 +221,9 @@ class CodePush implements CodePushCapacitorPlugin { appUpToDate(); } else { /* There is an update available for the current version. */ - var remotePackage: RemotePackage = remotePackageOrUpdateNotification; + const remotePackage: RemotePackage = remotePackageOrUpdateNotification; const installFailed = await NativeAppInfo.isFailedUpdate(remotePackage.packageHash); - var result: RemotePackage = new RemotePackage(); + const result: RemotePackage = new RemotePackage(); result.appVersion = remotePackage.appVersion; result.deploymentKey = deploymentKey; // server does not send back the deployment key result.description = remotePackage.description; From 2784ab8f3edf2ff966db42b669381a56314d1a70 Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 16:10:19 +0200 Subject: [PATCH 5/8] Print the binary versions if an update is available, but it is targeting a newer binary Signed-off-by: Clovis Durand --- src/codePush.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/codePush.ts b/src/codePush.ts index 782514aa..d55eac64 100644 --- a/src/codePush.ts +++ b/src/codePush.ts @@ -217,7 +217,17 @@ class CodePush implements CodePushCapacitorPlugin { if (remotePackageOrUpdateNotification) { if ((remotePackageOrUpdateNotification).updateAppVersion) { /* There is an update available for a different version. In the current version of the plugin, we treat that as no update. */ - CodePushUtil.logMessage("An update is available, but it is targeting a newer binary version than you are currently running."); + let currentBinaryVersion: string | null = null; + try { + currentBinaryVersion = await NativeAppInfo.getApplicationVersion(); + } catch(e) { + currentBinaryVersion = 'unknown'; + } + CodePushUtil.logMessage( + `An update is available, but it is targeting a newer (${remotePackageOrUpdateNotification.appVersion}) + binary than the one you are currently running (${currentBinaryVersion}).` + ); + appUpToDate(); } else { /* There is an update available for the current version. */ From b82ee09b01bd42adfa87f71570a1e10ec8be1ad2 Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 16:10:57 +0200 Subject: [PATCH 6/8] Added comments to checkForUpdate Signed-off-by: Clovis Durand --- src/codePush.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/codePush.ts b/src/codePush.ts index d55eac64..f7f30345 100644 --- a/src/codePush.ts +++ b/src/codePush.ts @@ -254,7 +254,12 @@ class CodePush implements CodePushCapacitorPlugin { const queryUpdate = async () => { try { + /* Get the acquisition manager to fetch the package */ const acquisitionManager = await Sdk.getAcquisitionManager(deploymentKey); + + /* Get the local package to install + * if said package doesn't exist, defaults to the existing + * code package */ const localPackage = await LocalPackage.getCurrentOrDefaultPackage(); try { const currentBinaryVersion = await NativeAppInfo.getApplicationVersion(); @@ -262,6 +267,7 @@ class CodePush implements CodePushCapacitorPlugin { } catch (e) { /* Nothing to do */ /* TODO : Why ? */ + /* We bet that the appVersion hasn't changed */ } CodePushUtil.logMessage("Checking for update."); acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback); From 10c327f18ac97f62ae9270f0b488e93743d3ac3d Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 16:11:39 +0200 Subject: [PATCH 7/8] Explicit boolean conditional in sync when checking CodePush.SyncInProgress Signed-off-by: Clovis Durand --- src/codePush.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/codePush.ts b/src/codePush.ts index f7f30345..08d35629 100644 --- a/src/codePush.ts +++ b/src/codePush.ts @@ -318,7 +318,7 @@ class CodePush implements CodePushCapacitorPlugin { return await new Promise( (resolve, reject) => { /* Check if a sync is already in progress */ - if (CodePush.SyncInProgress) { + if (CodePush.SyncInProgress === true) { /* A sync is already in progress */ CodePushUtil.logMessage("Sync already in progress."); resolve(SyncStatus.IN_PROGRESS); From 80b62fe648507180c91b0aaae674b2a48ff23236 Mon Sep 17 00:00:00 2001 From: Clovis Durand Date: Mon, 20 Sep 2021 16:50:34 +0200 Subject: [PATCH 8/8] Compiled project Signed-off-by: Clovis Durand --- dist/esm/codePush.d.ts | 10 +++++----- dist/esm/codePush.js | 34 +++++++++++++++++++++++++--------- dist/esm/codePush.js.map | 2 +- dist/plugin.js | 34 +++++++++++++++++++++++++--------- dist/plugin.js.map | 2 +- 5 files changed, 57 insertions(+), 25 deletions(-) diff --git a/dist/esm/codePush.d.ts b/dist/esm/codePush.d.ts index 208bc47e..6dd79f7f 100644 --- a/dist/esm/codePush.d.ts +++ b/dist/esm/codePush.d.ts @@ -123,11 +123,11 @@ declare class CodePush implements CodePushCapacitorPlugin { * The algorithm of this method is the following: * - Checks for an update on the CodePush server. * - If an update is available - * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. - * The update package will then be downloaded and applied. - * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. - * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. - * - Otherwise, the update package will be downloaded and applied with no user interaction. + * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. + * The update package will then be downloaded and applied. + * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. + * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. + * - Otherwise, the update package will be downloaded and applied with no user interaction. * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE. * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR. * diff --git a/dist/esm/codePush.js b/dist/esm/codePush.js index 8018ca23..213cce5d 100644 --- a/dist/esm/codePush.js +++ b/dist/esm/codePush.js @@ -142,14 +142,22 @@ class CodePush { if (remotePackageOrUpdateNotification) { if (remotePackageOrUpdateNotification.updateAppVersion) { /* There is an update available for a different version. In the current version of the plugin, we treat that as no update. */ - CodePushUtil.logMessage("An update is available, but it is targeting a newer binary version than you are currently running."); + let currentBinaryVersion = null; + try { + currentBinaryVersion = yield NativeAppInfo.getApplicationVersion(); + } + catch (e) { + currentBinaryVersion = 'unknown'; + } + CodePushUtil.logMessage(`An update is available, but it is targeting a newer (${remotePackageOrUpdateNotification.appVersion}) + binary than the one you are currently running (${currentBinaryVersion}).`); appUpToDate(); } else { /* There is an update available for the current version. */ - var remotePackage = remotePackageOrUpdateNotification; + const remotePackage = remotePackageOrUpdateNotification; const installFailed = yield NativeAppInfo.isFailedUpdate(remotePackage.packageHash); - var result = new RemotePackage(); + const result = new RemotePackage(); result.appVersion = remotePackage.appVersion; result.deploymentKey = deploymentKey; // server does not send back the deployment key result.description = remotePackage.description; @@ -170,7 +178,11 @@ class CodePush { }); const queryUpdate = () => __awaiter(this, void 0, void 0, function* () { try { + /* Get the acquisition manager to fetch the package */ const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey); + /* Get the local package to install + * if said package doesn't exist, defaults to the existing + * code package */ const localPackage = yield LocalPackage.getCurrentOrDefaultPackage(); try { const currentBinaryVersion = yield NativeAppInfo.getApplicationVersion(); @@ -179,6 +191,7 @@ class CodePush { catch (e) { /* Nothing to do */ /* TODO : Why ? */ + /* We bet that the appVersion hasn't changed */ } CodePushUtil.logMessage("Checking for update."); acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback); @@ -212,11 +225,11 @@ class CodePush { * The algorithm of this method is the following: * - Checks for an update on the CodePush server. * - If an update is available - * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. - * The update package will then be downloaded and applied. - * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. - * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. - * - Otherwise, the update package will be downloaded and applied with no user interaction. + * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. + * The update package will then be downloaded and applied. + * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. + * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. + * - Otherwise, the update package will be downloaded and applied with no user interaction. * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE. * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR. * @@ -227,7 +240,7 @@ class CodePush { return __awaiter(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { /* Check if a sync is already in progress */ - if (CodePush.SyncInProgress) { + if (CodePush.SyncInProgress === true) { /* A sync is already in progress */ CodePushUtil.logMessage("Sync already in progress."); resolve(SyncStatus.IN_PROGRESS); @@ -320,6 +333,9 @@ class CodePush { CodePushUtil.logMessage("Update is installed and will be run when the app next resumes."); } break; + case InstallMode.IMMEDIATE: + CodePushUtil.logMessage("Update is installed and will be run immediately."); + break; } syncCallback && syncCallback(null, SyncStatus.UPDATE_INSTALLED); }; diff --git a/dist/esm/codePush.js.map b/dist/esm/codePush.js.map index 6817de24..a50ea107 100644 --- a/dist/esm/codePush.js.map +++ b/dist/esm/codePush.js.map @@ -1 +1 @@ -{"version":3,"file":"codePush.js","sourceRoot":"","sources":["../../src/codePush.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codePush.js","sourceRoot":"","sources":["../../src/codePush.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugin.js b/dist/plugin.js index a6e0294a..68e5fd26 100644 --- a/dist/plugin.js +++ b/dist/plugin.js @@ -1341,14 +1341,22 @@ var capacitorPlugin = (function (exports, acquisitionSdk, filesystem, core, http if (remotePackageOrUpdateNotification) { if (remotePackageOrUpdateNotification.updateAppVersion) { /* There is an update available for a different version. In the current version of the plugin, we treat that as no update. */ - CodePushUtil.logMessage("An update is available, but it is targeting a newer binary version than you are currently running."); + let currentBinaryVersion = null; + try { + currentBinaryVersion = yield NativeAppInfo.getApplicationVersion(); + } + catch (e) { + currentBinaryVersion = 'unknown'; + } + CodePushUtil.logMessage(`An update is available, but it is targeting a newer (${remotePackageOrUpdateNotification.appVersion}) + binary than the one you are currently running (${currentBinaryVersion}).`); appUpToDate(); } else { /* There is an update available for the current version. */ - var remotePackage = remotePackageOrUpdateNotification; + const remotePackage = remotePackageOrUpdateNotification; const installFailed = yield NativeAppInfo.isFailedUpdate(remotePackage.packageHash); - var result = new RemotePackage(); + const result = new RemotePackage(); result.appVersion = remotePackage.appVersion; result.deploymentKey = deploymentKey; // server does not send back the deployment key result.description = remotePackage.description; @@ -1369,7 +1377,11 @@ var capacitorPlugin = (function (exports, acquisitionSdk, filesystem, core, http }); const queryUpdate = () => __awaiter$5(this, void 0, void 0, function* () { try { + /* Get the acquisition manager to fetch the package */ const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey); + /* Get the local package to install + * if said package doesn't exist, defaults to the existing + * code package */ const localPackage = yield LocalPackage.getCurrentOrDefaultPackage(); try { const currentBinaryVersion = yield NativeAppInfo.getApplicationVersion(); @@ -1378,6 +1390,7 @@ var capacitorPlugin = (function (exports, acquisitionSdk, filesystem, core, http catch (e) { /* Nothing to do */ /* TODO : Why ? */ + /* We bet that the appVersion hasn't changed */ } CodePushUtil.logMessage("Checking for update."); acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback); @@ -1411,11 +1424,11 @@ var capacitorPlugin = (function (exports, acquisitionSdk, filesystem, core, http * The algorithm of this method is the following: * - Checks for an update on the CodePush server. * - If an update is available - * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. - * The update package will then be downloaded and applied. - * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. - * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. - * - Otherwise, the update package will be downloaded and applied with no user interaction. + * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version. + * The update package will then be downloaded and applied. + * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version. + * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED. + * - Otherwise, the update package will be downloaded and applied with no user interaction. * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE. * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR. * @@ -1426,7 +1439,7 @@ var capacitorPlugin = (function (exports, acquisitionSdk, filesystem, core, http return __awaiter$5(this, void 0, void 0, function* () { return yield new Promise((resolve, reject) => { /* Check if a sync is already in progress */ - if (CodePush$1.SyncInProgress) { + if (CodePush$1.SyncInProgress === true) { /* A sync is already in progress */ CodePushUtil.logMessage("Sync already in progress."); resolve(SyncStatus.IN_PROGRESS); @@ -1516,6 +1529,9 @@ var capacitorPlugin = (function (exports, acquisitionSdk, filesystem, core, http CodePushUtil.logMessage("Update is installed and will be run when the app next resumes."); } break; + case exports.InstallMode.IMMEDIATE: + CodePushUtil.logMessage("Update is installed and will be run immediately."); + break; } syncCallback && syncCallback(null, SyncStatus.UPDATE_INSTALLED); }; diff --git a/dist/plugin.js.map b/dist/plugin.js.map index 73b21bcc..2b46fc6b 100644 --- a/dist/plugin.js.map +++ b/dist/plugin.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin.js","sources":["esm/codePushUtil.js","esm/installMode.js","esm/fileUtil.js","esm/nativeCodePushPlugin.js","esm/nativeAppInfo.js","esm/package.js","esm/httpRequester.js","esm/sdk.js","esm/localPackage.js","esm/remotePackage.js","esm/syncStatus.js","esm/codePush.js"],"sourcesContent":["/**\n * Callback / error / logging utilities.\n */\nexport class CodePushUtil {\n /**\n * Performs a copy of all members of fromParameter to toParameter, with the condition that they are unassigned or null in toParameter.\n */\n static copyUnassignedMembers(fromParameter, toParameter) {\n for (let key in fromParameter) {\n if (toParameter[key] === undefined || toParameter[key] === null) {\n toParameter[key] = fromParameter[key];\n }\n }\n }\n /**\n * Given two Cordova style callbacks for success and error, this function returns a node.js\n * style callback where the error is the first parameter and the result the second.\n */\n static getNodeStyleCallbackFor(successCallback, errorCallback) {\n return (error, result) => {\n if (error) {\n errorCallback && errorCallback(error);\n }\n else {\n successCallback && successCallback(result);\n }\n };\n }\n /**\n * Gets the message of an error, if any. Otherwise it returns the empty string.\n */\n static getErrorMessage(e) {\n return e && e.message || e && e.toString() || \"\";\n }\n /**\n * Logs a message using the CodePush tag.\n */\n static logMessage(msg) {\n console.log(CodePushUtil.TAG + \" \" + msg);\n }\n /**\n * Logs an error message using the CodePush tag.\n */\n static logError(message, error) {\n const errorMessage = `${message || \"\"} ${CodePushUtil.getErrorMessage(error)}`;\n const stackTrace = error && error.stack ? `. StackTrace: ${error.stack}` : \"\";\n console.error(`${CodePushUtil.TAG} ${errorMessage}${stackTrace}`);\n }\n}\n/**\n * Tag used for logging to the console.\n */\nCodePushUtil.TAG = \"[CodePush]\";\n/**\n * Logs the error to the console and then forwards it to the provided ErrorCallback, if any.\n * TODO: remove me\n */\nCodePushUtil.invokeErrorCallback = (error, errorCallback) => {\n CodePushUtil.logError(null, error);\n errorCallback && errorCallback(error);\n};\n/**\n * Logs the error to the console and then throws the error.\n */\nCodePushUtil.throwError = (error) => {\n CodePushUtil.logError(null, error);\n throw error;\n};\n//# sourceMappingURL=codePushUtil.js.map","/**\n * Defines the available install modes for updates.\n */\nexport var InstallMode;\n(function (InstallMode) {\n /**\n * The update will be applied to the running application immediately. The application will be reloaded with the new content immediately.\n */\n InstallMode[InstallMode[\"IMMEDIATE\"] = 0] = \"IMMEDIATE\";\n /**\n * The update is downloaded but not installed immediately. The new content will be available the next time the application is started.\n */\n InstallMode[InstallMode[\"ON_NEXT_RESTART\"] = 1] = \"ON_NEXT_RESTART\";\n /**\n * The udpate is downloaded but not installed immediately. The new content will be available the next time the application is resumed or restarted, whichever event happends first.\n */\n InstallMode[InstallMode[\"ON_NEXT_RESUME\"] = 2] = \"ON_NEXT_RESUME\";\n})(InstallMode || (InstallMode = {}));\n//# sourceMappingURL=installMode.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Directory, Filesystem, Encoding } from \"@capacitor/filesystem\";\n/**\n * File utilities for CodePush.\n */\nexport class FileUtil {\n static directoryExists(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const statResult = yield Filesystem.stat({ directory, path });\n // directory for Android, NSFileTypeDirectory for iOS\n return statResult.type === \"directory\" || statResult.type === \"NSFileTypeDirectory\";\n }\n catch (error) {\n return false;\n }\n });\n }\n static writeStringToDataFile(content, path, createIfNotExists, callback) {\n FileUtil.writeStringToFile(content, Directory.Data, path, createIfNotExists, callback);\n }\n static fileExists(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const statResult = yield Filesystem.stat({ directory, path });\n // file for Android, NSFileTypeRegular for iOS\n return statResult.type === \"file\" || statResult.type === \"NSFileTypeRegular\";\n }\n catch (error) {\n return false;\n }\n });\n }\n /**\n * Makes sure the given directory exists and is empty.\n */\n static cleanDataDirectory(path) {\n return __awaiter(this, void 0, void 0, function* () {\n if (yield FileUtil.dataDirectoryExists(path)) {\n yield FileUtil.deleteDataDirectory(path);\n }\n yield Filesystem.mkdir({ directory: Directory.Data, path, recursive: true });\n const appDir = yield Filesystem.getUri({ directory: Directory.Data, path });\n return appDir.uri;\n });\n }\n static getUri(fsDir, path) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield Filesystem.getUri({ directory: fsDir, path });\n return result.uri;\n });\n }\n static getDataUri(path) {\n return FileUtil.getUri(Directory.Data, path);\n }\n static dataDirectoryExists(path) {\n return FileUtil.directoryExists(Directory.Data, path);\n }\n static copyDirectoryEntriesTo(sourceDir, destinationDir, ignoreList = []) {\n return __awaiter(this, void 0, void 0, function* () {\n /*\n Native-side exception occurs while trying to copy “.DS_Store” and “__MACOSX” entries generated by macOS, so just skip them\n */\n if (ignoreList.indexOf(\".DS_Store\") === -1) {\n ignoreList.push(\".DS_Store\");\n }\n if (ignoreList.indexOf(\"__MACOSX\") === -1) {\n ignoreList.push(\"__MACOSX\");\n }\n // @capacitor/filesystem plugin throw error when destination directory already exists.\n if (yield FileUtil.directoryExists(destinationDir.directory, destinationDir.path)) {\n const { files } = yield Filesystem.readdir(sourceDir);\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (ignoreList.includes(file))\n continue;\n const sourcePath = sourceDir.path + \"/\" + file;\n const destPath = destinationDir.path + \"/\" + file;\n const source = Object.assign(Object.assign({}, sourceDir), { path: sourcePath });\n const destination = Object.assign(Object.assign({}, destinationDir), { path: destPath });\n if (yield FileUtil.directoryExists(source.directory, source.path)) { // is directory\n yield FileUtil.copyDirectoryEntriesTo(source, destination);\n }\n else { // is file\n yield FileUtil.copy(source, destination);\n }\n }\n }\n else {\n yield FileUtil.copy(sourceDir, destinationDir);\n }\n });\n }\n static copy(source, destination) {\n return __awaiter(this, void 0, void 0, function* () {\n yield Filesystem.copy({ directory: source.directory, from: source.path, to: destination.path, toDirectory: destination.directory });\n });\n }\n /**\n * Recursively deletes the contents of a directory.\n */\n static deleteDataDirectory(path) {\n return __awaiter(this, void 0, void 0, function* () {\n yield Filesystem.rmdir({ directory: Directory.Data, path, recursive: true }).then(() => null);\n });\n }\n /**\n * Deletes a given set of files from a directory.\n */\n static deleteEntriesFromDataDirectory(dirPath, filesToDelete) {\n return __awaiter(this, void 0, void 0, function* () {\n for (const file of filesToDelete) {\n const path = dirPath + \"/\" + file;\n const fileExists = yield FileUtil.fileExists(Directory.Data, path);\n if (!fileExists)\n continue;\n try {\n yield Filesystem.deleteFile({ directory: Directory.Data, path });\n }\n catch (error) {\n /* If delete fails, silently continue */\n console.log(\"Could not delete file: \" + path);\n }\n }\n });\n }\n /**\n * Writes a string to a file.\n */\n static writeStringToFile(data, directory, path, createIfNotExists, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n yield Filesystem.writeFile({ directory, path, data, encoding: Encoding.UTF8 });\n callback(null, null);\n }\n catch (error) {\n callback(new Error(\"Could write the current package information file. Error code: \" + error.code), null);\n }\n });\n }\n static readFile(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield Filesystem.readFile({ directory, path, encoding: Encoding.UTF8 });\n return result.data;\n });\n }\n static readDataFile(path) {\n return FileUtil.readFile(Directory.Data, path);\n }\n}\n//# sourceMappingURL=fileUtil.js.map","// Type definitions for Apache Cordova CodePush plugin.\n// Project: https://github.com/Microsoft/cordova-plugin-code-push\n//\n// Copyright (c) Microsoft Corporation\n// All rights reserved.\n// Licensed under the MIT license.\nimport { registerPlugin } from \"@capacitor/core\";\nexport const CodePush = /*#__PURE__*/ registerPlugin(\"CodePush\");\n//# sourceMappingURL=nativeCodePushPlugin.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nconst DefaultServerUrl = \"https://codepush.appcenter.ms/\";\n/**\n * Provides information about the native app.\n */\nexport class NativeAppInfo {\n /**\n * Gets the application build timestamp.\n */\n static getApplicationBuildTime() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getNativeBuildTime();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get application timestamp.\");\n }\n });\n }\n /**\n * Gets the application version.\n */\n static getApplicationVersion() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getAppVersion();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get application version.\");\n }\n });\n }\n /**\n * Gets a hash of the `public` folder contents compiled in the app store binary.\n */\n static getBinaryHash() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getBinaryHash();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get binary hash.\");\n }\n });\n }\n /**\n * Gets the server URL from config.xml by calling into the native platform.\n */\n static getServerURL() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getServerURL();\n return result.value;\n }\n catch (e) {\n return DefaultServerUrl;\n }\n });\n }\n /**\n * Gets the deployment key from config.xml by calling into the native platform.\n */\n static getDeploymentKey() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getDeploymentKey();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Deployment key not found.\");\n }\n });\n }\n /**\n * Checks if a package update was previously attempted but failed for a given package hash.\n * Every reverted update is stored such that the application developer has the option to ignore\n * updates that previously failed. This way, an infinite update loop can be prevented in case of a bad update package.\n */\n static isFailedUpdate(packageHash) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isFailedUpdate({ packageHash });\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n /**\n * Checks if this is the first application run of a package after it has been applied.\n * The didUpdateCallback callback can be used for migrating data from the old app version to the new one.\n *\n * @param packageHash The hash value of the package.\n * @returns Whether it is the first run after an update.\n */\n static isFirstRun(packageHash) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isFirstRun({ packageHash });\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n /**\n * Checks with the native side if there is a pending update.\n */\n static isPendingUpdate() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isPendingUpdate();\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n}\n//# sourceMappingURL=nativeAppInfo.js.map","/**\n * Base class for CodePush packages.\n */\nexport class Package {\n}\n//# sourceMappingURL=package.js.map","import { Http as NativeHttp } from \"@capacitor-community/http\";\n/**\n * XMLHttpRequest-based implementation of Http.Requester.\n */\nexport class HttpRequester {\n constructor(contentType) {\n this.contentType = contentType;\n }\n request(verb, url, callbackOrRequestBody, callback) {\n var requestBody;\n var requestCallback = callback;\n // request(verb, url, callback)\n if (!requestCallback && typeof callbackOrRequestBody === \"function\") {\n requestCallback = callbackOrRequestBody;\n }\n // request(verb, url, requestBody, callback)\n if (typeof callbackOrRequestBody === \"string\") {\n requestBody = callbackOrRequestBody;\n }\n if (typeof requestBody === \"string\") {\n try {\n requestBody = JSON.parse(requestBody); // if it is stringify JSON string, parse\n }\n catch (e) {\n // do nothing\n }\n }\n var methodName = this.getHttpMethodName(verb);\n if (methodName === null) {\n return requestCallback(new Error(\"Method Not Allowed\"), null);\n }\n const headers = {\n \"X-CodePush-Plugin-Name\": \"cordova-plugin-code-push\",\n \"X-CodePush-Plugin-Version\": \"1.11.13\",\n \"X-CodePush-SDK-Version\": \"3.1.5\"\n };\n if (this.contentType) {\n headers[\"Content-Type\"] = this.contentType;\n }\n const options = {\n method: methodName,\n url,\n headers\n };\n if (methodName === \"GET\") {\n options.params = requestBody;\n }\n else {\n options.data = requestBody;\n }\n NativeHttp.request(options).then((nativeRes) => {\n if (typeof nativeRes.data === \"object\")\n nativeRes.data = JSON.stringify(nativeRes.data);\n var response = { statusCode: nativeRes.status, body: nativeRes.data };\n requestCallback && requestCallback(null, response);\n });\n }\n /**\n * Gets the HTTP method name as a string.\n * The reason for which this is needed is because the Http.Verb enum corresponds to integer values from native runtime.\n */\n getHttpMethodName(verb) {\n switch (verb) {\n case 0 /* GET */:\n return \"GET\";\n case 4 /* DELETE */:\n return \"DELETE\";\n case 1 /* HEAD */:\n return \"HEAD\";\n case 8 /* PATCH */:\n return \"PATCH\";\n case 2 /* POST */:\n return \"POST\";\n case 3 /* PUT */:\n return \"PUT\";\n case 5 /* TRACE */:\n case 6 /* OPTIONS */:\n case 7 /* CONNECT */:\n default:\n return null;\n }\n }\n}\n//# sourceMappingURL=httpRequester.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AcquisitionManager } from \"code-push/script/acquisition-sdk\";\nimport { HttpRequester } from \"./httpRequester\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { Device } from \"@capacitor/device\";\n/**\n * Interacts with the CodePush Acquisition SDK.\n */\nexport class Sdk {\n /**\n * Reads the CodePush configuration and creates an AcquisitionManager instance using it.\n */\n static getAcquisitionManager(userDeploymentKey, contentType) {\n return __awaiter(this, void 0, void 0, function* () {\n const resolveManager = () => {\n if (userDeploymentKey !== Sdk.DefaultConfiguration.deploymentKey || contentType) {\n var customConfiguration = {\n deploymentKey: userDeploymentKey || Sdk.DefaultConfiguration.deploymentKey,\n serverUrl: Sdk.DefaultConfiguration.serverUrl,\n ignoreAppVersion: Sdk.DefaultConfiguration.ignoreAppVersion,\n appVersion: Sdk.DefaultConfiguration.appVersion,\n clientUniqueId: Sdk.DefaultConfiguration.clientUniqueId\n };\n var requester = new HttpRequester(contentType);\n var customAcquisitionManager = new AcquisitionManager(requester, customConfiguration);\n return Promise.resolve(customAcquisitionManager);\n }\n else if (Sdk.DefaultConfiguration.deploymentKey) {\n return Promise.resolve(Sdk.DefaultAcquisitionManager);\n }\n else {\n return Promise.reject(new Error(\"No deployment key provided, please provide a default one in your config.xml or specify one in the call to checkForUpdate() or sync().\"));\n }\n };\n if (Sdk.DefaultAcquisitionManager) {\n return resolveManager();\n }\n else {\n let serverUrl = null;\n try {\n serverUrl = yield NativeAppInfo.getServerURL();\n }\n catch (e) {\n throw new Error(\"Could not get the CodePush configuration. Please check your config.xml file.\");\n }\n let appVersion = null;\n try {\n appVersion = yield NativeAppInfo.getApplicationVersion();\n }\n catch (e) {\n throw new Error(\"Could not get the app version. Please check your config.xml file.\");\n }\n let deploymentKey = null;\n try {\n deploymentKey = yield NativeAppInfo.getDeploymentKey();\n }\n catch (e) { }\n const device = yield Device.getId();\n Sdk.DefaultConfiguration = {\n deploymentKey,\n serverUrl,\n ignoreAppVersion: false,\n appVersion,\n clientUniqueId: device.uuid\n };\n if (deploymentKey) {\n Sdk.DefaultAcquisitionManager = new AcquisitionManager(new HttpRequester(), Sdk.DefaultConfiguration);\n }\n return resolveManager();\n }\n });\n }\n /**\n * Reports the deployment status to the CodePush server.\n */\n static reportStatusDeploy(pkg, status, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(currentDeploymentKey, \"application/json\");\n acquisitionManager.reportStatusDeploy(pkg, status, previousLabelOrAppVersion, previousDeploymentKey, callback);\n }\n catch (e) {\n callback && callback(e);\n }\n });\n }\n /**\n * Reports the download status to the CodePush server.\n */\n static reportStatusDownload(pkg, deploymentKey, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey, \"application/json\");\n acquisitionManager.reportStatusDownload(pkg, callback);\n }\n catch (e) {\n callback && callback(new Error(\"An error occured while reporting the download status. \" + e));\n }\n });\n }\n}\n//# sourceMappingURL=sdk.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { FileUtil } from \"./fileUtil\";\nimport { InstallMode } from \"./installMode\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nimport { Package } from \"./package\";\nimport { Sdk } from \"./sdk\";\n/**\n * Defines a local package.\n *\n * !! THIS TYPE IS READ FROM NATIVE CODE AS WELL. ANY CHANGES TO THIS INTERFACE NEEDS TO BE UPDATED IN NATIVE CODE !!\n */\nexport class LocalPackage extends Package {\n /**\n * Applies this package to the application. The application will be reloaded with this package and on every application launch this package will be loaded.\n * On the first run after the update, the application will wait for a codePush.notifyApplicationReady() call. Once this call is made, the install operation is considered a success.\n * Otherwise, the install operation will be marked as failed, and the application is reverted to its previous version on the next run.\n *\n * @param installOptions Optional parameter used for customizing the installation behavior.\n */\n install(installOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n try {\n CodePushUtil.logMessage(\"Installing update\");\n if (!installOptions) {\n installOptions = LocalPackage.getDefaultInstallOptions();\n }\n else {\n CodePushUtil.copyUnassignedMembers(LocalPackage.getDefaultInstallOptions(), installOptions);\n }\n var installError = (error) => {\n CodePushUtil.invokeErrorCallback(error, reject);\n Sdk.reportStatusDeploy(this, AcquisitionStatus.DeploymentFailed, this.deploymentKey);\n };\n let unzipDir;\n try {\n unzipDir = yield FileUtil.cleanDataDirectory(LocalPackage.DownloadUnzipDir);\n }\n catch (error) {\n installError(error);\n return;\n }\n try {\n yield NativeCodePush.unzip({ zipFile: this.localPath, targetDirectory: unzipDir });\n }\n catch (unzipError) {\n installError(new Error(\"Could not unzip package\" + CodePushUtil.getErrorMessage(unzipError)));\n return;\n }\n try {\n const newPackageLocation = LocalPackage.VersionsDir + \"/\" + this.packageHash;\n const deploymentResult = yield LocalPackage.handleDeployment(newPackageLocation);\n yield this.verifyPackage(deploymentResult);\n this.localPath = deploymentResult.deployDir;\n this.finishInstall(deploymentResult.deployDir, installOptions, resolve, installError);\n }\n catch (error) {\n installError(error);\n }\n }\n catch (e) {\n installError && installError(new Error(\"An error occured while installing the package. \" + CodePushUtil.getErrorMessage(e)));\n }\n }));\n });\n }\n verifyPackage(deploymentResult) {\n return new Promise((resolve, reject) => {\n var deployDir = deploymentResult.deployDir;\n var verificationFail = (error) => {\n reject(error);\n };\n var verify = (isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature) => {\n if (isSignatureVerificationEnabled) {\n if (isSignatureAppearedInBundle) {\n this.verifyHash(deployDir, this.packageHash, verificationFail, () => {\n this.verifySignature(deployDir, this.packageHash, publicKey, signature, verificationFail, resolve);\n });\n }\n else {\n var errorMessage = \"Error! Public key was provided but there is no JWT signature within app bundle to verify. \" +\n \"Possible reasons, why that might happen: \\n\" +\n \"1. You've been released CodePush bundle update using version of CodePush CLI that is not support code signing.\\n\" +\n \"2. You've been released CodePush bundle update without providing --privateKeyPath option.\";\n reject(new Error(errorMessage));\n }\n }\n else {\n if (isSignatureAppearedInBundle) {\n CodePushUtil.logMessage(\"Warning! JWT signature exists in codepush update but code integrity check couldn't be performed because there is no public key configured. \" +\n \"Please ensure that public key is properly configured within your application.\");\n // verifyHash\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\n }\n else {\n if (deploymentResult.isDiffUpdate) {\n // verifyHash\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\n }\n else {\n resolve();\n }\n }\n }\n };\n if (deploymentResult.isDiffUpdate) {\n CodePushUtil.logMessage(\"Applying diff update\");\n }\n else {\n CodePushUtil.logMessage(\"Applying full update\");\n }\n var isSignatureVerificationEnabled, isSignatureAppearedInBundle;\n var publicKey;\n this.getPublicKey((error, publicKeyResult) => {\n if (error) {\n reject(new Error(\"Error reading public key. \" + error));\n return;\n }\n publicKey = publicKeyResult;\n isSignatureVerificationEnabled = !!publicKey;\n this.getSignatureFromUpdate(deploymentResult.deployDir, (error, signature) => {\n if (error) {\n reject(new Error(\"Error reading signature from update. \" + error));\n return;\n }\n isSignatureAppearedInBundle = !!signature;\n verify(isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature);\n });\n });\n });\n }\n getPublicKey(callback) {\n var success = (publicKey) => {\n callback(null, publicKey);\n };\n var fail = (error) => {\n callback(error, null);\n };\n NativeCodePush.getPublicKey().then(result => success(result.value || null), fail);\n }\n getSignatureFromUpdate(deployDir, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n const filePath = deployDir + \"/public/.codepushrelease\";\n if (!(yield FileUtil.fileExists(Directory.Data, filePath))) {\n // signature absents in the bundle\n callback(null, null);\n return;\n }\n try {\n const signature = yield FileUtil.readFile(Directory.Data, filePath);\n callback(null, signature);\n }\n catch (error) {\n // error reading signature file from bundle\n callback(error, null);\n }\n });\n }\n verifyHash(deployDir, newUpdateHash, errorCallback, successCallback) {\n var packageHashSuccess = (computedHash) => {\n if (computedHash !== newUpdateHash) {\n errorCallback(new Error(\"The update contents failed the data integrity check.\"));\n return;\n }\n CodePushUtil.logMessage(\"The update contents succeeded the data integrity check.\");\n successCallback();\n };\n var packageHashFail = (error) => {\n errorCallback(new Error(\"Unable to compute hash for package: \" + error));\n };\n CodePushUtil.logMessage(\"Verifying hash for folder path: \" + deployDir);\n NativeCodePush.getPackageHash({ path: deployDir }).then(result => packageHashSuccess(result.value), packageHashFail);\n }\n verifySignature(deployDir, newUpdateHash, publicKey, signature, errorCallback, successCallback) {\n var decodeSignatureSuccess = (contentHash) => {\n if (contentHash !== newUpdateHash) {\n errorCallback(new Error(\"The update contents failed the code signing check.\"));\n return;\n }\n CodePushUtil.logMessage(\"The update contents succeeded the code signing check.\");\n successCallback();\n };\n var decodeSignatureFail = (error) => {\n errorCallback(new Error(\"Unable to verify signature for package: \" + error));\n };\n CodePushUtil.logMessage(\"Verifying signature for folder path: \" + deployDir);\n NativeCodePush.decodeSignature({ publicKey, signature }).then(result => decodeSignatureSuccess(result.value), decodeSignatureFail);\n }\n finishInstall(deployDir, installOptions, installSuccess, installError) {\n function backupPackageInformationFileIfNeeded(backupIfNeededDone) {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n if (pendingUpdate) {\n // Don't back up the currently installed update since it hasn't been \"confirmed\"\n backupIfNeededDone(null, null);\n }\n else {\n try {\n yield LocalPackage.backupPackageInformationFile();\n backupIfNeededDone(null, null);\n }\n catch (err) {\n backupIfNeededDone(err, null);\n }\n }\n });\n }\n LocalPackage.getCurrentOrDefaultPackage().then((oldPackage) => {\n backupPackageInformationFileIfNeeded((backupError) => {\n /* continue on error, current package information is missing if this is the first update */\n this.writeNewPackageMetadata().then(() => {\n var invokeSuccessAndInstall = () => {\n CodePushUtil.logMessage(\"Install succeeded.\");\n var installModeToUse = this.isMandatory ? installOptions.mandatoryInstallMode : installOptions.installMode;\n if (installModeToUse === InstallMode.IMMEDIATE) {\n /* invoke success before navigating */\n installSuccess && installSuccess(installModeToUse);\n /* no need for callbacks, the javascript context will reload */\n NativeCodePush.install({\n startLocation: deployDir,\n installMode: installModeToUse,\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\n });\n }\n else {\n NativeCodePush.install({\n startLocation: deployDir,\n installMode: installModeToUse,\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\n }).then(() => { installSuccess && installSuccess(installModeToUse); }, () => { installError && installError(); });\n }\n };\n var preInstallSuccess = () => {\n /* package will be cleaned up after success, on the native side */\n invokeSuccessAndInstall();\n };\n var preInstallFailure = (preInstallError) => {\n CodePushUtil.logError(\"Preinstall failure.\", preInstallError);\n var error = new Error(\"An error has occured while installing the package. \" + CodePushUtil.getErrorMessage(preInstallError));\n installError && installError(error);\n };\n NativeCodePush.preInstall({ startLocation: deployDir }).then(preInstallSuccess, preInstallFailure);\n }, (writeMetadataError) => {\n installError && installError(writeMetadataError);\n });\n });\n }, installError);\n }\n static handleDeployment(newPackageLocation) {\n return __awaiter(this, void 0, void 0, function* () {\n const manifestFile = {\n directory: Directory.Data,\n path: LocalPackage.DownloadUnzipDir + \"/\" + LocalPackage.DiffManifestFile\n };\n const isDiffUpdate = yield FileUtil.fileExists(manifestFile.directory, manifestFile.path);\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.VersionsDir))) {\n // If directory not exists, create recursive folder\n yield Filesystem.mkdir({\n path: LocalPackage.VersionsDir,\n directory: Directory.Data,\n recursive: true\n });\n }\n if (isDiffUpdate) {\n yield LocalPackage.handleDiffDeployment(newPackageLocation, manifestFile);\n }\n else {\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\n }\n return { deployDir: newPackageLocation, isDiffUpdate };\n });\n }\n writeNewPackageMetadata() {\n return __awaiter(this, void 0, void 0, function* () {\n const timestamp = yield NativeAppInfo.getApplicationBuildTime().catch(buildTimeError => {\n CodePushUtil.logError(\"Could not get application build time. \" + buildTimeError);\n });\n const appVersion = yield NativeAppInfo.getApplicationVersion().catch(appVersionError => {\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\n });\n const currentPackageMetadata = {\n nativeBuildTime: timestamp,\n localPath: this.localPath,\n appVersion: appVersion,\n deploymentKey: this.deploymentKey,\n description: this.description,\n isMandatory: this.isMandatory,\n packageSize: this.packageSize,\n label: this.label,\n packageHash: this.packageHash,\n isFirstRun: false,\n failedInstall: false,\n install: undefined\n };\n return new Promise((resolve, reject) => {\n LocalPackage.writeCurrentPackageInformation(currentPackageMetadata, error => error ? reject(error) : resolve());\n });\n });\n }\n static handleCleanDeployment(newPackageLocation) {\n return __awaiter(this, void 0, void 0, function* () {\n // no diff manifest\n const source = { directory: Directory.Data, path: LocalPackage.DownloadUnzipDir };\n const target = { directory: Directory.Data, path: newPackageLocation };\n // TODO: create destination directory if it doesn't exist\n return FileUtil.copyDirectoryEntriesTo(source, target);\n });\n }\n static copyCurrentPackage(newPackageLocation, ignoreList) {\n return __awaiter(this, void 0, void 0, function* () {\n const currentPackagePath = yield new Promise(resolve => {\n LocalPackage.getPackage(LocalPackage.PackageInfoFile, (currentPackage) => resolve(currentPackage.localPath), () => resolve());\n });\n newPackageLocation = currentPackagePath ? newPackageLocation : newPackageLocation + \"/public\";\n // https://github.com/ionic-team/capacitor/pull/2514 Directory.Application variable was removed. (TODO - for check)\n const source = currentPackagePath ? { directory: Directory.Data, path: currentPackagePath } : { directory: Directory.Data, path: \"public\" };\n const target = { directory: Directory.Data, path: newPackageLocation };\n return FileUtil.copyDirectoryEntriesTo(source, target, ignoreList);\n });\n }\n static handleDiffDeployment(newPackageLocation, diffManifest) {\n return __awaiter(this, void 0, void 0, function* () {\n let manifest;\n try {\n yield LocalPackage.copyCurrentPackage(newPackageLocation, [\".codepushrelease\"]);\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\n /* delete files mentioned in the manifest */\n const content = yield FileUtil.readFile(diffManifest.directory, diffManifest.path);\n manifest = JSON.parse(content);\n yield FileUtil.deleteEntriesFromDataDirectory(newPackageLocation, manifest.deletedFiles);\n }\n catch (error) {\n throw new Error(\"Cannot perform diff-update.\");\n }\n });\n }\n /**\n * Writes the given local package information to the current package information file.\n * @param packageInfoMetadata The object to serialize.\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\n */\n static writeCurrentPackageInformation(packageInfoMetadata, callback) {\n var content = JSON.stringify(packageInfoMetadata);\n FileUtil.writeStringToDataFile(content, LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile, true, callback);\n }\n /**\n * Backs up the current package information to the old package information file.\n * This file is used for recovery in case of an update going wrong.\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\n */\n static backupPackageInformationFile() {\n return __awaiter(this, void 0, void 0, function* () {\n const source = {\n directory: Directory.Data,\n path: LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile\n };\n const destination = {\n directory: Directory.Data,\n path: LocalPackage.RootDir + \"/\" + LocalPackage.OldPackageInfoFile\n };\n return FileUtil.copy(source, destination);\n });\n }\n /**\n * Get the previous package information.\n *\n * @param packageSuccess Callback invoked with the old package information.\n * @param packageError Optional callback invoked in case of an error.\n */\n static getOldPackage(packageSuccess, packageError) {\n LocalPackage.getPackage(LocalPackage.OldPackageInfoFile, packageSuccess, packageError);\n }\n /**\n * Reads package information from a given file.\n *\n * @param packageFile The package file name.\n * @param packageSuccess Callback invoked with the package information.\n * @param packageError Optional callback invoked in case of an error.\n */\n static getPackage(packageFile, packageSuccess, packageError) {\n return __awaiter(this, void 0, void 0, function* () {\n var handleError = (e) => {\n packageError && packageError(new Error(\"Cannot read package information. \" + CodePushUtil.getErrorMessage(e)));\n };\n try {\n const content = yield FileUtil.readDataFile(LocalPackage.RootDir + \"/\" + packageFile);\n const packageInfo = JSON.parse(content);\n LocalPackage.getLocalPackageFromMetadata(packageInfo).then(packageSuccess, packageError);\n }\n catch (e) {\n handleError(e);\n }\n });\n }\n static getLocalPackageFromMetadata(metadata) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!metadata) {\n throw new Error(\"Invalid package metadata.\");\n }\n const installFailed = yield NativeAppInfo.isFailedUpdate(metadata.packageHash);\n const isFirstRun = yield NativeAppInfo.isFirstRun(metadata.packageHash);\n const localPackage = new LocalPackage();\n localPackage.appVersion = metadata.appVersion;\n localPackage.deploymentKey = metadata.deploymentKey;\n localPackage.description = metadata.description;\n localPackage.isMandatory = metadata.isMandatory;\n localPackage.failedInstall = installFailed;\n localPackage.isFirstRun = isFirstRun;\n localPackage.label = metadata.label;\n localPackage.localPath = metadata.localPath;\n localPackage.packageHash = metadata.packageHash;\n localPackage.packageSize = metadata.packageSize;\n return localPackage;\n });\n }\n static getCurrentOrDefaultPackage() {\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.PackageInfoFile);\n }\n static getOldOrDefaultPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.OldPackageInfoFile);\n });\n }\n static getPackageInfoOrDefault(packageFile) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n const packageFailure = () => __awaiter(this, void 0, void 0, function* () {\n /**\n * For the default package we need the app version,\n * and ideally the hash of the binary contents.\n */\n let appVersion;\n try {\n appVersion = yield NativeAppInfo.getApplicationVersion();\n }\n catch (appVersionError) {\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\n reject(appVersionError);\n return;\n }\n const defaultPackage = new LocalPackage();\n defaultPackage.appVersion = appVersion;\n try {\n defaultPackage.packageHash = yield NativeAppInfo.getBinaryHash();\n }\n catch (binaryHashError) {\n CodePushUtil.logError(\"Could not get binary hash.\" + binaryHashError);\n }\n resolve(defaultPackage);\n });\n LocalPackage.getPackage(packageFile, resolve, packageFailure);\n });\n });\n }\n static getPackageInfoOrNull(packageFile, packageSuccess, packageError) {\n LocalPackage.getPackage(packageFile, packageSuccess, packageSuccess.bind(null, null));\n }\n /**\n * Returns the default options for the CodePush install operation.\n * If the options are not defined yet, the static DefaultInstallOptions member will be instantiated.\n */\n static getDefaultInstallOptions() {\n if (!LocalPackage.DefaultInstallOptions) {\n LocalPackage.DefaultInstallOptions = {\n installMode: InstallMode.ON_NEXT_RESTART,\n minimumBackgroundDuration: 0,\n mandatoryInstallMode: InstallMode.IMMEDIATE\n };\n }\n return LocalPackage.DefaultInstallOptions;\n }\n}\nLocalPackage.RootDir = \"codepush\";\nLocalPackage.DownloadDir = LocalPackage.RootDir + \"/download\";\nLocalPackage.DownloadUnzipDir = LocalPackage.DownloadDir + \"/unzipped\";\nLocalPackage.DeployDir = LocalPackage.RootDir + \"/deploy\";\nLocalPackage.VersionsDir = LocalPackage.DeployDir + \"/versions\";\nLocalPackage.PackageUpdateFileName = \"update.zip\";\nLocalPackage.PackageInfoFile = \"currentPackage.json\";\nLocalPackage.OldPackageInfoFile = \"oldPackage.json\";\nLocalPackage.DiffManifestFile = \"hotcodepush.json\";\n//# sourceMappingURL=localPackage.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { LocalPackage } from \"./localPackage\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { Package } from \"./package\";\nimport { Sdk } from \"./sdk\";\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\nimport { FileUtil } from \"./fileUtil\";\nimport { Http } from \"@capacitor-community/http\";\n/**\n * Defines a remote package, which represents an update package available for download.\n */\nexport class RemotePackage extends Package {\n constructor() {\n super(...arguments);\n this.isDownloading = false;\n }\n /**\n * Downloads the package update from the CodePush service.\n * TODO: implement download progress\n *\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n */\n download(downloadProgress) {\n return __awaiter(this, void 0, void 0, function* () {\n CodePushUtil.logMessage(\"Downloading update\");\n if (!this.downloadUrl) {\n CodePushUtil.throwError(new Error(\"The remote package does not contain a download URL.\"));\n }\n this.isDownloading = true;\n const file = LocalPackage.DownloadDir + \"/\" + LocalPackage.PackageUpdateFileName;\n const fullPath = yield FileUtil.getUri(Directory.Data, file);\n try {\n // create directory if not exists\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.DownloadDir))) {\n yield Filesystem.mkdir({\n path: LocalPackage.DownloadDir,\n directory: Directory.Data,\n recursive: true,\n });\n }\n // delete file if it exists\n if (yield FileUtil.fileExists(Directory.Data, file)) {\n yield Filesystem.deleteFile({ directory: Directory.Data, path: file });\n }\n yield Http.downloadFile({\n url: this.downloadUrl,\n method: \"GET\",\n filePath: file,\n fileDirectory: Directory.Data,\n responseType: \"blob\"\n });\n }\n catch (e) {\n CodePushUtil.throwError(new Error(\"An error occured while downloading the package. \" + (e && e.message) ? e.message : \"\"));\n }\n finally {\n this.isDownloading = false;\n }\n const installFailed = yield NativeAppInfo.isFailedUpdate(this.packageHash);\n const localPackage = new LocalPackage();\n localPackage.deploymentKey = this.deploymentKey;\n localPackage.description = this.description;\n localPackage.label = this.label;\n localPackage.appVersion = this.appVersion;\n localPackage.isMandatory = this.isMandatory;\n localPackage.packageHash = this.packageHash;\n localPackage.isFirstRun = false;\n localPackage.failedInstall = installFailed;\n localPackage.localPath = fullPath;\n CodePushUtil.logMessage(\"Package download success: \" + JSON.stringify(localPackage));\n Sdk.reportStatusDownload(localPackage, localPackage.deploymentKey);\n return localPackage;\n });\n }\n /**\n * Aborts the current download session, previously started with download().\n */\n abortDownload() {\n return __awaiter(this, void 0, void 0, function* () {\n // TODO: implement download abort\n return new Promise((resolve) => {\n this.isDownloading = false;\n resolve();\n });\n });\n }\n}\n//# sourceMappingURL=remotePackage.js.map","/**\n * Defines the possible result and intermediate statuses of the window.codePush.sync operation.\n * The result statuses are final, mutually exclusive statuses of the sync operation. The operation will end with only one of the possible result statuses.\n * The intermediate statuses are not final, one or more of them can happen before sync ends, based on the options you use and user interaction.\n *\n * NOTE: Adding new statuses or changing old statuses requires an update to CodePush.sync(), which must know which callbacks are results and which are not!\n * Also, don't forget to change the TestMessage module in ServerUtils!\n * AND THE codePush.d.ts (typings) file!!!\n */\nexport var SyncStatus;\n(function (SyncStatus) {\n /**\n * Result status - the application is up to date.\n */\n SyncStatus[SyncStatus[\"UP_TO_DATE\"] = 0] = \"UP_TO_DATE\";\n /**\n * Result status - an update is available, it has been downloaded, unzipped and copied to the deployment folder.\n * After the completion of the callback invoked with SyncStatus.UPDATE_INSTALLED, the application will be reloaded with the updated code and resources.\n */\n SyncStatus[SyncStatus[\"UPDATE_INSTALLED\"] = 1] = \"UPDATE_INSTALLED\";\n /**\n * Result status - an optional update is available, but the user declined to install it. The update was not downloaded.\n */\n SyncStatus[SyncStatus[\"UPDATE_IGNORED\"] = 2] = \"UPDATE_IGNORED\";\n /**\n * Result status - an error happened during the sync operation. This might be an error while communicating with the server, downloading or unziping the update.\n * The console logs should contain more information about what happened. No update has been applied in this case.\n */\n SyncStatus[SyncStatus[\"ERROR\"] = 3] = \"ERROR\";\n /**\n * Result status - there is an ongoing sync in progress, so this attempt to sync has been aborted.\n */\n SyncStatus[SyncStatus[\"IN_PROGRESS\"] = 4] = \"IN_PROGRESS\";\n /**\n * Intermediate status - the plugin is about to check for updates.\n */\n SyncStatus[SyncStatus[\"CHECKING_FOR_UPDATE\"] = 5] = \"CHECKING_FOR_UPDATE\";\n /**\n * Intermediate status - a user dialog is about to be displayed. This status will be reported only if user interaction is enabled.\n */\n SyncStatus[SyncStatus[\"AWAITING_USER_ACTION\"] = 6] = \"AWAITING_USER_ACTION\";\n /**\n * Intermediate status - the update packages is about to be downloaded.\n */\n SyncStatus[SyncStatus[\"DOWNLOADING_PACKAGE\"] = 7] = \"DOWNLOADING_PACKAGE\";\n /**\n * Intermediate status - the update package is about to be installed.\n */\n SyncStatus[SyncStatus[\"INSTALLING_UPDATE\"] = 8] = \"INSTALLING_UPDATE\";\n})(SyncStatus || (SyncStatus = {}));\n//# sourceMappingURL=syncStatus.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { InstallMode } from \"./installMode\";\nimport { LocalPackage } from \"./localPackage\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nimport { RemotePackage } from \"./remotePackage\";\nimport { Sdk } from \"./sdk\";\nimport { SyncStatus } from \"./syncStatus\";\nimport { Dialog } from \"@capacitor/dialog\";\n/**\n * This is the entry point to Cordova CodePush SDK.\n * It provides the following features to the app developer:\n * - polling the server for new versions of the app\n * - notifying the plugin that the application loaded successfully after an update\n * - getting information about the currently deployed package\n */\nclass CodePush {\n /**\n * Notifies the plugin that the update operation succeeded and that the application is ready.\n * Calling this function is required on the first run after an update. On every subsequent application run, calling this function is a noop.\n * If using sync API, calling this function is not required since sync calls it internally.\n */\n notifyApplicationReady() {\n return NativeCodePush.notifyApplicationReady();\n }\n /**\n * Reloads the application. If there is a pending update package installed using ON_NEXT_RESTART or ON_NEXT_RESUME modes, the update\n * will be immediately visible to the user. Otherwise, calling this function will simply reload the current version of the application.\n */\n restartApplication() {\n return NativeCodePush.restartApplication();\n }\n /**\n * Reports an application status back to the server.\n * !!! This function is called from the native side, please make changes accordingly. !!!\n */\n reportStatus(status, label, appVersion, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey) {\n if (((!label && appVersion === lastVersionLabelOrAppVersion) || label === lastVersionLabelOrAppVersion)\n && deploymentKey === lastVersionDeploymentKey) {\n // No-op since the new appVersion and label is exactly the same as the previous\n // (the app might have been updated via a direct or HockeyApp deployment).\n return;\n }\n var createPackageForReporting = (label, appVersion) => {\n return {\n /* The SDK only reports the label and appVersion.\n The rest of the properties are added for type safety. */\n label, appVersion, deploymentKey,\n description: null, isMandatory: false,\n packageHash: null, packageSize: null,\n failedInstall: false\n };\n };\n var reportDone = (error) => {\n var reportArgs = {\n status,\n label,\n appVersion,\n deploymentKey,\n lastVersionLabelOrAppVersion,\n lastVersionDeploymentKey\n };\n if (error) {\n CodePushUtil.logError(`An error occurred while reporting status: ${JSON.stringify(reportArgs)}`, error);\n NativeCodePush.reportFailed({ statusReport: reportArgs });\n }\n else {\n CodePushUtil.logMessage(`Reported status: ${JSON.stringify(reportArgs)}`);\n NativeCodePush.reportSucceeded({ statusReport: reportArgs });\n }\n };\n switch (status) {\n case ReportStatus.STORE_VERSION:\n Sdk.reportStatusDeploy(null, AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n case ReportStatus.UPDATE_CONFIRMED:\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n case ReportStatus.UPDATE_ROLLED_BACK:\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentFailed, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n }\n }\n /**\n * Get the current package information.\n *\n * @returns The currently deployed package information.\n */\n getCurrentPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n var packageInfoFile = pendingUpdate ? LocalPackage.OldPackageInfoFile : LocalPackage.PackageInfoFile;\n return new Promise((resolve, reject) => {\n LocalPackage.getPackageInfoOrNull(packageInfoFile, resolve, reject);\n });\n });\n }\n /**\n * Gets the pending package information, if any. A pending package is one that has been installed but the application still runs the old code.\n * This happens only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.\n */\n getPendingPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n if (!pendingUpdate)\n return null;\n return new Promise((resolve, reject) => {\n LocalPackage.getPackageInfoOrNull(LocalPackage.PackageInfoFile, resolve, reject);\n });\n });\n }\n /**\n * Checks with the CodePush server if an update package is available for download.\n *\n * @param querySuccess Callback invoked in case of a successful response from the server.\n * The callback takes one RemotePackage parameter. A non-null package is a valid update.\n * A null package means the application is up to date for the current native application version.\n * @param queryError Optional callback invoked in case of an error.\n * @param deploymentKey Optional deployment key that overrides the config.xml setting.\n */\n checkForUpdate(querySuccess, queryError, deploymentKey) {\n try {\n const callback = (error, remotePackageOrUpdateNotification) => __awaiter(this, void 0, void 0, function* () {\n if (error) {\n CodePushUtil.invokeErrorCallback(error, queryError);\n }\n else {\n const appUpToDate = () => {\n CodePushUtil.logMessage(\"App is up to date.\");\n querySuccess && querySuccess(null);\n };\n if (remotePackageOrUpdateNotification) {\n if (remotePackageOrUpdateNotification.updateAppVersion) {\n /* There is an update available for a different version. In the current version of the plugin, we treat that as no update. */\n CodePushUtil.logMessage(\"An update is available, but it is targeting a newer binary version than you are currently running.\");\n appUpToDate();\n }\n else {\n /* There is an update available for the current version. */\n var remotePackage = remotePackageOrUpdateNotification;\n const installFailed = yield NativeAppInfo.isFailedUpdate(remotePackage.packageHash);\n var result = new RemotePackage();\n result.appVersion = remotePackage.appVersion;\n result.deploymentKey = deploymentKey; // server does not send back the deployment key\n result.description = remotePackage.description;\n result.downloadUrl = remotePackage.downloadUrl;\n result.isMandatory = remotePackage.isMandatory;\n result.label = remotePackage.label;\n result.packageHash = remotePackage.packageHash;\n result.packageSize = remotePackage.packageSize;\n result.failedInstall = installFailed;\n CodePushUtil.logMessage(\"An update is available. \" + JSON.stringify(result));\n querySuccess && querySuccess(result);\n }\n }\n else {\n appUpToDate();\n }\n }\n });\n const queryUpdate = () => __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey);\n const localPackage = yield LocalPackage.getCurrentOrDefaultPackage();\n try {\n const currentBinaryVersion = yield NativeAppInfo.getApplicationVersion();\n localPackage.appVersion = currentBinaryVersion;\n }\n catch (e) {\n /* Nothing to do */\n /* TODO : Why ? */\n }\n CodePushUtil.logMessage(\"Checking for update.\");\n acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback);\n }\n catch (e) {\n CodePushUtil.invokeErrorCallback(e, queryError);\n }\n });\n if (deploymentKey) {\n queryUpdate();\n }\n else {\n NativeAppInfo.getDeploymentKey()\n .then((defaultDeploymentKey) => {\n deploymentKey = defaultDeploymentKey;\n queryUpdate();\n }, (deploymentKeyError) => {\n CodePushUtil.invokeErrorCallback(deploymentKeyError, queryError);\n });\n }\n }\n catch (e) {\n CodePushUtil.invokeErrorCallback(new Error(\"An error occurred while querying for updates.\" + CodePushUtil.getErrorMessage(e)), queryError);\n }\n }\n /**\n * Convenience method for installing updates in one method call.\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\n * If another sync is already running, it yields SyncStatus.IN_PROGRESS.\n *\n * The algorithm of this method is the following:\n * - Checks for an update on the CodePush server.\n * - If an update is available\n * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version.\n * The update package will then be downloaded and applied.\n * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version.\n * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED.\n * - Otherwise, the update package will be downloaded and applied with no user interaction.\n * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE.\n * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR.\n *\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n */\n sync(syncOptions, downloadProgress) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield new Promise((resolve, reject) => {\n /* Check if a sync is already in progress */\n if (CodePush.SyncInProgress) {\n /* A sync is already in progress */\n CodePushUtil.logMessage(\"Sync already in progress.\");\n resolve(SyncStatus.IN_PROGRESS);\n }\n /* Create a callback that resets the SyncInProgress flag when the sync is complete\n * If the sync status is a result status, then the sync must be complete and the flag must be updated\n * Otherwise, do not change the flag and trigger the syncCallback as usual\n */\n const syncCallbackAndUpdateSyncInProgress = (err, result) => {\n if (err) {\n syncOptions.onSyncError && syncOptions.onSyncError(err);\n CodePush.SyncInProgress = false;\n reject(err);\n }\n else {\n /* Call the user's callback */\n syncOptions.onSyncStatusChanged && syncOptions.onSyncStatusChanged(result);\n /* Check if the sync operation is over */\n switch (result) {\n case SyncStatus.ERROR:\n case SyncStatus.UP_TO_DATE:\n case SyncStatus.UPDATE_IGNORED:\n case SyncStatus.UPDATE_INSTALLED:\n /* The sync has completed */\n CodePush.SyncInProgress = false;\n resolve(result);\n break;\n default:\n /* The sync is not yet complete, so do nothing */\n break;\n }\n }\n };\n /* Begin the sync */\n CodePush.SyncInProgress = true;\n this.syncInternal(syncCallbackAndUpdateSyncInProgress, syncOptions, downloadProgress);\n });\n });\n }\n /**\n * Convenience method for installing updates in one method call.\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\n *\n * A helper function for the sync function. It does not check if another sync is ongoing.\n *\n * @param syncCallback Optional callback to be called with the status of the sync operation.\n * The callback will be called only once, and the possible statuses are defined by the SyncStatus enum.\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n *\n */\n syncInternal(syncCallback, syncOptions, downloadProgress) {\n /* No options were specified, use default */\n const defaultSyncOptions = this.getDefaultSyncOptions();\n if (!syncOptions) {\n syncOptions = defaultSyncOptions;\n }\n else {\n /* Some options were specified */\n /* Handle dialog options */\n const defaultDialogOptions = this.getDefaultUpdateDialogOptions();\n if (syncOptions.updateDialog) {\n if (typeof syncOptions.updateDialog !== typeof ({})) {\n /* updateDialog set to true condition, use default options */\n syncOptions.updateDialog = defaultDialogOptions;\n }\n else {\n /* some options were specified, merge with default */\n CodePushUtil.copyUnassignedMembers(defaultDialogOptions, syncOptions.updateDialog);\n }\n }\n /* Handle other options. Dialog options will not be overwritten. */\n CodePushUtil.copyUnassignedMembers(defaultSyncOptions, syncOptions);\n }\n this.notifyApplicationReady();\n const onError = (error) => {\n CodePushUtil.logError(\"An error occurred during sync.\", error);\n syncCallback && syncCallback(error, SyncStatus.ERROR);\n };\n const onInstallSuccess = (appliedWhen) => {\n switch (appliedWhen) {\n case InstallMode.ON_NEXT_RESTART:\n CodePushUtil.logMessage(\"Update is installed and will be run on the next app restart.\");\n break;\n case InstallMode.ON_NEXT_RESUME:\n if (syncOptions.minimumBackgroundDuration > 0) {\n CodePushUtil.logMessage(`Update is installed and will be run after the app has been in the background for at least ${syncOptions.minimumBackgroundDuration} seconds.`);\n }\n else {\n CodePushUtil.logMessage(\"Update is installed and will be run when the app next resumes.\");\n }\n break;\n }\n syncCallback && syncCallback(null, SyncStatus.UPDATE_INSTALLED);\n };\n const onDownloadSuccess = (localPackage) => {\n syncCallback && syncCallback(null, SyncStatus.INSTALLING_UPDATE);\n localPackage.install(syncOptions).then(onInstallSuccess, onError);\n };\n const downloadAndInstallUpdate = (remotePackage) => {\n syncCallback && syncCallback(null, SyncStatus.DOWNLOADING_PACKAGE);\n remotePackage.download(downloadProgress).then(onDownloadSuccess, onError);\n };\n const onUpdate = (remotePackage) => __awaiter(this, void 0, void 0, function* () {\n if (remotePackage === null) {\n /* Then the app is up to date */\n syncCallback && syncCallback(null, SyncStatus.UP_TO_DATE);\n }\n else {\n if (remotePackage.failedInstall && syncOptions.ignoreFailedUpdates) {\n CodePushUtil.logMessage(\"An update is available, but it is being ignored due to have been previously rolled back.\");\n syncCallback && syncCallback(null, SyncStatus.UPDATE_IGNORED);\n }\n else {\n if (syncOptions.updateDialog) {\n CodePushUtil.logMessage(\"Awaiting user action.\");\n syncCallback && syncCallback(null, SyncStatus.AWAITING_USER_ACTION);\n const dlgOpts = syncOptions.updateDialog;\n if (remotePackage.isMandatory) {\n /* Alert user */\n const message = dlgOpts.appendReleaseDescription ?\n dlgOpts.mandatoryUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description :\n dlgOpts.mandatoryUpdateMessage;\n yield Dialog.alert({\n message,\n title: dlgOpts.updateTitle,\n buttonTitle: dlgOpts.mandatoryContinueButtonLabel\n });\n downloadAndInstallUpdate(remotePackage);\n }\n else {\n /* Confirm update with user */\n const message = dlgOpts.appendReleaseDescription ?\n dlgOpts.optionalUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description\n : dlgOpts.optionalUpdateMessage;\n const confirmResult = yield Dialog.confirm({\n message,\n title: dlgOpts.updateTitle,\n okButtonTitle: dlgOpts.optionalInstallButtonLabel,\n cancelButtonTitle: dlgOpts.optionalIgnoreButtonLabel\n });\n if (confirmResult.value === true) {\n /* Install */\n downloadAndInstallUpdate(remotePackage);\n }\n else {\n /* Cancel */\n CodePushUtil.logMessage(\"User cancelled the update.\");\n syncCallback && syncCallback(null, SyncStatus.UPDATE_IGNORED);\n }\n }\n }\n else {\n /* No user interaction */\n downloadAndInstallUpdate(remotePackage);\n }\n }\n }\n });\n syncCallback && syncCallback(null, SyncStatus.CHECKING_FOR_UPDATE);\n this.checkForUpdate(onUpdate, onError, syncOptions.deploymentKey);\n }\n /**\n * Returns the default options for the CodePush sync operation.\n * If the options are not defined yet, the static DefaultSyncOptions member will be instantiated.\n */\n getDefaultSyncOptions() {\n if (!CodePush.DefaultSyncOptions) {\n CodePush.DefaultSyncOptions = {\n ignoreFailedUpdates: true,\n installMode: InstallMode.ON_NEXT_RESTART,\n minimumBackgroundDuration: 0,\n mandatoryInstallMode: InstallMode.IMMEDIATE,\n updateDialog: false,\n deploymentKey: undefined\n };\n }\n return CodePush.DefaultSyncOptions;\n }\n /**\n * Returns the default options for the update dialog.\n * Please note that the dialog is disabled by default.\n */\n getDefaultUpdateDialogOptions() {\n if (!CodePush.DefaultUpdateDialogOptions) {\n CodePush.DefaultUpdateDialogOptions = {\n updateTitle: \"Update available\",\n mandatoryUpdateMessage: \"An update is available that must be installed.\",\n mandatoryContinueButtonLabel: \"Continue\",\n optionalUpdateMessage: \"An update is available. Would you like to install it?\",\n optionalInstallButtonLabel: \"Install\",\n optionalIgnoreButtonLabel: \"Ignore\",\n appendReleaseDescription: false,\n descriptionPrefix: \" Description: \"\n };\n }\n return CodePush.DefaultUpdateDialogOptions;\n }\n}\n/**\n * Defines the application statuses reported from the native layer.\n * !!! This enum is defined in native code as well, please make changes accordingly. !!!\n */\nvar ReportStatus;\n(function (ReportStatus) {\n ReportStatus[ReportStatus[\"STORE_VERSION\"] = 0] = \"STORE_VERSION\";\n ReportStatus[ReportStatus[\"UPDATE_CONFIRMED\"] = 1] = \"UPDATE_CONFIRMED\";\n ReportStatus[ReportStatus[\"UPDATE_ROLLED_BACK\"] = 2] = \"UPDATE_ROLLED_BACK\";\n})(ReportStatus || (ReportStatus = {}));\nexport const codePush = new CodePush();\nwindow.codePush = codePush;\n//# sourceMappingURL=codePush.js.map"],"names":["InstallMode","this","Filesystem","Directory","Encoding","registerPlugin","__awaiter","NativeCodePush","NativeHttp","AcquisitionManager","device","Device","AcquisitionStatus","Http","CodePush","Dialog"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"plugin.js","sources":["esm/codePushUtil.js","esm/installMode.js","esm/fileUtil.js","esm/nativeCodePushPlugin.js","esm/nativeAppInfo.js","esm/package.js","esm/httpRequester.js","esm/sdk.js","esm/localPackage.js","esm/remotePackage.js","esm/syncStatus.js","esm/codePush.js"],"sourcesContent":["/**\r\n * Callback / error / logging utilities.\r\n */\r\nexport class CodePushUtil {\r\n /**\r\n * Performs a copy of all members of fromParameter to toParameter, with the condition that they are unassigned or null in toParameter.\r\n */\r\n static copyUnassignedMembers(fromParameter, toParameter) {\r\n for (let key in fromParameter) {\r\n if (toParameter[key] === undefined || toParameter[key] === null) {\r\n toParameter[key] = fromParameter[key];\r\n }\r\n }\r\n }\r\n /**\r\n * Given two Cordova style callbacks for success and error, this function returns a node.js\r\n * style callback where the error is the first parameter and the result the second.\r\n */\r\n static getNodeStyleCallbackFor(successCallback, errorCallback) {\r\n return (error, result) => {\r\n if (error) {\r\n errorCallback && errorCallback(error);\r\n }\r\n else {\r\n successCallback && successCallback(result);\r\n }\r\n };\r\n }\r\n /**\r\n * Gets the message of an error, if any. Otherwise it returns the empty string.\r\n */\r\n static getErrorMessage(e) {\r\n return e && e.message || e && e.toString() || \"\";\r\n }\r\n /**\r\n * Logs a message using the CodePush tag.\r\n */\r\n static logMessage(msg) {\r\n console.log(CodePushUtil.TAG + \" \" + msg);\r\n }\r\n /**\r\n * Logs an error message using the CodePush tag.\r\n */\r\n static logError(message, error) {\r\n const errorMessage = `${message || \"\"} ${CodePushUtil.getErrorMessage(error)}`;\r\n const stackTrace = error && error.stack ? `. StackTrace: ${error.stack}` : \"\";\r\n console.error(`${CodePushUtil.TAG} ${errorMessage}${stackTrace}`);\r\n }\r\n}\r\n/**\r\n * Tag used for logging to the console.\r\n */\r\nCodePushUtil.TAG = \"[CodePush]\";\r\n/**\r\n * Logs the error to the console and then forwards it to the provided ErrorCallback, if any.\r\n * TODO: remove me\r\n */\r\nCodePushUtil.invokeErrorCallback = (error, errorCallback) => {\r\n CodePushUtil.logError(null, error);\r\n errorCallback && errorCallback(error);\r\n};\r\n/**\r\n * Logs the error to the console and then throws the error.\r\n */\r\nCodePushUtil.throwError = (error) => {\r\n CodePushUtil.logError(null, error);\r\n throw error;\r\n};\r\n//# sourceMappingURL=codePushUtil.js.map","/**\r\n * Defines the available install modes for updates.\r\n */\r\nexport var InstallMode;\r\n(function (InstallMode) {\r\n /**\r\n * The update will be applied to the running application immediately. The application will be reloaded with the new content immediately.\r\n */\r\n InstallMode[InstallMode[\"IMMEDIATE\"] = 0] = \"IMMEDIATE\";\r\n /**\r\n * The update is downloaded but not installed immediately. The new content will be available the next time the application is started.\r\n */\r\n InstallMode[InstallMode[\"ON_NEXT_RESTART\"] = 1] = \"ON_NEXT_RESTART\";\r\n /**\r\n * The udpate is downloaded but not installed immediately. The new content will be available the next time the application is resumed or restarted, whichever event happends first.\r\n */\r\n InstallMode[InstallMode[\"ON_NEXT_RESUME\"] = 2] = \"ON_NEXT_RESUME\";\r\n})(InstallMode || (InstallMode = {}));\r\n//# sourceMappingURL=installMode.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nimport { Directory, Filesystem, Encoding } from \"@capacitor/filesystem\";\r\n/**\r\n * File utilities for CodePush.\r\n */\r\nexport class FileUtil {\r\n static directoryExists(directory, path) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const statResult = yield Filesystem.stat({ directory, path });\r\n // directory for Android, NSFileTypeDirectory for iOS\r\n return statResult.type === \"directory\" || statResult.type === \"NSFileTypeDirectory\";\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n });\r\n }\r\n static writeStringToDataFile(content, path, createIfNotExists, callback) {\r\n FileUtil.writeStringToFile(content, Directory.Data, path, createIfNotExists, callback);\r\n }\r\n static fileExists(directory, path) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const statResult = yield Filesystem.stat({ directory, path });\r\n // file for Android, NSFileTypeRegular for iOS\r\n return statResult.type === \"file\" || statResult.type === \"NSFileTypeRegular\";\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n });\r\n }\r\n /**\r\n * Makes sure the given directory exists and is empty.\r\n */\r\n static cleanDataDirectory(path) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (yield FileUtil.dataDirectoryExists(path)) {\r\n yield FileUtil.deleteDataDirectory(path);\r\n }\r\n yield Filesystem.mkdir({ directory: Directory.Data, path, recursive: true });\r\n const appDir = yield Filesystem.getUri({ directory: Directory.Data, path });\r\n return appDir.uri;\r\n });\r\n }\r\n static getUri(fsDir, path) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const result = yield Filesystem.getUri({ directory: fsDir, path });\r\n return result.uri;\r\n });\r\n }\r\n static getDataUri(path) {\r\n return FileUtil.getUri(Directory.Data, path);\r\n }\r\n static dataDirectoryExists(path) {\r\n return FileUtil.directoryExists(Directory.Data, path);\r\n }\r\n static copyDirectoryEntriesTo(sourceDir, destinationDir, ignoreList = []) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n /*\r\n Native-side exception occurs while trying to copy “.DS_Store” and “__MACOSX” entries generated by macOS, so just skip them\r\n */\r\n if (ignoreList.indexOf(\".DS_Store\") === -1) {\r\n ignoreList.push(\".DS_Store\");\r\n }\r\n if (ignoreList.indexOf(\"__MACOSX\") === -1) {\r\n ignoreList.push(\"__MACOSX\");\r\n }\r\n // @capacitor/filesystem plugin throw error when destination directory already exists.\r\n if (yield FileUtil.directoryExists(destinationDir.directory, destinationDir.path)) {\r\n const { files } = yield Filesystem.readdir(sourceDir);\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n if (ignoreList.includes(file))\r\n continue;\r\n const sourcePath = sourceDir.path + \"/\" + file;\r\n const destPath = destinationDir.path + \"/\" + file;\r\n const source = Object.assign(Object.assign({}, sourceDir), { path: sourcePath });\r\n const destination = Object.assign(Object.assign({}, destinationDir), { path: destPath });\r\n if (yield FileUtil.directoryExists(source.directory, source.path)) { // is directory\r\n yield FileUtil.copyDirectoryEntriesTo(source, destination);\r\n }\r\n else { // is file\r\n yield FileUtil.copy(source, destination);\r\n }\r\n }\r\n }\r\n else {\r\n yield FileUtil.copy(sourceDir, destinationDir);\r\n }\r\n });\r\n }\r\n static copy(source, destination) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n yield Filesystem.copy({ directory: source.directory, from: source.path, to: destination.path, toDirectory: destination.directory });\r\n });\r\n }\r\n /**\r\n * Recursively deletes the contents of a directory.\r\n */\r\n static deleteDataDirectory(path) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n yield Filesystem.rmdir({ directory: Directory.Data, path, recursive: true }).then(() => null);\r\n });\r\n }\r\n /**\r\n * Deletes a given set of files from a directory.\r\n */\r\n static deleteEntriesFromDataDirectory(dirPath, filesToDelete) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n for (const file of filesToDelete) {\r\n const path = dirPath + \"/\" + file;\r\n const fileExists = yield FileUtil.fileExists(Directory.Data, path);\r\n if (!fileExists)\r\n continue;\r\n try {\r\n yield Filesystem.deleteFile({ directory: Directory.Data, path });\r\n }\r\n catch (error) {\r\n /* If delete fails, silently continue */\r\n console.log(\"Could not delete file: \" + path);\r\n }\r\n }\r\n });\r\n }\r\n /**\r\n * Writes a string to a file.\r\n */\r\n static writeStringToFile(data, directory, path, createIfNotExists, callback) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n yield Filesystem.writeFile({ directory, path, data, encoding: Encoding.UTF8 });\r\n callback(null, null);\r\n }\r\n catch (error) {\r\n callback(new Error(\"Could write the current package information file. Error code: \" + error.code), null);\r\n }\r\n });\r\n }\r\n static readFile(directory, path) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const result = yield Filesystem.readFile({ directory, path, encoding: Encoding.UTF8 });\r\n return result.data;\r\n });\r\n }\r\n static readDataFile(path) {\r\n return FileUtil.readFile(Directory.Data, path);\r\n }\r\n}\r\n//# sourceMappingURL=fileUtil.js.map","// Type definitions for Apache Cordova CodePush plugin.\r\n// Project: https://github.com/Microsoft/cordova-plugin-code-push\r\n//\r\n// Copyright (c) Microsoft Corporation\r\n// All rights reserved.\r\n// Licensed under the MIT license.\r\nimport { registerPlugin } from \"@capacitor/core\";\r\nexport const CodePush = /*#__PURE__*/ registerPlugin(\"CodePush\");\r\n//# sourceMappingURL=nativeCodePushPlugin.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\r\nconst DefaultServerUrl = \"https://codepush.appcenter.ms/\";\r\n/**\r\n * Provides information about the native app.\r\n */\r\nexport class NativeAppInfo {\r\n /**\r\n * Gets the application build timestamp.\r\n */\r\n static getApplicationBuildTime() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.getNativeBuildTime();\r\n return result.value;\r\n }\r\n catch (e) {\r\n throw new Error(\"Could not get application timestamp.\");\r\n }\r\n });\r\n }\r\n /**\r\n * Gets the application version.\r\n */\r\n static getApplicationVersion() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.getAppVersion();\r\n return result.value;\r\n }\r\n catch (e) {\r\n throw new Error(\"Could not get application version.\");\r\n }\r\n });\r\n }\r\n /**\r\n * Gets a hash of the `public` folder contents compiled in the app store binary.\r\n */\r\n static getBinaryHash() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.getBinaryHash();\r\n return result.value;\r\n }\r\n catch (e) {\r\n throw new Error(\"Could not get binary hash.\");\r\n }\r\n });\r\n }\r\n /**\r\n * Gets the server URL from config.xml by calling into the native platform.\r\n */\r\n static getServerURL() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.getServerURL();\r\n return result.value;\r\n }\r\n catch (e) {\r\n return DefaultServerUrl;\r\n }\r\n });\r\n }\r\n /**\r\n * Gets the deployment key from config.xml by calling into the native platform.\r\n */\r\n static getDeploymentKey() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.getDeploymentKey();\r\n return result.value;\r\n }\r\n catch (e) {\r\n throw new Error(\"Deployment key not found.\");\r\n }\r\n });\r\n }\r\n /**\r\n * Checks if a package update was previously attempted but failed for a given package hash.\r\n * Every reverted update is stored such that the application developer has the option to ignore\r\n * updates that previously failed. This way, an infinite update loop can be prevented in case of a bad update package.\r\n */\r\n static isFailedUpdate(packageHash) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.isFailedUpdate({ packageHash });\r\n return result.value;\r\n }\r\n catch (e) {\r\n /* In case of an error, return false. */\r\n return false;\r\n }\r\n });\r\n }\r\n /**\r\n * Checks if this is the first application run of a package after it has been applied.\r\n * The didUpdateCallback callback can be used for migrating data from the old app version to the new one.\r\n *\r\n * @param packageHash The hash value of the package.\r\n * @returns Whether it is the first run after an update.\r\n */\r\n static isFirstRun(packageHash) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.isFirstRun({ packageHash });\r\n return result.value;\r\n }\r\n catch (e) {\r\n /* In case of an error, return false. */\r\n return false;\r\n }\r\n });\r\n }\r\n /**\r\n * Checks with the native side if there is a pending update.\r\n */\r\n static isPendingUpdate() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const result = yield NativeCodePush.isPendingUpdate();\r\n return result.value;\r\n }\r\n catch (e) {\r\n /* In case of an error, return false. */\r\n return false;\r\n }\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=nativeAppInfo.js.map","/**\r\n * Base class for CodePush packages.\r\n */\r\nexport class Package {\r\n}\r\n//# sourceMappingURL=package.js.map","import { Http as NativeHttp } from \"@capacitor-community/http\";\r\n/**\r\n * XMLHttpRequest-based implementation of Http.Requester.\r\n */\r\nexport class HttpRequester {\r\n constructor(contentType) {\r\n this.contentType = contentType;\r\n }\r\n request(verb, url, callbackOrRequestBody, callback) {\r\n var requestBody;\r\n var requestCallback = callback;\r\n // request(verb, url, callback)\r\n if (!requestCallback && typeof callbackOrRequestBody === \"function\") {\r\n requestCallback = callbackOrRequestBody;\r\n }\r\n // request(verb, url, requestBody, callback)\r\n if (typeof callbackOrRequestBody === \"string\") {\r\n requestBody = callbackOrRequestBody;\r\n }\r\n if (typeof requestBody === \"string\") {\r\n try {\r\n requestBody = JSON.parse(requestBody); // if it is stringify JSON string, parse\r\n }\r\n catch (e) {\r\n // do nothing\r\n }\r\n }\r\n var methodName = this.getHttpMethodName(verb);\r\n if (methodName === null) {\r\n return requestCallback(new Error(\"Method Not Allowed\"), null);\r\n }\r\n const headers = {\r\n \"X-CodePush-Plugin-Name\": \"cordova-plugin-code-push\",\r\n \"X-CodePush-Plugin-Version\": \"1.11.13\",\r\n \"X-CodePush-SDK-Version\": \"3.1.5\"\r\n };\r\n if (this.contentType) {\r\n headers[\"Content-Type\"] = this.contentType;\r\n }\r\n const options = {\r\n method: methodName,\r\n url,\r\n headers\r\n };\r\n if (methodName === \"GET\") {\r\n options.params = requestBody;\r\n }\r\n else {\r\n options.data = requestBody;\r\n }\r\n NativeHttp.request(options).then((nativeRes) => {\r\n if (typeof nativeRes.data === \"object\")\r\n nativeRes.data = JSON.stringify(nativeRes.data);\r\n var response = { statusCode: nativeRes.status, body: nativeRes.data };\r\n requestCallback && requestCallback(null, response);\r\n });\r\n }\r\n /**\r\n * Gets the HTTP method name as a string.\r\n * The reason for which this is needed is because the Http.Verb enum corresponds to integer values from native runtime.\r\n */\r\n getHttpMethodName(verb) {\r\n switch (verb) {\r\n case 0 /* GET */:\r\n return \"GET\";\r\n case 4 /* DELETE */:\r\n return \"DELETE\";\r\n case 1 /* HEAD */:\r\n return \"HEAD\";\r\n case 8 /* PATCH */:\r\n return \"PATCH\";\r\n case 2 /* POST */:\r\n return \"POST\";\r\n case 3 /* PUT */:\r\n return \"PUT\";\r\n case 5 /* TRACE */:\r\n case 6 /* OPTIONS */:\r\n case 7 /* CONNECT */:\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=httpRequester.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nimport { AcquisitionManager } from \"code-push/script/acquisition-sdk\";\r\nimport { HttpRequester } from \"./httpRequester\";\r\nimport { NativeAppInfo } from \"./nativeAppInfo\";\r\nimport { Device } from \"@capacitor/device\";\r\n/**\r\n * Interacts with the CodePush Acquisition SDK.\r\n */\r\nexport class Sdk {\r\n /**\r\n * Reads the CodePush configuration and creates an AcquisitionManager instance using it.\r\n */\r\n static getAcquisitionManager(userDeploymentKey, contentType) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const resolveManager = () => {\r\n if (userDeploymentKey !== Sdk.DefaultConfiguration.deploymentKey || contentType) {\r\n var customConfiguration = {\r\n deploymentKey: userDeploymentKey || Sdk.DefaultConfiguration.deploymentKey,\r\n serverUrl: Sdk.DefaultConfiguration.serverUrl,\r\n ignoreAppVersion: Sdk.DefaultConfiguration.ignoreAppVersion,\r\n appVersion: Sdk.DefaultConfiguration.appVersion,\r\n clientUniqueId: Sdk.DefaultConfiguration.clientUniqueId\r\n };\r\n var requester = new HttpRequester(contentType);\r\n var customAcquisitionManager = new AcquisitionManager(requester, customConfiguration);\r\n return Promise.resolve(customAcquisitionManager);\r\n }\r\n else if (Sdk.DefaultConfiguration.deploymentKey) {\r\n return Promise.resolve(Sdk.DefaultAcquisitionManager);\r\n }\r\n else {\r\n return Promise.reject(new Error(\"No deployment key provided, please provide a default one in your config.xml or specify one in the call to checkForUpdate() or sync().\"));\r\n }\r\n };\r\n if (Sdk.DefaultAcquisitionManager) {\r\n return resolveManager();\r\n }\r\n else {\r\n let serverUrl = null;\r\n try {\r\n serverUrl = yield NativeAppInfo.getServerURL();\r\n }\r\n catch (e) {\r\n throw new Error(\"Could not get the CodePush configuration. Please check your config.xml file.\");\r\n }\r\n let appVersion = null;\r\n try {\r\n appVersion = yield NativeAppInfo.getApplicationVersion();\r\n }\r\n catch (e) {\r\n throw new Error(\"Could not get the app version. Please check your config.xml file.\");\r\n }\r\n let deploymentKey = null;\r\n try {\r\n deploymentKey = yield NativeAppInfo.getDeploymentKey();\r\n }\r\n catch (e) { }\r\n const device = yield Device.getId();\r\n Sdk.DefaultConfiguration = {\r\n deploymentKey,\r\n serverUrl,\r\n ignoreAppVersion: false,\r\n appVersion,\r\n clientUniqueId: device.uuid\r\n };\r\n if (deploymentKey) {\r\n Sdk.DefaultAcquisitionManager = new AcquisitionManager(new HttpRequester(), Sdk.DefaultConfiguration);\r\n }\r\n return resolveManager();\r\n }\r\n });\r\n }\r\n /**\r\n * Reports the deployment status to the CodePush server.\r\n */\r\n static reportStatusDeploy(pkg, status, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey, callback) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const acquisitionManager = yield Sdk.getAcquisitionManager(currentDeploymentKey, \"application/json\");\r\n acquisitionManager.reportStatusDeploy(pkg, status, previousLabelOrAppVersion, previousDeploymentKey, callback);\r\n }\r\n catch (e) {\r\n callback && callback(e);\r\n }\r\n });\r\n }\r\n /**\r\n * Reports the download status to the CodePush server.\r\n */\r\n static reportStatusDownload(pkg, deploymentKey, callback) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey, \"application/json\");\r\n acquisitionManager.reportStatusDownload(pkg, callback);\r\n }\r\n catch (e) {\r\n callback && callback(new Error(\"An error occured while reporting the download status. \" + e));\r\n }\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=sdk.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\r\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\r\nimport { CodePushUtil } from \"./codePushUtil\";\r\nimport { FileUtil } from \"./fileUtil\";\r\nimport { InstallMode } from \"./installMode\";\r\nimport { NativeAppInfo } from \"./nativeAppInfo\";\r\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\r\nimport { Package } from \"./package\";\r\nimport { Sdk } from \"./sdk\";\r\n/**\r\n * Defines a local package.\r\n *\r\n * !! THIS TYPE IS READ FROM NATIVE CODE AS WELL. ANY CHANGES TO THIS INTERFACE NEEDS TO BE UPDATED IN NATIVE CODE !!\r\n */\r\nexport class LocalPackage extends Package {\r\n /**\r\n * Applies this package to the application. The application will be reloaded with this package and on every application launch this package will be loaded.\r\n * On the first run after the update, the application will wait for a codePush.notifyApplicationReady() call. Once this call is made, the install operation is considered a success.\r\n * Otherwise, the install operation will be marked as failed, and the application is reverted to its previous version on the next run.\r\n *\r\n * @param installOptions Optional parameter used for customizing the installation behavior.\r\n */\r\n install(installOptions) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n CodePushUtil.logMessage(\"Installing update\");\r\n if (!installOptions) {\r\n installOptions = LocalPackage.getDefaultInstallOptions();\r\n }\r\n else {\r\n CodePushUtil.copyUnassignedMembers(LocalPackage.getDefaultInstallOptions(), installOptions);\r\n }\r\n var installError = (error) => {\r\n CodePushUtil.invokeErrorCallback(error, reject);\r\n Sdk.reportStatusDeploy(this, AcquisitionStatus.DeploymentFailed, this.deploymentKey);\r\n };\r\n let unzipDir;\r\n try {\r\n unzipDir = yield FileUtil.cleanDataDirectory(LocalPackage.DownloadUnzipDir);\r\n }\r\n catch (error) {\r\n installError(error);\r\n return;\r\n }\r\n try {\r\n yield NativeCodePush.unzip({ zipFile: this.localPath, targetDirectory: unzipDir });\r\n }\r\n catch (unzipError) {\r\n installError(new Error(\"Could not unzip package\" + CodePushUtil.getErrorMessage(unzipError)));\r\n return;\r\n }\r\n try {\r\n const newPackageLocation = LocalPackage.VersionsDir + \"/\" + this.packageHash;\r\n const deploymentResult = yield LocalPackage.handleDeployment(newPackageLocation);\r\n yield this.verifyPackage(deploymentResult);\r\n this.localPath = deploymentResult.deployDir;\r\n this.finishInstall(deploymentResult.deployDir, installOptions, resolve, installError);\r\n }\r\n catch (error) {\r\n installError(error);\r\n }\r\n }\r\n catch (e) {\r\n installError && installError(new Error(\"An error occured while installing the package. \" + CodePushUtil.getErrorMessage(e)));\r\n }\r\n }));\r\n });\r\n }\r\n verifyPackage(deploymentResult) {\r\n return new Promise((resolve, reject) => {\r\n var deployDir = deploymentResult.deployDir;\r\n var verificationFail = (error) => {\r\n reject(error);\r\n };\r\n var verify = (isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature) => {\r\n if (isSignatureVerificationEnabled) {\r\n if (isSignatureAppearedInBundle) {\r\n this.verifyHash(deployDir, this.packageHash, verificationFail, () => {\r\n this.verifySignature(deployDir, this.packageHash, publicKey, signature, verificationFail, resolve);\r\n });\r\n }\r\n else {\r\n var errorMessage = \"Error! Public key was provided but there is no JWT signature within app bundle to verify. \" +\r\n \"Possible reasons, why that might happen: \\n\" +\r\n \"1. You've been released CodePush bundle update using version of CodePush CLI that is not support code signing.\\n\" +\r\n \"2. You've been released CodePush bundle update without providing --privateKeyPath option.\";\r\n reject(new Error(errorMessage));\r\n }\r\n }\r\n else {\r\n if (isSignatureAppearedInBundle) {\r\n CodePushUtil.logMessage(\"Warning! JWT signature exists in codepush update but code integrity check couldn't be performed because there is no public key configured. \" +\r\n \"Please ensure that public key is properly configured within your application.\");\r\n // verifyHash\r\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\r\n }\r\n else {\r\n if (deploymentResult.isDiffUpdate) {\r\n // verifyHash\r\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\r\n }\r\n else {\r\n resolve();\r\n }\r\n }\r\n }\r\n };\r\n if (deploymentResult.isDiffUpdate) {\r\n CodePushUtil.logMessage(\"Applying diff update\");\r\n }\r\n else {\r\n CodePushUtil.logMessage(\"Applying full update\");\r\n }\r\n var isSignatureVerificationEnabled, isSignatureAppearedInBundle;\r\n var publicKey;\r\n this.getPublicKey((error, publicKeyResult) => {\r\n if (error) {\r\n reject(new Error(\"Error reading public key. \" + error));\r\n return;\r\n }\r\n publicKey = publicKeyResult;\r\n isSignatureVerificationEnabled = !!publicKey;\r\n this.getSignatureFromUpdate(deploymentResult.deployDir, (error, signature) => {\r\n if (error) {\r\n reject(new Error(\"Error reading signature from update. \" + error));\r\n return;\r\n }\r\n isSignatureAppearedInBundle = !!signature;\r\n verify(isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature);\r\n });\r\n });\r\n });\r\n }\r\n getPublicKey(callback) {\r\n var success = (publicKey) => {\r\n callback(null, publicKey);\r\n };\r\n var fail = (error) => {\r\n callback(error, null);\r\n };\r\n NativeCodePush.getPublicKey().then(result => success(result.value || null), fail);\r\n }\r\n getSignatureFromUpdate(deployDir, callback) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const filePath = deployDir + \"/public/.codepushrelease\";\r\n if (!(yield FileUtil.fileExists(Directory.Data, filePath))) {\r\n // signature absents in the bundle\r\n callback(null, null);\r\n return;\r\n }\r\n try {\r\n const signature = yield FileUtil.readFile(Directory.Data, filePath);\r\n callback(null, signature);\r\n }\r\n catch (error) {\r\n // error reading signature file from bundle\r\n callback(error, null);\r\n }\r\n });\r\n }\r\n verifyHash(deployDir, newUpdateHash, errorCallback, successCallback) {\r\n var packageHashSuccess = (computedHash) => {\r\n if (computedHash !== newUpdateHash) {\r\n errorCallback(new Error(\"The update contents failed the data integrity check.\"));\r\n return;\r\n }\r\n CodePushUtil.logMessage(\"The update contents succeeded the data integrity check.\");\r\n successCallback();\r\n };\r\n var packageHashFail = (error) => {\r\n errorCallback(new Error(\"Unable to compute hash for package: \" + error));\r\n };\r\n CodePushUtil.logMessage(\"Verifying hash for folder path: \" + deployDir);\r\n NativeCodePush.getPackageHash({ path: deployDir }).then(result => packageHashSuccess(result.value), packageHashFail);\r\n }\r\n verifySignature(deployDir, newUpdateHash, publicKey, signature, errorCallback, successCallback) {\r\n var decodeSignatureSuccess = (contentHash) => {\r\n if (contentHash !== newUpdateHash) {\r\n errorCallback(new Error(\"The update contents failed the code signing check.\"));\r\n return;\r\n }\r\n CodePushUtil.logMessage(\"The update contents succeeded the code signing check.\");\r\n successCallback();\r\n };\r\n var decodeSignatureFail = (error) => {\r\n errorCallback(new Error(\"Unable to verify signature for package: \" + error));\r\n };\r\n CodePushUtil.logMessage(\"Verifying signature for folder path: \" + deployDir);\r\n NativeCodePush.decodeSignature({ publicKey, signature }).then(result => decodeSignatureSuccess(result.value), decodeSignatureFail);\r\n }\r\n finishInstall(deployDir, installOptions, installSuccess, installError) {\r\n function backupPackageInformationFileIfNeeded(backupIfNeededDone) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\r\n if (pendingUpdate) {\r\n // Don't back up the currently installed update since it hasn't been \"confirmed\"\r\n backupIfNeededDone(null, null);\r\n }\r\n else {\r\n try {\r\n yield LocalPackage.backupPackageInformationFile();\r\n backupIfNeededDone(null, null);\r\n }\r\n catch (err) {\r\n backupIfNeededDone(err, null);\r\n }\r\n }\r\n });\r\n }\r\n LocalPackage.getCurrentOrDefaultPackage().then((oldPackage) => {\r\n backupPackageInformationFileIfNeeded((backupError) => {\r\n /* continue on error, current package information is missing if this is the first update */\r\n this.writeNewPackageMetadata().then(() => {\r\n var invokeSuccessAndInstall = () => {\r\n CodePushUtil.logMessage(\"Install succeeded.\");\r\n var installModeToUse = this.isMandatory ? installOptions.mandatoryInstallMode : installOptions.installMode;\r\n if (installModeToUse === InstallMode.IMMEDIATE) {\r\n /* invoke success before navigating */\r\n installSuccess && installSuccess(installModeToUse);\r\n /* no need for callbacks, the javascript context will reload */\r\n NativeCodePush.install({\r\n startLocation: deployDir,\r\n installMode: installModeToUse,\r\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\r\n });\r\n }\r\n else {\r\n NativeCodePush.install({\r\n startLocation: deployDir,\r\n installMode: installModeToUse,\r\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\r\n }).then(() => { installSuccess && installSuccess(installModeToUse); }, () => { installError && installError(); });\r\n }\r\n };\r\n var preInstallSuccess = () => {\r\n /* package will be cleaned up after success, on the native side */\r\n invokeSuccessAndInstall();\r\n };\r\n var preInstallFailure = (preInstallError) => {\r\n CodePushUtil.logError(\"Preinstall failure.\", preInstallError);\r\n var error = new Error(\"An error has occured while installing the package. \" + CodePushUtil.getErrorMessage(preInstallError));\r\n installError && installError(error);\r\n };\r\n NativeCodePush.preInstall({ startLocation: deployDir }).then(preInstallSuccess, preInstallFailure);\r\n }, (writeMetadataError) => {\r\n installError && installError(writeMetadataError);\r\n });\r\n });\r\n }, installError);\r\n }\r\n static handleDeployment(newPackageLocation) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const manifestFile = {\r\n directory: Directory.Data,\r\n path: LocalPackage.DownloadUnzipDir + \"/\" + LocalPackage.DiffManifestFile\r\n };\r\n const isDiffUpdate = yield FileUtil.fileExists(manifestFile.directory, manifestFile.path);\r\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.VersionsDir))) {\r\n // If directory not exists, create recursive folder\r\n yield Filesystem.mkdir({\r\n path: LocalPackage.VersionsDir,\r\n directory: Directory.Data,\r\n recursive: true\r\n });\r\n }\r\n if (isDiffUpdate) {\r\n yield LocalPackage.handleDiffDeployment(newPackageLocation, manifestFile);\r\n }\r\n else {\r\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\r\n }\r\n return { deployDir: newPackageLocation, isDiffUpdate };\r\n });\r\n }\r\n writeNewPackageMetadata() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const timestamp = yield NativeAppInfo.getApplicationBuildTime().catch(buildTimeError => {\r\n CodePushUtil.logError(\"Could not get application build time. \" + buildTimeError);\r\n });\r\n const appVersion = yield NativeAppInfo.getApplicationVersion().catch(appVersionError => {\r\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\r\n });\r\n const currentPackageMetadata = {\r\n nativeBuildTime: timestamp,\r\n localPath: this.localPath,\r\n appVersion: appVersion,\r\n deploymentKey: this.deploymentKey,\r\n description: this.description,\r\n isMandatory: this.isMandatory,\r\n packageSize: this.packageSize,\r\n label: this.label,\r\n packageHash: this.packageHash,\r\n isFirstRun: false,\r\n failedInstall: false,\r\n install: undefined\r\n };\r\n return new Promise((resolve, reject) => {\r\n LocalPackage.writeCurrentPackageInformation(currentPackageMetadata, error => error ? reject(error) : resolve());\r\n });\r\n });\r\n }\r\n static handleCleanDeployment(newPackageLocation) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n // no diff manifest\r\n const source = { directory: Directory.Data, path: LocalPackage.DownloadUnzipDir };\r\n const target = { directory: Directory.Data, path: newPackageLocation };\r\n // TODO: create destination directory if it doesn't exist\r\n return FileUtil.copyDirectoryEntriesTo(source, target);\r\n });\r\n }\r\n static copyCurrentPackage(newPackageLocation, ignoreList) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const currentPackagePath = yield new Promise(resolve => {\r\n LocalPackage.getPackage(LocalPackage.PackageInfoFile, (currentPackage) => resolve(currentPackage.localPath), () => resolve());\r\n });\r\n newPackageLocation = currentPackagePath ? newPackageLocation : newPackageLocation + \"/public\";\r\n // https://github.com/ionic-team/capacitor/pull/2514 Directory.Application variable was removed. (TODO - for check)\r\n const source = currentPackagePath ? { directory: Directory.Data, path: currentPackagePath } : { directory: Directory.Data, path: \"public\" };\r\n const target = { directory: Directory.Data, path: newPackageLocation };\r\n return FileUtil.copyDirectoryEntriesTo(source, target, ignoreList);\r\n });\r\n }\r\n static handleDiffDeployment(newPackageLocation, diffManifest) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let manifest;\r\n try {\r\n yield LocalPackage.copyCurrentPackage(newPackageLocation, [\".codepushrelease\"]);\r\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\r\n /* delete files mentioned in the manifest */\r\n const content = yield FileUtil.readFile(diffManifest.directory, diffManifest.path);\r\n manifest = JSON.parse(content);\r\n yield FileUtil.deleteEntriesFromDataDirectory(newPackageLocation, manifest.deletedFiles);\r\n }\r\n catch (error) {\r\n throw new Error(\"Cannot perform diff-update.\");\r\n }\r\n });\r\n }\r\n /**\r\n * Writes the given local package information to the current package information file.\r\n * @param packageInfoMetadata The object to serialize.\r\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\r\n */\r\n static writeCurrentPackageInformation(packageInfoMetadata, callback) {\r\n var content = JSON.stringify(packageInfoMetadata);\r\n FileUtil.writeStringToDataFile(content, LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile, true, callback);\r\n }\r\n /**\r\n * Backs up the current package information to the old package information file.\r\n * This file is used for recovery in case of an update going wrong.\r\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\r\n */\r\n static backupPackageInformationFile() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const source = {\r\n directory: Directory.Data,\r\n path: LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile\r\n };\r\n const destination = {\r\n directory: Directory.Data,\r\n path: LocalPackage.RootDir + \"/\" + LocalPackage.OldPackageInfoFile\r\n };\r\n return FileUtil.copy(source, destination);\r\n });\r\n }\r\n /**\r\n * Get the previous package information.\r\n *\r\n * @param packageSuccess Callback invoked with the old package information.\r\n * @param packageError Optional callback invoked in case of an error.\r\n */\r\n static getOldPackage(packageSuccess, packageError) {\r\n LocalPackage.getPackage(LocalPackage.OldPackageInfoFile, packageSuccess, packageError);\r\n }\r\n /**\r\n * Reads package information from a given file.\r\n *\r\n * @param packageFile The package file name.\r\n * @param packageSuccess Callback invoked with the package information.\r\n * @param packageError Optional callback invoked in case of an error.\r\n */\r\n static getPackage(packageFile, packageSuccess, packageError) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n var handleError = (e) => {\r\n packageError && packageError(new Error(\"Cannot read package information. \" + CodePushUtil.getErrorMessage(e)));\r\n };\r\n try {\r\n const content = yield FileUtil.readDataFile(LocalPackage.RootDir + \"/\" + packageFile);\r\n const packageInfo = JSON.parse(content);\r\n LocalPackage.getLocalPackageFromMetadata(packageInfo).then(packageSuccess, packageError);\r\n }\r\n catch (e) {\r\n handleError(e);\r\n }\r\n });\r\n }\r\n static getLocalPackageFromMetadata(metadata) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (!metadata) {\r\n throw new Error(\"Invalid package metadata.\");\r\n }\r\n const installFailed = yield NativeAppInfo.isFailedUpdate(metadata.packageHash);\r\n const isFirstRun = yield NativeAppInfo.isFirstRun(metadata.packageHash);\r\n const localPackage = new LocalPackage();\r\n localPackage.appVersion = metadata.appVersion;\r\n localPackage.deploymentKey = metadata.deploymentKey;\r\n localPackage.description = metadata.description;\r\n localPackage.isMandatory = metadata.isMandatory;\r\n localPackage.failedInstall = installFailed;\r\n localPackage.isFirstRun = isFirstRun;\r\n localPackage.label = metadata.label;\r\n localPackage.localPath = metadata.localPath;\r\n localPackage.packageHash = metadata.packageHash;\r\n localPackage.packageSize = metadata.packageSize;\r\n return localPackage;\r\n });\r\n }\r\n static getCurrentOrDefaultPackage() {\r\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.PackageInfoFile);\r\n }\r\n static getOldOrDefaultPackage() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.OldPackageInfoFile);\r\n });\r\n }\r\n static getPackageInfoOrDefault(packageFile) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return new Promise((resolve, reject) => {\r\n const packageFailure = () => __awaiter(this, void 0, void 0, function* () {\r\n /**\r\n * For the default package we need the app version,\r\n * and ideally the hash of the binary contents.\r\n */\r\n let appVersion;\r\n try {\r\n appVersion = yield NativeAppInfo.getApplicationVersion();\r\n }\r\n catch (appVersionError) {\r\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\r\n reject(appVersionError);\r\n return;\r\n }\r\n const defaultPackage = new LocalPackage();\r\n defaultPackage.appVersion = appVersion;\r\n try {\r\n defaultPackage.packageHash = yield NativeAppInfo.getBinaryHash();\r\n }\r\n catch (binaryHashError) {\r\n CodePushUtil.logError(\"Could not get binary hash.\" + binaryHashError);\r\n }\r\n resolve(defaultPackage);\r\n });\r\n LocalPackage.getPackage(packageFile, resolve, packageFailure);\r\n });\r\n });\r\n }\r\n static getPackageInfoOrNull(packageFile, packageSuccess, packageError) {\r\n LocalPackage.getPackage(packageFile, packageSuccess, packageSuccess.bind(null, null));\r\n }\r\n /**\r\n * Returns the default options for the CodePush install operation.\r\n * If the options are not defined yet, the static DefaultInstallOptions member will be instantiated.\r\n */\r\n static getDefaultInstallOptions() {\r\n if (!LocalPackage.DefaultInstallOptions) {\r\n LocalPackage.DefaultInstallOptions = {\r\n installMode: InstallMode.ON_NEXT_RESTART,\r\n minimumBackgroundDuration: 0,\r\n mandatoryInstallMode: InstallMode.IMMEDIATE\r\n };\r\n }\r\n return LocalPackage.DefaultInstallOptions;\r\n }\r\n}\r\nLocalPackage.RootDir = \"codepush\";\r\nLocalPackage.DownloadDir = LocalPackage.RootDir + \"/download\";\r\nLocalPackage.DownloadUnzipDir = LocalPackage.DownloadDir + \"/unzipped\";\r\nLocalPackage.DeployDir = LocalPackage.RootDir + \"/deploy\";\r\nLocalPackage.VersionsDir = LocalPackage.DeployDir + \"/versions\";\r\nLocalPackage.PackageUpdateFileName = \"update.zip\";\r\nLocalPackage.PackageInfoFile = \"currentPackage.json\";\r\nLocalPackage.OldPackageInfoFile = \"oldPackage.json\";\r\nLocalPackage.DiffManifestFile = \"hotcodepush.json\";\r\n//# sourceMappingURL=localPackage.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nimport { CodePushUtil } from \"./codePushUtil\";\r\nimport { LocalPackage } from \"./localPackage\";\r\nimport { NativeAppInfo } from \"./nativeAppInfo\";\r\nimport { Package } from \"./package\";\r\nimport { Sdk } from \"./sdk\";\r\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\r\nimport { FileUtil } from \"./fileUtil\";\r\nimport { Http } from \"@capacitor-community/http\";\r\n/**\r\n * Defines a remote package, which represents an update package available for download.\r\n */\r\nexport class RemotePackage extends Package {\r\n constructor() {\r\n super(...arguments);\r\n this.isDownloading = false;\r\n }\r\n /**\r\n * Downloads the package update from the CodePush service.\r\n * TODO: implement download progress\r\n *\r\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\r\n */\r\n download(downloadProgress) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n CodePushUtil.logMessage(\"Downloading update\");\r\n if (!this.downloadUrl) {\r\n CodePushUtil.throwError(new Error(\"The remote package does not contain a download URL.\"));\r\n }\r\n this.isDownloading = true;\r\n const file = LocalPackage.DownloadDir + \"/\" + LocalPackage.PackageUpdateFileName;\r\n const fullPath = yield FileUtil.getUri(Directory.Data, file);\r\n try {\r\n // create directory if not exists\r\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.DownloadDir))) {\r\n yield Filesystem.mkdir({\r\n path: LocalPackage.DownloadDir,\r\n directory: Directory.Data,\r\n recursive: true,\r\n });\r\n }\r\n // delete file if it exists\r\n if (yield FileUtil.fileExists(Directory.Data, file)) {\r\n yield Filesystem.deleteFile({ directory: Directory.Data, path: file });\r\n }\r\n yield Http.downloadFile({\r\n url: this.downloadUrl,\r\n method: \"GET\",\r\n filePath: file,\r\n fileDirectory: Directory.Data,\r\n responseType: \"blob\"\r\n });\r\n }\r\n catch (e) {\r\n CodePushUtil.throwError(new Error(\"An error occured while downloading the package. \" + (e && e.message) ? e.message : \"\"));\r\n }\r\n finally {\r\n this.isDownloading = false;\r\n }\r\n const installFailed = yield NativeAppInfo.isFailedUpdate(this.packageHash);\r\n const localPackage = new LocalPackage();\r\n localPackage.deploymentKey = this.deploymentKey;\r\n localPackage.description = this.description;\r\n localPackage.label = this.label;\r\n localPackage.appVersion = this.appVersion;\r\n localPackage.isMandatory = this.isMandatory;\r\n localPackage.packageHash = this.packageHash;\r\n localPackage.isFirstRun = false;\r\n localPackage.failedInstall = installFailed;\r\n localPackage.localPath = fullPath;\r\n CodePushUtil.logMessage(\"Package download success: \" + JSON.stringify(localPackage));\r\n Sdk.reportStatusDownload(localPackage, localPackage.deploymentKey);\r\n return localPackage;\r\n });\r\n }\r\n /**\r\n * Aborts the current download session, previously started with download().\r\n */\r\n abortDownload() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n // TODO: implement download abort\r\n return new Promise((resolve) => {\r\n this.isDownloading = false;\r\n resolve();\r\n });\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=remotePackage.js.map","/**\r\n * Defines the possible result and intermediate statuses of the window.codePush.sync operation.\r\n * The result statuses are final, mutually exclusive statuses of the sync operation. The operation will end with only one of the possible result statuses.\r\n * The intermediate statuses are not final, one or more of them can happen before sync ends, based on the options you use and user interaction.\r\n *\r\n * NOTE: Adding new statuses or changing old statuses requires an update to CodePush.sync(), which must know which callbacks are results and which are not!\r\n * Also, don't forget to change the TestMessage module in ServerUtils!\r\n * AND THE codePush.d.ts (typings) file!!!\r\n */\r\nexport var SyncStatus;\r\n(function (SyncStatus) {\r\n /**\r\n * Result status - the application is up to date.\r\n */\r\n SyncStatus[SyncStatus[\"UP_TO_DATE\"] = 0] = \"UP_TO_DATE\";\r\n /**\r\n * Result status - an update is available, it has been downloaded, unzipped and copied to the deployment folder.\r\n * After the completion of the callback invoked with SyncStatus.UPDATE_INSTALLED, the application will be reloaded with the updated code and resources.\r\n */\r\n SyncStatus[SyncStatus[\"UPDATE_INSTALLED\"] = 1] = \"UPDATE_INSTALLED\";\r\n /**\r\n * Result status - an optional update is available, but the user declined to install it. The update was not downloaded.\r\n */\r\n SyncStatus[SyncStatus[\"UPDATE_IGNORED\"] = 2] = \"UPDATE_IGNORED\";\r\n /**\r\n * Result status - an error happened during the sync operation. This might be an error while communicating with the server, downloading or unziping the update.\r\n * The console logs should contain more information about what happened. No update has been applied in this case.\r\n */\r\n SyncStatus[SyncStatus[\"ERROR\"] = 3] = \"ERROR\";\r\n /**\r\n * Result status - there is an ongoing sync in progress, so this attempt to sync has been aborted.\r\n */\r\n SyncStatus[SyncStatus[\"IN_PROGRESS\"] = 4] = \"IN_PROGRESS\";\r\n /**\r\n * Intermediate status - the plugin is about to check for updates.\r\n */\r\n SyncStatus[SyncStatus[\"CHECKING_FOR_UPDATE\"] = 5] = \"CHECKING_FOR_UPDATE\";\r\n /**\r\n * Intermediate status - a user dialog is about to be displayed. This status will be reported only if user interaction is enabled.\r\n */\r\n SyncStatus[SyncStatus[\"AWAITING_USER_ACTION\"] = 6] = \"AWAITING_USER_ACTION\";\r\n /**\r\n * Intermediate status - the update packages is about to be downloaded.\r\n */\r\n SyncStatus[SyncStatus[\"DOWNLOADING_PACKAGE\"] = 7] = \"DOWNLOADING_PACKAGE\";\r\n /**\r\n * Intermediate status - the update package is about to be installed.\r\n */\r\n SyncStatus[SyncStatus[\"INSTALLING_UPDATE\"] = 8] = \"INSTALLING_UPDATE\";\r\n})(SyncStatus || (SyncStatus = {}));\r\n//# sourceMappingURL=syncStatus.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\r\nimport { CodePushUtil } from \"./codePushUtil\";\r\nimport { InstallMode } from \"./installMode\";\r\nimport { LocalPackage } from \"./localPackage\";\r\nimport { NativeAppInfo } from \"./nativeAppInfo\";\r\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\r\nimport { RemotePackage } from \"./remotePackage\";\r\nimport { Sdk } from \"./sdk\";\r\nimport { SyncStatus } from \"./syncStatus\";\r\nimport { Dialog } from \"@capacitor/dialog\";\r\n/**\r\n * This is the entry point to Cordova CodePush SDK.\r\n * It provides the following features to the app developer:\r\n * - polling the server for new versions of the app\r\n * - notifying the plugin that the application loaded successfully after an update\r\n * - getting information about the currently deployed package\r\n */\r\nclass CodePush {\r\n /**\r\n * Notifies the plugin that the update operation succeeded and that the application is ready.\r\n * Calling this function is required on the first run after an update. On every subsequent application run, calling this function is a noop.\r\n * If using sync API, calling this function is not required since sync calls it internally.\r\n */\r\n notifyApplicationReady() {\r\n return NativeCodePush.notifyApplicationReady();\r\n }\r\n /**\r\n * Reloads the application. If there is a pending update package installed using ON_NEXT_RESTART or ON_NEXT_RESUME modes, the update\r\n * will be immediately visible to the user. Otherwise, calling this function will simply reload the current version of the application.\r\n */\r\n restartApplication() {\r\n return NativeCodePush.restartApplication();\r\n }\r\n /**\r\n * Reports an application status back to the server.\r\n * !!! This function is called from the native side, please make changes accordingly. !!!\r\n */\r\n reportStatus(status, label, appVersion, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey) {\r\n if (((!label && appVersion === lastVersionLabelOrAppVersion) || label === lastVersionLabelOrAppVersion)\r\n && deploymentKey === lastVersionDeploymentKey) {\r\n // No-op since the new appVersion and label is exactly the same as the previous\r\n // (the app might have been updated via a direct or HockeyApp deployment).\r\n return;\r\n }\r\n var createPackageForReporting = (label, appVersion) => {\r\n return {\r\n /* The SDK only reports the label and appVersion.\r\n The rest of the properties are added for type safety. */\r\n label, appVersion, deploymentKey,\r\n description: null, isMandatory: false,\r\n packageHash: null, packageSize: null,\r\n failedInstall: false\r\n };\r\n };\r\n var reportDone = (error) => {\r\n var reportArgs = {\r\n status,\r\n label,\r\n appVersion,\r\n deploymentKey,\r\n lastVersionLabelOrAppVersion,\r\n lastVersionDeploymentKey\r\n };\r\n if (error) {\r\n CodePushUtil.logError(`An error occurred while reporting status: ${JSON.stringify(reportArgs)}`, error);\r\n NativeCodePush.reportFailed({ statusReport: reportArgs });\r\n }\r\n else {\r\n CodePushUtil.logMessage(`Reported status: ${JSON.stringify(reportArgs)}`);\r\n NativeCodePush.reportSucceeded({ statusReport: reportArgs });\r\n }\r\n };\r\n switch (status) {\r\n case ReportStatus.STORE_VERSION:\r\n Sdk.reportStatusDeploy(null, AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\r\n break;\r\n case ReportStatus.UPDATE_CONFIRMED:\r\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\r\n break;\r\n case ReportStatus.UPDATE_ROLLED_BACK:\r\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentFailed, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\r\n break;\r\n }\r\n }\r\n /**\r\n * Get the current package information.\r\n *\r\n * @returns The currently deployed package information.\r\n */\r\n getCurrentPackage() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\r\n var packageInfoFile = pendingUpdate ? LocalPackage.OldPackageInfoFile : LocalPackage.PackageInfoFile;\r\n return new Promise((resolve, reject) => {\r\n LocalPackage.getPackageInfoOrNull(packageInfoFile, resolve, reject);\r\n });\r\n });\r\n }\r\n /**\r\n * Gets the pending package information, if any. A pending package is one that has been installed but the application still runs the old code.\r\n * This happens only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.\r\n */\r\n getPendingPackage() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\r\n if (!pendingUpdate)\r\n return null;\r\n return new Promise((resolve, reject) => {\r\n LocalPackage.getPackageInfoOrNull(LocalPackage.PackageInfoFile, resolve, reject);\r\n });\r\n });\r\n }\r\n /**\r\n * Checks with the CodePush server if an update package is available for download.\r\n *\r\n * @param querySuccess Callback invoked in case of a successful response from the server.\r\n * The callback takes one RemotePackage parameter. A non-null package is a valid update.\r\n * A null package means the application is up to date for the current native application version.\r\n * @param queryError Optional callback invoked in case of an error.\r\n * @param deploymentKey Optional deployment key that overrides the config.xml setting.\r\n */\r\n checkForUpdate(querySuccess, queryError, deploymentKey) {\r\n try {\r\n const callback = (error, remotePackageOrUpdateNotification) => __awaiter(this, void 0, void 0, function* () {\r\n if (error) {\r\n CodePushUtil.invokeErrorCallback(error, queryError);\r\n }\r\n else {\r\n const appUpToDate = () => {\r\n CodePushUtil.logMessage(\"App is up to date.\");\r\n querySuccess && querySuccess(null);\r\n };\r\n if (remotePackageOrUpdateNotification) {\r\n if (remotePackageOrUpdateNotification.updateAppVersion) {\r\n /* There is an update available for a different version. In the current version of the plugin, we treat that as no update. */\r\n let currentBinaryVersion = null;\r\n try {\r\n currentBinaryVersion = yield NativeAppInfo.getApplicationVersion();\r\n }\r\n catch (e) {\r\n currentBinaryVersion = 'unknown';\r\n }\r\n CodePushUtil.logMessage(`An update is available, but it is targeting a newer (${remotePackageOrUpdateNotification.appVersion})\n binary than the one you are currently running (${currentBinaryVersion}).`);\r\n appUpToDate();\r\n }\r\n else {\r\n /* There is an update available for the current version. */\r\n const remotePackage = remotePackageOrUpdateNotification;\r\n const installFailed = yield NativeAppInfo.isFailedUpdate(remotePackage.packageHash);\r\n const result = new RemotePackage();\r\n result.appVersion = remotePackage.appVersion;\r\n result.deploymentKey = deploymentKey; // server does not send back the deployment key\r\n result.description = remotePackage.description;\r\n result.downloadUrl = remotePackage.downloadUrl;\r\n result.isMandatory = remotePackage.isMandatory;\r\n result.label = remotePackage.label;\r\n result.packageHash = remotePackage.packageHash;\r\n result.packageSize = remotePackage.packageSize;\r\n result.failedInstall = installFailed;\r\n CodePushUtil.logMessage(\"An update is available. \" + JSON.stringify(result));\r\n querySuccess && querySuccess(result);\r\n }\r\n }\r\n else {\r\n appUpToDate();\r\n }\r\n }\r\n });\r\n const queryUpdate = () => __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n /* Get the acquisition manager to fetch the package */\r\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey);\r\n /* Get the local package to install\r\n * if said package doesn't exist, defaults to the existing\r\n * code package */\r\n const localPackage = yield LocalPackage.getCurrentOrDefaultPackage();\r\n try {\r\n const currentBinaryVersion = yield NativeAppInfo.getApplicationVersion();\r\n localPackage.appVersion = currentBinaryVersion;\r\n }\r\n catch (e) {\r\n /* Nothing to do */\r\n /* TODO : Why ? */\r\n /* We bet that the appVersion hasn't changed */\r\n }\r\n CodePushUtil.logMessage(\"Checking for update.\");\r\n acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback);\r\n }\r\n catch (e) {\r\n CodePushUtil.invokeErrorCallback(e, queryError);\r\n }\r\n });\r\n if (deploymentKey) {\r\n queryUpdate();\r\n }\r\n else {\r\n NativeAppInfo.getDeploymentKey()\r\n .then((defaultDeploymentKey) => {\r\n deploymentKey = defaultDeploymentKey;\r\n queryUpdate();\r\n }, (deploymentKeyError) => {\r\n CodePushUtil.invokeErrorCallback(deploymentKeyError, queryError);\r\n });\r\n }\r\n }\r\n catch (e) {\r\n CodePushUtil.invokeErrorCallback(new Error(\"An error occurred while querying for updates.\" + CodePushUtil.getErrorMessage(e)), queryError);\r\n }\r\n }\r\n /**\r\n * Convenience method for installing updates in one method call.\r\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\r\n * If another sync is already running, it yields SyncStatus.IN_PROGRESS.\r\n *\r\n * The algorithm of this method is the following:\r\n * - Checks for an update on the CodePush server.\r\n * - If an update is available\r\n * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version.\r\n * The update package will then be downloaded and applied.\r\n * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version.\r\n * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED.\r\n * - Otherwise, the update package will be downloaded and applied with no user interaction.\r\n * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE.\r\n * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR.\r\n *\r\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\r\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\r\n */\r\n sync(syncOptions, downloadProgress) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return yield new Promise((resolve, reject) => {\r\n /* Check if a sync is already in progress */\r\n if (CodePush.SyncInProgress === true) {\r\n /* A sync is already in progress */\r\n CodePushUtil.logMessage(\"Sync already in progress.\");\r\n resolve(SyncStatus.IN_PROGRESS);\r\n }\r\n /* Create a callback that resets the SyncInProgress flag when the sync is complete\r\n * If the sync status is a result status, then the sync must be complete and the flag must be updated\r\n * Otherwise, do not change the flag and trigger the syncCallback as usual\r\n */\r\n const syncCallbackAndUpdateSyncInProgress = (err, result) => {\r\n if (err) {\r\n syncOptions.onSyncError && syncOptions.onSyncError(err);\r\n CodePush.SyncInProgress = false;\r\n reject(err);\r\n }\r\n else {\r\n /* Call the user's callback */\r\n syncOptions.onSyncStatusChanged && syncOptions.onSyncStatusChanged(result);\r\n /* Check if the sync operation is over */\r\n switch (result) {\r\n case SyncStatus.ERROR:\r\n case SyncStatus.UP_TO_DATE:\r\n case SyncStatus.UPDATE_IGNORED:\r\n case SyncStatus.UPDATE_INSTALLED:\r\n /* The sync has completed */\r\n CodePush.SyncInProgress = false;\r\n resolve(result);\r\n break;\r\n default:\r\n /* The sync is not yet complete, so do nothing */\r\n break;\r\n }\r\n }\r\n };\r\n /* Begin the sync */\r\n CodePush.SyncInProgress = true;\r\n this.syncInternal(syncCallbackAndUpdateSyncInProgress, syncOptions, downloadProgress);\r\n });\r\n });\r\n }\r\n /**\r\n * Convenience method for installing updates in one method call.\r\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\r\n *\r\n * A helper function for the sync function. It does not check if another sync is ongoing.\r\n *\r\n * @param syncCallback Optional callback to be called with the status of the sync operation.\r\n * The callback will be called only once, and the possible statuses are defined by the SyncStatus enum.\r\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\r\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\r\n *\r\n */\r\n syncInternal(syncCallback, syncOptions, downloadProgress) {\r\n /* No options were specified, use default */\r\n const defaultSyncOptions = this.getDefaultSyncOptions();\r\n if (!syncOptions) {\r\n syncOptions = defaultSyncOptions;\r\n }\r\n else {\r\n /* Some options were specified */\r\n /* Handle dialog options */\r\n const defaultDialogOptions = this.getDefaultUpdateDialogOptions();\r\n if (syncOptions.updateDialog) {\r\n if (typeof syncOptions.updateDialog !== typeof ({})) {\r\n /* updateDialog set to true condition, use default options */\r\n syncOptions.updateDialog = defaultDialogOptions;\r\n }\r\n else {\r\n /* some options were specified, merge with default */\r\n CodePushUtil.copyUnassignedMembers(defaultDialogOptions, syncOptions.updateDialog);\r\n }\r\n }\r\n /* Handle other options. Dialog options will not be overwritten. */\r\n CodePushUtil.copyUnassignedMembers(defaultSyncOptions, syncOptions);\r\n }\r\n this.notifyApplicationReady();\r\n const onError = (error) => {\r\n CodePushUtil.logError(\"An error occurred during sync.\", error);\r\n syncCallback && syncCallback(error, SyncStatus.ERROR);\r\n };\r\n const onInstallSuccess = (appliedWhen) => {\r\n switch (appliedWhen) {\r\n case InstallMode.ON_NEXT_RESTART:\r\n CodePushUtil.logMessage(\"Update is installed and will be run on the next app restart.\");\r\n break;\r\n case InstallMode.ON_NEXT_RESUME:\r\n if (syncOptions.minimumBackgroundDuration > 0) {\r\n CodePushUtil.logMessage(`Update is installed and will be run after the app has been in the background for at least ${syncOptions.minimumBackgroundDuration} seconds.`);\r\n }\r\n else {\r\n CodePushUtil.logMessage(\"Update is installed and will be run when the app next resumes.\");\r\n }\r\n break;\r\n case InstallMode.IMMEDIATE:\r\n CodePushUtil.logMessage(\"Update is installed and will be run immediately.\");\r\n break;\r\n }\r\n syncCallback && syncCallback(null, SyncStatus.UPDATE_INSTALLED);\r\n };\r\n const onDownloadSuccess = (localPackage) => {\r\n syncCallback && syncCallback(null, SyncStatus.INSTALLING_UPDATE);\r\n localPackage.install(syncOptions).then(onInstallSuccess, onError);\r\n };\r\n const downloadAndInstallUpdate = (remotePackage) => {\r\n syncCallback && syncCallback(null, SyncStatus.DOWNLOADING_PACKAGE);\r\n remotePackage.download(downloadProgress).then(onDownloadSuccess, onError);\r\n };\r\n const onUpdate = (remotePackage) => __awaiter(this, void 0, void 0, function* () {\r\n if (remotePackage === null) {\r\n /* Then the app is up to date */\r\n syncCallback && syncCallback(null, SyncStatus.UP_TO_DATE);\r\n }\r\n else {\r\n if (remotePackage.failedInstall && syncOptions.ignoreFailedUpdates) {\r\n CodePushUtil.logMessage(\"An update is available, but it is being ignored due to have been previously rolled back.\");\r\n syncCallback && syncCallback(null, SyncStatus.UPDATE_IGNORED);\r\n }\r\n else {\r\n if (syncOptions.updateDialog) {\r\n CodePushUtil.logMessage(\"Awaiting user action.\");\r\n syncCallback && syncCallback(null, SyncStatus.AWAITING_USER_ACTION);\r\n const dlgOpts = syncOptions.updateDialog;\r\n if (remotePackage.isMandatory) {\r\n /* Alert user */\r\n const message = dlgOpts.appendReleaseDescription ?\r\n dlgOpts.mandatoryUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description :\r\n dlgOpts.mandatoryUpdateMessage;\r\n yield Dialog.alert({\r\n message,\r\n title: dlgOpts.updateTitle,\r\n buttonTitle: dlgOpts.mandatoryContinueButtonLabel\r\n });\r\n downloadAndInstallUpdate(remotePackage);\r\n }\r\n else {\r\n /* Confirm update with user */\r\n const message = dlgOpts.appendReleaseDescription ?\r\n dlgOpts.optionalUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description\r\n : dlgOpts.optionalUpdateMessage;\r\n const confirmResult = yield Dialog.confirm({\r\n message,\r\n title: dlgOpts.updateTitle,\r\n okButtonTitle: dlgOpts.optionalInstallButtonLabel,\r\n cancelButtonTitle: dlgOpts.optionalIgnoreButtonLabel\r\n });\r\n if (confirmResult.value === true) {\r\n /* Install */\r\n downloadAndInstallUpdate(remotePackage);\r\n }\r\n else {\r\n /* Cancel */\r\n CodePushUtil.logMessage(\"User cancelled the update.\");\r\n syncCallback && syncCallback(null, SyncStatus.UPDATE_IGNORED);\r\n }\r\n }\r\n }\r\n else {\r\n /* No user interaction */\r\n downloadAndInstallUpdate(remotePackage);\r\n }\r\n }\r\n }\r\n });\r\n syncCallback && syncCallback(null, SyncStatus.CHECKING_FOR_UPDATE);\r\n this.checkForUpdate(onUpdate, onError, syncOptions.deploymentKey);\r\n }\r\n /**\r\n * Returns the default options for the CodePush sync operation.\r\n * If the options are not defined yet, the static DefaultSyncOptions member will be instantiated.\r\n */\r\n getDefaultSyncOptions() {\r\n if (!CodePush.DefaultSyncOptions) {\r\n CodePush.DefaultSyncOptions = {\r\n ignoreFailedUpdates: true,\r\n installMode: InstallMode.ON_NEXT_RESTART,\r\n minimumBackgroundDuration: 0,\r\n mandatoryInstallMode: InstallMode.IMMEDIATE,\r\n updateDialog: false,\r\n deploymentKey: undefined\r\n };\r\n }\r\n return CodePush.DefaultSyncOptions;\r\n }\r\n /**\r\n * Returns the default options for the update dialog.\r\n * Please note that the dialog is disabled by default.\r\n */\r\n getDefaultUpdateDialogOptions() {\r\n if (!CodePush.DefaultUpdateDialogOptions) {\r\n CodePush.DefaultUpdateDialogOptions = {\r\n updateTitle: \"Update available\",\r\n mandatoryUpdateMessage: \"An update is available that must be installed.\",\r\n mandatoryContinueButtonLabel: \"Continue\",\r\n optionalUpdateMessage: \"An update is available. Would you like to install it?\",\r\n optionalInstallButtonLabel: \"Install\",\r\n optionalIgnoreButtonLabel: \"Ignore\",\r\n appendReleaseDescription: false,\r\n descriptionPrefix: \" Description: \"\r\n };\r\n }\r\n return CodePush.DefaultUpdateDialogOptions;\r\n }\r\n}\r\n/**\r\n * Defines the application statuses reported from the native layer.\r\n * !!! This enum is defined in native code as well, please make changes accordingly. !!!\r\n */\r\nvar ReportStatus;\r\n(function (ReportStatus) {\r\n ReportStatus[ReportStatus[\"STORE_VERSION\"] = 0] = \"STORE_VERSION\";\r\n ReportStatus[ReportStatus[\"UPDATE_CONFIRMED\"] = 1] = \"UPDATE_CONFIRMED\";\r\n ReportStatus[ReportStatus[\"UPDATE_ROLLED_BACK\"] = 2] = \"UPDATE_ROLLED_BACK\";\r\n})(ReportStatus || (ReportStatus = {}));\r\nexport const codePush = new CodePush();\r\nwindow.codePush = codePush;\r\n//# sourceMappingURL=codePush.js.map"],"names":["InstallMode","this","Filesystem","Directory","Encoding","registerPlugin","__awaiter","NativeCodePush","NativeHttp","AcquisitionManager","device","Device","AcquisitionStatus","Http","CodePush","Dialog"],"mappings":"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"} \ No newline at end of file