@hot-updater/react-native
Version:
React Native OTA solution for self-hosted
38 lines (36 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createDefaultResolver = createDefaultResolver;
var _fetchUpdateInfo = require("./fetchUpdateInfo.js");
/**
* Creates a default resolver that uses baseURL for network operations.
* This encapsulates the existing baseURL logic into a resolver.
*
* @param baseURL - The base URL for the update server
* @returns A HotUpdaterResolver that uses the baseURL
*/
function createDefaultResolver(baseURL) {
return {
checkUpdate: async params => {
// Build URL based on strategy (existing buildUpdateUrl logic)
let url;
if (params.updateStrategy === "fingerprint") {
if (!params.fingerprintHash) {
throw new Error("Fingerprint hash is required");
}
url = `${baseURL}/fingerprint/${params.platform}/${params.fingerprintHash}/${params.channel}/${params.minBundleId}/${params.bundleId}`;
} else {
url = `${baseURL}/app-version/${params.platform}/${params.appVersion}/${params.channel}/${params.minBundleId}/${params.bundleId}`;
}
// Use existing fetchUpdateInfo
return (0, _fetchUpdateInfo.fetchUpdateInfo)({
url,
requestHeaders: params.requestHeaders,
requestTimeout: params.requestTimeout
});
}
};
}
//# sourceMappingURL=DefaultResolver.js.map