@hot-updater/react-native
Version:
React Native OTA solution for self-hosted
41 lines (40 loc) • 979 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.fetchUpdateInfo = void 0;
const fetchUpdateInfo = async ({
url,
requestHeaders,
onError,
requestTimeout = 5000
}) => {
try {
const controller = new AbortController();
const timeoutId = setTimeout(() => {
controller.abort();
}, requestTimeout);
const headers = {
"Content-Type": "application/json",
...requestHeaders
};
const response = await fetch(url, {
signal: controller.signal,
headers
});
clearTimeout(timeoutId);
if (response.status !== 200) {
throw new Error(response.statusText);
}
return response.json();
} catch (error) {
if (error instanceof Error && error.name === "AbortError") {
onError?.(new Error("Request timed out"));
} else {
onError?.(error);
}
return null;
}
};
exports.fetchUpdateInfo = fetchUpdateInfo;
//# sourceMappingURL=fetchUpdateInfo.js.map