expo-file-system 18.1.9 → 18.2.0-canary-20250611-f0afe80
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/CHANGELOG.md +12 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/filesystem/next/FileSystemNextModule.kt +8 -2
- package/android/src/main/java/expo/modules/filesystem/next/FileSystemNextRecords.kt +5 -0
- package/build/FileSystem.d.ts +2 -2
- package/build/FileSystem.d.ts.map +1 -1
- package/build/next/ExpoFileSystem.d.ts +2 -2
- package/build/next/ExpoFileSystem.d.ts.map +1 -1
- package/build/next/ExpoFileSystem.types.d.ts +9 -1
- package/build/next/ExpoFileSystem.types.d.ts.map +1 -1
- package/build/next/FileSystem.d.ts.map +1 -1
- package/expo-module.config.json +1 -1
- package/ios/Next/FileSystemNextModule.swift +10 -2
- package/ios/Next/FileSystemNextRecords.swift +4 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{18.1.9/expo.modules.filesystem-18.1.9-sources.jar → 18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80-sources.jar} +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80-sources.jar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80-sources.jar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80-sources.jar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80-sources.jar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{18.1.9/expo.modules.filesystem-18.1.9.module → 18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.module} +24 -24
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.module.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.module.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.module.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.module.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{18.1.9/expo.modules.filesystem-18.1.9.pom → 18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.pom} +2 -2
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.pom.md5 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.pom.sha1 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.pom.sha256 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.2.0-canary-20250611-f0afe80/expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.pom.sha512 +1 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml +4 -4
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha512 +1 -1
- package/package.json +5 -6
- package/src/FileSystem.ts +2 -2
- package/src/next/ExpoFileSystem.ts +6 -2
- package/src/next/ExpoFileSystem.types.ts +14 -1
- package/src/next/FileSystem.ts +10 -3
- package/src/next/pathUtilities/path.ts +3 -3
- package/src/next/streams.ts +1 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar +0 -0
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.sha512 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.pom.md5 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.pom.sha1 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.pom.sha256 +0 -1
- package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.pom.sha512 +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,10 +6,22 @@
|
|
|
6
6
|
|
|
7
7
|
### 🎉 New features
|
|
8
8
|
|
|
9
|
+
- Add support for custom headers in downloadFileAsync ([#36108](https://github.com/expo/expo/pull/36108) by [@leonhh](https://github.com/leonhh))
|
|
10
|
+
|
|
9
11
|
### 🐛 Bug fixes
|
|
10
12
|
|
|
13
|
+
- Improved type safety in the FileSystem module to support tsconfig setups with stricter rules than the default. ([#37107](https://github.com/expo/expo/pull/37107) by [@hirbod](https://github.com/hirbod))
|
|
14
|
+
|
|
11
15
|
### 💡 Others
|
|
12
16
|
|
|
17
|
+
- Remove "Please" from warnings and errors ([#36862](https://github.com/expo/expo/pull/36862) by [@brentvatne](https://github.com/brentvatne))
|
|
18
|
+
|
|
19
|
+
## 18.1.10 — 2025-05-08
|
|
20
|
+
|
|
21
|
+
### 🐛 Bug fixes
|
|
22
|
+
|
|
23
|
+
- Fix the `UploadTask.uploadAsync` method's return type did not indicate that the method could resolve to `null`. ([#36476](https://github.com/expo/expo/pull/36476) by [@DoctorJohn](https://github.com/DoctorJohn))
|
|
24
|
+
|
|
13
25
|
## 18.1.9 — 2025-05-03
|
|
14
26
|
|
|
15
27
|
_This version does not introduce any user-facing changes._
|
package/android/build.gradle
CHANGED
|
@@ -4,13 +4,13 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = 'host.exp.exponent'
|
|
7
|
-
version = '18.
|
|
7
|
+
version = '18.2.0-canary-20250611-f0afe80'
|
|
8
8
|
|
|
9
9
|
android {
|
|
10
10
|
namespace "expo.modules.filesystem"
|
|
11
11
|
defaultConfig {
|
|
12
12
|
versionCode 30
|
|
13
|
-
versionName "18.
|
|
13
|
+
versionName "18.2.0-canary-20250611-f0afe80"
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -32,9 +32,15 @@ class FileSystemNextModule : Module() {
|
|
|
32
32
|
"bundleDirectory" to "asset:///"
|
|
33
33
|
)
|
|
34
34
|
|
|
35
|
-
AsyncFunction("downloadFileAsync") Coroutine { url: URI, to: FileSystemPath ->
|
|
35
|
+
AsyncFunction("downloadFileAsync") Coroutine { url: URI, to: FileSystemPath, options: DownloadOptionsNext? ->
|
|
36
36
|
to.validatePermission(Permission.WRITE)
|
|
37
|
-
val
|
|
37
|
+
val requestBuilder = Request.Builder().url(url.toURL())
|
|
38
|
+
|
|
39
|
+
options?.headers?.forEach { (key, value) ->
|
|
40
|
+
requestBuilder.addHeader(key, value)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
val request = requestBuilder.build()
|
|
38
44
|
val client = OkHttpClient()
|
|
39
45
|
val response = request.await(client)
|
|
40
46
|
|
package/build/FileSystem.d.ts
CHANGED
|
@@ -143,7 +143,7 @@ export declare function downloadAsync(uri: string, fileUri: string, options?: Do
|
|
|
143
143
|
*
|
|
144
144
|
* **Server**
|
|
145
145
|
*
|
|
146
|
-
*
|
|
146
|
+
* Refer to the "[Server: Handling multipart requests](#server-handling-multipart-requests)" example - there is code for a simple Node.js server.
|
|
147
147
|
* @return Returns a Promise that resolves to `FileSystemUploadResult` object.
|
|
148
148
|
*/
|
|
149
149
|
export declare function uploadAsync(url: string, fileUri: string, options?: FileSystemUploadOptions): Promise<FileSystemUploadResult>;
|
|
@@ -185,7 +185,7 @@ export declare class UploadTask extends FileSystemCancellableNetworkTask<UploadP
|
|
|
185
185
|
constructor(url: string, fileUri: string, options?: FileSystemUploadOptions, callback?: FileSystemNetworkTaskProgressCallback<UploadProgressData> | undefined);
|
|
186
186
|
protected getEventName(): string;
|
|
187
187
|
protected getCallback(): FileSystemNetworkTaskProgressCallback<UploadProgressData> | undefined;
|
|
188
|
-
uploadAsync(): Promise<FileSystemUploadResult | undefined>;
|
|
188
|
+
uploadAsync(): Promise<FileSystemUploadResult | undefined | null>;
|
|
189
189
|
}
|
|
190
190
|
export declare class DownloadResumable extends FileSystemCancellableNetworkTask<DownloadProgressData> {
|
|
191
191
|
private url;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../src/FileSystem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../src/FileSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { NativeModule } from 'expo-modules-core';
|
|
2
|
-
import type { Directory, File } from './ExpoFileSystem.types';
|
|
2
|
+
import type { Directory, File, DownloadOptions } from './ExpoFileSystem.types';
|
|
3
3
|
declare class ExpoFileSystemNextModule extends NativeModule {
|
|
4
4
|
FileSystemDirectory: typeof Directory;
|
|
5
5
|
FileSystemFile: typeof File;
|
|
6
|
-
downloadFileAsync(url: string, destination: File | Directory): Promise<string>;
|
|
6
|
+
downloadFileAsync(url: string, destination: File | Directory, options?: DownloadOptions): Promise<string>;
|
|
7
7
|
}
|
|
8
8
|
declare const _default: ExpoFileSystemNextModule;
|
|
9
9
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoFileSystem.d.ts","sourceRoot":"","sources":["../../src/next/ExpoFileSystem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpoFileSystem.d.ts","sourceRoot":"","sources":["../../src/next/ExpoFileSystem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG/E,OAAO,OAAO,wBAAyB,SAAQ,YAAY;IACzD,mBAAmB,EAAE,OAAO,SAAS,CAAC;IACtC,cAAc,EAAE,OAAO,IAAI,CAAC;IAC5B,iBAAiB,CACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,IAAI,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC;CACnB;;AAED,wBAEoE"}
|
|
@@ -68,6 +68,14 @@ export declare class Directory {
|
|
|
68
68
|
*/
|
|
69
69
|
list(): (Directory | File)[];
|
|
70
70
|
}
|
|
71
|
+
export type DownloadOptions = {
|
|
72
|
+
/**
|
|
73
|
+
* The headers to send with the request.
|
|
74
|
+
*/
|
|
75
|
+
headers?: {
|
|
76
|
+
[key: string]: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
71
79
|
/**
|
|
72
80
|
* Represents a file on the file system.
|
|
73
81
|
*/
|
|
@@ -147,7 +155,7 @@ export declare class File {
|
|
|
147
155
|
* const file = await File.downloadFileAsync("https://example.com/image.png", new Directory(Paths.document));
|
|
148
156
|
* ```
|
|
149
157
|
*/
|
|
150
|
-
static downloadFileAsync(url: string, destination: Directory | File): Promise<File>;
|
|
158
|
+
static downloadFileAsync(url: string, destination: Directory | File, options?: DownloadOptions): Promise<File>;
|
|
151
159
|
/**
|
|
152
160
|
* A size of the file in bytes. Null if the file does not exist, or it cannot be read.
|
|
153
161
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoFileSystem.types.d.ts","sourceRoot":"","sources":["../../src/next/ExpoFileSystem.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B;;;;;;;OAOG;gBACS,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAElD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,IAAI,IAAI;IAEpB;;;;OAIG;IACH,MAAM,IAAI,IAAI;IAEd;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAErC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;;;OAIG;IACH,aAAa,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE;IAEvD;;OAEG;IACH,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE;CAC7B;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB;;;;OAIG;gBACS,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAElD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,IAAI,IAAI;IAEpB;;;OAGG;IACH,IAAI,IAAI,MAAM;IAEd;;;OAGG;IACH,MAAM,IAAI,MAAM;IAEhB;;;OAGG;IACH,KAAK,IAAI,UAAU;IAEnB;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAEzC;;;;OAIG;IACH,MAAM,IAAI,IAAI;IAEd;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAErC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;;OAGG;IACH,IAAI,IAAI,UAAU;IAElB;;;;;;;;;OASG;IACH,MAAM,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ExpoFileSystem.types.d.ts","sourceRoot":"","sources":["../../src/next/ExpoFileSystem.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B;;;;;;;OAOG;gBACS,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAElD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,IAAI,IAAI;IAEpB;;;;OAIG;IACH,MAAM,IAAI,IAAI;IAEd;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAErC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;;;OAIG;IACH,aAAa,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE;IAEvD;;OAEG;IACH,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB;;;;OAIG;gBACS,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAElD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,IAAI,IAAI;IAEpB;;;OAGG;IACH,IAAI,IAAI,MAAM;IAEd;;;OAGG;IACH,MAAM,IAAI,MAAM;IAEhB;;;OAGG;IACH,KAAK,IAAI,UAAU;IAEnB;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAEzC;;;;OAIG;IACH,MAAM,IAAI,IAAI;IAEd;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAErC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;OAEG;IACH,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAEzC;;;OAGG;IACH,IAAI,IAAI,UAAU;IAElB;;;;;;;;;OASG;IACH,MAAM,CAAC,iBAAiB,CACtB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,SAAS,GAAG,IAAI,EAC7B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC;IAEhB;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAI7B,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAKrC,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAItB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../../src/next/FileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["../../src/next/FileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,KAAM,SAAQ,aAAa;IACtC;;OAEG;IACH,MAAM,KAAK,KAAK,cAEf;IAED;;OAEG;IACH,MAAM,KAAK,QAAQ,cAElB;IACD,MAAM,KAAK,qBAAqB,8BAS/B;CACF;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,IAAI;IAChC,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,GAAG,EAAE,MAAM,CAAc;gBAEb,IAAI,EAAE,IAAI;IAKtB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAInC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvB,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAIlC,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC;IAIpC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;CAGhE;AAED,qBAAa,IAAK,SAAQ,cAAc,CAAC,cAAc;IACrD;;;;;;;OAOG;gBACS,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAQlD,IAAI,IAAI,IAAI;IAOZ,IAAI,eAAe,cAElB;IAED;;;OAGG;IACH,IAAI,SAAS,WAEZ;IAED;;OAEG;IACH,IAAI,IAAI,WAEP;IAED,cAAc;IAId,cAAc;CAGf;AAYD;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,cAAc,CAAC,mBAAmB;IAC/D;;;;;;;OAOG;gBACS,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAQlD,IAAI,eAAe,cAElB;IAED;;;;OAIG;IACH,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE;IAO5B;;OAEG;IACH,IAAI,IAAI,WAEP;CACF"}
|
package/expo-module.config.json
CHANGED
|
@@ -16,10 +16,18 @@ public final class FileSystemNextModule: Module {
|
|
|
16
16
|
]
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
AsyncFunction("downloadFileAsync") { (url: URL, to: FileSystemPath, promise: Promise) in
|
|
19
|
+
AsyncFunction("downloadFileAsync") { (url: URL, to: FileSystemPath, options: DownloadOptionsNext?, promise: Promise) in
|
|
20
20
|
try to.validatePermission(.write)
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
var request = URLRequest(url: url)
|
|
23
|
+
|
|
24
|
+
if let headers = options?.headers {
|
|
25
|
+
headers.forEach { key, value in
|
|
26
|
+
request.addValue(value, forHTTPHeaderField: key)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
let downloadTask = URLSession.shared.downloadTask(with: request) { urlOrNil, responseOrNil, errorOrNil in
|
|
23
31
|
guard errorOrNil == nil else {
|
|
24
32
|
return promise.reject(UnableToDownloadException(errorOrNil?.localizedDescription ?? "unspecified error"))
|
|
25
33
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2003fc20bc6b10daed08f2422c631d05
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
411d53074267783a2c3abd5f70acc8ecfe206850
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0756e1e7fc3ed6c758e60d571776d16a91d67682c788082fc50f6bee8a24900c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
be40f9a68f6d8766f337229b387c4b9e019446c6b5034b222dbaeca22abe0aabc533f964aed61dc9bb32c251cfbf01def0ea36debbec0ee6ceb45e0fb271f414
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
714afc053c77e63be31a31618d09495c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
da887e7fa639fe2b40319061b5ff4d13f0f2bd62
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f7b382e83d36d7223b0b107881bf1b629072140bf85d20416a5240edcf3b8ead
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
494bbd18c43c3ec7930e9a2b8b60519ddac51f0db0e76e8e9e8a79368feaf05fac925801adb040de753f19ac5c349fa68a4cab6b1304aedfe6e8da6467c4ea39
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "host.exp.exponent",
|
|
5
5
|
"module": "expo.modules.filesystem",
|
|
6
|
-
"version": "18.
|
|
6
|
+
"version": "18.2.0-canary-20250611-f0afe80",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"createdBy": {
|
|
12
12
|
"gradle": {
|
|
13
|
-
"version": "8.
|
|
13
|
+
"version": "8.14"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"variants": [
|
|
@@ -68,13 +68,13 @@
|
|
|
68
68
|
],
|
|
69
69
|
"files": [
|
|
70
70
|
{
|
|
71
|
-
"name": "expo.modules.filesystem-18.
|
|
72
|
-
"url": "expo.modules.filesystem-18.
|
|
73
|
-
"size":
|
|
74
|
-
"sha512": "
|
|
75
|
-
"sha256": "
|
|
76
|
-
"sha1": "
|
|
77
|
-
"md5": "
|
|
71
|
+
"name": "expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar",
|
|
72
|
+
"url": "expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar",
|
|
73
|
+
"size": 292094,
|
|
74
|
+
"sha512": "494bbd18c43c3ec7930e9a2b8b60519ddac51f0db0e76e8e9e8a79368feaf05fac925801adb040de753f19ac5c349fa68a4cab6b1304aedfe6e8da6467c4ea39",
|
|
75
|
+
"sha256": "f7b382e83d36d7223b0b107881bf1b629072140bf85d20416a5240edcf3b8ead",
|
|
76
|
+
"sha1": "da887e7fa639fe2b40319061b5ff4d13f0f2bd62",
|
|
77
|
+
"md5": "714afc053c77e63be31a31618d09495c"
|
|
78
78
|
}
|
|
79
79
|
]
|
|
80
80
|
},
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"group": "org.jetbrains.kotlin",
|
|
92
92
|
"module": "kotlin-stdlib-jdk7",
|
|
93
93
|
"version": {
|
|
94
|
-
"requires": "2.
|
|
94
|
+
"requires": "2.1.20"
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
97
|
{
|
|
@@ -139,13 +139,13 @@
|
|
|
139
139
|
],
|
|
140
140
|
"files": [
|
|
141
141
|
{
|
|
142
|
-
"name": "expo.modules.filesystem-18.
|
|
143
|
-
"url": "expo.modules.filesystem-18.
|
|
144
|
-
"size":
|
|
145
|
-
"sha512": "
|
|
146
|
-
"sha256": "
|
|
147
|
-
"sha1": "
|
|
148
|
-
"md5": "
|
|
142
|
+
"name": "expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar",
|
|
143
|
+
"url": "expo.modules.filesystem-18.2.0-canary-20250611-f0afe80.aar",
|
|
144
|
+
"size": 292094,
|
|
145
|
+
"sha512": "494bbd18c43c3ec7930e9a2b8b60519ddac51f0db0e76e8e9e8a79368feaf05fac925801adb040de753f19ac5c349fa68a4cab6b1304aedfe6e8da6467c4ea39",
|
|
146
|
+
"sha256": "f7b382e83d36d7223b0b107881bf1b629072140bf85d20416a5240edcf3b8ead",
|
|
147
|
+
"sha1": "da887e7fa639fe2b40319061b5ff4d13f0f2bd62",
|
|
148
|
+
"md5": "714afc053c77e63be31a31618d09495c"
|
|
149
149
|
}
|
|
150
150
|
]
|
|
151
151
|
},
|
|
@@ -159,13 +159,13 @@
|
|
|
159
159
|
},
|
|
160
160
|
"files": [
|
|
161
161
|
{
|
|
162
|
-
"name": "expo.modules.filesystem-18.
|
|
163
|
-
"url": "expo.modules.filesystem-18.
|
|
164
|
-
"size":
|
|
165
|
-
"sha512": "
|
|
166
|
-
"sha256": "
|
|
167
|
-
"sha1": "
|
|
168
|
-
"md5": "
|
|
162
|
+
"name": "expo.modules.filesystem-18.2.0-canary-20250611-f0afe80-sources.jar",
|
|
163
|
+
"url": "expo.modules.filesystem-18.2.0-canary-20250611-f0afe80-sources.jar",
|
|
164
|
+
"size": 21472,
|
|
165
|
+
"sha512": "be40f9a68f6d8766f337229b387c4b9e019446c6b5034b222dbaeca22abe0aabc533f964aed61dc9bb32c251cfbf01def0ea36debbec0ee6ceb45e0fb271f414",
|
|
166
|
+
"sha256": "0756e1e7fc3ed6c758e60d571776d16a91d67682c788082fc50f6bee8a24900c",
|
|
167
|
+
"sha1": "411d53074267783a2c3abd5f70acc8ecfe206850",
|
|
168
|
+
"md5": "2003fc20bc6b10daed08f2422c631d05"
|
|
169
169
|
}
|
|
170
170
|
]
|
|
171
171
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
86ee64ab445efdc2fdfe3929ba32efed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4ea06e1c09cbe4991eec37a70264f4bd866ed64d
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4ab6b4b0d6b9c2cf7c04abfba21645ff1402d62b9f9e532859d06526e8edf1b7
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ddf7ac73db8a903cafffe83c7b6ff74635a83f8b0ae1b09d29581a1815b45d499ab4315b187e9e31b6d91494b612baeb3218520c57a5b6fc8067d8dc08096a19
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>host.exp.exponent</groupId>
|
|
11
11
|
<artifactId>expo.modules.filesystem</artifactId>
|
|
12
|
-
<version>18.
|
|
12
|
+
<version>18.2.0-canary-20250611-f0afe80</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.filesystem</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<dependency>
|
|
65
65
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
66
66
|
<artifactId>kotlin-stdlib-jdk7</artifactId>
|
|
67
|
-
<version>2.
|
|
67
|
+
<version>2.1.20</version>
|
|
68
68
|
<scope>runtime</scope>
|
|
69
69
|
</dependency>
|
|
70
70
|
</dependencies>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
7580b9e158bec1bfa30df5ba060ce920
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e8085458c8f098f5e9c9d54327c741b7b0019025
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c594b15b03a397a241565d9463a6c923d5640c3f7bd6ac79c675e0ca0ffe13f8
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0e3a64774f9f515403044f57fb7e37863190e880a6403b17c4c5c1cdd8b7d6eb3c20d2499b94b2a2963ef4d6af7f3194bc4c00557460135bf00647f7c220c591
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>host.exp.exponent</groupId>
|
|
4
4
|
<artifactId>expo.modules.filesystem</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>18.
|
|
7
|
-
<release>18.
|
|
6
|
+
<latest>18.2.0-canary-20250611-f0afe80</latest>
|
|
7
|
+
<release>18.2.0-canary-20250611-f0afe80</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>18.
|
|
9
|
+
<version>18.2.0-canary-20250611-f0afe80</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20250611221459</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
99f7403f0db043b3803dcf428ae6fcd4
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3194ceb9b37c61dbc263a780fd0683acc0690748
|
package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
cfa55f422bcc6d2982f8e6c81db34f47259edc1b9a331b7cbddd668bea4b7508
|
package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha512
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
b118dd795bb8a1b6d82bee321aa08cadaf90e6a58489d80ac50da29a22ea4d11a8775bd4549797debc0ac795c86650ca4c86be07b61f90a3e5b4cbb69fc462ad
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-file-system",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.2.0-canary-20250611-f0afe80",
|
|
4
4
|
"description": "Provides access to the local file system on the device.",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -35,12 +35,11 @@
|
|
|
35
35
|
"preset": "expo-module-scripts"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"expo-module-scripts": "
|
|
39
|
-
"jest-expo": "
|
|
38
|
+
"expo-module-scripts": "4.1.8-canary-20250611-f0afe80",
|
|
39
|
+
"jest-expo": "54.0.0-canary-20250611-f0afe80"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"expo": "
|
|
42
|
+
"expo": "54.0.0-canary-20250611-f0afe80",
|
|
43
43
|
"react-native": "*"
|
|
44
|
-
}
|
|
45
|
-
"gitHead": "a142a9fed1d84934aa4d54b500ad9c6d8d803c63"
|
|
44
|
+
}
|
|
46
45
|
}
|
package/src/FileSystem.ts
CHANGED
|
@@ -286,7 +286,7 @@ export async function downloadAsync(
|
|
|
286
286
|
*
|
|
287
287
|
* **Server**
|
|
288
288
|
*
|
|
289
|
-
*
|
|
289
|
+
* Refer to the "[Server: Handling multipart requests](#server-handling-multipart-requests)" example - there is code for a simple Node.js server.
|
|
290
290
|
* @return Returns a Promise that resolves to `FileSystemUploadResult` object.
|
|
291
291
|
*/
|
|
292
292
|
export async function uploadAsync(
|
|
@@ -433,7 +433,7 @@ export class UploadTask extends FileSystemCancellableNetworkTask<UploadProgressD
|
|
|
433
433
|
}
|
|
434
434
|
|
|
435
435
|
// @docsMissing
|
|
436
|
-
public async uploadAsync(): Promise<FileSystemUploadResult | undefined> {
|
|
436
|
+
public async uploadAsync(): Promise<FileSystemUploadResult | undefined | null> {
|
|
437
437
|
if (!ExponentFileSystem.uploadTaskStartAsync) {
|
|
438
438
|
throw new UnavailabilityError('expo-file-system', 'uploadTaskStartAsync');
|
|
439
439
|
}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { isRunningInExpoGo } from 'expo';
|
|
2
2
|
import { NativeModule, requireNativeModule } from 'expo-modules-core';
|
|
3
3
|
|
|
4
|
-
import type { Directory, File } from './ExpoFileSystem.types';
|
|
4
|
+
import type { Directory, File, DownloadOptions } from './ExpoFileSystem.types';
|
|
5
5
|
import ExpoGoFileSystemNextStub from './ExpoGoFileSystemNextStub';
|
|
6
6
|
|
|
7
7
|
declare class ExpoFileSystemNextModule extends NativeModule {
|
|
8
8
|
FileSystemDirectory: typeof Directory;
|
|
9
9
|
FileSystemFile: typeof File;
|
|
10
|
-
downloadFileAsync(
|
|
10
|
+
downloadFileAsync(
|
|
11
|
+
url: string,
|
|
12
|
+
destination: File | Directory,
|
|
13
|
+
options?: DownloadOptions
|
|
14
|
+
): Promise<string>;
|
|
11
15
|
}
|
|
12
16
|
|
|
13
17
|
export default isRunningInExpoGo()
|
|
@@ -76,6 +76,15 @@ export declare class Directory {
|
|
|
76
76
|
list(): (Directory | File)[];
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
export type DownloadOptions = {
|
|
80
|
+
/**
|
|
81
|
+
* The headers to send with the request.
|
|
82
|
+
*/
|
|
83
|
+
headers?: {
|
|
84
|
+
[key: string]: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
|
|
79
88
|
/**
|
|
80
89
|
* Represents a file on the file system.
|
|
81
90
|
*/
|
|
@@ -168,7 +177,11 @@ export declare class File {
|
|
|
168
177
|
* const file = await File.downloadFileAsync("https://example.com/image.png", new Directory(Paths.document));
|
|
169
178
|
* ```
|
|
170
179
|
*/
|
|
171
|
-
static downloadFileAsync(
|
|
180
|
+
static downloadFileAsync(
|
|
181
|
+
url: string,
|
|
182
|
+
destination: Directory | File,
|
|
183
|
+
options?: DownloadOptions
|
|
184
|
+
): Promise<File>;
|
|
172
185
|
|
|
173
186
|
/**
|
|
174
187
|
* A size of the file in bytes. Null if the file does not exist, or it cannot be read.
|
package/src/next/FileSystem.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ExpoFileSystem from './ExpoFileSystem';
|
|
2
|
+
import type { DownloadOptions } from './ExpoFileSystem.types';
|
|
2
3
|
import { PathUtilities } from './pathUtilities';
|
|
3
4
|
import { FileSystemReadableStreamSource, FileSystemWritableSink } from './streams';
|
|
4
5
|
|
|
@@ -20,7 +21,9 @@ export class Paths extends PathUtilities {
|
|
|
20
21
|
const containers: Record<string, string> = ExpoFileSystem.appleSharedContainers ?? {};
|
|
21
22
|
const result: Record<string, Directory> = {};
|
|
22
23
|
for (const appGroupId in containers) {
|
|
23
|
-
|
|
24
|
+
if (containers[appGroupId]) {
|
|
25
|
+
result[appGroupId] = new Directory(containers[appGroupId]);
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
return result;
|
|
26
29
|
}
|
|
@@ -131,8 +134,12 @@ export class File extends ExpoFileSystem.FileSystemFile {
|
|
|
131
134
|
}
|
|
132
135
|
|
|
133
136
|
// Cannot use `static` keyword in class declaration because of a runtime error.
|
|
134
|
-
File.downloadFileAsync = async function downloadFileAsync(
|
|
135
|
-
|
|
137
|
+
File.downloadFileAsync = async function downloadFileAsync(
|
|
138
|
+
url: string,
|
|
139
|
+
to: File | Directory,
|
|
140
|
+
options?: DownloadOptions
|
|
141
|
+
) {
|
|
142
|
+
const outputPath = await ExpoFileSystem.downloadFileAsync(url, to, options);
|
|
136
143
|
return new File(outputPath);
|
|
137
144
|
};
|
|
138
145
|
|
|
@@ -115,12 +115,12 @@ export function resolve(...args: string[]) {
|
|
|
115
115
|
const path = i >= 0 ? args[i] : '';
|
|
116
116
|
|
|
117
117
|
// Skip empty entries
|
|
118
|
-
if (path.length === 0) {
|
|
118
|
+
if (!path || path.length === 0) {
|
|
119
119
|
continue;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
resolvedPath = `${path}/${resolvedPath}`;
|
|
123
|
-
resolvedAbsolute = path.charAt(0) === '/';
|
|
123
|
+
resolvedAbsolute = !!(path && path.charAt(0) === '/');
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
// At this point the path should be resolved to a full absolute path, but
|
|
@@ -161,7 +161,7 @@ export function join(...args: string[]) {
|
|
|
161
161
|
const path: string[] = [];
|
|
162
162
|
for (let i = 0; i < args.length; ++i) {
|
|
163
163
|
const arg = args[i];
|
|
164
|
-
if (arg.length > 0) {
|
|
164
|
+
if (arg && arg.length > 0) {
|
|
165
165
|
path.push(arg);
|
|
166
166
|
}
|
|
167
167
|
}
|
package/src/next/streams.ts
CHANGED
|
@@ -37,7 +37,7 @@ export class FileSystemReadableStreamSource implements UnderlyingByteSource {
|
|
|
37
37
|
} else {
|
|
38
38
|
const array = new Uint8Array(theView.buffer);
|
|
39
39
|
for (let i = 0; i < bytes.length; i++) {
|
|
40
|
-
array[i + theView.byteOffset] = bytes[i]
|
|
40
|
+
array[i + (theView.byteOffset ?? 0)] = bytes[i]!;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
controller.byobRequest.respond(bytes.length);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
692b579f8230ae74f4dc759941f4cc08
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
f364bfeee6c89df87a522071524e8cabff62f4d0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ae6b3dbefd4db1d09f0107bd1c737035dd2fae41afb45bbdb84729349f330801
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a25e17199607459bc17961f70927fae632824312b10a36884baf1bcf444f2e9a2b7af63d9258625b13b3830aee357b7369d278b64857cffe78c3a6a0c97100d9
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2c1416051f9a66607afe11a9d6d4b71a
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
db64b2e9d31492a96a8976a0f062f07c0a9e8e8b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
bdd86090d95548fd75ec4d7f782443f5554390a327c4c230a25cfcb6a3ae6f33
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
21173389c01c041fcb43d25d72873cdd96fd4f00d0b0cad250d37c6b391d81a7e1f37010d4ac312660a66514c206829a2aeb2752c9ccfce642da0cd3a283d6ba
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
34de927e20fa715fd5e79a8c879a2ed5
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d8346996ecafbec04e8d6d18e097fbb42d280789
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
7d276fb8fde9fa5a370a70b5dfb07da31160d06904cab92814c3ff75f1285900
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
7e5d9497b5efd9f145d0d1d312f077d2f679643c3bc5264c74f64f8bf048ef301ada2e6ca02feb834383bf42209de9bccfdbbeb5f175f67090ab1ebe66273b9b
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
555785fc5ca1719bc1f12d68672874b0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
837a51d69397eb4d9f507c07a432e7260618a36a
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1e73700a2b9484606cba2ad099d3ebe9954c35f0dcaaf7cdeab27d39a1c22297
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
7896375b51c641eec1c1aa752a1f6025dc34099c04363dfa441fb0ffd741adca7b1405de304fca468165738faf4c0a7f0d924a2f8193f59bbda249778cab28cf
|