react-native-cloud-storage 1.1.0 → 1.2.2

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 (43) hide show
  1. package/README.md +1 -1
  2. package/ios/CloudStorage-Bridging-Header.h +1 -0
  3. package/ios/CloudStorage.m +1 -0
  4. package/ios/CloudStorage.swift +32 -0
  5. package/ios/CloudStorage.xcodeproj/project.pbxproj +6 -0
  6. package/ios/CloudStorageEventEmitter.m +16 -0
  7. package/ios/CloudStorageEventEmitter.swift +30 -0
  8. package/lib/commonjs/RNCloudStorage.js +10 -1
  9. package/lib/commonjs/RNCloudStorage.js.map +1 -1
  10. package/lib/commonjs/google-drive/index.js +10 -0
  11. package/lib/commonjs/google-drive/index.js.map +1 -1
  12. package/lib/commonjs/hooks/useCloudFile.js +10 -2
  13. package/lib/commonjs/hooks/useCloudFile.js.map +1 -1
  14. package/lib/commonjs/hooks/useIsCloudAvailable.js +23 -17
  15. package/lib/commonjs/hooks/useIsCloudAvailable.js.map +1 -1
  16. package/lib/commonjs/types/native.js +1 -0
  17. package/lib/commonjs/types/native.js.map +1 -1
  18. package/lib/module/RNCloudStorage.js +10 -1
  19. package/lib/module/RNCloudStorage.js.map +1 -1
  20. package/lib/module/google-drive/index.js +10 -0
  21. package/lib/module/google-drive/index.js.map +1 -1
  22. package/lib/module/hooks/useCloudFile.js +10 -2
  23. package/lib/module/hooks/useCloudFile.js.map +1 -1
  24. package/lib/module/hooks/useIsCloudAvailable.js +24 -17
  25. package/lib/module/hooks/useIsCloudAvailable.js.map +1 -1
  26. package/lib/module/types/native.js +1 -0
  27. package/lib/module/types/native.js.map +1 -1
  28. package/lib/typescript/RNCloudStorage.d.ts +8 -1
  29. package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
  30. package/lib/typescript/google-drive/index.d.ts +1 -0
  31. package/lib/typescript/google-drive/index.d.ts.map +1 -1
  32. package/lib/typescript/hooks/useCloudFile.d.ts +6 -1
  33. package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
  34. package/lib/typescript/hooks/useIsCloudAvailable.d.ts +6 -1
  35. package/lib/typescript/hooks/useIsCloudAvailable.d.ts.map +1 -1
  36. package/lib/typescript/types/native.d.ts +2 -0
  37. package/lib/typescript/types/native.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/src/RNCloudStorage.ts +12 -2
  40. package/src/google-drive/index.ts +12 -1
  41. package/src/hooks/useCloudFile.ts +10 -1
  42. package/src/hooks/useIsCloudAvailable.ts +28 -17
  43. package/src/types/native.ts +2 -0
package/README.md CHANGED
@@ -14,7 +14,7 @@ yarn add react-native-cloud-storage
14
14
 
15
15
  ## Documentation
16
16
 
17
- The documentation is located [here](https://react-native-cloud-storage.vercel.app/docs/intro).
17
+ The documentation is located [here](https://react-native-cloud-storage.oss.kuatsu.de/docs/intro).
18
18
 
19
19
  ## Contributing
20
20
 
@@ -1,2 +1,3 @@
1
1
  #import <React/RCTBridgeModule.h>
2
2
  #import <React/RCTViewManager.h>
3
+ #import <React/RCTEventEmitter.h>
@@ -8,6 +8,7 @@ RCT_EXTERN_METHOD(createFile:(NSString *)path withData:(NSString *)data withScop
8
8
  RCT_EXTERN_METHOD(createDirectory:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
9
9
  RCT_EXTERN_METHOD(listFiles:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
10
10
  RCT_EXTERN_METHOD(readFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
11
+ RCT_EXTERN_METHOD(downloadFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
11
12
  RCT_EXTERN_METHOD(deleteFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
12
13
  RCT_EXTERN_METHOD(statFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
13
14
  RCT_EXTERN_METHOD(isCloudAvailable:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
@@ -123,6 +123,38 @@ class CloudStorage: NSObject {
123
123
  }
124
124
  }
125
125
 
126
+ @objc(downloadFile:withScope:withResolver:withRejecter:)
127
+ func downloadFile(path: String, scope: String, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
128
+ let fileManager = FileManager.default
129
+
130
+ guard let directory = getDirectory(scope) else {
131
+ reject("ERR_READ_ERROR", "Error reading directory \(scope)", NSError())
132
+ return
133
+ }
134
+
135
+ // remove leading slashes
136
+ let path = path.replacingOccurrences(of: "^/+", with: "", options: .regularExpression)
137
+
138
+ // append path to scope directory and return URL
139
+ let filePath = directory.appendingPathComponent(path)
140
+
141
+ let isDownloadable = fileManager.isUbiquitousItem(at: filePath)
142
+
143
+ if (!isDownloadable) {
144
+ reject("ERR_FILE_NOT_DOWNLOADABLE", "File or directory \(path) is not an iCloud file", NSError())
145
+ return
146
+ }
147
+ do {
148
+ // trigger download of file
149
+ try fileManager.startDownloadingUbiquitousItem(at: filePath)
150
+ } catch {
151
+ reject("ERR_FILE_NOT_DOWNLOADABLE", "File or directory \(path) not downloadable", error)
152
+ return
153
+ }
154
+ resolve(true)
155
+ }
156
+
157
+
126
158
  @objc(deleteFile:withScope:withResolver:withRejecter:)
127
159
  func deleteFile(path: String, scope: String, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
128
160
  let fileUrl: URL?
@@ -7,6 +7,7 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
+ 50ADE3732B56EE1300DB5583 /* CloudStorageEventEmitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5009AB9B2B56ECD30058E83A /* CloudStorageEventEmitter.swift */; };
10
11
  F4FF95D7245B92E800C19C63 /* CloudStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* CloudStorage.swift */; };
11
12
  /* End PBXBuildFile section */
12
13
 
@@ -24,6 +25,8 @@
24
25
 
25
26
  /* Begin PBXFileReference section */
26
27
  134814201AA4EA6300B7C361 /* libCloudStorage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCloudStorage.a; sourceTree = BUILT_PRODUCTS_DIR; };
28
+ 5009AB9B2B56ECD30058E83A /* CloudStorageEventEmitter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudStorageEventEmitter.swift; sourceTree = "<group>"; };
29
+ 50ADE3712B56EDFB00DB5583 /* CloudStorageEventEmitter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CloudStorageEventEmitter.m; sourceTree = "<group>"; };
27
30
  B3E7B5891CC2AC0600A0062D /* CloudStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CloudStorage.m; sourceTree = "<group>"; };
28
31
  F4FF95D5245B92E700C19C63 /* CloudStorage-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CloudStorage-Bridging-Header.h"; sourceTree = "<group>"; };
29
32
  F4FF95D6245B92E800C19C63 /* CloudStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudStorage.swift; sourceTree = "<group>"; };
@@ -51,6 +54,8 @@
51
54
  58B511D21A9E6C8500147676 = {
52
55
  isa = PBXGroup;
53
56
  children = (
57
+ 50ADE3712B56EDFB00DB5583 /* CloudStorageEventEmitter.m */,
58
+ 5009AB9B2B56ECD30058E83A /* CloudStorageEventEmitter.swift */,
54
59
  F4FF95D6245B92E800C19C63 /* CloudStorage.swift */,
55
60
  B3E7B5891CC2AC0600A0062D /* CloudStorage.m */,
56
61
  F4FF95D5245B92E700C19C63 /* CloudStorage-Bridging-Header.h */,
@@ -116,6 +121,7 @@
116
121
  buildActionMask = 2147483647;
117
122
  files = (
118
123
  F4FF95D7245B92E800C19C63 /* CloudStorage.swift in Sources */,
124
+ 50ADE3732B56EE1300DB5583 /* CloudStorageEventEmitter.swift in Sources */,
119
125
  );
120
126
  runOnlyForDeploymentPostprocessing = 0;
121
127
  };
@@ -0,0 +1,16 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTEventEmitter.h>
3
+
4
+ @interface RCT_EXTERN_MODULE(CloudStorageEventEmitter, RCTEventEmitter)
5
+
6
+ RCT_EXTERN_METHOD(supportedEvents)
7
+ RCT_EXTERN_METHOD(startObserving)
8
+ RCT_EXTERN_METHOD(stopObserving)
9
+ RCT_EXTERN_METHOD(iCloudIdentityChanged)
10
+
11
+ + (BOOL)requiresMainQueueSetup
12
+ {
13
+ return NO;
14
+ }
15
+
16
+ @end
@@ -0,0 +1,30 @@
1
+ import Foundation
2
+
3
+ @objc(CloudStorageEventEmitter)
4
+ class CloudStorageEventEmitter: RCTEventEmitter {
5
+ public static var shared: CloudStorageEventEmitter!
6
+
7
+ override init() {
8
+ super.init()
9
+ CloudStorageEventEmitter.shared = self
10
+ }
11
+
12
+ override func supportedEvents() -> [String]! {
13
+ return ["RNCloudStorage.cloud.availability-changed"]
14
+ }
15
+
16
+ override func startObserving() {
17
+ NotificationCenter.default.addObserver(self, selector: #selector(iCloudIdentityChanged(_:)), name: NSNotification.Name.NSUbiquityIdentityDidChange, object: nil)
18
+ // call this immediately after init to trigger an initial value being sent to the JS side
19
+ iCloudIdentityChanged()
20
+ }
21
+
22
+ override func stopObserving() {
23
+ NotificationCenter.default.removeObserver(self, name: NSNotification.Name.NSUbiquityIdentityDidChange, object: nil)
24
+ }
25
+
26
+ @objc func iCloudIdentityChanged(_ notification: Notification? = nil) {
27
+ let token = FileManager.default.ubiquityIdentityToken
28
+ CloudStorageEventEmitter.shared.sendEvent(withName: "RNCloudStorage.cloud.availability-changed", body: ["available": token != nil])
29
+ }
30
+ }
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _reactNative = require("react-native");
7
8
  var _createRNCloudStorage = _interopRequireDefault(require("./createRNCloudStorage"));
8
9
  var _googleDrive = _interopRequireDefault(require("./google-drive"));
9
10
  var _main = require("./types/main");
10
- var _reactNative = require("react-native");
11
11
  var _helpers = require("./utils/helpers");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  const nativeInstance = (0, _createRNCloudStorage.default)();
@@ -90,6 +90,15 @@ const RNCloudStorage = {
90
90
  readFile: (path, scope) => {
91
91
  return nativeInstance.readFile((0, _helpers.verifyLeadingSlash)(path), scope ?? defaultScope);
92
92
  },
93
+ /**
94
+ * Downloads the file at the given path from iCloud. Does not have any effect on Google Drive.
95
+ * @param path The file to trigger the download for.
96
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
97
+ * @returns A promise that resolves once the download has been triggered.
98
+ */
99
+ downloadFile: (path, scope) => {
100
+ return nativeInstance.downloadFile((0, _helpers.verifyLeadingSlash)(path), scope ?? defaultScope);
101
+ },
93
102
  /**
94
103
  * Deletes the file at the given path.
95
104
  * @param path The file to delete.
@@ -1 +1 @@
1
- {"version":3,"names":["_createRNCloudStorage","_interopRequireDefault","require","_googleDrive","_main","_reactNative","_helpers","obj","__esModule","default","nativeInstance","createRNCloudStorage","defaultScope","CloudStorageScope","AppData","RNCloudStorage","getDefaultScope","setDefaultScope","scope","getGoogleDriveAccessToken","GoogleDriveApiClient","accessToken","setGoogleDriveAccessToken","setThrowOnFilesWithSameName","enable","throwOnFilesWithSameName","subscribeToFilesWithSameName","Platform","OS","subscriber","remove","bind","isCloudAvailable","appendFile","path","data","appendToFile","verifyLeadingSlash","exists","fileExists","writeFile","createFile","mkdir","createDirectory","readdir","listFiles","readFile","unlink","deleteFile","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile","_default","exports"],"sourceRoot":"../../src","sources":["RNCloudStorage.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_createRNCloudStorage","_interopRequireDefault","_googleDrive","_main","_helpers","obj","__esModule","default","nativeInstance","createRNCloudStorage","defaultScope","CloudStorageScope","AppData","RNCloudStorage","getDefaultScope","setDefaultScope","scope","getGoogleDriveAccessToken","GoogleDriveApiClient","accessToken","setGoogleDriveAccessToken","setThrowOnFilesWithSameName","enable","throwOnFilesWithSameName","subscribeToFilesWithSameName","Platform","OS","subscriber","remove","bind","isCloudAvailable","appendFile","path","data","appendToFile","verifyLeadingSlash","exists","fileExists","writeFile","createFile","mkdir","createDirectory","readdir","listFiles","readFile","downloadFile","unlink","deleteFile","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile","_default","exports"],"sourceRoot":"../../src","sources":["RNCloudStorage.ts"],"mappings":"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"}
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var _reactNativeGoogleDriveApiWrapperJs = require("react-native-google-drive-api-wrapper-js");
8
8
  var _native = require("../types/native");
9
9
  var _CloudStorageError = _interopRequireDefault(require("../utils/CloudStorageError"));
10
+ var _reactNative = require("react-native");
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12
  class GoogleDriveApiClient {
12
13
  static drive = new _reactNativeGoogleDriveApiWrapperJs.GDrive();
@@ -31,6 +32,11 @@ class GoogleDriveApiClient {
31
32
  // when setting accessToken, set it on the GDrive instance
32
33
  static set accessToken(accessToken) {
33
34
  GoogleDriveApiClient.drive.accessToken = accessToken;
35
+
36
+ // emit an event for the useIsCloudAvailable hook
37
+ _reactNative.DeviceEventEmitter.emit('RNCloudStorage.cloud.availability-changed', {
38
+ available: !!(accessToken !== null && accessToken !== void 0 && accessToken.length)
39
+ });
34
40
  }
35
41
  static get accessToken() {
36
42
  return GoogleDriveApiClient.drive.accessToken;
@@ -290,6 +296,10 @@ class GoogleDriveApiClient {
290
296
  const content = await GoogleDriveApiClient.drive.files.getText(fileId);
291
297
  return content;
292
298
  }
299
+ async downloadFile(_path, _scope) {
300
+ // Not doing anything here, just a placeholder to conform to the interface so it doesn't fail on Android
301
+ return;
302
+ }
293
303
  async deleteFile(path, scope) {
294
304
  const fileId = await this.getFileId(path, scope);
295
305
  await GoogleDriveApiClient.drive.files.delete(fileId);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeGoogleDriveApiWrapperJs","require","_native","_CloudStorageError","_interopRequireDefault","obj","__esModule","default","GoogleDriveApiClient","drive","GDrive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","fetchTimeout","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","CloudStorageError","CloudStorageErrorCode","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","_GoogleDriveApiClient","length","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","MimeTypes","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listInternalFiles","file","list","spaces","fields","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIfDirectory","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","HttpError","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getText","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","createFile","overwrite","FILE_ALREADY_EXISTS","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","deleteFile","delete","statFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile","exports"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNativeGoogleDriveApiWrapperJs","require","_native","_CloudStorageError","_interopRequireDefault","_reactNative","obj","__esModule","default","GoogleDriveApiClient","drive","GDrive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","fetchTimeout","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","CloudStorageError","CloudStorageErrorCode","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","DeviceEventEmitter","emit","available","length","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","_GoogleDriveApiClient","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","MimeTypes","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listInternalFiles","file","list","spaces","fields","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIfDirectory","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","HttpError","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getText","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","createFile","overwrite","FILE_ALREADY_EXISTS","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","downloadFile","_path","_scope","deleteFile","delete","statFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile","exports"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
@@ -11,7 +11,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
  * A utility hook for reading and writing to a single file in the cloud.
12
12
  * @param path The path to the file.
13
13
  * @param scope The directory scope the path is in. If not provided, defaults to the default scope set in the library.
14
- * @returns An object containing the file's contents and functions for reading, writing, and removing the file.
14
+ * @returns An object containing the file's contents and functions for downloading, reading, writing, and removing the file.
15
15
  */
16
16
  const useCloudFile = (path, scope) => {
17
17
  const [content, setContent] = (0, _react.useState)(null);
@@ -34,6 +34,9 @@ const useCloudFile = (path, scope) => {
34
34
  await _RNCloudStorage.default.unlink(path, scope);
35
35
  setContent(null);
36
36
  }, [path, scope]);
37
+ const download = (0, _react.useCallback)(async () => {
38
+ await _RNCloudStorage.default.downloadFile(path, scope);
39
+ }, [path, scope]);
37
40
  return {
38
41
  content,
39
42
  read,
@@ -43,7 +46,12 @@ const useCloudFile = (path, scope) => {
43
46
  * @deprecated Use `write` instead.
44
47
  * @alias write
45
48
  */
46
- update: write
49
+ update: write,
50
+ /**
51
+ * Downloads the file from iCloud to the device. Needed if the file hasn't been synced yet. Has no effect on
52
+ * Google Drive.
53
+ */
54
+ download
47
55
  };
48
56
  };
49
57
  exports.useCloudFile = useCloudFile;
@@ -1 +1 @@
1
- {"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_react","obj","__esModule","default","useCloudFile","path","scope","content","setContent","useState","read","useCallback","exists","RNCloudStorage","readFile","then","useEffect","write","newContent","writeFile","remove","unlink","update","exports"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,KAAK;EACvE,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EAE3D,MAAMC,IAAI,GAAG,IAAAC,kBAAW,EAAC,YAAY;IACnC,MAAMC,MAAM,GAAG,MAAMC,uBAAc,CAACD,MAAM,CAACP,IAAI,EAAEC,KAAK,CAAC;IACvD,IAAI,CAACM,MAAM,EAAE;MACXJ,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAK,uBAAc,CAACC,QAAQ,CAACT,IAAI,EAAEC,KAAK,CAAC,CAACS,IAAI,CAACP,UAAU,CAAC;EACvD,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,IAAAU,gBAAS,EAAC,MAAM;IACdN,IAAI,EAAE;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMO,KAAK,GAAG,IAAAN,kBAAW,EACvB,MAAOO,UAAkB,IAAK;IAC5B,MAAML,uBAAc,CAACM,SAAS,CAACd,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;IACvDI,IAAI,EAAE;EACR,CAAC,EACD,CAACL,IAAI,EAAEC,KAAK,EAAEI,IAAI,CAAC,CACpB;EAED,MAAMU,MAAM,GAAG,IAAAT,kBAAW,EAAC,YAAY;IACrC,MAAME,uBAAc,CAACQ,MAAM,CAAChB,IAAI,EAAEC,KAAK,CAAC;IACxCE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,OAAO;IACLC,OAAO;IACPG,IAAI;IACJO,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACIE,MAAM,EAAEL;EACV,CAAC;AACH,CAAC;AAACM,OAAA,CAAAnB,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_react","obj","__esModule","default","useCloudFile","path","scope","content","setContent","useState","read","useCallback","exists","RNCloudStorage","readFile","then","useEffect","write","newContent","writeFile","remove","unlink","download","downloadFile","update","exports"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,KAAK;EACvE,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EAE3D,MAAMC,IAAI,GAAG,IAAAC,kBAAW,EAAC,YAAY;IACnC,MAAMC,MAAM,GAAG,MAAMC,uBAAc,CAACD,MAAM,CAACP,IAAI,EAAEC,KAAK,CAAC;IACvD,IAAI,CAACM,MAAM,EAAE;MACXJ,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAK,uBAAc,CAACC,QAAQ,CAACT,IAAI,EAAEC,KAAK,CAAC,CAACS,IAAI,CAACP,UAAU,CAAC;EACvD,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,IAAAU,gBAAS,EAAC,MAAM;IACdN,IAAI,EAAE;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMO,KAAK,GAAG,IAAAN,kBAAW,EACvB,MAAOO,UAAkB,IAAK;IAC5B,MAAML,uBAAc,CAACM,SAAS,CAACd,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;IACvDI,IAAI,EAAE;EACR,CAAC,EACD,CAACL,IAAI,EAAEC,KAAK,EAAEI,IAAI,CAAC,CACpB;EAED,MAAMU,MAAM,GAAG,IAAAT,kBAAW,EAAC,YAAY;IACrC,MAAME,uBAAc,CAACQ,MAAM,CAAChB,IAAI,EAAEC,KAAK,CAAC;IACxCE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,MAAMgB,QAAQ,GAAG,IAAAX,kBAAW,EAAC,YAAY;IACvC,MAAME,uBAAc,CAACU,YAAY,CAAClB,IAAI,EAAEC,KAAK,CAAC;EAChD,CAAC,EAAE,CAACD,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,OAAO;IACLC,OAAO;IACPG,IAAI;IACJO,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACII,MAAM,EAAEP,KAAK;IACb;AACJ;AACA;AACA;IACIK;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAArB,YAAA,GAAAA,YAAA"}
@@ -6,27 +6,33 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useIsCloudAvailable = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
- var _RNCloudStorage = _interopRequireDefault(require("../RNCloudStorage"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- // TODO: there must be a better way to do this without a timeout?
12
- const useIsCloudAvailable = function () {
13
- let iCloudTimeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
9
+ /**
10
+ * A hook that tests whether or not the cloud storage is available.
11
+ * @param _iCloudTimeout DEPRECATED: This parameter is deprecated and has no effect. It will be removed in a future version.
12
+ * @returns A boolean indicating whether or not the cloud storage is available.
13
+ */
14
+ const useIsCloudAvailable = _iCloudTimeout => {
14
15
  const [isAvailable, setIsAvailable] = (0, _react.useState)(false);
15
16
  (0, _react.useEffect)(() => {
16
- const interval = setInterval(async () => {
17
- const newIsAvailable = await _RNCloudStorage.default.isCloudAvailable();
18
- setIsAvailable(newIsAvailable);
19
- if (_reactNative.Platform.OS === 'ios' && newIsAvailable) {
20
- clearInterval(interval);
21
- }
22
- }, 500);
17
+ // Listen for changes to the cloud availability using the native event emitter
18
+ let eventEmitter;
23
19
  if (_reactNative.Platform.OS === 'ios') {
24
- setTimeout(() => {
25
- clearInterval(interval);
26
- }, iCloudTimeout * 1000);
20
+ eventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.CloudStorageEventEmitter);
21
+ } else {
22
+ eventEmitter = _reactNative.DeviceEventEmitter;
27
23
  }
28
- return () => clearInterval(interval);
29
- }, [iCloudTimeout]);
24
+ eventEmitter.addListener('RNCloudStorage.cloud.availability-changed', event => {
25
+ setIsAvailable(event.available);
26
+ });
27
+ return () => {
28
+ eventEmitter.removeAllListeners('RNCloudStorage.cloud.availability-changed');
29
+ };
30
+ }, []);
31
+ (0, _react.useEffect)(() => {
32
+ if (_iCloudTimeout !== undefined) {
33
+ console.warn('The iCloudTimeout parameter for useIsCloudFile is deprecated and has no effect. It will be removed in a future version. Please remove it from your code.');
34
+ }
35
+ }, [_iCloudTimeout]);
30
36
  return isAvailable;
31
37
  };
32
38
  exports.useIsCloudAvailable = useIsCloudAvailable;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_RNCloudStorage","_interopRequireDefault","obj","__esModule","default","useIsCloudAvailable","iCloudTimeout","arguments","length","undefined","isAvailable","setIsAvailable","useState","useEffect","interval","setInterval","newIsAvailable","RNCloudStorage","isCloudAvailable","Platform","OS","clearInterval","setTimeout","exports"],"sourceRoot":"../../../src","sources":["hooks/useIsCloudAvailable.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA+C,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/C;AACO,MAAMG,mBAAmB,GAAG,SAAAA,CAAA,EAAwB;EAAA,IAAvBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EACpD,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAGC,WAAW,CAAC,YAAY;MACvC,MAAMC,cAAc,GAAG,MAAMC,uBAAc,CAACC,gBAAgB,EAAE;MAC9DP,cAAc,CAACK,cAAc,CAAC;MAC9B,IAAIG,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIJ,cAAc,EAAE;QAC3CK,aAAa,CAACP,QAAQ,CAAC;MACzB;IACF,CAAC,EAAE,GAAG,CAAC;IAEP,IAAIK,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBE,UAAU,CAAC,MAAM;QACfD,aAAa,CAACP,QAAQ,CAAC;MACzB,CAAC,EAAER,aAAa,GAAG,IAAI,CAAC;IAC1B;IAEA,OAAO,MAAMe,aAAa,CAACP,QAAQ,CAAC;EACtC,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,OAAOI,WAAW;AACpB,CAAC;AAACa,OAAA,CAAAlB,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"names":["_react","require","_reactNative","useIsCloudAvailable","_iCloudTimeout","isAvailable","setIsAvailable","useState","useEffect","eventEmitter","Platform","OS","NativeEventEmitter","NativeModules","CloudStorageEventEmitter","DeviceEventEmitter","addListener","event","available","removeAllListeners","undefined","console","warn","exports"],"sourceRoot":"../../../src","sources":["hooks/useIsCloudAvailable.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAME,mBAAmB,GAAIC,cAAuB,IAAK;EAC9D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM;IACd;IACA,IAAIC,YAA4D;IAChE,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBF,YAAY,GAAG,IAAIG,+BAAkB,CAACC,0BAAa,CAACC,wBAAwB,CAAC;IAC/E,CAAC,MAAM;MACLL,YAAY,GAAGM,+BAAkB;IACnC;IAEAN,YAAY,CAACO,WAAW,CAAC,2CAA2C,EAAGC,KAA6B,IAAK;MACvGX,cAAc,CAACW,KAAK,CAACC,SAAS,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXT,YAAY,CAACU,kBAAkB,CAAC,2CAA2C,CAAC;IAC9E,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAX,gBAAS,EAAC,MAAM;IACd,IAAIJ,cAAc,KAAKgB,SAAS,EAAE;MAChCC,OAAO,CAACC,IAAI,CACV,0JAA0J,CAC3J;IACH;EACF,CAAC,EAAE,CAAClB,cAAc,CAAC,CAAC;EAEpB,OAAOC,WAAW;AACpB,CAAC;AAACkB,OAAA,CAAApB,mBAAA,GAAAA,mBAAA"}
@@ -16,6 +16,7 @@ let CloudStorageErrorCode = /*#__PURE__*/function (CloudStorageErrorCode) {
16
16
  CloudStorageErrorCode["DELETE_ERROR"] = "ERR_DELETE_ERROR";
17
17
  CloudStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
18
18
  CloudStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
19
+ CloudStorageErrorCode["FILE_NOT_DOWNLOADABLE"] = "ERR_FILE_NOT_DOWNLOADABLE";
19
20
  CloudStorageErrorCode["GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"] = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING";
20
21
  return CloudStorageErrorCode;
21
22
  }({});
@@ -1 +1 @@
1
- {"version":3,"names":["CloudStorageErrorCode","exports"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":";;;;;;IAUYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAAAC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"names":["CloudStorageErrorCode","exports"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":";;;;;;IAUYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAAAC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA"}
@@ -1,7 +1,7 @@
1
+ import { Platform } from 'react-native';
1
2
  import createRNCloudStorage from './createRNCloudStorage';
2
3
  import GoogleDriveApiClient from './google-drive';
3
4
  import { CloudStorageScope } from './types/main';
4
- import { Platform } from 'react-native';
5
5
  import { verifyLeadingSlash } from './utils/helpers';
6
6
  const nativeInstance = createRNCloudStorage();
7
7
  let defaultScope = CloudStorageScope.AppData;
@@ -83,6 +83,15 @@ const RNCloudStorage = {
83
83
  readFile: (path, scope) => {
84
84
  return nativeInstance.readFile(verifyLeadingSlash(path), scope ?? defaultScope);
85
85
  },
86
+ /**
87
+ * Downloads the file at the given path from iCloud. Does not have any effect on Google Drive.
88
+ * @param path The file to trigger the download for.
89
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
90
+ * @returns A promise that resolves once the download has been triggered.
91
+ */
92
+ downloadFile: (path, scope) => {
93
+ return nativeInstance.downloadFile(verifyLeadingSlash(path), scope ?? defaultScope);
94
+ },
86
95
  /**
87
96
  * Deletes the file at the given path.
88
97
  * @param path The file to delete.
@@ -1 +1 @@
1
- {"version":3,"names":["createRNCloudStorage","GoogleDriveApiClient","CloudStorageScope","Platform","verifyLeadingSlash","nativeInstance","defaultScope","AppData","RNCloudStorage","getDefaultScope","setDefaultScope","scope","getGoogleDriveAccessToken","accessToken","setGoogleDriveAccessToken","setThrowOnFilesWithSameName","enable","throwOnFilesWithSameName","subscribeToFilesWithSameName","OS","subscriber","remove","bind","isCloudAvailable","appendFile","path","data","appendToFile","exists","fileExists","writeFile","createFile","mkdir","createDirectory","readdir","listFiles","readFile","unlink","deleteFile","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile"],"sourceRoot":"../../src","sources":["RNCloudStorage.ts"],"mappings":"AAAA,OAAOA,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,oBAAoB,MAAM,gBAAgB;AACjD,SAAoCC,iBAAiB,QAAQ,cAAc;AAC3E,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,kBAAkB,QAAQ,iBAAiB;AAEpD,MAAMC,cAAc,GAAGL,oBAAoB,EAAE;AAC7C,IAAIM,YAAY,GAAGJ,iBAAiB,CAACK,OAAO;AAE5C,MAAMC,cAAc,GAAG;EACrBC,eAAe,EAAEA,CAAA,KAAMH,YAAY;EACnCI,eAAe,EAAGC,KAAwB,IAAML,YAAY,GAAGK,KAAM;EACrEC,yBAAyB,EAAEA,CAAA,KAAMX,oBAAoB,CAACY,WAAW;EACjEC,yBAAyB,EAAGD,WAAmB,IAAMZ,oBAAoB,CAACY,WAAW,GAAGA,WAAY;EACpGE,2BAA2B,EAAGC,MAAe,IAAMf,oBAAoB,CAACgB,wBAAwB,GAAGD,MAAO;EAC1G;EACAE,4BAA4B,EAC1Bf,QAAQ,CAACgB,EAAE,KAAK,KAAK;EACjB;EACCC,UAA4E,KAAM;IAAEC,MAAM,EAAEA,CAAA,KAAM,CAAC;EAAE,CAAC,CAAC,GACvGhB,cAAc,CAA0Ba,4BAA4B,CAACI,IAAI,CAACjB,cAAc,CAAC;EAChG;;EAEA;AACF;AACA;AACA;AACA;EACEkB,gBAAgB,EAAE,MAAAA,CAAA,KAA8B;IAC9C,OAAOlB,cAAc,CAACkB,gBAAgB,EAAE;EAC1C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,UAAU,EAAEA,CAACC,IAAY,EAAEC,IAAY,EAAEf,KAAyB,KAAoB;IACpF,OAAON,cAAc,CAACsB,YAAY,CAACvB,kBAAkB,CAACqB,IAAI,CAAC,EAAEC,IAAI,EAAEf,KAAK,IAAIL,YAAY,CAAC;EAC3F,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEsB,MAAM,EAAEA,CAACH,IAAY,EAAEd,KAAyB,KAAuB;IACrE,OAAON,cAAc,CAACwB,UAAU,CAACzB,kBAAkB,CAACqB,IAAI,CAAC,EAAEd,KAAK,IAAIL,YAAY,CAAC;EACnF,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEwB,SAAS,EAAEA,CAACL,IAAY,EAAEC,IAAY,EAAEf,KAAyB,KAAoB;IACnF,OAAON,cAAc,CAAC0B,UAAU,CAAC3B,kBAAkB,CAACqB,IAAI,CAAC,EAAEC,IAAI,EAAEf,KAAK,IAAIL,YAAY,EAAE,IAAI,CAAC;EAC/F,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACE0B,KAAK,EAAEA,CAACP,IAAY,EAAEd,KAAyB,KAAoB;IACjE,OAAON,cAAc,CAAC4B,eAAe,CAAC7B,kBAAkB,CAACqB,IAAI,CAAC,EAAEd,KAAK,IAAIL,YAAY,CAAC;EACxF,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACE4B,OAAO,EAAEA,CAACT,IAAY,EAAEd,KAAyB,KAAwB;IACvE,OAAON,cAAc,CAAC8B,SAAS,CAAC/B,kBAAkB,CAACqB,IAAI,CAAC,EAAEd,KAAK,IAAIL,YAAY,CAAC;EAClF,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACE8B,QAAQ,EAAEA,CAACX,IAAY,EAAEd,KAAyB,KAAsB;IACtE,OAAON,cAAc,CAAC+B,QAAQ,CAAChC,kBAAkB,CAACqB,IAAI,CAAC,EAAEd,KAAK,IAAIL,YAAY,CAAC;EACjF,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACE+B,MAAM,EAAEA,CAACZ,IAAY,EAAEd,KAAyB,KAAoB;IAClE,OAAON,cAAc,CAACiC,UAAU,CAAClC,kBAAkB,CAACqB,IAAI,CAAC,EAAEd,KAAK,IAAIL,YAAY,CAAC;EACnF,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEiC,IAAI,EAAE,MAAAA,CAAOd,IAAY,EAAEd,KAAyB,KAAoC;IACtF,MAAM6B,MAAM,GAAG,MAAMnC,cAAc,CAACoC,QAAQ,CAACrC,kBAAkB,CAACqB,IAAI,CAAC,EAAEd,KAAK,IAAIL,YAAY,CAAC;IAE7F,OAAO;MACL,GAAGkC,MAAM;MACTE,SAAS,EAAE,IAAIC,IAAI,CAACH,MAAM,CAACI,WAAW,CAAC;MACvCC,KAAK,EAAE,IAAIF,IAAI,CAACH,MAAM,CAACM,OAAO,CAAC;MAC/BC,WAAW,EAAEA,CAAA,KAAMP,MAAM,CAACO,WAAW;MACrCC,MAAM,EAAEA,CAAA,KAAMR,MAAM,CAACQ;IACvB,CAAC;EACH;AACF,CAAC;AAED,eAAexC,cAAc"}
1
+ {"version":3,"names":["Platform","createRNCloudStorage","GoogleDriveApiClient","CloudStorageScope","verifyLeadingSlash","nativeInstance","defaultScope","AppData","RNCloudStorage","getDefaultScope","setDefaultScope","scope","getGoogleDriveAccessToken","accessToken","setGoogleDriveAccessToken","setThrowOnFilesWithSameName","enable","throwOnFilesWithSameName","subscribeToFilesWithSameName","OS","subscriber","remove","bind","isCloudAvailable","appendFile","path","data","appendToFile","exists","fileExists","writeFile","createFile","mkdir","createDirectory","readdir","listFiles","readFile","downloadFile","unlink","deleteFile","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile"],"sourceRoot":"../../src","sources":["RNCloudStorage.ts"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { GDrive, HttpError, MimeTypes } from 'react-native-google-drive-api-wrapper-js';
2
2
  import { CloudStorageErrorCode } from '../types/native';
3
3
  import CloudStorageError from '../utils/CloudStorageError';
4
+ import { DeviceEventEmitter } from 'react-native';
4
5
  export default class GoogleDriveApiClient {
5
6
  static drive = new GDrive();
6
7
  static throwOnFilesWithSameName = false;
@@ -24,6 +25,11 @@ export default class GoogleDriveApiClient {
24
25
  // when setting accessToken, set it on the GDrive instance
25
26
  static set accessToken(accessToken) {
26
27
  GoogleDriveApiClient.drive.accessToken = accessToken;
28
+
29
+ // emit an event for the useIsCloudAvailable hook
30
+ DeviceEventEmitter.emit('RNCloudStorage.cloud.availability-changed', {
31
+ available: !!(accessToken !== null && accessToken !== void 0 && accessToken.length)
32
+ });
27
33
  }
28
34
  static get accessToken() {
29
35
  return GoogleDriveApiClient.drive.accessToken;
@@ -283,6 +289,10 @@ export default class GoogleDriveApiClient {
283
289
  const content = await GoogleDriveApiClient.drive.files.getText(fileId);
284
290
  return content;
285
291
  }
292
+ async downloadFile(_path, _scope) {
293
+ // Not doing anything here, just a placeholder to conform to the interface so it doesn't fail on Android
294
+ return;
295
+ }
286
296
  async deleteFile(path, scope) {
287
297
  const fileId = await this.getFileId(path, scope);
288
298
  await GoogleDriveApiClient.drive.files.delete(fileId);
@@ -1 +1 @@
1
- {"version":3,"names":["GDrive","HttpError","MimeTypes","CloudStorageErrorCode","CloudStorageError","GoogleDriveApiClient","drive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","fetchTimeout","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","_GoogleDriveApiClient","length","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listInternalFiles","file","list","spaces","fields","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIfDirectory","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getText","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","createFile","overwrite","FILE_ALREADY_EXISTS","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","deleteFile","delete","statFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["GDrive","HttpError","MimeTypes","CloudStorageErrorCode","CloudStorageError","DeviceEventEmitter","GoogleDriveApiClient","drive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","fetchTimeout","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","emit","available","length","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","_GoogleDriveApiClient","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listInternalFiles","file","list","spaces","fields","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIfDirectory","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getText","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","createFile","overwrite","FILE_ALREADY_EXISTS","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","downloadFile","_path","_scope","deleteFile","delete","statFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { useCallback, useEffect, useState } from 'react';
5
5
  * A utility hook for reading and writing to a single file in the cloud.
6
6
  * @param path The path to the file.
7
7
  * @param scope The directory scope the path is in. If not provided, defaults to the default scope set in the library.
8
- * @returns An object containing the file's contents and functions for reading, writing, and removing the file.
8
+ * @returns An object containing the file's contents and functions for downloading, reading, writing, and removing the file.
9
9
  */
10
10
  export const useCloudFile = (path, scope) => {
11
11
  const [content, setContent] = useState(null);
@@ -28,6 +28,9 @@ export const useCloudFile = (path, scope) => {
28
28
  await RNCloudStorage.unlink(path, scope);
29
29
  setContent(null);
30
30
  }, [path, scope]);
31
+ const download = useCallback(async () => {
32
+ await RNCloudStorage.downloadFile(path, scope);
33
+ }, [path, scope]);
31
34
  return {
32
35
  content,
33
36
  read,
@@ -37,7 +40,12 @@ export const useCloudFile = (path, scope) => {
37
40
  * @deprecated Use `write` instead.
38
41
  * @alias write
39
42
  */
40
- update: write
43
+ update: write,
44
+ /**
45
+ * Downloads the file from iCloud to the device. Needed if the file hasn't been synced yet. Has no effect on
46
+ * Google Drive.
47
+ */
48
+ download
41
49
  };
42
50
  };
43
51
  //# sourceMappingURL=useCloudFile.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RNCloudStorage","useCallback","useEffect","useState","useCloudFile","path","scope","content","setContent","read","exists","readFile","then","write","newContent","writeFile","remove","unlink","update"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":"AACA,OAAOA,cAAc,MAAM,mBAAmB;AAC9C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,KAAK;EACvE,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGL,QAAQ,CAAgB,IAAI,CAAC;EAE3D,MAAMM,IAAI,GAAGR,WAAW,CAAC,YAAY;IACnC,MAAMS,MAAM,GAAG,MAAMV,cAAc,CAACU,MAAM,CAACL,IAAI,EAAEC,KAAK,CAAC;IACvD,IAAI,CAACI,MAAM,EAAE;MACXF,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAR,cAAc,CAACW,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC,CAACM,IAAI,CAACJ,UAAU,CAAC;EACvD,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjBJ,SAAS,CAAC,MAAM;IACdO,IAAI,EAAE;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMI,KAAK,GAAGZ,WAAW,CACvB,MAAOa,UAAkB,IAAK;IAC5B,MAAMd,cAAc,CAACe,SAAS,CAACV,IAAI,EAAES,UAAU,EAAER,KAAK,CAAC;IACvDG,IAAI,EAAE;EACR,CAAC,EACD,CAACJ,IAAI,EAAEC,KAAK,EAAEG,IAAI,CAAC,CACpB;EAED,MAAMO,MAAM,GAAGf,WAAW,CAAC,YAAY;IACrC,MAAMD,cAAc,CAACiB,MAAM,CAACZ,IAAI,EAAEC,KAAK,CAAC;IACxCE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,OAAO;IACLC,OAAO;IACPE,IAAI;IACJI,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACIE,MAAM,EAAEL;EACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["RNCloudStorage","useCallback","useEffect","useState","useCloudFile","path","scope","content","setContent","read","exists","readFile","then","write","newContent","writeFile","remove","unlink","download","downloadFile","update"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":"AACA,OAAOA,cAAc,MAAM,mBAAmB;AAC9C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,KAAK;EACvE,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGL,QAAQ,CAAgB,IAAI,CAAC;EAE3D,MAAMM,IAAI,GAAGR,WAAW,CAAC,YAAY;IACnC,MAAMS,MAAM,GAAG,MAAMV,cAAc,CAACU,MAAM,CAACL,IAAI,EAAEC,KAAK,CAAC;IACvD,IAAI,CAACI,MAAM,EAAE;MACXF,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAR,cAAc,CAACW,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC,CAACM,IAAI,CAACJ,UAAU,CAAC;EACvD,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjBJ,SAAS,CAAC,MAAM;IACdO,IAAI,EAAE;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMI,KAAK,GAAGZ,WAAW,CACvB,MAAOa,UAAkB,IAAK;IAC5B,MAAMd,cAAc,CAACe,SAAS,CAACV,IAAI,EAAES,UAAU,EAAER,KAAK,CAAC;IACvDG,IAAI,EAAE;EACR,CAAC,EACD,CAACJ,IAAI,EAAEC,KAAK,EAAEG,IAAI,CAAC,CACpB;EAED,MAAMO,MAAM,GAAGf,WAAW,CAAC,YAAY;IACrC,MAAMD,cAAc,CAACiB,MAAM,CAACZ,IAAI,EAAEC,KAAK,CAAC;IACxCE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,MAAMY,QAAQ,GAAGjB,WAAW,CAAC,YAAY;IACvC,MAAMD,cAAc,CAACmB,YAAY,CAACd,IAAI,EAAEC,KAAK,CAAC;EAChD,CAAC,EAAE,CAACD,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,OAAO;IACLC,OAAO;IACPE,IAAI;IACJI,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACII,MAAM,EAAEP,KAAK;IACb;AACJ;AACA;AACA;IACIK;EACF,CAAC;AACH,CAAC"}
@@ -1,26 +1,33 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { Platform } from 'react-native';
3
- import RNCloudStorage from '../RNCloudStorage';
2
+ import { NativeEventEmitter, NativeModules, Platform, DeviceEventEmitter } from 'react-native';
4
3
 
5
- // TODO: there must be a better way to do this without a timeout?
6
- export const useIsCloudAvailable = function () {
7
- let iCloudTimeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
4
+ /**
5
+ * A hook that tests whether or not the cloud storage is available.
6
+ * @param _iCloudTimeout DEPRECATED: This parameter is deprecated and has no effect. It will be removed in a future version.
7
+ * @returns A boolean indicating whether or not the cloud storage is available.
8
+ */
9
+ export const useIsCloudAvailable = _iCloudTimeout => {
8
10
  const [isAvailable, setIsAvailable] = useState(false);
9
11
  useEffect(() => {
10
- const interval = setInterval(async () => {
11
- const newIsAvailable = await RNCloudStorage.isCloudAvailable();
12
- setIsAvailable(newIsAvailable);
13
- if (Platform.OS === 'ios' && newIsAvailable) {
14
- clearInterval(interval);
15
- }
16
- }, 500);
12
+ // Listen for changes to the cloud availability using the native event emitter
13
+ let eventEmitter;
17
14
  if (Platform.OS === 'ios') {
18
- setTimeout(() => {
19
- clearInterval(interval);
20
- }, iCloudTimeout * 1000);
15
+ eventEmitter = new NativeEventEmitter(NativeModules.CloudStorageEventEmitter);
16
+ } else {
17
+ eventEmitter = DeviceEventEmitter;
21
18
  }
22
- return () => clearInterval(interval);
23
- }, [iCloudTimeout]);
19
+ eventEmitter.addListener('RNCloudStorage.cloud.availability-changed', event => {
20
+ setIsAvailable(event.available);
21
+ });
22
+ return () => {
23
+ eventEmitter.removeAllListeners('RNCloudStorage.cloud.availability-changed');
24
+ };
25
+ }, []);
26
+ useEffect(() => {
27
+ if (_iCloudTimeout !== undefined) {
28
+ console.warn('The iCloudTimeout parameter for useIsCloudFile is deprecated and has no effect. It will be removed in a future version. Please remove it from your code.');
29
+ }
30
+ }, [_iCloudTimeout]);
24
31
  return isAvailable;
25
32
  };
26
33
  //# sourceMappingURL=useIsCloudAvailable.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","Platform","RNCloudStorage","useIsCloudAvailable","iCloudTimeout","arguments","length","undefined","isAvailable","setIsAvailable","interval","setInterval","newIsAvailable","isCloudAvailable","OS","clearInterval","setTimeout"],"sourceRoot":"../../../src","sources":["hooks/useIsCloudAvailable.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAOC,cAAc,MAAM,mBAAmB;;AAE9C;AACA,OAAO,MAAMC,mBAAmB,GAAG,SAAAA,CAAA,EAAwB;EAAA,IAAvBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EACpD,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAAC,KAAK,CAAC;EAErDD,SAAS,CAAC,MAAM;IACd,MAAMW,QAAQ,GAAGC,WAAW,CAAC,YAAY;MACvC,MAAMC,cAAc,GAAG,MAAMV,cAAc,CAACW,gBAAgB,EAAE;MAC9DJ,cAAc,CAACG,cAAc,CAAC;MAC9B,IAAIX,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAIF,cAAc,EAAE;QAC3CG,aAAa,CAACL,QAAQ,CAAC;MACzB;IACF,CAAC,EAAE,GAAG,CAAC;IAEP,IAAIT,QAAQ,CAACa,EAAE,KAAK,KAAK,EAAE;MACzBE,UAAU,CAAC,MAAM;QACfD,aAAa,CAACL,QAAQ,CAAC;MACzB,CAAC,EAAEN,aAAa,GAAG,IAAI,CAAC;IAC1B;IAEA,OAAO,MAAMW,aAAa,CAACL,QAAQ,CAAC;EACtC,CAAC,EAAE,CAACN,aAAa,CAAC,CAAC;EAEnB,OAAOI,WAAW;AACpB,CAAC"}
1
+ {"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","Platform","DeviceEventEmitter","useIsCloudAvailable","_iCloudTimeout","isAvailable","setIsAvailable","eventEmitter","OS","CloudStorageEventEmitter","addListener","event","available","removeAllListeners","undefined","console","warn"],"sourceRoot":"../../../src","sources":["hooks/useIsCloudAvailable.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,kBAAkB,QAAQ,cAAc;;AAE9F;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAIC,cAAuB,IAAK;EAC9D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAErDD,SAAS,CAAC,MAAM;IACd;IACA,IAAIU,YAA4D;IAChE,IAAIN,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;MACzBD,YAAY,GAAG,IAAIR,kBAAkB,CAACC,aAAa,CAACS,wBAAwB,CAAC;IAC/E,CAAC,MAAM;MACLF,YAAY,GAAGL,kBAAkB;IACnC;IAEAK,YAAY,CAACG,WAAW,CAAC,2CAA2C,EAAGC,KAA6B,IAAK;MACvGL,cAAc,CAACK,KAAK,CAACC,SAAS,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXL,YAAY,CAACM,kBAAkB,CAAC,2CAA2C,CAAC;IAC9E,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENhB,SAAS,CAAC,MAAM;IACd,IAAIO,cAAc,KAAKU,SAAS,EAAE;MAChCC,OAAO,CAACC,IAAI,CACV,0JAA0J,CAC3J;IACH;EACF,CAAC,EAAE,CAACZ,cAAc,CAAC,CAAC;EAEpB,OAAOC,WAAW;AACpB,CAAC"}
@@ -10,6 +10,7 @@ export let CloudStorageErrorCode = /*#__PURE__*/function (CloudStorageErrorCode)
10
10
  CloudStorageErrorCode["DELETE_ERROR"] = "ERR_DELETE_ERROR";
11
11
  CloudStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
12
12
  CloudStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
13
+ CloudStorageErrorCode["FILE_NOT_DOWNLOADABLE"] = "ERR_FILE_NOT_DOWNLOADABLE";
13
14
  CloudStorageErrorCode["GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"] = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING";
14
15
  return CloudStorageErrorCode;
15
16
  }({});
@@ -1 +1 @@
1
- {"version":3,"names":["CloudStorageErrorCode"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":"AAUA,WAAYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA"}
1
+ {"version":3,"names":["CloudStorageErrorCode"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":"AAUA,WAAYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA"}
@@ -1,4 +1,4 @@
1
- import { type CloudStorageFileStat, CloudStorageScope } from './types/main';
1
+ import { CloudStorageScope, type CloudStorageFileStat } from './types/main';
2
2
  declare const RNCloudStorage: {
3
3
  getDefaultScope: () => CloudStorageScope;
4
4
  setDefaultScope: (scope: CloudStorageScope) => CloudStorageScope;
@@ -61,6 +61,13 @@ declare const RNCloudStorage: {
61
61
  * @returns A promise that resolves to the contents of the file.
62
62
  */
63
63
  readFile: (path: string, scope?: CloudStorageScope) => Promise<string>;
64
+ /**
65
+ * Downloads the file at the given path from iCloud. Does not have any effect on Google Drive.
66
+ * @param path The file to trigger the download for.
67
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
68
+ * @returns A promise that resolves once the download has been triggered.
69
+ */
70
+ downloadFile: (path: string, scope?: CloudStorageScope) => Promise<void>;
64
71
  /**
65
72
  * Deletes the file at the given path.
66
73
  * @param path The file to delete.
@@ -1 +1 @@
1
- {"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAO5E,QAAA,MAAM,cAAc;;6BAEO,iBAAiB;;6CAED,MAAM;0CACT,OAAO;;;;;;;IAS7C;;;;OAIG;4BACyB,QAAQ,OAAO,CAAC;IAI5C;;;;;;OAMG;uBACgB,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIlF;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,OAAO,CAAC;IAInE;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIjF;;;;;OAKG;kBACW,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAI/D;;;;;OAKG;oBACa,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,EAAE,CAAC;IAIrE;;;;;OAKG;qBACc,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,CAAC;IAIpE;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIhE;;;;;OAKG;iBACgB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,oBAAoB,CAAC;CAWrF,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAM5E,QAAA,MAAM,cAAc;;6BAEO,iBAAiB;;6CAED,MAAM;0CACT,OAAO;;;;;;;IAS7C;;;;OAIG;4BACyB,QAAQ,OAAO,CAAC;IAI5C;;;;;;OAMG;uBACgB,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIlF;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,OAAO,CAAC;IAInE;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIjF;;;;;OAKG;kBACW,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAI/D;;;;;OAKG;oBACa,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,EAAE,CAAC;IAIrE;;;;;OAKG;qBACc,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,CAAC;IAIpE;;;;;OAKG;yBACkB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAItE;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIhE;;;;;OAKG;iBACgB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,oBAAoB,CAAC;CAWrF,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -35,6 +35,7 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
35
35
  listFiles(path: string, scope: NativeRNCloudCloudStorageScope): Promise<string[]>;
36
36
  createDirectory(path: string, scope: NativeRNCloudCloudStorageScope): Promise<void>;
37
37
  readFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<string>;
38
+ downloadFile(_path: string, _scope: NativeRNCloudCloudStorageScope): Promise<void>;
38
39
  deleteFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<void>;
39
40
  statFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<NativeRNCloudCloudStorageFileStat>;
40
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACpC,MAAM,iBAAiB,CAAC;AAIzB,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,oBAAoB;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;IAC5C,OAAc,wBAAwB,UAAS;IACxC,4BAA4B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC,EAAE,CAAC;;IAwB1G,WAAkB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAE5D;IAED,WAAkB,WAAW,IAAI,MAAM,GAAG,SAAS,CAElD;IAEM,4BAA4B,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,GAAG;QACjH,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB;IAUM,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAA0D;IAEzG,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;IAiD7B;;;;OAIG;YACW,kBAAkB;YASlB,iBAAiB;IAS/B,OAAO,CAAC,gCAAgC;YAyB1B,SAAS;IAiDjB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IAUjF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC9F,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,8BAA8B,EACrC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IA2CV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAajF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iCAAiC,CAAC;CAgBhH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACpC,MAAM,iBAAiB,CAAC;AAKzB,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,oBAAoB;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;IAC5C,OAAc,wBAAwB,UAAS;IACxC,4BAA4B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC,EAAE,CAAC;;IAwB1G,WAAkB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAO5D;IAED,WAAkB,WAAW,IAAI,MAAM,GAAG,SAAS,CAElD;IAEM,4BAA4B,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,GAAG;QACjH,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB;IAUM,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAA0D;IAEzG,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;IAiD7B;;;;OAIG;YACW,kBAAkB;YASlB,iBAAiB;IAS/B,OAAO,CAAC,gCAAgC;YAyB1B,SAAS;IAiDjB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IAUjF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC9F,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,8BAA8B,EACrC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IA2CV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAajF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iCAAiC,CAAC;CAgBhH"}
@@ -3,7 +3,7 @@ import type { CloudStorageScope } from '../types/main';
3
3
  * A utility hook for reading and writing to a single file in the cloud.
4
4
  * @param path The path to the file.
5
5
  * @param scope The directory scope the path is in. If not provided, defaults to the default scope set in the library.
6
- * @returns An object containing the file's contents and functions for reading, writing, and removing the file.
6
+ * @returns An object containing the file's contents and functions for downloading, reading, writing, and removing the file.
7
7
  */
8
8
  export declare const useCloudFile: (path: string, scope?: CloudStorageScope) => {
9
9
  content: string | null;
@@ -15,5 +15,10 @@ export declare const useCloudFile: (path: string, scope?: CloudStorageScope) =>
15
15
  * @alias write
16
16
  */
17
17
  update: (newContent: string) => Promise<void>;
18
+ /**
19
+ * Downloads the file from iCloud to the device. Needed if the file hasn't been synced yet. Has no effect on
20
+ * Google Drive.
21
+ */
22
+ download: () => Promise<void>;
18
23
  };
19
24
  //# sourceMappingURL=useCloudFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCloudFile.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCloudFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,UAAU,iBAAiB;;;wBAiB7C,MAAM;;IAiBzB;;;OAGG;yBApBgB,MAAM;CAuB5B,CAAC"}
1
+ {"version":3,"file":"useCloudFile.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCloudFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,UAAU,iBAAiB;;;wBAiB7C,MAAM;;IAqBzB;;;OAGG;yBAxBgB,MAAM;IA0BzB;;;OAGG;;CAGN,CAAC"}
@@ -1,2 +1,7 @@
1
- export declare const useIsCloudAvailable: (iCloudTimeout?: number) => boolean;
1
+ /**
2
+ * A hook that tests whether or not the cloud storage is available.
3
+ * @param _iCloudTimeout DEPRECATED: This parameter is deprecated and has no effect. It will be removed in a future version.
4
+ * @returns A boolean indicating whether or not the cloud storage is available.
5
+ */
6
+ export declare const useIsCloudAvailable: (_iCloudTimeout?: number) => boolean;
2
7
  //# sourceMappingURL=useIsCloudAvailable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsCloudAvailable.d.ts","sourceRoot":"","sources":["../../../src/hooks/useIsCloudAvailable.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,qCAsB/B,CAAC"}
1
+ {"version":3,"file":"useIsCloudAvailable.d.ts","sourceRoot":"","sources":["../../../src/hooks/useIsCloudAvailable.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,oBAAqB,MAAM,YA8B1D,CAAC"}
@@ -18,6 +18,7 @@ export declare enum CloudStorageErrorCode {
18
18
  DELETE_ERROR = "ERR_DELETE_ERROR",
19
19
  STAT_ERROR = "ERR_STAT_ERROR",
20
20
  UNKNOWN = "ERR_UNKNOWN",
21
+ FILE_NOT_DOWNLOADABLE = "ERR_FILE_NOT_DOWNLOADABLE",
21
22
  GOOGLE_DRIVE_ACCESS_TOKEN_MISSING = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"
22
23
  }
23
24
  export default interface NativeRNCloudStorage {
@@ -27,6 +28,7 @@ export default interface NativeRNCloudStorage {
27
28
  createDirectory: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
28
29
  listFiles: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string[]>;
29
30
  readFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string>;
31
+ downloadFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
30
32
  deleteFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
31
33
  statFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<NativeRNCloudCloudStorageFileStat>;
32
34
  isCloudAvailable: () => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/types/native.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,8BAA8B,GAAG,WAAW,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,oBAAY,qBAAqB;IAC/B,cAAc,uBAAuB;IACrC,iBAAiB,0BAA0B;IAC3C,mBAAmB,4BAA4B;IAC/C,mBAAmB,oBAAoB;IACvC,wBAAwB,iCAAiC;IACzD,qBAAqB,8BAA8B;IACnD,WAAW,oBAAoB;IAC/B,UAAU,mBAAmB;IAC7B,YAAY,qBAAqB;IACjC,UAAU,mBAAmB;IAC7B,OAAO,gBAAgB;IACvB,iCAAiC,0CAA0C;CAC5E;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC3C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrH,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9G,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/types/native.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,8BAA8B,GAAG,WAAW,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,oBAAY,qBAAqB;IAC/B,cAAc,uBAAuB;IACrC,iBAAiB,0BAA0B;IAC3C,mBAAmB,4BAA4B;IAC/C,mBAAmB,oBAAoB;IACvC,wBAAwB,iCAAiC;IACzD,qBAAqB,8BAA8B;IACnD,WAAW,oBAAoB;IAC/B,UAAU,mBAAmB;IAC7B,YAAY,qBAAqB;IACjC,UAAU,mBAAmB;IAC7B,OAAO,gBAAgB;IACvB,qBAAqB,8BAA8B;IACnD,iCAAiC,0CAA0C;CAC5E;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC3C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrH,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9G,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-cloud-storage",
3
- "version": "1.1.0",
3
+ "version": "1.2.2",
4
4
  "description": "Save to & read from iCloud and Google Drive using React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -1,7 +1,7 @@
1
+ import { Platform } from 'react-native';
1
2
  import createRNCloudStorage from './createRNCloudStorage';
2
3
  import GoogleDriveApiClient from './google-drive';
3
- import { type CloudStorageFileStat, CloudStorageScope } from './types/main';
4
- import { Platform } from 'react-native';
4
+ import { CloudStorageScope, type CloudStorageFileStat } from './types/main';
5
5
  import { verifyLeadingSlash } from './utils/helpers';
6
6
 
7
7
  const nativeInstance = createRNCloudStorage();
@@ -92,6 +92,16 @@ const RNCloudStorage = {
92
92
  return nativeInstance.readFile(verifyLeadingSlash(path), scope ?? defaultScope);
93
93
  },
94
94
 
95
+ /**
96
+ * Downloads the file at the given path from iCloud. Does not have any effect on Google Drive.
97
+ * @param path The file to trigger the download for.
98
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
99
+ * @returns A promise that resolves once the download has been triggered.
100
+ */
101
+ downloadFile: (path: string, scope?: CloudStorageScope): Promise<void> => {
102
+ return nativeInstance.downloadFile(verifyLeadingSlash(path), scope ?? defaultScope);
103
+ },
104
+
95
105
  /**
96
106
  * Deletes the file at the given path.
97
107
  * @param path The file to delete.
@@ -5,8 +5,9 @@ import {
5
5
  type NativeRNCloudCloudStorageFileStat,
6
6
  type NativeRNCloudCloudStorageScope,
7
7
  } from '../types/native';
8
- import type { GoogleDriveDetailedFile, GoogleDriveFile, GoogleDriveListOperationResponse } from './types';
9
8
  import CloudStorageError from '../utils/CloudStorageError';
9
+ import type { GoogleDriveDetailedFile, GoogleDriveFile, GoogleDriveListOperationResponse } from './types';
10
+ import { DeviceEventEmitter } from 'react-native';
10
11
 
11
12
  export default class GoogleDriveApiClient implements NativeRNCloudStorage {
12
13
  private static drive: GDrive = new GDrive();
@@ -37,6 +38,11 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
37
38
  // when setting accessToken, set it on the GDrive instance
38
39
  public static set accessToken(accessToken: string | undefined) {
39
40
  GoogleDriveApiClient.drive.accessToken = accessToken;
41
+
42
+ // emit an event for the useIsCloudAvailable hook
43
+ DeviceEventEmitter.emit('RNCloudStorage.cloud.availability-changed', {
44
+ available: !!accessToken?.length,
45
+ });
40
46
  }
41
47
 
42
48
  public static get accessToken(): string | undefined {
@@ -361,6 +367,11 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
361
367
  return content;
362
368
  }
363
369
 
370
+ async downloadFile(_path: string, _scope: NativeRNCloudCloudStorageScope): Promise<void> {
371
+ // Not doing anything here, just a placeholder to conform to the interface so it doesn't fail on Android
372
+ return;
373
+ }
374
+
364
375
  async deleteFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<void> {
365
376
  const fileId = await this.getFileId(path, scope);
366
377
  await GoogleDriveApiClient.drive.files.delete(fileId);
@@ -6,7 +6,7 @@ import { useCallback, useEffect, useState } from 'react';
6
6
  * A utility hook for reading and writing to a single file in the cloud.
7
7
  * @param path The path to the file.
8
8
  * @param scope The directory scope the path is in. If not provided, defaults to the default scope set in the library.
9
- * @returns An object containing the file's contents and functions for reading, writing, and removing the file.
9
+ * @returns An object containing the file's contents and functions for downloading, reading, writing, and removing the file.
10
10
  */
11
11
  export const useCloudFile = (path: string, scope?: CloudStorageScope) => {
12
12
  const [content, setContent] = useState<string | null>(null);
@@ -37,6 +37,10 @@ export const useCloudFile = (path: string, scope?: CloudStorageScope) => {
37
37
  setContent(null);
38
38
  }, [path, scope]);
39
39
 
40
+ const download = useCallback(async () => {
41
+ await RNCloudStorage.downloadFile(path, scope);
42
+ }, [path, scope]);
43
+
40
44
  return {
41
45
  content,
42
46
  read,
@@ -47,5 +51,10 @@ export const useCloudFile = (path: string, scope?: CloudStorageScope) => {
47
51
  * @alias write
48
52
  */
49
53
  update: write,
54
+ /**
55
+ * Downloads the file from iCloud to the device. Needed if the file hasn't been synced yet. Has no effect on
56
+ * Google Drive.
57
+ */
58
+ download,
50
59
  };
51
60
  };
@@ -1,28 +1,39 @@
1
1
  import { useEffect, useState } from 'react';
2
- import { Platform } from 'react-native';
3
- import RNCloudStorage from '../RNCloudStorage';
2
+ import { NativeEventEmitter, NativeModules, Platform, DeviceEventEmitter } from 'react-native';
4
3
 
5
- // TODO: there must be a better way to do this without a timeout?
6
- export const useIsCloudAvailable = (iCloudTimeout = 10) => {
4
+ /**
5
+ * A hook that tests whether or not the cloud storage is available.
6
+ * @param _iCloudTimeout DEPRECATED: This parameter is deprecated and has no effect. It will be removed in a future version.
7
+ * @returns A boolean indicating whether or not the cloud storage is available.
8
+ */
9
+ export const useIsCloudAvailable = (_iCloudTimeout?: number) => {
7
10
  const [isAvailable, setIsAvailable] = useState(false);
8
11
 
9
12
  useEffect(() => {
10
- const interval = setInterval(async () => {
11
- const newIsAvailable = await RNCloudStorage.isCloudAvailable();
12
- setIsAvailable(newIsAvailable);
13
- if (Platform.OS === 'ios' && newIsAvailable) {
14
- clearInterval(interval);
15
- }
16
- }, 500);
17
-
13
+ // Listen for changes to the cloud availability using the native event emitter
14
+ let eventEmitter: NativeEventEmitter | typeof DeviceEventEmitter;
18
15
  if (Platform.OS === 'ios') {
19
- setTimeout(() => {
20
- clearInterval(interval);
21
- }, iCloudTimeout * 1000);
16
+ eventEmitter = new NativeEventEmitter(NativeModules.CloudStorageEventEmitter);
17
+ } else {
18
+ eventEmitter = DeviceEventEmitter;
22
19
  }
23
20
 
24
- return () => clearInterval(interval);
25
- }, [iCloudTimeout]);
21
+ eventEmitter.addListener('RNCloudStorage.cloud.availability-changed', (event: { available: boolean }) => {
22
+ setIsAvailable(event.available);
23
+ });
24
+
25
+ return () => {
26
+ eventEmitter.removeAllListeners('RNCloudStorage.cloud.availability-changed');
27
+ };
28
+ }, []);
29
+
30
+ useEffect(() => {
31
+ if (_iCloudTimeout !== undefined) {
32
+ console.warn(
33
+ 'The iCloudTimeout parameter for useIsCloudFile is deprecated and has no effect. It will be removed in a future version. Please remove it from your code.'
34
+ );
35
+ }
36
+ }, [_iCloudTimeout]);
26
37
 
27
38
  return isAvailable;
28
39
  };
@@ -20,6 +20,7 @@ export enum CloudStorageErrorCode {
20
20
  DELETE_ERROR = 'ERR_DELETE_ERROR',
21
21
  STAT_ERROR = 'ERR_STAT_ERROR',
22
22
  UNKNOWN = 'ERR_UNKNOWN',
23
+ FILE_NOT_DOWNLOADABLE = 'ERR_FILE_NOT_DOWNLOADABLE',
23
24
  GOOGLE_DRIVE_ACCESS_TOKEN_MISSING = 'ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING',
24
25
  }
25
26
 
@@ -30,6 +31,7 @@ export default interface NativeRNCloudStorage {
30
31
  createDirectory: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
31
32
  listFiles: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string[]>;
32
33
  readFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string>;
34
+ downloadFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
33
35
  deleteFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
34
36
  statFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<NativeRNCloudCloudStorageFileStat>;
35
37
  isCloudAvailable: () => Promise<boolean>;