/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/react-native-ota-hot-update@2.4.0/lib/commonjs/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _reactNative=require("react-native"),_index=_interopRequireDefault(require("./gits/index.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const LINKING_ERROR="The package 'react-native-ota-hot-update' doesn't seem to be linked. Make sure: \n\n"+_reactNative.Platform.select({ios:"- You have run 'pod install'\n",default:""})+"- You rebuilt the app after installing the package\n- You are not using Expo Go\n",isTurboModuleEnabled=null!=global.__turboModuleProxy,OtaHotUpdateModule=isTurboModuleEnabled?require("./NativeOtaHotUpdate").default:_reactNative.NativeModules.OtaHotUpdate,RNhotupdate=OtaHotUpdateModule||new Proxy({},{get(){throw new Error(LINKING_ERROR)}}),downloadBundleFile=async(e,t,a,r)=>(await e.config({fileCache:"android"===_reactNative.Platform.OS,path:e?.fs?.dirs?.LibraryDir&&"ios"===_reactNative.Platform.OS?`${e.fs.dirs.LibraryDir}/${(new Date).valueOf()}_hotupdate.zip`:void 0}).fetch("GET",t,{...a}).progress(((e,t)=>{r&&r(e,t)}))).path();function setupBundlePath(e,t,a,r,n){const o=n?JSON.stringify(n):void 0;return RNhotupdate.setupBundlePath(e,t,a,r||2,o)}function setupExactBundlePath(e){return RNhotupdate.setExactBundlePath(e)}function deleteBundlePath(){return RNhotupdate.deleteBundle(1)}function getCurrentVersion(){return RNhotupdate.getCurrentVersion(0)}function getUpdateMetadata(){return RNhotupdate.getUpdateMetadata(0).then((e=>{try{return e?JSON.parse(e):null}catch(e){return Promise.reject(new Error("Error parsing metadata"))}}))}function rollbackToPreviousBundle(){return RNhotupdate.rollbackToPreviousBundle(0)}async function getVersionAsNumber(){return+await getCurrentVersion()}function setCurrentVersion(e){return RNhotupdate.setCurrentVersion(e+"")}function setUpdateMetadata(e){try{const t=JSON.stringify(e);return RNhotupdate.setUpdateMetadata(t)}catch(e){return Promise.reject(new Error("Failed to stringify metadata"))}}async function resetApp(){RNhotupdate.restart()}function removeBundle(e){deleteBundlePath().then((t=>{t&&e&&(setTimeout((()=>{resetApp()}),300),t&&setCurrentVersion(0))}))}const installFail=(e,t)=>{e?.updateFail?.(JSON.stringify(t)),console.error("Download bundle fail",JSON.stringify(t))};async function downloadBundleUri(e,t,a,r){if(!t)return installFail(r,"Please give a valid URL!");if(a){const e=await getVersionAsNumber();if(a<=e)return installFail(r,"Please give a bigger version than the current version, the current version now has setted by: "+e)}try{const n=await downloadBundleFile(e,t,r?.headers,r?.progress);if(!n)return installFail(r,`Cannot download bundle file: ${n}`);if(!await setupBundlePath(n,r?.extensionBundle,a,r?.maxBundleVersions,r?.metadata))return installFail(r);a&&setCurrentVersion(a),r?.metadata&&setUpdateMetadata(r.metadata),r?.updateSuccess?.(),r?.restartAfterInstall&&setTimeout((()=>{resetApp()}),r?.restartDelay||300)}catch(e){installFail(r,e)}}const checkForGitUpdate=async e=>{try{if(!e.url||!e.bundlePath)throw new Error("url or bundlePath should not be null");const[t,a]=await Promise.all([_index.default.getConfig(),_index.default.getBranchName()]);if(a&&t){const t=await _index.default.pullUpdate({branch:a,onProgress:e?.onProgress,folderName:e?.folderName});t.success?(e?.onPullSuccess?.(),e?.restartAfterInstall&&setTimeout((()=>{resetApp()}),300)):e?.onPullFailed?.(t.msg)}else{const t=await _index.default.cloneRepo({onProgress:e?.onProgress,folderName:e?.folderName,url:e.url,branch:e?.branch,bundlePath:e.bundlePath});t.success&&t.bundle?(await setupExactBundlePath(t.bundle),e?.onCloneSuccess?.(),e?.restartAfterInstall&&setTimeout((()=>{resetApp()}),300)):e?.onCloneFailed?.(t.msg)}}catch(t){e?.onCloneFailed?.(t.toString())}finally{e?.onFinishProgress?.()}};function getBundleList(){return RNhotupdate.getBundleList(0).then((e=>{try{return JSON.parse(e).map((e=>({...e,date:new Date(e.date)})))}catch(e){return Promise.reject(new Error("Error parsing bundle list"))}}))}function deleteBundleById(e){return RNhotupdate.deleteBundleById(e)}function clearAllBundles(){return RNhotupdate.clearAllBundles(0)}var _default=exports.default={setupBundlePath:setupBundlePath,setupExactBundlePath:setupExactBundlePath,removeUpdate:removeBundle,downloadBundleUri:downloadBundleUri,resetApp:resetApp,getCurrentVersion:getVersionAsNumber,setCurrentVersion:setCurrentVersion,getUpdateMetadata:getUpdateMetadata,setUpdateMetadata:setUpdateMetadata,rollbackToPreviousBundle:rollbackToPreviousBundle,getBundleList:getBundleList,deleteBundleById:deleteBundleById,clearAllBundles:clearAllBundles,git:{checkForGitUpdate:checkForGitUpdate,..._index.default,removeGitUpdate:e=>{RNhotupdate.setExactBundlePath(""),_index.default.removeGitUpdate(e)}}};
//# sourceMappingURL=/sm/1329e69c263bfd9eaa460d429c9232b2277a56d7006fd35e8f019438ba53ffd2.map