react-native-cloud-storage 1.0.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +1 -1
  2. package/ios/CloudStorage.m +2 -0
  3. package/ios/CloudStorage.swift +64 -0
  4. package/ios/CloudStorage.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  5. package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  6. package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  7. package/ios/CloudStorage.xcodeproj/xcuserdata/max.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  8. package/lib/commonjs/RNCloudStorage.js +20 -1
  9. package/lib/commonjs/RNCloudStorage.js.map +1 -1
  10. package/lib/commonjs/google-drive/index.js +32 -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/types/native.js +1 -0
  15. package/lib/commonjs/types/native.js.map +1 -1
  16. package/lib/module/RNCloudStorage.js +20 -1
  17. package/lib/module/RNCloudStorage.js.map +1 -1
  18. package/lib/module/google-drive/index.js +32 -0
  19. package/lib/module/google-drive/index.js.map +1 -1
  20. package/lib/module/hooks/useCloudFile.js +10 -2
  21. package/lib/module/hooks/useCloudFile.js.map +1 -1
  22. package/lib/module/types/native.js +1 -0
  23. package/lib/module/types/native.js.map +1 -1
  24. package/lib/typescript/RNCloudStorage.d.ts +16 -1
  25. package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
  26. package/lib/typescript/google-drive/index.d.ts +2 -0
  27. package/lib/typescript/google-drive/index.d.ts.map +1 -1
  28. package/lib/typescript/hooks/useCloudFile.d.ts +6 -1
  29. package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
  30. package/lib/typescript/types/native.d.ts +3 -0
  31. package/lib/typescript/types/native.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/RNCloudStorage.ts +23 -2
  34. package/src/google-drive/index.ts +40 -1
  35. package/src/hooks/useCloudFile.ts +10 -1
  36. package/src/types/native.ts +3 -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
 
@@ -3,10 +3,12 @@
3
3
  @interface RCT_EXTERN_MODULE(CloudStorage, NSObject)
4
4
 
5
5
  RCT_EXTERN_METHOD(fileExists:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
6
+ RCT_EXTERN_METHOD(appendToFile:(NSString *)path withData:(NSString *)data withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
6
7
  RCT_EXTERN_METHOD(createFile:(NSString *)path withData:(NSString *)data withScope:(NSString *)scope withOverwrite:(BOOL)overwrite withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
7
8
  RCT_EXTERN_METHOD(createDirectory:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
8
9
  RCT_EXTERN_METHOD(listFiles:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
9
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)
10
12
  RCT_EXTERN_METHOD(deleteFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
11
13
  RCT_EXTERN_METHOD(statFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
12
14
  RCT_EXTERN_METHOD(isCloudAvailable:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
@@ -17,6 +17,38 @@ class CloudStorage: NSObject {
17
17
  resolve(fileExists)
18
18
  }
19
19
 
20
+ @objc(appendToFile:withData:withScope:withResolver:withRejecter:)
21
+ func appendToFile(path: String, data: String, scope: String, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
22
+ // Append data to the file at path. If the file doesn't exist, create it.
23
+ let fileUrl: URL?
24
+ do {
25
+ fileUrl = try getFileURL(path, scope)
26
+ } catch let error as NSError {
27
+ reject(error.domain, error.userInfo["message"] as? String, error)
28
+ return
29
+ }
30
+
31
+ let fileManager = FileManager.default
32
+ if (!fileManager.fileExists(atPath: fileUrl!.path)) {
33
+ do {
34
+ try data.write(to: fileUrl!, atomically: true, encoding: .utf8)
35
+ resolve(true)
36
+ } catch {
37
+ reject("ERR_WRITE_ERROR", "Error writing file \(path)", error)
38
+ }
39
+ } else {
40
+ do {
41
+ let fileHandle = try FileHandle(forWritingTo: fileUrl!)
42
+ fileHandle.seekToEndOfFile()
43
+ fileHandle.write(data.data(using: .utf8)!)
44
+ fileHandle.closeFile()
45
+ resolve(true)
46
+ } catch {
47
+ reject("ERR_WRITE_ERROR", "Error writing file \(path)", error)
48
+ }
49
+ }
50
+ }
51
+
20
52
  @objc(createFile:withData:withScope:withOverwrite:withResolver:withRejecter:)
21
53
  func createFile(path: String, data: String, scope: String, overwrite: Bool, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
22
54
  let fileUrl: URL?
@@ -91,6 +123,38 @@ class CloudStorage: NSObject {
91
123
  }
92
124
  }
93
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
+
94
158
  @objc(deleteFile:withScope:withResolver:withRejecter:)
95
159
  func deleteFile(path: String, scope: String, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
96
160
  let fileUrl: URL?
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ </Workspace>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>CloudStorage.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
@@ -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)();
@@ -34,6 +34,16 @@ const RNCloudStorage = {
34
34
  isCloudAvailable: async () => {
35
35
  return nativeInstance.isCloudAvailable();
36
36
  },
37
+ /**
38
+ * Appends the data to the file at the given path, creating the file if it doesn't exist.
39
+ * @param path The file to append to.
40
+ * @param data The data to append.
41
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
42
+ * @returns A promise that resolves when the data has been appended.
43
+ */
44
+ appendFile: (path, data, scope) => {
45
+ return nativeInstance.appendToFile((0, _helpers.verifyLeadingSlash)(path), data, scope ?? defaultScope);
46
+ },
37
47
  /**
38
48
  * Tests whether or not the file at the given path exists.
39
49
  * @param path The path to test.
@@ -80,6 +90,15 @@ const RNCloudStorage = {
80
90
  readFile: (path, scope) => {
81
91
  return nativeInstance.readFile((0, _helpers.verifyLeadingSlash)(path), scope ?? defaultScope);
82
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
+ },
83
102
  /**
84
103
  * Deletes the file at the given path.
85
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","exists","path","fileExists","verifyLeadingSlash","writeFile","data","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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"}
@@ -180,6 +180,34 @@ class GoogleDriveApiClient {
180
180
  if (e instanceof _CloudStorageError.default && e.code === _native.CloudStorageErrorCode.FILE_NOT_FOUND) return false;else throw e;
181
181
  }
182
182
  }
183
+ async appendToFile(path, data, scope) {
184
+ let fileId;
185
+ let prevContent = '';
186
+ try {
187
+ fileId = await this.getFileId(path, scope);
188
+ prevContent = await GoogleDriveApiClient.drive.files.getText(fileId);
189
+ } catch (e) {
190
+ if (e instanceof _CloudStorageError.default && e.code === _native.CloudStorageErrorCode.FILE_NOT_FOUND) {
191
+ /* do nothing, simply create the file */
192
+ } else {
193
+ throw e;
194
+ }
195
+ }
196
+ const uploader = GoogleDriveApiClient.drive.files.newMultipartUploader().setData(prevContent + data, _reactNativeGoogleDriveApiWrapperJs.MimeTypes.TEXT);
197
+ if (fileId) uploader.setIdOfFileToUpdate(fileId);else {
198
+ const files = await this.listInternalFiles(scope);
199
+ const {
200
+ directories,
201
+ filename
202
+ } = this.resolvePathToDirectories(path);
203
+ const parentDirectoryId = this.findParentDirectoryId(files, directories);
204
+ uploader.setRequestBody({
205
+ name: filename,
206
+ parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
207
+ });
208
+ }
209
+ await uploader.execute();
210
+ }
183
211
  async createFile(path, data, scope, overwrite) {
184
212
  let fileId;
185
213
  if (overwrite) {
@@ -262,6 +290,10 @@ class GoogleDriveApiClient {
262
290
  const content = await GoogleDriveApiClient.drive.files.getText(fileId);
263
291
  return content;
264
292
  }
293
+ async downloadFile(_path, _scope) {
294
+ // Not doing anything here, just a placeholder to conform to the interface so it doesn't fail on Android
295
+ return;
296
+ }
265
297
  async deleteFile(path, scope) {
266
298
  const fileId = await this.getFileId(path, scope);
267
299
  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","createFile","data","overwrite","fileId","FILE_ALREADY_EXISTS","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","getText","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","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","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"}
@@ -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;
@@ -27,6 +27,16 @@ const RNCloudStorage = {
27
27
  isCloudAvailable: async () => {
28
28
  return nativeInstance.isCloudAvailable();
29
29
  },
30
+ /**
31
+ * Appends the data to the file at the given path, creating the file if it doesn't exist.
32
+ * @param path The file to append to.
33
+ * @param data The data to append.
34
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
35
+ * @returns A promise that resolves when the data has been appended.
36
+ */
37
+ appendFile: (path, data, scope) => {
38
+ return nativeInstance.appendToFile(verifyLeadingSlash(path), data, scope ?? defaultScope);
39
+ },
30
40
  /**
31
41
  * Tests whether or not the file at the given path exists.
32
42
  * @param path The path to test.
@@ -73,6 +83,15 @@ const RNCloudStorage = {
73
83
  readFile: (path, scope) => {
74
84
  return nativeInstance.readFile(verifyLeadingSlash(path), scope ?? defaultScope);
75
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
+ },
76
95
  /**
77
96
  * Deletes the file at the given path.
78
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","exists","path","fileExists","writeFile","data","createFile","mkdir","createDirectory","readdir","listFiles","readFile","unlink","deleteFile","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile"],"sourceRoot":"../../src","sources":["RNCloudStorage.ts"],"mappings":"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"}
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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"}
@@ -173,6 +173,34 @@ export default class GoogleDriveApiClient {
173
173
  if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) return false;else throw e;
174
174
  }
175
175
  }
176
+ async appendToFile(path, data, scope) {
177
+ let fileId;
178
+ let prevContent = '';
179
+ try {
180
+ fileId = await this.getFileId(path, scope);
181
+ prevContent = await GoogleDriveApiClient.drive.files.getText(fileId);
182
+ } catch (e) {
183
+ if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) {
184
+ /* do nothing, simply create the file */
185
+ } else {
186
+ throw e;
187
+ }
188
+ }
189
+ const uploader = GoogleDriveApiClient.drive.files.newMultipartUploader().setData(prevContent + data, MimeTypes.TEXT);
190
+ if (fileId) uploader.setIdOfFileToUpdate(fileId);else {
191
+ const files = await this.listInternalFiles(scope);
192
+ const {
193
+ directories,
194
+ filename
195
+ } = this.resolvePathToDirectories(path);
196
+ const parentDirectoryId = this.findParentDirectoryId(files, directories);
197
+ uploader.setRequestBody({
198
+ name: filename,
199
+ parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
200
+ });
201
+ }
202
+ await uploader.execute();
203
+ }
176
204
  async createFile(path, data, scope, overwrite) {
177
205
  let fileId;
178
206
  if (overwrite) {
@@ -255,6 +283,10 @@ export default class GoogleDriveApiClient {
255
283
  const content = await GoogleDriveApiClient.drive.files.getText(fileId);
256
284
  return content;
257
285
  }
286
+ async downloadFile(_path, _scope) {
287
+ // Not doing anything here, just a placeholder to conform to the interface so it doesn't fail on Android
288
+ return;
289
+ }
258
290
  async deleteFile(path, scope) {
259
291
  const fileId = await this.getFileId(path, scope);
260
292
  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","createFile","data","overwrite","fileId","FILE_ALREADY_EXISTS","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","getText","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","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","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"}
@@ -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;
@@ -17,6 +17,14 @@ declare const RNCloudStorage: {
17
17
  * @returns A promise that resolves to true if the cloud storage is available, false otherwise.
18
18
  */
19
19
  isCloudAvailable: () => Promise<boolean>;
20
+ /**
21
+ * Appends the data to the file at the given path, creating the file if it doesn't exist.
22
+ * @param path The file to append to.
23
+ * @param data The data to append.
24
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
25
+ * @returns A promise that resolves when the data has been appended.
26
+ */
27
+ appendFile: (path: string, data: string, scope?: CloudStorageScope) => Promise<void>;
20
28
  /**
21
29
  * Tests whether or not the file at the given path exists.
22
30
  * @param path The path to test.
@@ -53,6 +61,13 @@ declare const RNCloudStorage: {
53
61
  * @returns A promise that resolves to the contents of the file.
54
62
  */
55
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>;
56
71
  /**
57
72
  * Deletes the file at the given path.
58
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;;;;;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"}
@@ -30,10 +30,12 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
30
30
  private checkIfMultipleFilesWithSameName;
31
31
  private getFileId;
32
32
  fileExists(path: string, scope: NativeRNCloudCloudStorageScope): Promise<boolean>;
33
+ appendToFile(path: string, data: string, scope: NativeRNCloudCloudStorageScope): Promise<void>;
33
34
  createFile(path: string, data: string, scope: NativeRNCloudCloudStorageScope, overwrite: boolean): Promise<void>;
34
35
  listFiles(path: string, scope: NativeRNCloudCloudStorageScope): Promise<string[]>;
35
36
  createDirectory(path: string, scope: NativeRNCloudCloudStorageScope): Promise<void>;
36
37
  readFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<string>;
38
+ downloadFile(_path: string, _scope: NativeRNCloudCloudStorageScope): Promise<void>;
37
39
  deleteFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<void>;
38
40
  statFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<NativeRNCloudCloudStorageFileStat>;
39
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,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;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,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"}
@@ -18,14 +18,17 @@ 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 {
24
25
  fileExists: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<boolean>;
26
+ appendToFile: (path: string, data: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
25
27
  createFile: (path: string, data: string, scope: NativeRNCloudCloudStorageScope, overwrite: boolean) => Promise<void>;
26
28
  createDirectory: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
27
29
  listFiles: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string[]>;
28
30
  readFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string>;
31
+ downloadFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
29
32
  deleteFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
30
33
  statFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<NativeRNCloudCloudStorageFileStat>;
31
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,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.0.1",
3
+ "version": "1.2.1",
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();
@@ -30,6 +30,17 @@ const RNCloudStorage = {
30
30
  return nativeInstance.isCloudAvailable();
31
31
  },
32
32
 
33
+ /**
34
+ * Appends the data to the file at the given path, creating the file if it doesn't exist.
35
+ * @param path The file to append to.
36
+ * @param data The data to append.
37
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
38
+ * @returns A promise that resolves when the data has been appended.
39
+ */
40
+ appendFile: (path: string, data: string, scope?: CloudStorageScope): Promise<void> => {
41
+ return nativeInstance.appendToFile(verifyLeadingSlash(path), data, scope ?? defaultScope);
42
+ },
43
+
33
44
  /**
34
45
  * Tests whether or not the file at the given path exists.
35
46
  * @param path The path to test.
@@ -81,6 +92,16 @@ const RNCloudStorage = {
81
92
  return nativeInstance.readFile(verifyLeadingSlash(path), scope ?? defaultScope);
82
93
  },
83
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
+
84
105
  /**
85
106
  * Deletes the file at the given path.
86
107
  * @param path The file to delete.
@@ -5,8 +5,8 @@ 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
10
 
11
11
  export default class GoogleDriveApiClient implements NativeRNCloudStorage {
12
12
  private static drive: GDrive = new GDrive();
@@ -230,6 +230,40 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
230
230
  }
231
231
  }
232
232
 
233
+ async appendToFile(path: string, data: string, scope: NativeRNCloudCloudStorageScope): Promise<void> {
234
+ let fileId: string | undefined;
235
+ let prevContent = '';
236
+ try {
237
+ fileId = await this.getFileId(path, scope);
238
+ prevContent = await GoogleDriveApiClient.drive.files.getText(fileId);
239
+ } catch (e: any) {
240
+ if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) {
241
+ /* do nothing, simply create the file */
242
+ } else {
243
+ throw e;
244
+ }
245
+ }
246
+
247
+ const uploader = GoogleDriveApiClient.drive.files
248
+ .newMultipartUploader()
249
+ .setData(prevContent + data, MimeTypes.TEXT);
250
+ if (fileId) uploader.setIdOfFileToUpdate(fileId);
251
+ else {
252
+ const files = await this.listInternalFiles(scope);
253
+ const { directories, filename } = this.resolvePathToDirectories(path);
254
+ const parentDirectoryId = this.findParentDirectoryId(files, directories);
255
+ uploader.setRequestBody({
256
+ name: filename,
257
+ parents: parentDirectoryId
258
+ ? [parentDirectoryId]
259
+ : scope === 'app_data'
260
+ ? [this.getRootDirectory(scope)]
261
+ : undefined,
262
+ });
263
+ }
264
+ await uploader.execute();
265
+ }
266
+
233
267
  async createFile(
234
268
  path: string,
235
269
  data: string,
@@ -327,6 +361,11 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
327
361
  return content;
328
362
  }
329
363
 
364
+ async downloadFile(_path: string, _scope: NativeRNCloudCloudStorageScope): Promise<void> {
365
+ // Not doing anything here, just a placeholder to conform to the interface so it doesn't fail on Android
366
+ return;
367
+ }
368
+
330
369
  async deleteFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<void> {
331
370
  const fileId = await this.getFileId(path, scope);
332
371
  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
  };
@@ -20,15 +20,18 @@ 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
 
26
27
  export default interface NativeRNCloudStorage {
27
28
  fileExists: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<boolean>;
29
+ appendToFile: (path: string, data: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
28
30
  createFile: (path: string, data: string, scope: NativeRNCloudCloudStorageScope, overwrite: boolean) => Promise<void>;
29
31
  createDirectory: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
30
32
  listFiles: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string[]>;
31
33
  readFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string>;
34
+ downloadFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
32
35
  deleteFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
33
36
  statFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<NativeRNCloudCloudStorageFileStat>;
34
37
  isCloudAvailable: () => Promise<boolean>;