@hot-updater/react-native 1.0.0-rc.27 → 1.0.0-rc.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/fetchJSON.js +12 -26
- package/lib/commonjs/fetchJSON.js.map +1 -1
- package/lib/commonjs/fetchUpdateResponse.js +54 -0
- package/lib/commonjs/fetchUpdateResponse.js.map +1 -0
- package/lib/commonjs/httpClient.js +9 -3
- package/lib/commonjs/httpClient.js.map +1 -1
- package/lib/commonjs/index.js +6 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/releaseCatalogCache.js +17 -27
- package/lib/commonjs/releaseCatalogCache.js.map +1 -1
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/module/clientPlugin.js.map +1 -1
- package/lib/module/fetchJSON.js +12 -26
- package/lib/module/fetchJSON.js.map +1 -1
- package/lib/module/fetchUpdateResponse.js +49 -0
- package/lib/module/fetchUpdateResponse.js.map +1 -0
- package/lib/module/httpClient.js +9 -3
- package/lib/module/httpClient.js.map +1 -1
- package/lib/module/index.js +6 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/releaseCatalogCache.js +17 -27
- package/lib/module/releaseCatalogCache.js.map +1 -1
- package/lib/module/sdkVersion.js +1 -1
- package/lib/typescript/commonjs/clientPlugin.d.ts +1 -1
- package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchJSON.d.ts +2 -5
- package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchUpdateResponse.d.ts +14 -0
- package/lib/typescript/commonjs/fetchUpdateResponse.d.ts.map +1 -0
- package/lib/typescript/commonjs/httpClient.d.ts +2 -2
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts +2 -0
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/clientPlugin.d.ts +1 -1
- package/lib/typescript/module/clientPlugin.d.ts.map +1 -1
- package/lib/typescript/module/fetchJSON.d.ts +2 -5
- package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/module/fetchUpdateResponse.d.ts +14 -0
- package/lib/typescript/module/fetchUpdateResponse.d.ts.map +1 -0
- package/lib/typescript/module/httpClient.d.ts +2 -2
- package/lib/typescript/module/httpClient.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/releaseCatalogCache.d.ts +2 -0
- package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/package.json +3 -3
- package/src/clientPlugin.ts +1 -0
- package/src/fetchJSON.ts +11 -31
- package/src/fetchUpdateResponse.ts +54 -0
- package/src/httpClient.ts +10 -2
- package/src/index.ts +7 -2
- package/src/releaseCatalogCache.ts +23 -38
- package/src/sdkVersion.ts +1 -1
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["emitAfterAppReady","checkForUpdate","reportUpdateError","createHttpClient","addListener","getPublicActiveUpdateState","getActiveUpdateState","getBundleId","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","stageBundle","configurePlugins","hotUpdaterStore","init","wrap","defineClientPlugin","insights","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","client","createMissingNetworkConfigError","apiName","Error","baseURLExample","normalizeOptions","options","incoming","updateMode","autoOptions","baseURL","plugins","_plugins","rest","normalizeInitOptions","_updateMode","baseURLRest","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","onError","reportMixedConfiguration","nextAPI","console","error","ensureGlobalClient","methodName","isUpdateDownloaded","getSnapshot","config","mergedConfig","updateBundle","params","fromBundleId","state","active","activeSelection","fromReleaseId","bundleId","releaseId","stableSelection","channel","strategyOf","scopeKey","startsWith","delivery","undefined","targetBundleId","targetReleaseId","selection","updateStrategy","toBundleId","toReleaseId","ok","setState","artifactType","details","progress","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,eAAY;AAC9C,SAEEC,cAAc,EAEdC,iBAAiB,QACZ,qBAAkB;AACzB,SAASC,gBAAgB,QAAmC,iBAAc;AAC1E,SACEC,WAAW,EACXC,0BAA0B,EAC1BC,oBAAoB,EACpBC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,iBAAiB,EACjBC,cAAc,EACdC,MAAM,EACNC,YAAY,EACZC,SAAS,EACTC,iBAAiB,EACjBC,WAAW,QAEN,aAAU;AACjB,SAASC,gBAAgB,QAAQ,iBAAc;AAC/C,SAASC,eAAe,QAAQ,YAAS;AACzC,SAIEC,IAAI,EAGJC,IAAI,QACC,WAAQ;AAEf,SACEC,kBAAkB,
|
|
1
|
+
{"version":3,"names":["emitAfterAppReady","checkForUpdate","reportUpdateError","createHttpClient","addListener","getPublicActiveUpdateState","getActiveUpdateState","getBundleId","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","stageBundle","configurePlugins","hotUpdaterStore","init","wrap","defineClientPlugin","insights","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","client","createMissingNetworkConfigError","apiName","Error","baseURLExample","normalizeOptions","options","incoming","updateMode","autoOptions","baseURL","plugins","_plugins","rest","response","normalizeInitOptions","_updateMode","baseURLRest","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","onError","reportMixedConfiguration","nextAPI","console","error","ensureGlobalClient","methodName","isUpdateDownloaded","getSnapshot","config","mergedConfig","updateBundle","params","fromBundleId","state","active","activeSelection","fromReleaseId","bundleId","releaseId","stableSelection","channel","strategyOf","scopeKey","startsWith","delivery","undefined","targetBundleId","targetReleaseId","selection","updateStrategy","toBundleId","toReleaseId","ok","setState","artifactType","details","progress","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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OAAO,CAAC;MAE3C,OAAOnB,IAAI,CAACgC,iBAAiB,CAAC;IAChC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIjC,IAAI,EAAGoB,OAA8B,IAAW;MAC9C,MAAMa,iBAAiB,GAAGJ,oBAAoB,CAACT,OAAO,CAAC;MAEvDiB,wBAAwB,CAAC,MAAM,CAAC;MAChCL,eAAe,CAACC,iBAAiB,EAAEb,OAAO,CAAC;MAE3CpB,IAAI,CAACiC,iBAAiB,CAAC;IACzB,CAAC;IAED;AACJ;AACA;IACIxC,MAAM;IAEN;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI+C,kBAAkB,EAAEA,CAAA,KAAM5C,eAAe,CAAC6C,WAAW,CAAC,CAAC,CAACD,kBAAkB;IAE1E;AACJ;AACA;IACI/D,aAAa;IAEb;IACAH,oBAAoB,EAAE,MAAAA,CAAA,KAAYD,0BAA0B,CAAC,CAAC;IAE9D;AACJ;AACA;AACA;IACIE,WAAW,EAAEI,WAAW;IAExB;IACAQ,cAAc;IAEd;AACJ;AACA;IACID,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIN,UAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIK,iBAAiB;IAEjB;AACJ;AACA;AACA;IACII,SAAS;IAET;AACJ;AACA;IACIX,SAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIT,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { getUtf8ByteLength, MAX_RELEASE_CATALOG_WIRE_BYTES, parseReleaseCatalog } from "@hot-updater/protocol";
|
|
4
|
+
import { fetchUpdateResponse } from "./fetchUpdateResponse.js";
|
|
4
5
|
import { InvalidUpdateResponseError, UpdateHttpError } from "./updateError.js";
|
|
5
6
|
const CACHE_FORMAT_VERSION = "1";
|
|
6
7
|
const MAX_ETAG_BYTES = 1024;
|
|
@@ -44,29 +45,16 @@ export const createReleaseCatalogCachePartition = input => JSON.stringify({
|
|
|
44
45
|
url: input.url,
|
|
45
46
|
version: 2
|
|
46
47
|
});
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
return await fetch(input.url, {
|
|
59
|
-
headers,
|
|
60
|
-
signal: controller.signal
|
|
61
|
-
});
|
|
62
|
-
} catch (error) {
|
|
63
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
64
|
-
throw new Error("Request timed out");
|
|
65
|
-
}
|
|
66
|
-
throw error;
|
|
67
|
-
} finally {
|
|
68
|
-
clearTimeout(timeoutId);
|
|
69
|
-
}
|
|
48
|
+
const isEmptyCatalogResponse = response => response.status === 404 && response.headers.get("x-hot-updater-catalog")?.trim().toLowerCase() === "none";
|
|
49
|
+
const fetchCatalogResponse = (input, etag) => {
|
|
50
|
+
const headers = new Headers(input.requestHeaders);
|
|
51
|
+
headers.set("Accept", "application/json");
|
|
52
|
+
if (etag === undefined) headers.delete("If-None-Match");else headers.set("If-None-Match", etag);
|
|
53
|
+
return fetchUpdateResponse({
|
|
54
|
+
...input,
|
|
55
|
+
resource: "catalog",
|
|
56
|
+
requestHeaders: Object.fromEntries(headers.entries())
|
|
57
|
+
});
|
|
70
58
|
};
|
|
71
59
|
const readValidatedCache = async (partition, expectedScope) => {
|
|
72
60
|
const value = await readNativeReleaseCatalogCache(partition);
|
|
@@ -77,16 +65,18 @@ const readValidatedCache = async (partition, expectedScope) => {
|
|
|
77
65
|
}
|
|
78
66
|
return cached;
|
|
79
67
|
};
|
|
80
|
-
const consumeSuccessfulResponse = async (
|
|
68
|
+
const consumeSuccessfulResponse = async ({
|
|
69
|
+
response,
|
|
70
|
+
body
|
|
71
|
+
}, input, partition) => {
|
|
81
72
|
// The server marks the 404 of a scope that has no catalog yet: no update,
|
|
82
73
|
// not a failure. Any other 404 is a wrong baseURL or route.
|
|
83
|
-
if (response
|
|
74
|
+
if (isEmptyCatalogResponse(response)) {
|
|
84
75
|
return null;
|
|
85
76
|
}
|
|
86
77
|
if (response.status !== 200) {
|
|
87
78
|
throw new UpdateHttpError(response.status, response.statusText);
|
|
88
79
|
}
|
|
89
|
-
const body = await response.text();
|
|
90
80
|
const catalog = parseReleaseCatalog(body, input.expectedScope);
|
|
91
81
|
if (catalog === null) {
|
|
92
82
|
await removeNativeReleaseCatalogCache(partition);
|
|
@@ -121,7 +111,7 @@ export const fetchReleaseCatalogWithCache = async input => {
|
|
|
121
111
|
const partition = createReleaseCatalogCachePartition(input);
|
|
122
112
|
const cached = await readValidatedCache(partition, input.expectedScope);
|
|
123
113
|
const response = await fetchCatalogResponse(input, cached?.etag);
|
|
124
|
-
if (response.status === 304) {
|
|
114
|
+
if (response.response.status === 304) {
|
|
125
115
|
if (cached !== null) return cached.catalog;
|
|
126
116
|
const repairResponse = await fetchCatalogResponse(input);
|
|
127
117
|
return consumeSuccessfulResponse(repairResponse, input, partition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getUtf8ByteLength","MAX_RELEASE_CATALOG_WIRE_BYTES","parseReleaseCatalog","InvalidUpdateResponseError","UpdateHttpError","CACHE_FORMAT_VERSION","MAX_ETAG_BYTES","MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES","readNativeReleaseCatalogCache","partition","writeNativeReleaseCatalogCache","payload","removeNativeReleaseCatalogCache","lastParsedCache","isValidETag","value","length","includes","serializeCache","etag","body","parseCache","expectedScope","serialized","versionEnd","indexOf","etagEnd","slice","catalog","parsed","normalizedHeaders","requestHeaders","headers","Headers","entries","map","name","toLowerCase","sort","firstName","secondName","localeCompare","createReleaseCatalogCachePartition","input","JSON","stringify","baseURL","url","version","
|
|
1
|
+
{"version":3,"names":["getUtf8ByteLength","MAX_RELEASE_CATALOG_WIRE_BYTES","parseReleaseCatalog","fetchUpdateResponse","InvalidUpdateResponseError","UpdateHttpError","CACHE_FORMAT_VERSION","MAX_ETAG_BYTES","MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES","readNativeReleaseCatalogCache","partition","writeNativeReleaseCatalogCache","payload","removeNativeReleaseCatalogCache","lastParsedCache","isValidETag","value","length","includes","serializeCache","etag","body","parseCache","expectedScope","serialized","versionEnd","indexOf","etagEnd","slice","catalog","parsed","normalizedHeaders","requestHeaders","headers","Headers","entries","map","name","toLowerCase","sort","firstName","secondName","localeCompare","createReleaseCatalogCachePartition","input","JSON","stringify","baseURL","url","version","isEmptyCatalogResponse","response","status","get","trim","fetchCatalogResponse","set","undefined","delete","resource","Object","fromEntries","readValidatedCache","cached","consumeSuccessfulResponse","statusText","fetchReleaseCatalogWithCache","repairResponse"],"sourceRoot":"../../src","sources":["releaseCatalogCache.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/sdkVersion.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorResource, type UpdateErrorStage, type UpdateErrorTransport, type UpdateStrategy, } from "@hot-updater/protocol";
|
|
1
|
+
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorResource, type UpdateErrorStage, type UpdateErrorTransport, type UpdateHttpResponse, type UpdateStrategy, } from "@hot-updater/protocol";
|
|
2
2
|
//# sourceMappingURL=clientPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientPlugin.d.ts","sourceRoot":"","sources":["../../../src/clientPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"clientPlugin.d.ts","sourceRoot":"","sources":["../../../src/clientPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
import { type UpdateRequest } from "./fetchUpdateResponse";
|
|
1
2
|
import { UpdateHttpError } from "./updateError";
|
|
2
3
|
export declare class FetchJSONResponseError extends UpdateHttpError {
|
|
3
4
|
}
|
|
4
|
-
export declare const fetchJSON: <T>(
|
|
5
|
-
url: string;
|
|
6
|
-
requestHeaders?: Record<string, string>;
|
|
7
|
-
requestTimeout?: number;
|
|
8
|
-
}) => Promise<T>;
|
|
5
|
+
export declare const fetchJSON: <T>(input: Omit<UpdateRequest, "resource">) => Promise<T>;
|
|
9
6
|
//# sourceMappingURL=fetchJSON.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchJSON.d.ts","sourceRoot":"","sources":["../../../src/fetchJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,eAAe;CAAG;AAE9D,eAAO,MAAM,SAAS,GAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"fetchJSON.d.ts","sourceRoot":"","sources":["../../../src/fetchJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,eAAe;CAAG;AAE9D,eAAO,MAAM,SAAS,GAAU,CAAC,SACxB,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,KACrC,OAAO,CAAC,CAAC,CASX,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { UpdateHttpResponse } from "@hot-updater/protocol";
|
|
2
|
+
export interface UpdateRequest {
|
|
3
|
+
readonly url: string;
|
|
4
|
+
readonly resource: UpdateHttpResponse["resource"];
|
|
5
|
+
readonly requestHeaders?: Record<string, string>;
|
|
6
|
+
readonly requestTimeout?: number;
|
|
7
|
+
readonly onResponse?: (response: UpdateHttpResponse) => void;
|
|
8
|
+
}
|
|
9
|
+
/** Read once for parsing and diagnostics, under the same request timeout. */
|
|
10
|
+
export declare const fetchUpdateResponse: ({ url, resource, requestHeaders, requestTimeout, onResponse, }: UpdateRequest) => Promise<{
|
|
11
|
+
response: Response;
|
|
12
|
+
body: string | null;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=fetchUpdateResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUpdateResponse.d.ts","sourceRoot":"","sources":["../../../src/fetchUpdateResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC9D;AAED,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,mEAM7B,aAAa,KAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoCrE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ArtifactInfo, type HotUpdaterBaseURL, type ReleaseCatalog } from "@hot-updater/protocol";
|
|
1
|
+
import { type ArtifactInfo, type HotUpdaterBaseURL, type ReleaseCatalog, type UpdateHttpResponse } from "@hot-updater/protocol";
|
|
2
2
|
export interface ReleaseCatalogRequest {
|
|
3
3
|
readonly platform: "ios" | "android";
|
|
4
4
|
readonly channel: string;
|
|
@@ -23,5 +23,5 @@ export interface HotUpdaterHttpClient {
|
|
|
23
23
|
createSession: () => Promise<HotUpdaterHttpSession>;
|
|
24
24
|
}
|
|
25
25
|
/** Creates the private HTTP client used by HotUpdater.init and HotUpdater.wrap. */
|
|
26
|
-
export declare const createHttpClient: (baseURL: HotUpdaterBaseURL) => HotUpdaterHttpClient;
|
|
26
|
+
export declare const createHttpClient: (baseURL: HotUpdaterBaseURL, onResponse?: (response: UpdateHttpResponse) => void) => HotUpdaterHttpClient;
|
|
27
27
|
//# sourceMappingURL=httpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/httpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/httpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,oFAAoF;IACpF,mBAAmB,EAAE,CACnB,MAAM,EAAE,qBAAqB,KAC1B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpC,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrD;AA4ID,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,YAClB,iBAAiB,eACb,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,KAClD,oBAGD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CheckForUpdateOptions } from "./checkForUpdate";
|
|
2
2
|
import { addListener, clearCrashHistory, getAppVersion, getUpdateId, getChannel, getCohort, getCrashHistory, getDefaultChannel, getFingerprintHash, getInstallId, getManifest, getMinBundleId, isChannelSwitched, notifyAppReady, reload, setCohort, setReloadBehavior, type UpdateParams } from "./native";
|
|
3
3
|
import { type AutoUpdateOptions, type HotUpdaterInitOptions, type HotUpdaterOptions, wrap } from "./wrap";
|
|
4
|
-
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorStage, type UpdateStrategy, } from "./clientPlugin";
|
|
4
|
+
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorStage, type UpdateHttpResponse, type UpdateStrategy, } from "./clientPlugin";
|
|
5
5
|
export { insights, type InsightsOptions, type InsightsPlugin, type InsightsUser, } from "@hot-updater/plugin-insights/client";
|
|
6
6
|
export type { CustomReloadHandler, HotUpdaterEvent, HotUpdaterProgressArtifactType, HotUpdaterProgressEvent, Manifest, ManifestAsset, NotifyAppReadyResult, ActiveUpdateState, ReloadBehavior, ReloadBehaviorSetting, } from "./native";
|
|
7
7
|
export * from "./store";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAI3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EAIX,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,MAAM,EAEN,SAAS,EACT,iBAAiB,EAEjB,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EAItB,IAAI,EACL,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,EACvB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,4BAA4B,EAC5B,KAAK,4BAA4B,GAClC,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gCAAgC,EAChC,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAoBhB,KAAK,cAAc,GAAG;IACpB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,iBAAS,sBAAsB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAI3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EAIX,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,MAAM,EAEN,SAAS,EACT,iBAAiB,EAEjB,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EAItB,IAAI,EACL,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,EACvB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,4BAA4B,EAC5B,KAAK,4BAA4B,GAClC,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gCAAgC,EAChC,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAoBhB,KAAK,cAAc,GAAG;IACpB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,iBAAS,sBAAsB;IAmJ3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;oBACa,iBAAiB;IAQjC;;;;;;;;;;;;;;OAcG;oBACa,qBAAqB,KAAG,IAAI;IAS5C;;OAEG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;OAEG;;IAGH,wDAAwD;;IAGxD;;;OAGG;;IAGH,wEAAwE;;IAGxE;;OAEG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;6BACsB,qBAAqB;IAiB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;2BAC0B,YAAY;IAiDzC;;;;OAIG;;IAcH;;;;;;;;;;OAUG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;;;;;;;;OAWG;;EAGN;AAED,KAAK,gBAAgB,GAAG,IAAI,CAC1B,UAAU,CAAC,OAAO,sBAAsB,CAAC,EACzC,MAAM,CACP,GAAG;IACF,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,gBAA2C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ExpectedReleaseCatalogScope, type ReleaseCatalog } from "@hot-updater/protocol";
|
|
2
|
+
import { type UpdateRequest } from "./fetchUpdateResponse";
|
|
2
3
|
export declare const MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES: number;
|
|
3
4
|
type FetchReleaseCatalogInput = {
|
|
4
5
|
readonly baseURL: string;
|
|
@@ -6,6 +7,7 @@ type FetchReleaseCatalogInput = {
|
|
|
6
7
|
readonly requestHeaders?: Record<string, string>;
|
|
7
8
|
readonly requestTimeout?: number;
|
|
8
9
|
readonly url: string;
|
|
10
|
+
readonly onResponse?: UpdateRequest["onResponse"];
|
|
9
11
|
};
|
|
10
12
|
export declare const createReleaseCatalogCachePartition: (input: Pick<FetchReleaseCatalogInput, "baseURL" | "requestHeaders" | "url">) => string;
|
|
11
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseCatalogCache.d.ts","sourceRoot":"","sources":["../../../src/releaseCatalogCache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,2BAA2B,EAIhC,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"releaseCatalogCache.d.ts","sourceRoot":"","sources":["../../../src/releaseCatalogCache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,2BAA2B,EAIhC,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKhF,eAAO,MAAM,qCAAqC,QACG,CAAC;AAiCtD,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACnD,CAAC;AAqDF,eAAO,MAAM,kCAAkC,UACtC,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,gBAAgB,GAAG,KAAK,CAAC,KAC1E,MAMC,CAAC;AA6EL;;;GAGG;AACH,eAAO,MAAM,4BAA4B,UAChC,wBAAwB,KAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAa/B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HOT_UPDATER_SDK_VERSION = "1.0.0-rc.
|
|
1
|
+
export declare const HOT_UPDATER_SDK_VERSION = "1.0.0-rc.29";
|
|
2
2
|
//# sourceMappingURL=sdkVersion.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorResource, type UpdateErrorStage, type UpdateErrorTransport, type UpdateStrategy, } from "@hot-updater/protocol";
|
|
1
|
+
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorResource, type UpdateErrorStage, type UpdateErrorTransport, type UpdateHttpResponse, type UpdateStrategy, } from "@hot-updater/protocol";
|
|
2
2
|
//# sourceMappingURL=clientPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientPlugin.d.ts","sourceRoot":"","sources":["../../../src/clientPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"clientPlugin.d.ts","sourceRoot":"","sources":["../../../src/clientPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
import { type UpdateRequest } from "./fetchUpdateResponse";
|
|
1
2
|
import { UpdateHttpError } from "./updateError";
|
|
2
3
|
export declare class FetchJSONResponseError extends UpdateHttpError {
|
|
3
4
|
}
|
|
4
|
-
export declare const fetchJSON: <T>(
|
|
5
|
-
url: string;
|
|
6
|
-
requestHeaders?: Record<string, string>;
|
|
7
|
-
requestTimeout?: number;
|
|
8
|
-
}) => Promise<T>;
|
|
5
|
+
export declare const fetchJSON: <T>(input: Omit<UpdateRequest, "resource">) => Promise<T>;
|
|
9
6
|
//# sourceMappingURL=fetchJSON.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchJSON.d.ts","sourceRoot":"","sources":["../../../src/fetchJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,eAAe;CAAG;AAE9D,eAAO,MAAM,SAAS,GAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"fetchJSON.d.ts","sourceRoot":"","sources":["../../../src/fetchJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,sBAAuB,SAAQ,eAAe;CAAG;AAE9D,eAAO,MAAM,SAAS,GAAU,CAAC,SACxB,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,KACrC,OAAO,CAAC,CAAC,CASX,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { UpdateHttpResponse } from "@hot-updater/protocol";
|
|
2
|
+
export interface UpdateRequest {
|
|
3
|
+
readonly url: string;
|
|
4
|
+
readonly resource: UpdateHttpResponse["resource"];
|
|
5
|
+
readonly requestHeaders?: Record<string, string>;
|
|
6
|
+
readonly requestTimeout?: number;
|
|
7
|
+
readonly onResponse?: (response: UpdateHttpResponse) => void;
|
|
8
|
+
}
|
|
9
|
+
/** Read once for parsing and diagnostics, under the same request timeout. */
|
|
10
|
+
export declare const fetchUpdateResponse: ({ url, resource, requestHeaders, requestTimeout, onResponse, }: UpdateRequest) => Promise<{
|
|
11
|
+
response: Response;
|
|
12
|
+
body: string | null;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=fetchUpdateResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUpdateResponse.d.ts","sourceRoot":"","sources":["../../../src/fetchUpdateResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC9D;AAED,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,mEAM7B,aAAa,KAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoCrE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ArtifactInfo, type HotUpdaterBaseURL, type ReleaseCatalog } from "@hot-updater/protocol";
|
|
1
|
+
import { type ArtifactInfo, type HotUpdaterBaseURL, type ReleaseCatalog, type UpdateHttpResponse } from "@hot-updater/protocol";
|
|
2
2
|
export interface ReleaseCatalogRequest {
|
|
3
3
|
readonly platform: "ios" | "android";
|
|
4
4
|
readonly channel: string;
|
|
@@ -23,5 +23,5 @@ export interface HotUpdaterHttpClient {
|
|
|
23
23
|
createSession: () => Promise<HotUpdaterHttpSession>;
|
|
24
24
|
}
|
|
25
25
|
/** Creates the private HTTP client used by HotUpdater.init and HotUpdater.wrap. */
|
|
26
|
-
export declare const createHttpClient: (baseURL: HotUpdaterBaseURL) => HotUpdaterHttpClient;
|
|
26
|
+
export declare const createHttpClient: (baseURL: HotUpdaterBaseURL, onResponse?: (response: UpdateHttpResponse) => void) => HotUpdaterHttpClient;
|
|
27
27
|
//# sourceMappingURL=httpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/httpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/httpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,oFAAoF;IACpF,mBAAmB,EAAE,CACnB,MAAM,EAAE,qBAAqB,KAC1B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpC,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrD;AA4ID,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,YAClB,iBAAiB,eACb,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,KAClD,oBAGD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CheckForUpdateOptions } from "./checkForUpdate";
|
|
2
2
|
import { addListener, clearCrashHistory, getAppVersion, getUpdateId, getChannel, getCohort, getCrashHistory, getDefaultChannel, getFingerprintHash, getInstallId, getManifest, getMinBundleId, isChannelSwitched, notifyAppReady, reload, setCohort, setReloadBehavior, type UpdateParams } from "./native";
|
|
3
3
|
import { type AutoUpdateOptions, type HotUpdaterInitOptions, type HotUpdaterOptions, wrap } from "./wrap";
|
|
4
|
-
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorStage, type UpdateStrategy, } from "./clientPlugin";
|
|
4
|
+
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorStage, type UpdateHttpResponse, type UpdateStrategy, } from "./clientPlugin";
|
|
5
5
|
export { insights, type InsightsOptions, type InsightsPlugin, type InsightsUser, } from "@hot-updater/plugin-insights/client";
|
|
6
6
|
export type { CustomReloadHandler, HotUpdaterEvent, HotUpdaterProgressArtifactType, HotUpdaterProgressEvent, Manifest, ManifestAsset, NotifyAppReadyResult, ActiveUpdateState, ReloadBehavior, ReloadBehaviorSetting, } from "./native";
|
|
7
7
|
export * from "./store";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAI3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EAIX,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,MAAM,EAEN,SAAS,EACT,iBAAiB,EAEjB,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EAItB,IAAI,EACL,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,EACvB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,4BAA4B,EAC5B,KAAK,4BAA4B,GAClC,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gCAAgC,EAChC,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAoBhB,KAAK,cAAc,GAAG;IACpB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,iBAAS,sBAAsB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAI3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EAIX,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,MAAM,EAEN,SAAS,EACT,iBAAiB,EAEjB,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EAItB,IAAI,EACL,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,EACR,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,EACvB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,4BAA4B,EAC5B,KAAK,4BAA4B,GAClC,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gCAAgC,EAChC,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAoBhB,KAAK,cAAc,GAAG;IACpB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,iBAAS,sBAAsB;IAmJ3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;oBACa,iBAAiB;IAQjC;;;;;;;;;;;;;;OAcG;oBACa,qBAAqB,KAAG,IAAI;IAS5C;;OAEG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;OAEG;;IAGH,wDAAwD;;IAGxD;;;OAGG;;IAGH,wEAAwE;;IAGxE;;OAEG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;6BACsB,qBAAqB;IAiB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;2BAC0B,YAAY;IAiDzC;;;;OAIG;;IAcH;;;;;;;;;;OAUG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;;;;;;;;OAWG;;EAGN;AAED,KAAK,gBAAgB,GAAG,IAAI,CAC1B,UAAU,CAAC,OAAO,sBAAsB,CAAC,EACzC,MAAM,CACP,GAAG;IACF,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,gBAA2C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ExpectedReleaseCatalogScope, type ReleaseCatalog } from "@hot-updater/protocol";
|
|
2
|
+
import { type UpdateRequest } from "./fetchUpdateResponse";
|
|
2
3
|
export declare const MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES: number;
|
|
3
4
|
type FetchReleaseCatalogInput = {
|
|
4
5
|
readonly baseURL: string;
|
|
@@ -6,6 +7,7 @@ type FetchReleaseCatalogInput = {
|
|
|
6
7
|
readonly requestHeaders?: Record<string, string>;
|
|
7
8
|
readonly requestTimeout?: number;
|
|
8
9
|
readonly url: string;
|
|
10
|
+
readonly onResponse?: UpdateRequest["onResponse"];
|
|
9
11
|
};
|
|
10
12
|
export declare const createReleaseCatalogCachePartition: (input: Pick<FetchReleaseCatalogInput, "baseURL" | "requestHeaders" | "url">) => string;
|
|
11
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseCatalogCache.d.ts","sourceRoot":"","sources":["../../../src/releaseCatalogCache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,2BAA2B,EAIhC,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"releaseCatalogCache.d.ts","sourceRoot":"","sources":["../../../src/releaseCatalogCache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,2BAA2B,EAIhC,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKhF,eAAO,MAAM,qCAAqC,QACG,CAAC;AAiCtD,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACnD,CAAC;AAqDF,eAAO,MAAM,kCAAkC,UACtC,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,gBAAgB,GAAG,KAAK,CAAC,KAC1E,MAMC,CAAC;AA6EL;;;GAGG;AACH,eAAO,MAAM,4BAA4B,UAChC,wBAAwB,KAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAa/B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HOT_UPDATER_SDK_VERSION = "1.0.0-rc.
|
|
1
|
+
export declare const HOT_UPDATER_SDK_VERSION = "1.0.0-rc.29";
|
|
2
2
|
//# sourceMappingURL=sdkVersion.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hot-updater/react-native",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.29",
|
|
4
4
|
"description": "React Native OTA solution for self-hosted",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -123,8 +123,8 @@
|
|
|
123
123
|
},
|
|
124
124
|
"dependencies": {
|
|
125
125
|
"use-sync-external-store": "1.5.0",
|
|
126
|
-
"@hot-updater/protocol": "1.0.0-rc.
|
|
127
|
-
"@hot-updater/plugin-insights": "1.0.0-rc.
|
|
126
|
+
"@hot-updater/protocol": "1.0.0-rc.28",
|
|
127
|
+
"@hot-updater/plugin-insights": "1.0.0-rc.29"
|
|
128
128
|
},
|
|
129
129
|
"scripts": {
|
|
130
130
|
"build": "node ./scripts/sync-sdk-version.mjs run -- bob build",
|
package/src/clientPlugin.ts
CHANGED
package/src/fetchJSON.ts
CHANGED
|
@@ -1,37 +1,17 @@
|
|
|
1
|
+
import { fetchUpdateResponse, type UpdateRequest } from "./fetchUpdateResponse";
|
|
1
2
|
import { UpdateHttpError } from "./updateError";
|
|
2
3
|
|
|
3
4
|
export class FetchJSONResponseError extends UpdateHttpError {}
|
|
4
5
|
|
|
5
|
-
export const fetchJSON = async <T>(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const controller = new AbortController();
|
|
15
|
-
const timeoutId = setTimeout(() => controller.abort(), requestTimeout);
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
const response = await fetch(url, {
|
|
19
|
-
headers: {
|
|
20
|
-
Accept: "application/json",
|
|
21
|
-
...requestHeaders,
|
|
22
|
-
},
|
|
23
|
-
signal: controller.signal,
|
|
24
|
-
});
|
|
25
|
-
if (response.status !== 200) {
|
|
26
|
-
throw new FetchJSONResponseError(response.status, response.statusText);
|
|
27
|
-
}
|
|
28
|
-
return (await response.json()) as T;
|
|
29
|
-
} catch (error: unknown) {
|
|
30
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
31
|
-
throw new Error("Request timed out");
|
|
32
|
-
}
|
|
33
|
-
throw error;
|
|
34
|
-
} finally {
|
|
35
|
-
clearTimeout(timeoutId);
|
|
6
|
+
export const fetchJSON = async <T>(
|
|
7
|
+
input: Omit<UpdateRequest, "resource">,
|
|
8
|
+
): Promise<T> => {
|
|
9
|
+
const { response, body } = await fetchUpdateResponse({
|
|
10
|
+
...input,
|
|
11
|
+
resource: "artifact",
|
|
12
|
+
});
|
|
13
|
+
if (response.status !== 200) {
|
|
14
|
+
throw new FetchJSONResponseError(response.status, response.statusText);
|
|
36
15
|
}
|
|
16
|
+
return JSON.parse(body!) as T;
|
|
37
17
|
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { UpdateHttpResponse } from "@hot-updater/protocol";
|
|
2
|
+
|
|
3
|
+
export interface UpdateRequest {
|
|
4
|
+
readonly url: string;
|
|
5
|
+
readonly resource: UpdateHttpResponse["resource"];
|
|
6
|
+
readonly requestHeaders?: Record<string, string>;
|
|
7
|
+
readonly requestTimeout?: number;
|
|
8
|
+
readonly onResponse?: (response: UpdateHttpResponse) => void;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Read once for parsing and diagnostics, under the same request timeout. */
|
|
12
|
+
export const fetchUpdateResponse = async ({
|
|
13
|
+
url,
|
|
14
|
+
resource,
|
|
15
|
+
requestHeaders,
|
|
16
|
+
requestTimeout = 5000,
|
|
17
|
+
onResponse,
|
|
18
|
+
}: UpdateRequest): Promise<{ response: Response; body: string | null }> => {
|
|
19
|
+
const controller = new AbortController();
|
|
20
|
+
const timeoutId = setTimeout(() => controller.abort(), requestTimeout);
|
|
21
|
+
try {
|
|
22
|
+
const headers = new Headers(requestHeaders);
|
|
23
|
+
if (!headers.has("Accept")) headers.set("Accept", "application/json");
|
|
24
|
+
const response = await fetch(url, {
|
|
25
|
+
headers,
|
|
26
|
+
signal: controller.signal,
|
|
27
|
+
});
|
|
28
|
+
let body: string | null = null;
|
|
29
|
+
try {
|
|
30
|
+
body = await response.text();
|
|
31
|
+
} catch (error) {
|
|
32
|
+
// A broken error body must not hide an HTTP error already received.
|
|
33
|
+
if (response.status === 200) throw error;
|
|
34
|
+
} finally {
|
|
35
|
+
onResponse?.({
|
|
36
|
+
resource,
|
|
37
|
+
// React Native URL implementations do not all expose pathname.
|
|
38
|
+
path:
|
|
39
|
+
url.replace(/^https?:\/\/[^/?#]*/i, "").split(/[?#]/, 1)[0] || "/",
|
|
40
|
+
status: response.status,
|
|
41
|
+
body,
|
|
42
|
+
bodyTruncated: false,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return { response, body };
|
|
46
|
+
} catch (error: unknown) {
|
|
47
|
+
if (error instanceof Error && error.name === "AbortError") {
|
|
48
|
+
throw new Error("Request timed out");
|
|
49
|
+
}
|
|
50
|
+
throw error;
|
|
51
|
+
} finally {
|
|
52
|
+
clearTimeout(timeoutId);
|
|
53
|
+
}
|
|
54
|
+
};
|
package/src/httpClient.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type ArtifactInfo,
|
|
7
7
|
type HotUpdaterBaseURL,
|
|
8
8
|
type ReleaseCatalog,
|
|
9
|
+
type UpdateHttpResponse,
|
|
9
10
|
} from "@hot-updater/protocol";
|
|
10
11
|
|
|
11
12
|
import { fetchJSON, FetchJSONResponseError } from "./fetchJSON";
|
|
@@ -113,7 +114,10 @@ const requireArtifactProtocolV1 = (info: ArtifactInfo): ArtifactInfo => {
|
|
|
113
114
|
return info;
|
|
114
115
|
};
|
|
115
116
|
|
|
116
|
-
const createSession = (
|
|
117
|
+
const createSession = (
|
|
118
|
+
baseURL: string,
|
|
119
|
+
onResponse?: (response: UpdateHttpResponse) => void,
|
|
120
|
+
): HotUpdaterHttpSession => ({
|
|
117
121
|
fetchReleaseCatalog: async (params): Promise<ReleaseCatalog | null> => {
|
|
118
122
|
const channelKey = encodeChannelKey(params.channel);
|
|
119
123
|
let strategyValue: string;
|
|
@@ -133,6 +137,7 @@ const createSession = (baseURL: string): HotUpdaterHttpSession => ({
|
|
|
133
137
|
|
|
134
138
|
return fetchReleaseCatalogWithCache({
|
|
135
139
|
baseURL,
|
|
140
|
+
...(onResponse ? { onResponse } : {}),
|
|
136
141
|
expectedScope:
|
|
137
142
|
params.updateStrategy === "fingerprint"
|
|
138
143
|
? {
|
|
@@ -155,6 +160,7 @@ const createSession = (baseURL: string): HotUpdaterHttpSession => ({
|
|
|
155
160
|
let info: ArtifactInfo;
|
|
156
161
|
try {
|
|
157
162
|
info = await fetchJSON<ArtifactInfo>({
|
|
163
|
+
...(onResponse ? { onResponse } : {}),
|
|
158
164
|
requestHeaders: params.requestHeaders,
|
|
159
165
|
requestTimeout: params.requestTimeout,
|
|
160
166
|
url: `${baseURL}/artifacts/v1/${encodeURIComponent(
|
|
@@ -177,6 +183,8 @@ const createSession = (baseURL: string): HotUpdaterHttpSession => ({
|
|
|
177
183
|
/** Creates the private HTTP client used by HotUpdater.init and HotUpdater.wrap. */
|
|
178
184
|
export const createHttpClient = (
|
|
179
185
|
baseURL: HotUpdaterBaseURL,
|
|
186
|
+
onResponse?: (response: UpdateHttpResponse) => void,
|
|
180
187
|
): HotUpdaterHttpClient => ({
|
|
181
|
-
createSession: async () =>
|
|
188
|
+
createSession: async () =>
|
|
189
|
+
createSession(await resolveBaseURL(baseURL), onResponse),
|
|
182
190
|
});
|