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.
Files changed (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/filesystem/next/FileSystemNextModule.kt +8 -2
  4. package/android/src/main/java/expo/modules/filesystem/next/FileSystemNextRecords.kt +5 -0
  5. package/build/FileSystem.d.ts +2 -2
  6. package/build/FileSystem.d.ts.map +1 -1
  7. package/build/next/ExpoFileSystem.d.ts +2 -2
  8. package/build/next/ExpoFileSystem.d.ts.map +1 -1
  9. package/build/next/ExpoFileSystem.types.d.ts +9 -1
  10. package/build/next/ExpoFileSystem.types.d.ts.map +1 -1
  11. package/build/next/FileSystem.d.ts.map +1 -1
  12. package/expo-module.config.json +1 -1
  13. package/ios/Next/FileSystemNextModule.swift +10 -2
  14. package/ios/Next/FileSystemNextRecords.swift +4 -0
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  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.aar.sha512 +1 -0
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml +4 -4
  36. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.md5 +1 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha1 +1 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha256 +1 -1
  39. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha512 +1 -1
  40. package/package.json +5 -6
  41. package/src/FileSystem.ts +2 -2
  42. package/src/next/ExpoFileSystem.ts +6 -2
  43. package/src/next/ExpoFileSystem.types.ts +14 -1
  44. package/src/next/FileSystem.ts +10 -3
  45. package/src/next/pathUtilities/path.ts +3 -3
  46. package/src/next/streams.ts +1 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.md5 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.sha1 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.sha256 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9-sources.jar.sha512 +0 -1
  51. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar +0 -0
  52. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.md5 +0 -1
  53. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.sha1 +0 -1
  54. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.sha256 +0 -1
  55. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.aar.sha512 +0 -1
  56. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.md5 +0 -1
  57. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.sha1 +0 -1
  58. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.sha256 +0 -1
  59. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.module.sha512 +0 -1
  60. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.pom.md5 +0 -1
  61. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.pom.sha1 +0 -1
  62. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/18.1.9/expo.modules.filesystem-18.1.9.pom.sha256 +0 -1
  63. 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._
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '18.1.9'
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.1.9"
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 request = Request.Builder().url(url.toURL()).build()
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
 
@@ -9,3 +9,8 @@ data class CreateOptions(
9
9
  @Field
10
10
  val overwrite: Boolean = false
11
11
  ) : Record
12
+
13
+ data class DownloadOptionsNext(
14
+ @Field
15
+ val headers: Map<String, String> = emptyMap()
16
+ ) : Record
@@ -143,7 +143,7 @@ export declare function downloadAsync(uri: string, fileUri: string, options?: Do
143
143
  *
144
144
  * **Server**
145
145
  *
146
- * Please refer to the "[Server: Handling multipart requests](#server-handling-multipart-requests)" example - there is code for a simple Node.js server.
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;AAG9D,OAAO,OAAO,wBAAyB,SAAQ,YAAY;IACzD,mBAAmB,EAAE,OAAO,SAAS,CAAC;IACtC,cAAc,EAAE,OAAO,IAAI,CAAC;IAC5B,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAC/E;;AAED,wBAEoE"}
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,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnF;;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
+ {"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;AAC9C,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,8BAO/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;AAQD;;;;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"}
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"}
@@ -12,7 +12,7 @@
12
12
  "publication": {
13
13
  "groupId": "host.exp.exponent",
14
14
  "artifactId": "expo.modules.filesystem",
15
- "version": "18.1.9",
15
+ "version": "18.2.0-canary-20250611-f0afe80",
16
16
  "repository": "local-maven-repo"
17
17
  }
18
18
  }
@@ -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
- let downloadTask = URLSession.shared.downloadTask(with: url) { urlOrNil, responseOrNil, errorOrNil in
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
  }
@@ -6,3 +6,7 @@ struct CreateOptions: Record {
6
6
  @Field var intermediates: Bool = false
7
7
  @Field var overwrite: Bool = false
8
8
  }
9
+
10
+ struct DownloadOptionsNext: Record {
11
+ @Field var headers: [String: String]?
12
+ }
@@ -0,0 +1 @@
1
+ be40f9a68f6d8766f337229b387c4b9e019446c6b5034b222dbaeca22abe0aabc533f964aed61dc9bb32c251cfbf01def0ea36debbec0ee6ceb45e0fb271f414
@@ -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.1.9",
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"
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.1.9.aar",
72
- "url": "expo.modules.filesystem-18.1.9.aar",
73
- "size": 289641,
74
- "sha512": "21173389c01c041fcb43d25d72873cdd96fd4f00d0b0cad250d37c6b391d81a7e1f37010d4ac312660a66514c206829a2aeb2752c9ccfce642da0cd3a283d6ba",
75
- "sha256": "bdd86090d95548fd75ec4d7f782443f5554390a327c4c230a25cfcb6a3ae6f33",
76
- "sha1": "db64b2e9d31492a96a8976a0f062f07c0a9e8e8b",
77
- "md5": "2c1416051f9a66607afe11a9d6d4b71a"
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.0.21"
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.1.9.aar",
143
- "url": "expo.modules.filesystem-18.1.9.aar",
144
- "size": 289641,
145
- "sha512": "21173389c01c041fcb43d25d72873cdd96fd4f00d0b0cad250d37c6b391d81a7e1f37010d4ac312660a66514c206829a2aeb2752c9ccfce642da0cd3a283d6ba",
146
- "sha256": "bdd86090d95548fd75ec4d7f782443f5554390a327c4c230a25cfcb6a3ae6f33",
147
- "sha1": "db64b2e9d31492a96a8976a0f062f07c0a9e8e8b",
148
- "md5": "2c1416051f9a66607afe11a9d6d4b71a"
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.1.9-sources.jar",
163
- "url": "expo.modules.filesystem-18.1.9-sources.jar",
164
- "size": 21383,
165
- "sha512": "a25e17199607459bc17961f70927fae632824312b10a36884baf1bcf444f2e9a2b7af63d9258625b13b3830aee357b7369d278b64857cffe78c3a6a0c97100d9",
166
- "sha256": "ae6b3dbefd4db1d09f0107bd1c737035dd2fae41afb45bbdb84729349f330801",
167
- "sha1": "f364bfeee6c89df87a522071524e8cabff62f4d0",
168
- "md5": "692b579f8230ae74f4dc759941f4cc08"
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
+ 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.1.9</version>
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.0.21</version>
67
+ <version>2.1.20</version>
68
68
  <scope>runtime</scope>
69
69
  </dependency>
70
70
  </dependencies>
@@ -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.1.9</latest>
7
- <release>18.1.9</release>
6
+ <latest>18.2.0-canary-20250611-f0afe80</latest>
7
+ <release>18.2.0-canary-20250611-f0afe80</release>
8
8
  <versions>
9
- <version>18.1.9</version>
9
+ <version>18.2.0-canary-20250611-f0afe80</version>
10
10
  </versions>
11
- <lastUpdated>20250503164730</lastUpdated>
11
+ <lastUpdated>20250611221459</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- e2c03307fddf803bdaf2f4813e81139b
1
+ 99f7403f0db043b3803dcf428ae6fcd4
@@ -1 +1 @@
1
- e54d1e92675e460c11ac62c82bb477e7f96f6e63
1
+ 3194ceb9b37c61dbc263a780fd0683acc0690748
@@ -1 +1 @@
1
- de2ef883a9c5f0a30e51840221a580ac382effa7f1c5b28061574b3e43ac982a
1
+ cfa55f422bcc6d2982f8e6c81db34f47259edc1b9a331b7cbddd668bea4b7508
@@ -1 +1 @@
1
- 4a7a8faf2616d880b7f54e7ae80f5ba3d059d25a07413c8d1abc78760fe3f609231a660c0a24e8ea150deb0bd7fa4f6039332cb19214a5db284f90b4b1f3cb13
1
+ b118dd795bb8a1b6d82bee321aa08cadaf90e6a58489d80ac50da29a22ea4d11a8775bd4549797debc0ac795c86650ca4c86be07b61f90a3e5b4cbb69fc462ad
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-file-system",
3
- "version": "18.1.9",
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": "^4.1.6",
39
- "jest-expo": "~53.0.4"
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
- * Please refer to the "[Server: Handling multipart requests](#server-handling-multipart-requests)" example - there is code for a simple Node.js server.
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(url: string, destination: File | Directory): Promise<string>;
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(url: string, destination: Directory | File): Promise<File>;
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.
@@ -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
- result[appGroupId] = new Directory(containers[appGroupId]);
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(url: string, to: File | Directory) {
135
- const outputPath = await ExpoFileSystem.downloadFileAsync(url, to);
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
  }
@@ -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
- ae6b3dbefd4db1d09f0107bd1c737035dd2fae41afb45bbdb84729349f330801
@@ -1 +0,0 @@
1
- a25e17199607459bc17961f70927fae632824312b10a36884baf1bcf444f2e9a2b7af63d9258625b13b3830aee357b7369d278b64857cffe78c3a6a0c97100d9
@@ -1 +0,0 @@
1
- bdd86090d95548fd75ec4d7f782443f5554390a327c4c230a25cfcb6a3ae6f33
@@ -1 +0,0 @@
1
- 21173389c01c041fcb43d25d72873cdd96fd4f00d0b0cad250d37c6b391d81a7e1f37010d4ac312660a66514c206829a2aeb2752c9ccfce642da0cd3a283d6ba
@@ -1 +0,0 @@
1
- 7d276fb8fde9fa5a370a70b5dfb07da31160d06904cab92814c3ff75f1285900
@@ -1 +0,0 @@
1
- 7e5d9497b5efd9f145d0d1d312f077d2f679643c3bc5264c74f64f8bf048ef301ada2e6ca02feb834383bf42209de9bccfdbbeb5f175f67090ab1ebe66273b9b
@@ -1 +0,0 @@
1
- 1e73700a2b9484606cba2ad099d3ebe9954c35f0dcaaf7cdeab27d39a1c22297
@@ -1 +0,0 @@
1
- 7896375b51c641eec1c1aa752a1f6025dc34099c04363dfa441fb0ffd741adca7b1405de304fca468165738faf4c0a7f0d924a2f8193f59bbda249778cab28cf