@onekeyfe/react-native-range-downloader 3.0.80 → 3.0.81-alpha.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/ReactNativeRangeDownloader.podspec +8 -0
- package/android/build.gradle +1 -0
- package/android/src/main/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveRules.kt +284 -0
- package/android/src/main/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactStore.kt +842 -0
- package/android/src/main/java/com/margelo/nitro/reactnativerangedownloader/ReactNativeRangeDownloader.kt +148 -0
- package/android/src/test/java/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveRulesTest.kt +75 -0
- package/ios/FirmwareArchiveMinizipBridge.h +33 -0
- package/ios/FirmwareArchiveMinizipBridge.mm +213 -0
- package/ios/FirmwareArtifactStore.swift +1276 -0
- package/ios/FirmwareBackgroundSessionEventRouter.swift +17 -0
- package/ios/ReactNativeRangeDownloader.swift +638 -6
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/ReactNativeRangeDownloader.nitro.d.ts +95 -1
- package/lib/typescript/src/ReactNativeRangeDownloader.nitro.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JDownloadChannel.hpp +3 -0
- package/nitrogen/generated/android/c++/JFirmwareArchiveExpectedEntry.hpp +69 -0
- package/nitrogen/generated/android/c++/JFirmwareArchiveMaterializeParams.hpp +86 -0
- package/nitrogen/generated/android/c++/JFirmwareArchiveMaterializeResult.hpp +80 -0
- package/nitrogen/generated/android/c++/JFirmwareArchiveMaterializedArtifact.hpp +63 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactCancelParams.hpp +57 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactCapabilities.hpp +88 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactDownloadParams.hpp +98 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactLease.hpp +57 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactLeaseCreateParams.hpp +57 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactLeaseReconcileParams.hpp +76 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactLeaseReleaseParams.hpp +61 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactLeaseRetainParams.hpp +61 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactReaderCloseParams.hpp +57 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactReaderInfo.hpp +61 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactReaderReadParams.hpp +65 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactReceipt.hpp +65 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactRefParams.hpp +57 -0
- package/nitrogen/generated/android/c++/JFirmwareArtifactSweepResult.hpp +61 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeRangeDownloaderSpec.cpp +267 -0
- package/nitrogen/generated/android/c++/JHybridReactNativeRangeDownloaderSpec.hpp +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/DownloadChannel.kt +2 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveExpectedEntry.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveMaterializeParams.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveMaterializeResult.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArchiveMaterializedArtifact.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactCancelParams.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactCapabilities.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactDownloadParams.kt +68 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLease.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLeaseCreateParams.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLeaseReconcileParams.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLeaseReleaseParams.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactLeaseRetainParams.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReaderCloseParams.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReaderInfo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReaderReadParams.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactReceipt.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactRefParams.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/FirmwareArtifactSweepResult.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativerangedownloader/HybridReactNativeRangeDownloaderSpec.kt +53 -0
- package/nitrogen/generated/ios/ReactNativeRangeDownloader-Swift-Cxx-Bridge.cpp +48 -0
- package/nitrogen/generated/ios/ReactNativeRangeDownloader-Swift-Cxx-Bridge.hpp +329 -0
- package/nitrogen/generated/ios/ReactNativeRangeDownloader-Swift-Cxx-Umbrella.hpp +56 -0
- package/nitrogen/generated/ios/c++/HybridReactNativeRangeDownloaderSpecSwift.hpp +163 -0
- package/nitrogen/generated/ios/swift/DownloadChannel.swift +4 -0
- package/nitrogen/generated/ios/swift/FirmwareArchiveExpectedEntry.swift +69 -0
- package/nitrogen/generated/ios/swift/FirmwareArchiveMaterializeParams.swift +70 -0
- package/nitrogen/generated/ios/swift/FirmwareArchiveMaterializeResult.swift +48 -0
- package/nitrogen/generated/ios/swift/FirmwareArchiveMaterializedArtifact.swift +47 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactCancelParams.swift +36 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactCapabilities.swift +81 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactDownloadParams.swift +177 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactLease.swift +36 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactLeaseCreateParams.swift +36 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactLeaseReconcileParams.swift +48 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactLeaseReleaseParams.swift +47 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactLeaseRetainParams.swift +47 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactReaderCloseParams.swift +36 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactReaderInfo.swift +47 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactReaderReadParams.swift +58 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactReceipt.swift +58 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactRefParams.swift +36 -0
- package/nitrogen/generated/ios/swift/FirmwareArtifactSweepResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_FirmwareArchiveMaterializeResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactLease.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactReaderInfo.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactReceipt.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_FirmwareArtifactSweepResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_ArrayBuffer_.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeRangeDownloaderSpec.swift +13 -0
- package/nitrogen/generated/ios/swift/HybridReactNativeRangeDownloaderSpec_cxx.swift +240 -0
- package/nitrogen/generated/shared/c++/DownloadChannel.hpp +4 -0
- package/nitrogen/generated/shared/c++/FirmwareArchiveExpectedEntry.hpp +87 -0
- package/nitrogen/generated/shared/c++/FirmwareArchiveMaterializeParams.hpp +86 -0
- package/nitrogen/generated/shared/c++/FirmwareArchiveMaterializeResult.hpp +77 -0
- package/nitrogen/generated/shared/c++/FirmwareArchiveMaterializedArtifact.hpp +81 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactCancelParams.hpp +75 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactCapabilities.hpp +88 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactDownloadParams.hpp +116 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactLease.hpp +75 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactLeaseCreateParams.hpp +75 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactLeaseReconcileParams.hpp +76 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactLeaseReleaseParams.hpp +79 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactLeaseRetainParams.hpp +79 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactReaderCloseParams.hpp +75 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactReaderInfo.hpp +79 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactReaderReadParams.hpp +83 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactReceipt.hpp +83 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactRefParams.hpp +75 -0
- package/nitrogen/generated/shared/c++/FirmwareArtifactSweepResult.hpp +79 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeRangeDownloaderSpec.cpp +13 -0
- package/nitrogen/generated/shared/c++/HybridReactNativeRangeDownloaderSpec.hpp +62 -0
- package/package.json +4 -2
- package/src/ReactNativeRangeDownloader.nitro.ts +134 -1
- package/src/index.tsx +3 -1
|
@@ -4,7 +4,7 @@ import type { HybridObject } from 'react-native-nitro-modules';
|
|
|
4
4
|
// The channel decides the iOS background URLSession identifier suffix and the
|
|
5
5
|
// event-routing key, so different consumers never cross-talk. Closed set per
|
|
6
6
|
// design decision 10.1 (constant enum, not a bare string).
|
|
7
|
-
export type DownloadChannel = 'bundle' | 'apk' | 'chart';
|
|
7
|
+
export type DownloadChannel = 'bundle' | 'apk' | 'chart' | 'firmware';
|
|
8
8
|
|
|
9
9
|
export interface RangeDownloadParams {
|
|
10
10
|
channel: DownloadChannel;
|
|
@@ -68,6 +68,105 @@ export interface RangeDownloadEvent {
|
|
|
68
68
|
message: string;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
export interface FirmwareArtifactDownloadParams {
|
|
72
|
+
taskId: string;
|
|
73
|
+
transactionId: string;
|
|
74
|
+
leaseRef: string;
|
|
75
|
+
artifactId: string;
|
|
76
|
+
url: string;
|
|
77
|
+
routeType: string;
|
|
78
|
+
resolvedIp?: string;
|
|
79
|
+
expectedSize: number;
|
|
80
|
+
expectedSha256: string;
|
|
81
|
+
maxBytes: number;
|
|
82
|
+
overallDeadlineSeconds?: number;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export interface FirmwareArtifactReceipt {
|
|
86
|
+
artifactRef: string;
|
|
87
|
+
size: number;
|
|
88
|
+
sha256: string;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export interface FirmwareArtifactCapabilities {
|
|
92
|
+
firmwareArtifactProtocolVersion: number;
|
|
93
|
+
supportedRouteTypes: string[];
|
|
94
|
+
supportsArchiveMaterialization: boolean;
|
|
95
|
+
maxReadBytes: number;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export interface FirmwareArtifactRefParams {
|
|
99
|
+
artifactRef: string;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface FirmwareArtifactCancelParams {
|
|
103
|
+
transactionId: string;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export interface FirmwareArtifactReaderInfo {
|
|
107
|
+
readerId: string;
|
|
108
|
+
size: number;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export interface FirmwareArtifactReaderReadParams {
|
|
112
|
+
readerId: string;
|
|
113
|
+
offset: number;
|
|
114
|
+
length: number;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export interface FirmwareArtifactReaderCloseParams {
|
|
118
|
+
readerId: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface FirmwareArchiveMaterializeParams {
|
|
122
|
+
leaseRef: string;
|
|
123
|
+
archiveArtifactRef: string;
|
|
124
|
+
expectedEntries: FirmwareArchiveExpectedEntry[];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface FirmwareArchiveExpectedEntry {
|
|
128
|
+
artifactId: string;
|
|
129
|
+
entryName: string;
|
|
130
|
+
expectedSize: number;
|
|
131
|
+
expectedSha256: string;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface FirmwareArchiveMaterializedArtifact {
|
|
135
|
+
entryName: string;
|
|
136
|
+
receipt: FirmwareArtifactReceipt;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export interface FirmwareArchiveMaterializeResult {
|
|
140
|
+
artifacts: FirmwareArchiveMaterializedArtifact[];
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface FirmwareArtifactLeaseCreateParams {
|
|
144
|
+
transactionId: string;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export interface FirmwareArtifactLease {
|
|
148
|
+
leaseRef: string;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface FirmwareArtifactLeaseRetainParams {
|
|
152
|
+
leaseRef: string;
|
|
153
|
+
artifactRef: string;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface FirmwareArtifactLeaseReleaseParams {
|
|
157
|
+
leaseRef: string;
|
|
158
|
+
disposition: string;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export interface FirmwareArtifactLeaseReconcileParams {
|
|
162
|
+
activeLeaseRefs: string[];
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface FirmwareArtifactSweepResult {
|
|
166
|
+
deletedFiles: number;
|
|
167
|
+
deletedBytes: number;
|
|
168
|
+
}
|
|
169
|
+
|
|
71
170
|
export interface ReactNativeRangeDownloader
|
|
72
171
|
extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
|
|
73
172
|
// Main entry: concurrent ranged download (iOS background session / Android thread pool).
|
|
@@ -102,4 +201,38 @@ export interface ReactNativeRangeDownloader
|
|
|
102
201
|
// not own directory layout for real consumers, but exposes this so demos/simple
|
|
103
202
|
// callers have a valid absolute destination without hardcoding sandbox paths.
|
|
104
203
|
getDownloadsDir(): string;
|
|
204
|
+
|
|
205
|
+
getFirmwareArtifactCapabilities(): FirmwareArtifactCapabilities;
|
|
206
|
+
downloadFirmwareArtifact(
|
|
207
|
+
params: FirmwareArtifactDownloadParams
|
|
208
|
+
): Promise<FirmwareArtifactReceipt>;
|
|
209
|
+
cancelFirmwareArtifactDownloads(
|
|
210
|
+
params: FirmwareArtifactCancelParams
|
|
211
|
+
): Promise<void>;
|
|
212
|
+
discardFirmwareArtifact(params: FirmwareArtifactRefParams): Promise<void>;
|
|
213
|
+
openFirmwareArtifact(
|
|
214
|
+
params: FirmwareArtifactRefParams
|
|
215
|
+
): Promise<FirmwareArtifactReaderInfo>;
|
|
216
|
+
readFirmwareArtifact(
|
|
217
|
+
params: FirmwareArtifactReaderReadParams
|
|
218
|
+
): Promise<ArrayBuffer>;
|
|
219
|
+
closeFirmwareArtifact(
|
|
220
|
+
params: FirmwareArtifactReaderCloseParams
|
|
221
|
+
): Promise<void>;
|
|
222
|
+
materializeFirmwareArchive(
|
|
223
|
+
params: FirmwareArchiveMaterializeParams
|
|
224
|
+
): Promise<FirmwareArchiveMaterializeResult>;
|
|
225
|
+
createFirmwareArtifactLease(
|
|
226
|
+
params: FirmwareArtifactLeaseCreateParams
|
|
227
|
+
): Promise<FirmwareArtifactLease>;
|
|
228
|
+
retainFirmwareArtifact(
|
|
229
|
+
params: FirmwareArtifactLeaseRetainParams
|
|
230
|
+
): Promise<void>;
|
|
231
|
+
releaseFirmwareArtifactLease(
|
|
232
|
+
params: FirmwareArtifactLeaseReleaseParams
|
|
233
|
+
): Promise<void>;
|
|
234
|
+
reconcileFirmwareArtifactLeases(
|
|
235
|
+
params: FirmwareArtifactLeaseReconcileParams
|
|
236
|
+
): Promise<void>;
|
|
237
|
+
sweepFirmwareArtifactOrphans(): Promise<FirmwareArtifactSweepResult>;
|
|
105
238
|
}
|
package/src/index.tsx
CHANGED
|
@@ -6,7 +6,8 @@ const ReactNativeRangeDownloaderHybridObject =
|
|
|
6
6
|
'ReactNativeRangeDownloader'
|
|
7
7
|
);
|
|
8
8
|
|
|
9
|
-
export const ReactNativeRangeDownloader =
|
|
9
|
+
export const ReactNativeRangeDownloader =
|
|
10
|
+
ReactNativeRangeDownloaderHybridObject;
|
|
10
11
|
|
|
11
12
|
// Closed set of download channels (design decision 10.1). The native side builds the
|
|
12
13
|
// background session identifier as `so.onekey.rangedownloader.bg.<channel>`. New channels
|
|
@@ -15,6 +16,7 @@ export const RangeDownloadChannel = {
|
|
|
15
16
|
Bundle: 'bundle',
|
|
16
17
|
Apk: 'apk',
|
|
17
18
|
Chart: 'chart',
|
|
19
|
+
Firmware: 'firmware',
|
|
18
20
|
} as const;
|
|
19
21
|
|
|
20
22
|
export type * from './ReactNativeRangeDownloader.nitro';
|