@hot-updater/react-native 0.36.7 → 1.0.0-rc.1
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/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +357 -6
- package/android/src/main/java/com/hotupdater/BundleMetadata.kt +268 -34
- package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +75 -9
- package/android/src/main/java/com/hotupdater/NativeConfigUtils.kt +2 -16
- package/android/src/main/java/com/hotupdater/ReleaseCatalogCacheService.kt +166 -0
- package/android/src/main/java/com/hotupdater/SignatureVerifier.kt +1 -2
- package/android/src/newarch/HotUpdater.kt +1 -1
- package/android/src/newarch/HotUpdaterModule.kt +116 -0
- package/android/src/oldarch/HotUpdater.kt +1 -1
- package/android/src/oldarch/HotUpdaterModule.kt +128 -0
- package/android/src/oldarch/HotUpdaterSpec.kt +38 -0
- package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +280 -2
- package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +57 -2
- package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +118 -0
- package/ios/HotUpdater/Internal/BundleFileStorageService.swift +491 -30
- package/ios/HotUpdater/Internal/BundleMetadata.swift +229 -6
- package/ios/HotUpdater/Internal/HotUpdater.mm +122 -0
- package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +176 -7
- package/ios/HotUpdater/Internal/ReleaseCatalogCacheService.swift +213 -0
- package/lib/commonjs/catalogCacheNative.js +44 -0
- package/lib/commonjs/catalogCacheNative.js.map +1 -0
- package/lib/commonjs/catalogCacheNative.spec.js +31 -0
- package/lib/commonjs/catalogCacheNative.spec.js.map +1 -0
- package/lib/commonjs/checkForUpdate.js +231 -60
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +604 -0
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -0
- package/lib/commonjs/error.js +8 -1
- package/lib/commonjs/error.js.map +1 -1
- package/lib/commonjs/{fetchUpdateInfo.js → fetchJSON.js} +11 -14
- package/lib/commonjs/fetchJSON.js.map +1 -0
- package/lib/commonjs/httpClient.js +153 -0
- package/lib/commonjs/httpClient.js.map +1 -0
- package/lib/commonjs/httpClient.spec.js +102 -0
- package/lib/commonjs/httpClient.spec.js.map +1 -0
- package/lib/commonjs/index.js +47 -70
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.spec.js +115 -159
- package/lib/commonjs/index.spec.js.map +1 -1
- package/lib/commonjs/iosInterop.spec.js +18 -0
- package/lib/commonjs/iosInterop.spec.js.map +1 -0
- package/lib/commonjs/native.js +222 -53
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.spec.js +226 -12
- package/lib/commonjs/native.spec.js.map +1 -1
- package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js +218 -0
- package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js.map +1 -0
- package/lib/commonjs/notifyAppReadyAnalytics.js +133 -0
- package/lib/commonjs/notifyAppReadyAnalytics.js.map +1 -0
- package/lib/commonjs/notifyAppReadyAnalytics.spec.js +246 -0
- package/lib/commonjs/notifyAppReadyAnalytics.spec.js.map +1 -0
- package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js +24 -0
- package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js.map +1 -0
- package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js +117 -0
- package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js.map +1 -0
- package/lib/commonjs/releaseCatalogCache.js +179 -0
- package/lib/commonjs/releaseCatalogCache.js.map +1 -0
- package/lib/commonjs/releaseCatalogCache.spec.js +195 -0
- package/lib/commonjs/releaseCatalogCache.spec.js.map +1 -0
- package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +64 -0
- package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +1 -0
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/commonjs/sdkVersion.js.map +1 -1
- package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
- package/lib/commonjs/types.js +0 -12
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/wrap.js +7 -82
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/commonjs/wrap.spec.js +203 -56
- package/lib/commonjs/wrap.spec.js.map +1 -1
- package/lib/commonjs/wrap.types.js +6 -0
- package/lib/commonjs/wrap.types.js.map +1 -0
- package/lib/module/catalogCacheNative.js +36 -0
- package/lib/module/catalogCacheNative.js.map +1 -0
- package/lib/module/catalogCacheNative.spec.js +31 -0
- package/lib/module/catalogCacheNative.spec.js.map +1 -0
- package/lib/module/checkForUpdate.js +233 -62
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/checkForUpdate.releaseCatalog.spec.js +603 -0
- package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -0
- package/lib/module/error.js +6 -0
- package/lib/module/error.js.map +1 -1
- package/lib/module/{fetchUpdateInfo.js → fetchJSON.js} +9 -12
- package/lib/module/fetchJSON.js.map +1 -0
- package/lib/module/httpClient.js +148 -0
- package/lib/module/httpClient.js.map +1 -0
- package/lib/module/httpClient.spec.js +102 -0
- package/lib/module/httpClient.spec.js.map +1 -0
- package/lib/module/index.js +48 -65
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.spec.js +115 -159
- package/lib/module/index.spec.js.map +1 -1
- package/lib/module/iosInterop.spec.js +18 -0
- package/lib/module/iosInterop.spec.js.map +1 -0
- package/lib/module/native.js +206 -49
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.spec.js +226 -12
- package/lib/module/native.spec.js.map +1 -1
- package/lib/module/notifyAppReadyAnalytics.boundary.spec.js +217 -0
- package/lib/module/notifyAppReadyAnalytics.boundary.spec.js.map +1 -0
- package/lib/module/notifyAppReadyAnalytics.js +128 -0
- package/lib/module/notifyAppReadyAnalytics.js.map +1 -0
- package/lib/module/notifyAppReadyAnalytics.spec.js +245 -0
- package/lib/module/notifyAppReadyAnalytics.spec.js.map +1 -0
- package/lib/module/notifyAppReadyAnalytics.test-utils.js +18 -0
- package/lib/module/notifyAppReadyAnalytics.test-utils.js.map +1 -0
- package/lib/module/notifyAppReadyAnalytics.transport.spec.js +116 -0
- package/lib/module/notifyAppReadyAnalytics.transport.spec.js.map +1 -0
- package/lib/module/releaseCatalogCache.js +171 -0
- package/lib/module/releaseCatalogCache.js.map +1 -0
- package/lib/module/releaseCatalogCache.spec.js +195 -0
- package/lib/module/releaseCatalogCache.spec.js.map +1 -0
- package/lib/module/releaseCatalogCacheNativeContract.spec.js +64 -0
- package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +1 -0
- package/lib/module/sdkVersion.js +1 -1
- package/lib/module/sdkVersion.js.map +1 -1
- package/lib/module/specs/NativeHotUpdater.js.map +1 -1
- package/lib/module/types.js +0 -12
- package/lib/module/types.js.map +1 -1
- package/lib/module/wrap.js +6 -81
- package/lib/module/wrap.js.map +1 -1
- package/lib/module/wrap.spec.js +203 -56
- package/lib/module/wrap.spec.js.map +1 -1
- package/lib/module/wrap.types.js +4 -0
- package/lib/module/wrap.types.js.map +1 -0
- package/lib/typescript/commonjs/catalogCacheNative.d.ts +4 -0
- package/lib/typescript/commonjs/catalogCacheNative.d.ts.map +1 -0
- package/lib/typescript/commonjs/checkForUpdate.d.ts +14 -4
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/error.d.ts +3 -0
- package/lib/typescript/commonjs/error.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchJSON.d.ts +6 -0
- package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -0
- package/lib/typescript/commonjs/httpClient.d.ts +56 -0
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +31 -40
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +84 -17
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts +13 -0
- package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts.map +1 -0
- package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts +8 -0
- package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts +25 -0
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -0
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +40 -5
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +0 -118
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/wrap.d.ts +2 -191
- package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
- package/lib/typescript/commonjs/wrap.types.d.ts +65 -0
- package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -0
- package/lib/typescript/module/catalogCacheNative.d.ts +4 -0
- package/lib/typescript/module/catalogCacheNative.d.ts.map +1 -0
- package/lib/typescript/module/checkForUpdate.d.ts +14 -4
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/error.d.ts +3 -0
- package/lib/typescript/module/error.d.ts.map +1 -1
- package/lib/typescript/module/fetchJSON.d.ts +6 -0
- package/lib/typescript/module/fetchJSON.d.ts.map +1 -0
- package/lib/typescript/module/httpClient.d.ts +56 -0
- package/lib/typescript/module/httpClient.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +31 -40
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +84 -17
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/notifyAppReadyAnalytics.d.ts +13 -0
- package/lib/typescript/module/notifyAppReadyAnalytics.d.ts.map +1 -0
- package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts +8 -0
- package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts.map +1 -0
- package/lib/typescript/module/releaseCatalogCache.d.ts +25 -0
- package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -0
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts +40 -5
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +0 -118
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/wrap.d.ts +2 -191
- package/lib/typescript/module/wrap.d.ts.map +1 -1
- package/lib/typescript/module/wrap.types.d.ts +65 -0
- package/lib/typescript/module/wrap.types.d.ts.map +1 -0
- package/package.json +6 -24
- package/src/catalogCacheNative.spec.ts +63 -0
- package/src/catalogCacheNative.ts +74 -0
- package/src/checkForUpdate.releaseCatalog.spec.ts +596 -0
- package/src/checkForUpdate.ts +367 -96
- package/src/error.ts +7 -0
- package/src/{fetchUpdateInfo.ts → fetchJSON.ts} +8 -15
- package/src/httpClient.spec.ts +132 -0
- package/src/httpClient.ts +261 -0
- package/src/index.spec.ts +108 -201
- package/src/index.ts +68 -91
- package/src/iosInterop.spec.ts +30 -0
- package/src/native.spec.ts +226 -10
- package/src/native.ts +385 -81
- package/src/notifyAppReadyAnalytics.boundary.spec.ts +234 -0
- package/src/notifyAppReadyAnalytics.spec.ts +243 -0
- package/src/notifyAppReadyAnalytics.test-utils.ts +31 -0
- package/src/notifyAppReadyAnalytics.transport.spec.ts +130 -0
- package/src/notifyAppReadyAnalytics.ts +194 -0
- package/src/releaseCatalogCache.spec.ts +282 -0
- package/src/releaseCatalogCache.ts +341 -0
- package/src/releaseCatalogCacheNativeContract.spec.ts +80 -0
- package/src/sdkVersion.ts +1 -1
- package/src/specs/NativeHotUpdater.ts +51 -5
- package/src/types.ts +0 -140
- package/src/wrap.spec.ts +251 -56
- package/src/wrap.tsx +23 -318
- package/src/wrap.types.ts +78 -0
- package/android/src/main/java/com/hotupdater/StringResourceUtils.kt +0 -45
- package/app.plugin.js +0 -1
- package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.h +0 -7
- package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.mm +0 -4
- package/lib/commonjs/DefaultResolver.js +0 -50
- package/lib/commonjs/DefaultResolver.js.map +0 -1
- package/lib/commonjs/DefaultResolver.spec.js +0 -144
- package/lib/commonjs/DefaultResolver.spec.js.map +0 -1
- package/lib/commonjs/fetchUpdateInfo.js.map +0 -1
- package/lib/module/DefaultResolver.js +0 -46
- package/lib/module/DefaultResolver.js.map +0 -1
- package/lib/module/DefaultResolver.spec.js +0 -144
- package/lib/module/DefaultResolver.spec.js.map +0 -1
- package/lib/module/fetchUpdateInfo.js.map +0 -1
- package/lib/typescript/commonjs/DefaultResolver.d.ts +0 -11
- package/lib/typescript/commonjs/DefaultResolver.d.ts.map +0 -1
- package/lib/typescript/commonjs/fetchUpdateInfo.d.ts +0 -7
- package/lib/typescript/commonjs/fetchUpdateInfo.d.ts.map +0 -1
- package/lib/typescript/module/DefaultResolver.d.ts +0 -11
- package/lib/typescript/module/DefaultResolver.d.ts.map +0 -1
- package/lib/typescript/module/fetchUpdateInfo.d.ts +0 -7
- package/lib/typescript/module/fetchUpdateInfo.d.ts.map +0 -1
- package/plugin/build/transformers.js +0 -314
- package/plugin/build/withHotUpdater.js +0 -228
- package/src/DefaultResolver.spec.ts +0 -193
- package/src/DefaultResolver.ts +0 -63
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { type UpdateStatus } from "@hot-updater/core";
|
|
1
|
+
import { type CatalogHighWater, type UpdateStatus, type PersistedSelectionReceipt } from "@hot-updater/core";
|
|
2
2
|
import { HotUpdaterErrorCode, isHotUpdaterError } from "./error";
|
|
3
3
|
import { type UpdateBundleParams } from "./specs/NativeHotUpdater";
|
|
4
4
|
export { HotUpdaterErrorCode, isHotUpdaterError };
|
|
5
|
+
type PersistedUpdateStrategy = "fingerprint" | "appVersion";
|
|
5
6
|
export interface ManifestAsset {
|
|
6
7
|
fileHash: string;
|
|
7
8
|
signature?: string;
|
|
@@ -94,6 +95,41 @@ export type UpdateParams = UpdateBundleParams & {
|
|
|
94
95
|
status: UpdateStatus;
|
|
95
96
|
shouldSkipCurrentBundleIdCheck?: boolean;
|
|
96
97
|
};
|
|
98
|
+
export interface ActiveUpdateState {
|
|
99
|
+
readonly activeSelection: ActiveUpdateSelection | null;
|
|
100
|
+
readonly stableSelection: ActiveUpdateSelection | null;
|
|
101
|
+
readonly verificationPending: boolean;
|
|
102
|
+
}
|
|
103
|
+
type ActiveUpdateSelection = Pick<PersistedSelectionReceipt, "kind" | "releaseId" | "bundleId" | "channel">;
|
|
104
|
+
export interface InternalActiveUpdateState {
|
|
105
|
+
readonly activeSelection: PersistedSelectionReceipt | null;
|
|
106
|
+
readonly stableSelection: PersistedSelectionReceipt | null;
|
|
107
|
+
readonly verificationPending: boolean;
|
|
108
|
+
readonly highestSeenCatalogs: Readonly<Record<string, CatalogHighWater>>;
|
|
109
|
+
}
|
|
110
|
+
export interface ReleaseSelectionGuard {
|
|
111
|
+
readonly catalogId: string;
|
|
112
|
+
readonly scopeKey: string;
|
|
113
|
+
readonly generation: number;
|
|
114
|
+
readonly catalogHash: string;
|
|
115
|
+
readonly selectionContextHash: string;
|
|
116
|
+
readonly channel: string;
|
|
117
|
+
}
|
|
118
|
+
export declare const acceptReleaseCatalog: (input: {
|
|
119
|
+
readonly catalogId: string;
|
|
120
|
+
readonly scopeKey: string;
|
|
121
|
+
readonly generation: number;
|
|
122
|
+
readonly catalogHash: string;
|
|
123
|
+
readonly channel: string;
|
|
124
|
+
readonly selectionContextHash: string;
|
|
125
|
+
}) => boolean;
|
|
126
|
+
export declare const getActiveUpdateState: () => InternalActiveUpdateState;
|
|
127
|
+
export declare const getPublicActiveUpdateState: () => ActiveUpdateState;
|
|
128
|
+
export declare const isReleaseSelectionCurrent: (input: ReleaseSelectionGuard) => boolean;
|
|
129
|
+
export declare const commitReleaseSelection: (input: {
|
|
130
|
+
readonly selection: PersistedSelectionReceipt;
|
|
131
|
+
readonly guard: ReleaseSelectionGuard;
|
|
132
|
+
}) => Promise<boolean>;
|
|
97
133
|
/**
|
|
98
134
|
* Downloads files and applies them to the app.
|
|
99
135
|
*
|
|
@@ -102,10 +138,6 @@ export type UpdateParams = UpdateBundleParams & {
|
|
|
102
138
|
* @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
|
|
103
139
|
*/
|
|
104
140
|
export declare function updateBundle(params: UpdateParams): Promise<boolean>;
|
|
105
|
-
/**
|
|
106
|
-
* @deprecated Use updateBundle(params: UpdateBundleParamsWithStatus) instead
|
|
107
|
-
*/
|
|
108
|
-
export declare function updateBundle(bundleId: string, fileUrl: string | null): Promise<boolean>;
|
|
109
141
|
/**
|
|
110
142
|
* Fetches the current app version.
|
|
111
143
|
*/
|
|
@@ -140,12 +172,14 @@ export declare const reload: () => Promise<void>;
|
|
|
140
172
|
*/
|
|
141
173
|
export declare function setReloadBehavior(...args: [behavior: ReloadBehavior] | [behavior: "custom", handler: CustomReloadHandler]): void;
|
|
142
174
|
/**
|
|
143
|
-
* Fetches the minimum bundle id
|
|
144
|
-
*
|
|
175
|
+
* Fetches the minimum bundle id created from the native app build time.
|
|
176
|
+
*
|
|
177
|
+
* Release Catalog selection uses this value as its minimum Release id.
|
|
145
178
|
*
|
|
146
|
-
* @returns {string}
|
|
179
|
+
* @returns {string} The minimum bundle id.
|
|
147
180
|
*/
|
|
148
181
|
export declare const getMinBundleId: () => string;
|
|
182
|
+
export declare const getReleaseId: () => Promise<string | null>;
|
|
149
183
|
/**
|
|
150
184
|
* Fetches the current bundle version id.
|
|
151
185
|
*
|
|
@@ -184,12 +218,48 @@ export declare const isChannelSwitched: () => boolean;
|
|
|
184
218
|
* @returns {string | null} Resolves with the fingerprint hash
|
|
185
219
|
*/
|
|
186
220
|
export declare const getFingerprintHash: () => string | null;
|
|
221
|
+
export declare const getInstallId: () => string;
|
|
222
|
+
export type PersistedUserIdentity = {
|
|
223
|
+
userId?: string;
|
|
224
|
+
username?: string;
|
|
225
|
+
};
|
|
226
|
+
export declare const getPersistedUserIdentity: () => PersistedUserIdentity;
|
|
227
|
+
export type SetUserParams = {
|
|
228
|
+
userId?: string | number | null;
|
|
229
|
+
username?: string | null;
|
|
230
|
+
};
|
|
231
|
+
export declare function setUser(params: SetUserParams): void;
|
|
232
|
+
export declare function setUser(params: null): void;
|
|
187
233
|
/**
|
|
188
234
|
* Result returned by notifyAppReady()
|
|
189
235
|
*/
|
|
190
236
|
export type NotifyAppReadyResult = {
|
|
191
|
-
status: "
|
|
192
|
-
|
|
237
|
+
status: "UNCHANGED";
|
|
238
|
+
} | {
|
|
239
|
+
status: "UPDATE_APPLIED";
|
|
240
|
+
fromBundleId: string;
|
|
241
|
+
toBundleId: string;
|
|
242
|
+
fromReleaseId?: string;
|
|
243
|
+
toReleaseId?: string;
|
|
244
|
+
} | {
|
|
245
|
+
status: "RECOVERED";
|
|
246
|
+
fromBundleId: string;
|
|
247
|
+
toBundleId: string;
|
|
248
|
+
fromReleaseId?: string;
|
|
249
|
+
toReleaseId?: string;
|
|
250
|
+
};
|
|
251
|
+
export type NotifyAppReadyAnalyticsEvent = {
|
|
252
|
+
type: "UPDATE_APPLIED" | "RECOVERED";
|
|
253
|
+
fromBundleId: string;
|
|
254
|
+
toBundleId: string;
|
|
255
|
+
fromReleaseId?: string | null;
|
|
256
|
+
toReleaseId?: string | null;
|
|
257
|
+
updateStrategy: PersistedUpdateStrategy;
|
|
258
|
+
};
|
|
259
|
+
export declare const readNotifyAppReady: () => {
|
|
260
|
+
result: NotifyAppReadyResult;
|
|
261
|
+
analyticsEvent: NotifyAppReadyAnalyticsEvent | null;
|
|
262
|
+
pending: boolean;
|
|
193
263
|
};
|
|
194
264
|
/**
|
|
195
265
|
* Reads the native launch report for the current process.
|
|
@@ -197,19 +267,16 @@ export type NotifyAppReadyResult = {
|
|
|
197
267
|
* This function is called automatically after the app has rendered.
|
|
198
268
|
*
|
|
199
269
|
* @returns {NotifyAppReadyResult} Bundle state information
|
|
200
|
-
* - `status: "
|
|
201
|
-
* - `status: "
|
|
202
|
-
* - `
|
|
270
|
+
* - `status: "UNCHANGED"` - No qualifying OTA transition to report
|
|
271
|
+
* - `status: "UPDATE_APPLIED"` - A pending update became active
|
|
272
|
+
* - `status: "RECOVERED"` - Crash recovery rolled back to another bundle
|
|
203
273
|
*
|
|
204
274
|
* @example
|
|
205
275
|
* ```ts
|
|
206
276
|
* const result = HotUpdater.notifyAppReady();
|
|
207
277
|
*
|
|
208
278
|
* if (result.status === "RECOVERED") {
|
|
209
|
-
*
|
|
210
|
-
* analytics.track("bundle_rollback", {
|
|
211
|
-
* crashedBundleId: result.crashedBundleId,
|
|
212
|
-
* });
|
|
279
|
+
* console.log(result.fromBundleId, result.toBundleId);
|
|
213
280
|
* }
|
|
214
281
|
* ```
|
|
215
282
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { HotUpdaterError } from "./error";
|
|
2
|
+
import type { HotUpdaterHttpClient } from "./httpClient";
|
|
3
|
+
import { type NotifyAppReadyResult } from "./native";
|
|
4
|
+
export type NotifyAppReadyOptions = {
|
|
5
|
+
analytics?: boolean;
|
|
6
|
+
client: HotUpdaterHttpClient;
|
|
7
|
+
requestHeaders?: Record<string, string>;
|
|
8
|
+
requestTimeout?: number;
|
|
9
|
+
onNotifyAppReady?: (result: NotifyAppReadyResult) => void;
|
|
10
|
+
onError?: (error: HotUpdaterError | Error | unknown) => void;
|
|
11
|
+
};
|
|
12
|
+
export declare const handleNotifyAppReady: (options: NotifyAppReadyOptions) => Promise<void>;
|
|
13
|
+
//# sourceMappingURL=notifyAppReadyAnalytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyAppReadyAnalytics.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyAnalytics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAwB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EASL,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;CAC9D,CAAC;AA4IF,eAAO,MAAM,oBAAoB,YACtB,qBAAqB,KAC7B,OAAO,CAAC,IAAI,CA2Bd,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NotifyAppReadyAnalyticsEvent, NotifyAppReadyResult } from "./native";
|
|
2
|
+
export declare const createNotifyReadResult: (result?: NotifyAppReadyResult, analyticsEvent?: NotifyAppReadyAnalyticsEvent | null, pending?: boolean) => {
|
|
3
|
+
analyticsEvent: NotifyAppReadyAnalyticsEvent | null;
|
|
4
|
+
pending: boolean;
|
|
5
|
+
result: NotifyAppReadyResult;
|
|
6
|
+
};
|
|
7
|
+
export declare const stubNotifyFrame: () => void;
|
|
8
|
+
//# sourceMappingURL=notifyAppReadyAnalytics.test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyAppReadyAnalytics.test-utils.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyAnalytics.test-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,sBAAsB,YACzB,oBAAoB,mBACZ,4BAA4B,GAAG,IAAI,wBAElD;IACD,cAAc,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;CAK7B,CAAC;AAEH,eAAO,MAAM,eAAe,YAS3B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ReleaseCatalog } from "@hot-updater/core";
|
|
2
|
+
export declare const MAX_RELEASE_CATALOG_WIRE_BYTES: number;
|
|
3
|
+
export declare const MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES: number;
|
|
4
|
+
export type ExpectedReleaseCatalogScope = {
|
|
5
|
+
readonly channelKey: string;
|
|
6
|
+
readonly platform: "ios" | "android";
|
|
7
|
+
} & ({
|
|
8
|
+
readonly strategy: "APP_VERSION";
|
|
9
|
+
readonly fingerprintHash?: never;
|
|
10
|
+
} | {
|
|
11
|
+
readonly strategy: "FINGERPRINT";
|
|
12
|
+
readonly fingerprintHash: string;
|
|
13
|
+
});
|
|
14
|
+
type FetchReleaseCatalogInput = {
|
|
15
|
+
readonly baseURL: string;
|
|
16
|
+
readonly expectedScope: ExpectedReleaseCatalogScope;
|
|
17
|
+
readonly requestHeaders?: Record<string, string>;
|
|
18
|
+
readonly requestTimeout?: number;
|
|
19
|
+
readonly url: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const hasExpectedReleaseCatalogScope: (catalog: ReleaseCatalog, expected: ExpectedReleaseCatalogScope) => boolean;
|
|
22
|
+
export declare const createReleaseCatalogCachePartition: (input: Pick<FetchReleaseCatalogInput, "baseURL" | "requestHeaders" | "url">) => string;
|
|
23
|
+
export declare const fetchReleaseCatalogWithCache: (input: FetchReleaseCatalogInput) => Promise<ReleaseCatalog>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=releaseCatalogCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"releaseCatalogCache.d.ts","sourceRoot":"","sources":["../../../src/releaseCatalogCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAI3B,eAAO,MAAM,8BAA8B,QACA,CAAC;AAC5C,eAAO,MAAM,qCAAqC,QACG,CAAC;AAiCtD,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;CACtC,GAAG,CACA;IACE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC;CAClC,GACD;IACE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,CACJ,CAAC;AAEF,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;CACtB,CAAC;AAiDF,eAAO,MAAM,8BAA8B,YAChC,cAAc,YACb,2BAA2B,KACpC,OAcF,CAAC;AAkGF,eAAO,MAAM,kCAAkC,UACtC,IAAI,CAAC,wBAAwB,EAAE,SAAS,GAAG,gBAAgB,GAAG,KAAK,CAAC,KAC1E,MAMC,CAAC;AAqFL,eAAO,MAAM,4BAA4B,UAChC,wBAAwB,KAC9B,OAAO,CAAC,cAAc,CAaxB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HOT_UPDATER_SDK_VERSION = "0.
|
|
1
|
+
export declare const HOT_UPDATER_SDK_VERSION = "1.0.0-rc.1";
|
|
2
2
|
//# sourceMappingURL=sdkVersion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkVersion.d.ts","sourceRoot":"","sources":["../../../src/sdkVersion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"sdkVersion.d.ts","sourceRoot":"","sources":["../../../src/sdkVersion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,eAAe,CAAC"}
|
|
@@ -41,6 +41,8 @@ export interface UpdateBundleParams {
|
|
|
41
41
|
* the currently active bundle.
|
|
42
42
|
*/
|
|
43
43
|
changedAssets?: UnsafeObject | null;
|
|
44
|
+
/** Full Release Catalog selection receipt committed with the staged Bundle. */
|
|
45
|
+
selection?: UnsafeObject | null;
|
|
44
46
|
}
|
|
45
47
|
export interface Spec extends TurboModule {
|
|
46
48
|
reload(): Promise<void>;
|
|
@@ -82,17 +84,34 @@ export interface Spec extends TurboModule {
|
|
|
82
84
|
* or UNKNOWN_ERROR to keep the JS error surface small.
|
|
83
85
|
*/
|
|
84
86
|
updateBundle(params: UpdateBundleParams): Promise<boolean>;
|
|
87
|
+
/** Accepts and durably advances the catalog high-water for a scope. */
|
|
88
|
+
acceptReleaseCatalog(params: UnsafeObject): boolean;
|
|
89
|
+
/** Reads active/stable selection receipts and catalog high-water state. */
|
|
90
|
+
getActiveUpdateState(): UnsafeObject;
|
|
91
|
+
/** Reads a checksum-verified Release Catalog cache entry. */
|
|
92
|
+
getReleaseCatalogCache(partition: string): Promise<string | null>;
|
|
93
|
+
/** Atomically stores a bounded Release Catalog cache entry. */
|
|
94
|
+
setReleaseCatalogCache(partition: string, payload: string): Promise<boolean>;
|
|
95
|
+
/** Removes an incompatible Release Catalog cache entry. */
|
|
96
|
+
removeReleaseCatalogCache(partition: string): Promise<boolean>;
|
|
97
|
+
/** Rechecks generation/context immediately before a catalog side effect. */
|
|
98
|
+
isReleaseSelectionCurrent(params: UnsafeObject): boolean;
|
|
99
|
+
/** Atomically commits a metadata-only, EMBEDDED, or BUILTIN selection. */
|
|
100
|
+
commitReleaseSelection(params: UnsafeObject): Promise<boolean>;
|
|
85
101
|
/**
|
|
86
102
|
* Reads the launch report for the current process.
|
|
87
103
|
* This is a read-only API; native launch state has already been finalized.
|
|
88
104
|
*
|
|
89
|
-
* @returns Object
|
|
90
|
-
*
|
|
91
|
-
* - `status: "STABLE"` - No changes, already stable
|
|
92
|
-
* - `crashedBundleId` - Present only when status is "RECOVERED"
|
|
105
|
+
* @returns Object describing whether launch state changed and, for qualifying
|
|
106
|
+
* transitions, the relevant bundle ids plus persisted transition metadata.
|
|
93
107
|
*/
|
|
94
108
|
notifyAppReady(): {
|
|
95
|
-
status: "
|
|
109
|
+
status: "PENDING" | "UNCHANGED" | "UPDATE_APPLIED" | "RECOVERED";
|
|
110
|
+
fromReleaseId?: string;
|
|
111
|
+
fromBundleId?: string;
|
|
112
|
+
toReleaseId?: string;
|
|
113
|
+
toBundleId?: string;
|
|
114
|
+
updateStrategy?: "fingerprint" | "appVersion";
|
|
96
115
|
crashedBundleId?: string;
|
|
97
116
|
};
|
|
98
117
|
/**
|
|
@@ -150,6 +169,22 @@ export interface Spec extends TurboModule {
|
|
|
150
169
|
* persists it before returning.
|
|
151
170
|
*/
|
|
152
171
|
getCohort: () => string;
|
|
172
|
+
/**
|
|
173
|
+
* Gets the persisted install id for this app installation.
|
|
174
|
+
*/
|
|
175
|
+
getInstallId: () => string;
|
|
176
|
+
/**
|
|
177
|
+
* Gets the persisted nullable user id associated with this installation.
|
|
178
|
+
*/
|
|
179
|
+
getUserId: () => string | null;
|
|
180
|
+
/**
|
|
181
|
+
* Gets the persisted nullable username associated with this installation.
|
|
182
|
+
*/
|
|
183
|
+
getUsername: () => string | null;
|
|
184
|
+
/**
|
|
185
|
+
* Persists nullable user identity fields associated with this installation.
|
|
186
|
+
*/
|
|
187
|
+
setUser: (userId: string | null, username: string | null) => void;
|
|
153
188
|
addListener(eventName: string): void;
|
|
154
189
|
removeListeners(count: number): void;
|
|
155
190
|
readonly getConstants: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeHotUpdater.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeHotUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC1B,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,QAAQ,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeHotUpdater.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeHotUpdater.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,122 +1,4 @@
|
|
|
1
|
-
import type { AppUpdateInfo } from "@hot-updater/core";
|
|
2
|
-
import type { NotifyAppReadyResult } from "./native";
|
|
3
1
|
export type HotUpdaterBaseURL = string | (() => string | Promise<string>);
|
|
4
|
-
/**
|
|
5
|
-
* Parameters passed to resolver.checkUpdate method
|
|
6
|
-
*/
|
|
7
|
-
export interface ResolverCheckUpdateParams {
|
|
8
|
-
/**
|
|
9
|
-
* The platform the app is running on
|
|
10
|
-
*/
|
|
11
|
-
platform: "ios" | "android";
|
|
12
|
-
/**
|
|
13
|
-
* The current app version
|
|
14
|
-
*/
|
|
15
|
-
appVersion: string;
|
|
16
|
-
/**
|
|
17
|
-
* The current bundle ID
|
|
18
|
-
*/
|
|
19
|
-
bundleId: string;
|
|
20
|
-
/**
|
|
21
|
-
* Minimum bundle ID from build time
|
|
22
|
-
*/
|
|
23
|
-
minBundleId: string;
|
|
24
|
-
/**
|
|
25
|
-
* The channel name (e.g., "production", "staging")
|
|
26
|
-
*/
|
|
27
|
-
channel: string;
|
|
28
|
-
/**
|
|
29
|
-
* Cohort identifier used for server-side rollout decisions.
|
|
30
|
-
*/
|
|
31
|
-
cohort: string;
|
|
32
|
-
/**
|
|
33
|
-
* Update strategy being used
|
|
34
|
-
*/
|
|
35
|
-
updateStrategy: "fingerprint" | "appVersion";
|
|
36
|
-
/**
|
|
37
|
-
* The fingerprint hash (only present when using fingerprint strategy)
|
|
38
|
-
*/
|
|
39
|
-
fingerprintHash: string | null;
|
|
40
|
-
/**
|
|
41
|
-
* Request headers from global config (for optional use)
|
|
42
|
-
*/
|
|
43
|
-
requestHeaders?: Record<string, string>;
|
|
44
|
-
/**
|
|
45
|
-
* Request timeout from global config (for optional use)
|
|
46
|
-
*/
|
|
47
|
-
requestTimeout?: number;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Parameters passed to resolver.notifyAppReady method
|
|
51
|
-
*/
|
|
52
|
-
export interface ResolverNotifyAppReadyParams {
|
|
53
|
-
/**
|
|
54
|
-
* The bundle state from native notifyAppReady
|
|
55
|
-
* - "RECOVERED": App recovered from crash, rollback occurred
|
|
56
|
-
* - "STABLE": No changes, bundle is stable
|
|
57
|
-
*/
|
|
58
|
-
status: "RECOVERED" | "STABLE";
|
|
59
|
-
/**
|
|
60
|
-
* Present only when status is "RECOVERED"
|
|
61
|
-
*/
|
|
62
|
-
crashedBundleId?: string;
|
|
63
|
-
/**
|
|
64
|
-
* Request headers from global config (for optional use)
|
|
65
|
-
*/
|
|
66
|
-
requestHeaders?: Record<string, string>;
|
|
67
|
-
/**
|
|
68
|
-
* Request timeout from global config (for optional use)
|
|
69
|
-
*/
|
|
70
|
-
requestTimeout?: number;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Resolver interface for custom network operations
|
|
74
|
-
*/
|
|
75
|
-
export interface HotUpdaterResolver {
|
|
76
|
-
/**
|
|
77
|
-
* Custom implementation for checking updates.
|
|
78
|
-
* When provided, this completely replaces the default fetchUpdateInfo flow.
|
|
79
|
-
*
|
|
80
|
-
* @param params - All parameters needed to check for updates
|
|
81
|
-
* @returns Update information or null if up to date
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* ```typescript
|
|
85
|
-
* checkUpdate: async (params) => {
|
|
86
|
-
* const response = await fetch(`https://api.custom.com/check`, {
|
|
87
|
-
* method: 'POST',
|
|
88
|
-
* body: JSON.stringify(params),
|
|
89
|
-
* headers: params.requestHeaders,
|
|
90
|
-
* });
|
|
91
|
-
*
|
|
92
|
-
* if (!response.ok) return null;
|
|
93
|
-
* return response.json();
|
|
94
|
-
* }
|
|
95
|
-
* ```
|
|
96
|
-
*/
|
|
97
|
-
checkUpdate?: (params: ResolverCheckUpdateParams) => Promise<AppUpdateInfo | null>;
|
|
98
|
-
/**
|
|
99
|
-
* Custom implementation for notifying app ready.
|
|
100
|
-
* When provided, this completely replaces the default notifyAppReady network flow.
|
|
101
|
-
* Note: Native rollback/promotion semantics are already finalized before this callback runs.
|
|
102
|
-
*
|
|
103
|
-
* @param params - All parameters about the current app state
|
|
104
|
-
* @returns Notification result
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* ```typescript
|
|
108
|
-
* notifyAppReady: async (params) => {
|
|
109
|
-
* await fetch(`https://api.custom.com/notify`, {
|
|
110
|
-
* method: 'POST',
|
|
111
|
-
* body: JSON.stringify(params),
|
|
112
|
-
* });
|
|
113
|
-
*
|
|
114
|
-
* return { status: "STABLE" };
|
|
115
|
-
* }
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
notifyAppReady?: (params: ResolverNotifyAppReadyParams) => Promise<NotifyAppReadyResult | undefined>;
|
|
119
|
-
}
|
|
120
2
|
/**
|
|
121
3
|
* Information about a signature verification failure.
|
|
122
4
|
* This is a security-critical event that indicates the bundle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgBpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,4BAA4B,CAS9B"}
|