react-native-cloud-storage 0.4.1 → 0.5.0

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 (59) hide show
  1. package/lib/commonjs/RNCloudStorage.js +12 -2
  2. package/lib/commonjs/RNCloudStorage.js.map +1 -1
  3. package/lib/commonjs/createRNCloudStorage.js +5 -5
  4. package/lib/commonjs/createRNCloudStorage.js.map +1 -1
  5. package/lib/commonjs/google-drive/index.js +82 -25
  6. package/lib/commonjs/google-drive/index.js.map +1 -1
  7. package/lib/commonjs/hooks/useCloudFile.js.map +1 -1
  8. package/lib/commonjs/index.js +7 -7
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/types/main.js +6 -6
  11. package/lib/commonjs/types/main.js.map +1 -1
  12. package/lib/commonjs/types/native.js +15 -13
  13. package/lib/commonjs/types/native.js.map +1 -1
  14. package/lib/commonjs/utils/{NativeStorageError.js → CloudStorageError.js} +3 -3
  15. package/lib/commonjs/utils/CloudStorageError.js.map +1 -0
  16. package/lib/module/RNCloudStorage.js +12 -2
  17. package/lib/module/RNCloudStorage.js.map +1 -1
  18. package/lib/module/createRNCloudStorage.js +6 -6
  19. package/lib/module/createRNCloudStorage.js.map +1 -1
  20. package/lib/module/google-drive/index.js +84 -27
  21. package/lib/module/google-drive/index.js.map +1 -1
  22. package/lib/module/hooks/useCloudFile.js.map +1 -1
  23. package/lib/module/index.js +3 -4
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/types/main.js +4 -4
  26. package/lib/module/types/main.js.map +1 -1
  27. package/lib/module/types/native.js +13 -11
  28. package/lib/module/types/native.js.map +1 -1
  29. package/lib/module/utils/CloudStorageError.js +9 -0
  30. package/lib/module/utils/CloudStorageError.js.map +1 -0
  31. package/lib/typescript/RNCloudStorage.d.ts +15 -8
  32. package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
  33. package/lib/typescript/google-drive/index.d.ts +21 -10
  34. package/lib/typescript/google-drive/index.d.ts.map +1 -1
  35. package/lib/typescript/hooks/useCloudFile.d.ts +2 -2
  36. package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
  37. package/lib/typescript/index.d.ts +3 -4
  38. package/lib/typescript/index.d.ts.map +1 -1
  39. package/lib/typescript/types/main.d.ts +2 -2
  40. package/lib/typescript/types/main.d.ts.map +1 -1
  41. package/lib/typescript/types/native.d.ts +10 -8
  42. package/lib/typescript/types/native.d.ts.map +1 -1
  43. package/lib/typescript/utils/CloudStorageError.d.ts +8 -0
  44. package/lib/typescript/utils/CloudStorageError.d.ts.map +1 -0
  45. package/package.json +1 -1
  46. package/src/RNCloudStorage.ts +18 -8
  47. package/src/createRNCloudStorage.ts +6 -6
  48. package/src/google-drive/index.ts +118 -40
  49. package/src/hooks/useCloudFile.ts +2 -2
  50. package/src/index.ts +3 -4
  51. package/src/types/main.ts +2 -2
  52. package/src/types/native.ts +10 -8
  53. package/src/utils/CloudStorageError.ts +14 -0
  54. package/lib/commonjs/utils/NativeStorageError.js.map +0 -1
  55. package/lib/module/utils/NativeStorageError.js +0 -9
  56. package/lib/module/utils/NativeStorageError.js.map +0 -1
  57. package/lib/typescript/utils/NativeStorageError.d.ts +0 -8
  58. package/lib/typescript/utils/NativeStorageError.d.ts.map +0 -1
  59. package/src/utils/NativeStorageError.ts +0 -14
@@ -1,16 +1,19 @@
1
- import { GDrive, MimeTypes } from 'react-native-google-drive-api-wrapper-js';
2
- import { NativeStorageErrorCode } from '../types/native';
3
- import NativeStorageError from '../utils/NativeStorageError';
4
- class GoogleDriveApiClient {
1
+ import { GDrive, HttpError, MimeTypes } from 'react-native-google-drive-api-wrapper-js';
2
+ import { CloudStorageErrorCode } from '../types/native';
3
+ import CloudStorageError from '../utils/CloudStorageError';
4
+ export default class GoogleDriveApiClient {
5
5
  static drive = new GDrive();
6
+ static throwOnFilesWithSameName = false;
6
7
  constructor() {
8
+ this.filesWithSameNameSubscribers = [];
7
9
  GoogleDriveApiClient.drive.fetchTimeout = 3000;
8
10
  return new Proxy(this, {
9
11
  // before calling any function, check if the access token is set
10
12
  get(target, prop) {
11
- if (typeof target[prop] === 'function' && prop !== 'isCloudAvailable') {
13
+ const allowedFunctions = ['isCloudAvailable', 'subscribeToFilesWithSameName'];
14
+ if (typeof target[prop] === 'function' && !allowedFunctions.includes(prop.toString())) {
12
15
  if (!GoogleDriveApiClient.drive.accessToken) {
13
- throw new NativeStorageError(`Google Drive access token is not set, cannot call function ${prop.toString()}`, NativeStorageErrorCode.GOOGLE_DRIVE_ACCESS_TOKEN_MISSING);
16
+ throw new CloudStorageError(`Google Drive access token is not set, cannot call function ${prop.toString()}`, CloudStorageErrorCode.GOOGLE_DRIVE_ACCESS_TOKEN_MISSING);
14
17
  }
15
18
  }
16
19
  return target[prop];
@@ -25,6 +28,14 @@ class GoogleDriveApiClient {
25
28
  static get accessToken() {
26
29
  return GoogleDriveApiClient.drive.accessToken;
27
30
  }
31
+ subscribeToFilesWithSameName(subscriber) {
32
+ this.filesWithSameNameSubscribers.push(subscriber);
33
+ return {
34
+ remove: () => {
35
+ this.filesWithSameNameSubscribers = this.filesWithSameNameSubscribers.filter(s => s !== subscriber);
36
+ }
37
+ };
38
+ }
28
39
  isCloudAvailable = async () => {
29
40
  var _GoogleDriveApiClient;
30
41
  return !!((_GoogleDriveApiClient = GoogleDriveApiClient.accessToken) !== null && _GoogleDriveApiClient !== void 0 && _GoogleDriveApiClient.length);
@@ -64,16 +75,16 @@ class GoogleDriveApiClient {
64
75
  }
65
76
  }
66
77
  if (!topDirectoryId) {
67
- throw new NativeStorageError(`Could not find top directory with name ${directoryTree[0]}`, NativeStorageErrorCode.DIRECTORY_NOT_FOUND);
78
+ throw new CloudStorageError(`Could not find top directory with name ${directoryTree[0]}`, CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
68
79
  }
69
80
 
70
81
  // now, we traverse the directories array and get the id of the last directory from the files array
71
82
  let currentDirectoryId = topDirectoryId;
72
83
  for (let i = 1; i < directoryTree.length; i++) {
73
84
  const currentDirectory = files.find(f => f.id === currentDirectoryId);
74
- if (!currentDirectory) throw new NativeStorageError(`Could not find directory with id ${currentDirectoryId}`, NativeStorageErrorCode.DIRECTORY_NOT_FOUND);
85
+ if (!currentDirectory) throw new CloudStorageError(`Could not find directory with id ${currentDirectoryId}`, CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
75
86
  const nextDirectory = files.find(f => f.name === directoryTree[i] && f.parents[0] === currentDirectoryId);
76
- if (!nextDirectory) throw new NativeStorageError(`Could not find directory with name ${directoryTree[i]}`, NativeStorageErrorCode.DIRECTORY_NOT_FOUND);
87
+ if (!nextDirectory) throw new CloudStorageError(`Could not find directory with name ${directoryTree[i]}`, CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
77
88
  currentDirectoryId = nextDirectory.id;
78
89
  }
79
90
  return currentDirectoryId;
@@ -85,30 +96,62 @@ class GoogleDriveApiClient {
85
96
  });
86
97
  return files.files;
87
98
  }
88
- async getFileId(path, scope) {
89
- const files = await this.listFiles(scope);
90
- const {
91
- directories,
92
- filename
93
- } = this.resolvePathToDirectories(path);
94
- const parentDirectoryId = this.findParentDirectoryId(files, directories);
95
- let file;
96
- if (parentDirectoryId === null) {
97
- /* when the file is supposes to be in the root directory, we need to get the file where the name is the filename
98
- and the first parent has an id which does not exist in the files array */
99
- file = files.find(f => f.name === filename && !files.find(f2 => f2.id === f.parents[0]));
99
+ checkIfMultipleFilesWithSameName(path, files, filename, parentDirectoryId) {
100
+ let possibleFiles;
101
+ if (parentDirectoryId) {
102
+ possibleFiles = files.filter(f => f.name === filename && f.parents[0] === parentDirectoryId);
103
+ } else {
104
+ possibleFiles = files.filter(f => f.name === filename && !files.find(f2 => f2.id === f.parents[0]));
105
+ }
106
+ if (possibleFiles.length <= 1) return;
107
+ if (GoogleDriveApiClient.throwOnFilesWithSameName) {
108
+ throw new CloudStorageError(`Multiple files with the same name found at path ${path}: ${possibleFiles.map(f => f.id).join(', ')}`, CloudStorageErrorCode.MULTIPLE_FILES_SAME_NAME);
100
109
  } else {
101
- file = files.find(f => f.name === filename && f.parents[0] === parentDirectoryId);
110
+ this.filesWithSameNameSubscribers.forEach(s => s({
111
+ path,
112
+ fileIds: possibleFiles.map(f => f.id)
113
+ }));
114
+ }
115
+ }
116
+ async getFileId(path, scope) {
117
+ try {
118
+ const files = await this.listFiles(scope);
119
+ const {
120
+ directories,
121
+ filename
122
+ } = this.resolvePathToDirectories(path);
123
+ const parentDirectoryId = this.findParentDirectoryId(files, directories);
124
+ let file;
125
+ if (parentDirectoryId === null) {
126
+ this.checkIfMultipleFilesWithSameName(path, files, filename, null);
127
+ /* when the file is supposed to be in the root directory, we need to get the file where the name is the filename
128
+ and the first parent has an id which does not exist in the files array */
129
+ file = files.find(f => f.name === filename && !files.find(f2 => f2.id === f.parents[0]));
130
+ } else {
131
+ this.checkIfMultipleFilesWithSameName(path, files, filename, parentDirectoryId);
132
+ file = files.find(f => f.name === filename && f.parents[0] === parentDirectoryId);
133
+ }
134
+ if (!file) throw new CloudStorageError(`File not found`, CloudStorageErrorCode.FILE_NOT_FOUND);
135
+ if (file.mimeType === MimeTypes.FOLDER) {
136
+ throw new CloudStorageError(`Path ${path} is a directory`, CloudStorageErrorCode.FILE_NOT_FOUND);
137
+ }
138
+ return file.id;
139
+ } catch (e) {
140
+ var _e$json, _e$json$error;
141
+ if (e instanceof HttpError && ((_e$json = e.json) === null || _e$json === void 0 ? void 0 : (_e$json$error = _e$json.error) === null || _e$json$error === void 0 ? void 0 : _e$json$error.status) === 'UNAUTHENTICATED') {
142
+ throw new CloudStorageError(`Could not authenticate with Google Drive`, CloudStorageErrorCode.AUTHENTICATION_FAILED, e.json);
143
+ } else {
144
+ if (e instanceof CloudStorageError) throw e;
145
+ throw new CloudStorageError(`Could not get file id for path ${path}`, CloudStorageErrorCode.UNKNOWN, e);
146
+ }
102
147
  }
103
- if (!file) throw new NativeStorageError(`File not found`, NativeStorageErrorCode.FILE_NOT_FOUND);
104
- return file.id;
105
148
  }
106
149
  async fileExists(path, scope) {
107
150
  try {
108
151
  await this.getFileId(path, scope);
109
152
  return true;
110
153
  } catch (e) {
111
- if (e instanceof NativeStorageError && e.code === NativeStorageErrorCode.FILE_NOT_FOUND) return false;else throw e;
154
+ if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) return false;else throw e;
112
155
  }
113
156
  }
114
157
  async createFile(path, data, scope, overwrite) {
@@ -117,7 +160,22 @@ class GoogleDriveApiClient {
117
160
  try {
118
161
  fileId = await this.getFileId(path, scope);
119
162
  } catch (e) {
120
- /* do nothing, simply create the file */
163
+ if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) {
164
+ /* do nothing, simply create the file */
165
+ } else {
166
+ throw e;
167
+ }
168
+ }
169
+ } else {
170
+ try {
171
+ await this.getFileId(path, scope);
172
+ throw new CloudStorageError(`File ${path} already exists`, CloudStorageErrorCode.FILE_ALREADY_EXISTS);
173
+ } catch (e) {
174
+ if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) {
175
+ /* do nothing, simply create the file */
176
+ } else {
177
+ throw e;
178
+ }
121
179
  }
122
180
  }
123
181
  const uploader = GoogleDriveApiClient.drive.files.newMultipartUploader().setData(data, MimeTypes.TEXT);
@@ -158,5 +216,4 @@ class GoogleDriveApiClient {
158
216
  };
159
217
  }
160
218
  }
161
- export default GoogleDriveApiClient;
162
219
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GDrive","MimeTypes","NativeStorageErrorCode","NativeStorageError","GoogleDriveApiClient","drive","constructor","fetchTimeout","Proxy","get","target","prop","accessToken","toString","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","isCloudAvailable","_GoogleDriveApiClient","length","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","filter","f","mimeType","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","listFiles","list","spaces","fields","getFileId","parentDirectoryId","file","f2","FILE_NOT_FOUND","fileExists","e","code","createFile","data","overwrite","fileId","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","undefined","execute","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","listFiles","list","spaces","fields","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","file","FILE_NOT_FOUND","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","undefined","execute","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 +1 @@
1
- {"version":3,"names":["RNCloudStorage","useCallback","useEffect","useState","useCloudFile","path","scope","content","setContent","read","exists","readFile","then","update","newContent","writeFile","remove","unlink"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":"AACA,OAAOA,cAAc,MAAM,mBAAmB;AAC9C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAExD,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAmB,KAAK;EACjE,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,MAAM,GAAGZ,WAAW,CACxB,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,MAAM;IACNG;EACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["RNCloudStorage","useCallback","useEffect","useState","useCloudFile","path","scope","content","setContent","read","exists","readFile","then","update","newContent","writeFile","remove","unlink"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":"AACA,OAAOA,cAAc,MAAM,mBAAmB;AAC9C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAExD,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAwB,KAAK;EACtE,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,MAAM,GAAGZ,WAAW,CACxB,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,MAAM;IACNG;EACF,CAAC;AACH,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import RNCloudStorage from './RNCloudStorage';
2
- import { NativeStorageErrorCode } from './types/native';
2
+ import { CloudStorageErrorCode } from './types/native';
3
3
  export * from './types/main';
4
4
  export * from './hooks/useCloudFile';
5
5
  export * from './hooks/useIsCloudAvailable';
6
- import NativeStorageError from './utils/NativeStorageError';
7
- export { NativeStorageError };
8
- export { NativeStorageErrorCode };
6
+ import CloudStorageError from './utils/CloudStorageError';
7
+ export { CloudStorageError, CloudStorageErrorCode };
9
8
  export default RNCloudStorage;
10
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RNCloudStorage","NativeStorageErrorCode","NativeStorageError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAC7C,SAASC,sBAAsB,QAAQ,gBAAgB;AACvD,cAAc,cAAc;AAC5B,cAAc,sBAAsB;AACpC,cAAc,6BAA6B;AAC3C,OAAOC,kBAAkB,MAAM,4BAA4B;AAE3D,SAASA,kBAAkB;AAC3B,SAASD,sBAAsB;AAC/B,eAAeD,cAAc"}
1
+ {"version":3,"names":["RNCloudStorage","CloudStorageErrorCode","CloudStorageError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAC7C,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,cAAc,cAAc;AAC5B,cAAc,sBAAsB;AACpC,cAAc,6BAA6B;AAC3C,OAAOC,iBAAiB,MAAM,2BAA2B;AAEzD,SAASA,iBAAiB,EAAED,qBAAqB;AACjD,eAAeD,cAAc"}
@@ -1,6 +1,6 @@
1
- export let StorageScope = /*#__PURE__*/function (StorageScope) {
2
- StorageScope["Documents"] = "documents";
3
- StorageScope["AppData"] = "app_data";
4
- return StorageScope;
1
+ export let CloudStorageScope = /*#__PURE__*/function (CloudStorageScope) {
2
+ CloudStorageScope["Documents"] = "documents";
3
+ CloudStorageScope["AppData"] = "app_data";
4
+ return CloudStorageScope;
5
5
  }({});
6
6
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StorageScope"],"sourceRoot":"../../../src","sources":["types/main.ts"],"mappings":"AAAA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA"}
1
+ {"version":3,"names":["CloudStorageScope"],"sourceRoot":"../../../src","sources":["types/main.ts"],"mappings":"AAAA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA"}
@@ -1,13 +1,15 @@
1
- export let NativeStorageErrorCode = /*#__PURE__*/function (NativeStorageErrorCode) {
2
- NativeStorageErrorCode["FILE_NOT_FOUND"] = "ERR_FILE_NOT_FOUND";
3
- NativeStorageErrorCode["DIRECTORY_NOT_FOUND"] = "ERR_NO_DIRECTORY_FOUND";
4
- NativeStorageErrorCode["FILE_ALREADY_EXISTS"] = "ERR_FILE_EXISTS";
5
- NativeStorageErrorCode["WRITE_ERROR"] = "ERR_WRITE_ERROR";
6
- NativeStorageErrorCode["READ_ERROR"] = "ERR_READ_ERROR";
7
- NativeStorageErrorCode["DELETE_ERROR"] = "ERR_DELETE_ERROR";
8
- NativeStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
9
- NativeStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
10
- NativeStorageErrorCode["GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"] = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING";
11
- return NativeStorageErrorCode;
1
+ export let CloudStorageErrorCode = /*#__PURE__*/function (CloudStorageErrorCode) {
2
+ CloudStorageErrorCode["FILE_NOT_FOUND"] = "ERR_FILE_NOT_FOUND";
3
+ CloudStorageErrorCode["DIRECTORY_NOT_FOUND"] = "ERR_NO_DIRECTORY_FOUND";
4
+ CloudStorageErrorCode["FILE_ALREADY_EXISTS"] = "ERR_FILE_EXISTS";
5
+ CloudStorageErrorCode["MULTIPLE_FILES_SAME_NAME"] = "ERR_MULTIPLE_FILES_SAME_NAME";
6
+ CloudStorageErrorCode["AUTHENTICATION_FAILED"] = "ERR_AUTHENTICATION_FAILED";
7
+ CloudStorageErrorCode["WRITE_ERROR"] = "ERR_WRITE_ERROR";
8
+ CloudStorageErrorCode["READ_ERROR"] = "ERR_READ_ERROR";
9
+ CloudStorageErrorCode["DELETE_ERROR"] = "ERR_DELETE_ERROR";
10
+ CloudStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
11
+ CloudStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
12
+ CloudStorageErrorCode["GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"] = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING";
13
+ return CloudStorageErrorCode;
12
14
  }({});
13
15
  //# sourceMappingURL=native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeStorageErrorCode"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":"AAUA,WAAYA,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;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;EAAA,OAArBA,qBAAqB;AAAA"}
@@ -0,0 +1,9 @@
1
+ class CloudStorageError extends Error {
2
+ constructor(message, code, details) {
3
+ super(message);
4
+ this.code = code;
5
+ this.details = details;
6
+ }
7
+ }
8
+ export default CloudStorageError;
9
+ //# sourceMappingURL=CloudStorageError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CloudStorageError","Error","constructor","message","code","details"],"sourceRoot":"../../../src","sources":["utils/CloudStorageError.ts"],"mappings":"AAEA,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EAIpCC,WAAWA,CAACC,OAAe,EAAEC,IAA2B,EAAEC,OAAa,EAAE;IACvE,KAAK,CAACF,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACxB;AACF;AAEA,eAAeL,iBAAiB"}
@@ -1,7 +1,14 @@
1
- import type { StorageFileStat, StorageScope } from './types/main';
1
+ import type { CloudStorageFileStat, CloudStorageScope } from './types/main';
2
2
  declare const RNCloudStorage: {
3
- googleDriveAccessToken: string;
3
+ getGoogleDriveAccessToken: () => string | undefined;
4
4
  setGoogleDriveAccessToken: (accessToken: string) => string;
5
+ setThrowOnFilesWithSameName: (enable: boolean) => boolean;
6
+ subscribeToFilesWithSameName: (subscriber: ({ path, fileIds }: {
7
+ path: string;
8
+ fileIds: string[];
9
+ }) => void) => {
10
+ remove: () => void;
11
+ };
5
12
  /**
6
13
  * Tests whether or not the cloud storage is available. Always returns true for Google Drive. iCloud may be
7
14
  * unavailable right after app launch or if the user is not logged in.
@@ -14,7 +21,7 @@ declare const RNCloudStorage: {
14
21
  * @param scope The directory scope the path is in.
15
22
  * @returns A promise that resolves to true if the path exists, false otherwise.
16
23
  */
17
- exists: (path: string, scope: StorageScope) => Promise<boolean>;
24
+ exists: (path: string, scope: CloudStorageScope) => Promise<boolean>;
18
25
  /**
19
26
  * Writes to the file at the given path, creating it if it doesn't exist or overwriting it if it does.
20
27
  * @param path The file to write to.
@@ -22,28 +29,28 @@ declare const RNCloudStorage: {
22
29
  * @param scope The directory scope the path is in.
23
30
  * @returns A promise that resolves when the file has been written.
24
31
  */
25
- writeFile: (path: string, data: string, scope: StorageScope) => Promise<void>;
32
+ writeFile: (path: string, data: string, scope: CloudStorageScope) => Promise<void>;
26
33
  /**
27
34
  * Reads the contents of the file at the given path.
28
35
  * @param path The file to read.
29
36
  * @param scope The directory scope the path is in.
30
37
  * @returns A promise that resolves to the contents of the file.
31
38
  */
32
- readFile: (path: string, scope: StorageScope) => Promise<string>;
39
+ readFile: (path: string, scope: CloudStorageScope) => Promise<string>;
33
40
  /**
34
41
  * Deletes the file at the given path.
35
42
  * @param path The file to delete.
36
43
  * @param scope The directory scope the path is in.
37
44
  * @returns A promise that resolves when the file has been deleted.
38
45
  */
39
- unlink: (path: string, scope: StorageScope) => Promise<void>;
46
+ unlink: (path: string, scope: CloudStorageScope) => Promise<void>;
40
47
  /**
41
48
  * Gets the size, creation time, and modification time of the file at the given path.
42
49
  * @param path The file to stat.
43
50
  * @param scope The directory scope the path is in.
44
- * @returns A promise that resolves to the StorageFileStat object.
51
+ * @returns A promise that resolves to the CloudStorageFileStat object.
45
52
  */
46
- stat: (path: string, scope: StorageScope) => Promise<StorageFileStat>;
53
+ stat: (path: string, scope: CloudStorageScope) => Promise<CloudStorageFileStat>;
47
54
  };
48
55
  export default RNCloudStorage;
49
56
  //# sourceMappingURL=RNCloudStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGlE,QAAA,MAAM,cAAc;;6CAEuB,MAAM;IAE/C;;;;OAIG;4BACyB,QAAQ,OAAO,CAAC;IAI5C;;;;;OAKG;mBACY,MAAM,SAAS,YAAY,KAAG,QAAQ,OAAO,CAAC;IAI7D;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,SAAS,YAAY,KAAG,QAAQ,IAAI,CAAC;IAI3E;;;;;OAKG;qBACc,MAAM,SAAS,YAAY,KAAG,QAAQ,MAAM,CAAC;IAI9D;;;;;OAKG;mBACY,MAAM,SAAS,YAAY,KAAG,QAAQ,IAAI,CAAC;IAI1D;;;;;OAKG;iBACgB,MAAM,SAAS,YAAY,KAAG,QAAQ,eAAe,CAAC;CAW1E,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAK5E,QAAA,MAAM,cAAc;;6CAEuB,MAAM;0CACT,OAAO;;;;;;;IAS7C;;;;OAIG;4BACyB,QAAQ,OAAO,CAAC;IAI5C;;;;;OAKG;mBACY,MAAM,SAAS,iBAAiB,KAAG,QAAQ,OAAO,CAAC;IAIlE;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,SAAS,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIhF;;;;;OAKG;qBACc,MAAM,SAAS,iBAAiB,KAAG,QAAQ,MAAM,CAAC;IAInE;;;;;OAKG;mBACY,MAAM,SAAS,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAI/D;;;;;OAKG;iBACgB,MAAM,SAAS,iBAAiB,KAAG,QAAQ,oBAAoB,CAAC;CAWpF,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,21 +1,32 @@
1
1
  import type NativeRNCloudStorage from '../types/native';
2
- import { type NativeRNCloudStorageFileStat, type NativeRNCloudStorageScope } from '../types/native';
3
- declare class GoogleDriveApiClient implements NativeRNCloudStorage {
2
+ import { type NativeRNCloudCloudStorageFileStat, type NativeRNCloudCloudStorageScope } from '../types/native';
3
+ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
4
4
  private static drive;
5
+ static throwOnFilesWithSameName: boolean;
6
+ filesWithSameNameSubscribers: (({ path, fileIds }: {
7
+ path: string;
8
+ fileIds: string[];
9
+ }) => void)[];
5
10
  constructor();
6
- static set accessToken(accessToken: string);
7
- static get accessToken(): string;
11
+ static set accessToken(accessToken: string | undefined);
12
+ static get accessToken(): string | undefined;
13
+ subscribeToFilesWithSameName(subscriber: ({ path, fileIds }: {
14
+ path: string;
15
+ fileIds: string[];
16
+ }) => void): {
17
+ remove: () => void;
18
+ };
8
19
  isCloudAvailable: () => Promise<boolean>;
9
20
  private getRootDirectory;
10
21
  private resolvePathToDirectories;
11
22
  private findParentDirectoryId;
12
23
  private listFiles;
24
+ private checkIfMultipleFilesWithSameName;
13
25
  private getFileId;
14
- fileExists(path: string, scope: NativeRNCloudStorageScope): Promise<boolean>;
15
- createFile(path: string, data: string, scope: NativeRNCloudStorageScope, overwrite: boolean): Promise<void>;
16
- readFile(path: string, scope: NativeRNCloudStorageScope): Promise<string>;
17
- deleteFile(path: string, scope: NativeRNCloudStorageScope): Promise<void>;
18
- statFile(path: string, scope: NativeRNCloudStorageScope): Promise<NativeRNCloudStorageFileStat>;
26
+ fileExists(path: string, scope: NativeRNCloudCloudStorageScope): Promise<boolean>;
27
+ createFile(path: string, data: string, scope: NativeRNCloudCloudStorageScope, overwrite: boolean): Promise<void>;
28
+ readFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<string>;
29
+ deleteFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<void>;
30
+ statFile(path: string, scope: NativeRNCloudCloudStorageScope): Promise<NativeRNCloudCloudStorageFileStat>;
19
31
  }
20
- export default GoogleDriveApiClient;
21
32
  //# sourceMappingURL=index.d.ts.map
@@ -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,4BAA4B,EACjC,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAIzB,cAAM,oBAAqB,YAAW,oBAAoB;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;;IAsB5C,WAAkB,WAAW,CAAC,WAAW,EAAE,MAAM,EAEhD;IAED,WAAkB,WAAW,IAAI,MAAM,CAEtC;IAEM,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAA0D;IAEzG,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;YAiDf,SAAS;YAST,SAAS;IAgBjB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B3G,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,4BAA4B,CAAC;CAatG;AAED,eAAe,oBAAoB,CAAC"}
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;YAiDf,SAAS;IASvB,OAAO,CAAC,gCAAgC;YAyB1B,SAAS;IAkCjB,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,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;CAahH"}
@@ -1,5 +1,5 @@
1
- import type { StorageScope } from '../types/main';
2
- export declare const useCloudFile: (path: string, scope: StorageScope) => {
1
+ import type { CloudStorageScope } from '../types/main';
2
+ export declare const useCloudFile: (path: string, scope: CloudStorageScope) => {
3
3
  content: string | null;
4
4
  read: () => Promise<void>;
5
5
  update: (newContent: string) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"useCloudFile.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCloudFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIlD,eAAO,MAAM,YAAY,SAAU,MAAM,SAAS,YAAY;;;yBAiBvC,MAAM;;CAkB5B,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,eAAO,MAAM,YAAY,SAAU,MAAM,SAAS,iBAAiB;;;yBAiB5C,MAAM;;CAkB5B,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import RNCloudStorage from './RNCloudStorage';
2
- import { NativeStorageErrorCode } from './types/native';
2
+ import { CloudStorageErrorCode } from './types/native';
3
3
  export * from './types/main';
4
4
  export * from './hooks/useCloudFile';
5
5
  export * from './hooks/useIsCloudAvailable';
6
- import NativeStorageError from './utils/NativeStorageError';
7
- export { NativeStorageError };
8
- export { NativeStorageErrorCode };
6
+ import CloudStorageError from './utils/CloudStorageError';
7
+ export { CloudStorageError, CloudStorageErrorCode };
9
8
  export default RNCloudStorage;
10
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AACpD,eAAe,cAAc,CAAC"}
@@ -1,8 +1,8 @@
1
- export declare enum StorageScope {
1
+ export declare enum CloudStorageScope {
2
2
  Documents = "documents",
3
3
  AppData = "app_data"
4
4
  }
5
- export interface StorageFileStat {
5
+ export interface CloudStorageFileStat {
6
6
  size: number;
7
7
  birthtimeMs: number;
8
8
  mtimeMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/types/main.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,OAAO,aAAa;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/types/main.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,SAAS,cAAc;IACvB,OAAO,aAAa;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,OAAO,CAAC;CACvB"}
@@ -1,15 +1,17 @@
1
- export type NativeRNCloudStorageScope = 'documents' | 'app_data';
2
- export interface NativeRNCloudStorageFileStat {
1
+ export type NativeRNCloudCloudStorageScope = 'documents' | 'app_data';
2
+ export interface NativeRNCloudCloudStorageFileStat {
3
3
  size: number;
4
4
  birthtimeMs: number;
5
5
  mtimeMs: number;
6
6
  isDirectory: boolean;
7
7
  isFile: boolean;
8
8
  }
9
- export declare enum NativeStorageErrorCode {
9
+ export declare enum CloudStorageErrorCode {
10
10
  FILE_NOT_FOUND = "ERR_FILE_NOT_FOUND",
11
11
  DIRECTORY_NOT_FOUND = "ERR_NO_DIRECTORY_FOUND",
12
12
  FILE_ALREADY_EXISTS = "ERR_FILE_EXISTS",
13
+ MULTIPLE_FILES_SAME_NAME = "ERR_MULTIPLE_FILES_SAME_NAME",
14
+ AUTHENTICATION_FAILED = "ERR_AUTHENTICATION_FAILED",
13
15
  WRITE_ERROR = "ERR_WRITE_ERROR",
14
16
  READ_ERROR = "ERR_READ_ERROR",
15
17
  DELETE_ERROR = "ERR_DELETE_ERROR",
@@ -18,11 +20,11 @@ export declare enum NativeStorageErrorCode {
18
20
  GOOGLE_DRIVE_ACCESS_TOKEN_MISSING = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"
19
21
  }
20
22
  export default interface NativeRNCloudStorage {
21
- fileExists: (path: string, scope: NativeRNCloudStorageScope) => Promise<boolean>;
22
- createFile: (path: string, data: string, scope: NativeRNCloudStorageScope, overwrite: boolean) => Promise<void>;
23
- readFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<string>;
24
- deleteFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<void>;
25
- statFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<NativeRNCloudStorageFileStat>;
23
+ fileExists: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<boolean>;
24
+ createFile: (path: string, data: string, scope: NativeRNCloudCloudStorageScope, overwrite: boolean) => Promise<void>;
25
+ readFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<string>;
26
+ deleteFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<void>;
27
+ statFile: (path: string, scope: NativeRNCloudCloudStorageScope) => Promise<NativeRNCloudCloudStorageFileStat>;
26
28
  isCloudAvailable: () => Promise<boolean>;
27
29
  }
28
30
  //# sourceMappingURL=native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/types/native.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,4BAA4B;IAC3C,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,sBAAsB;IAChC,cAAc,uBAAuB;IACrC,mBAAmB,2BAA2B;IAC9C,mBAAmB,oBAAoB;IACvC,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,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACpG,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,mBAAmB,2BAA2B;IAC9C,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,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"}
@@ -0,0 +1,8 @@
1
+ import type { CloudStorageErrorCode } from '../types/native';
2
+ declare class CloudStorageError extends Error {
3
+ code: CloudStorageErrorCode;
4
+ details?: any;
5
+ constructor(message: string, code: CloudStorageErrorCode, details?: any);
6
+ }
7
+ export default CloudStorageError;
8
+ //# sourceMappingURL=CloudStorageError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudStorageError.d.ts","sourceRoot":"","sources":["../../../src/utils/CloudStorageError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,cAAM,iBAAkB,SAAQ,KAAK;IACnC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,GAAG;CAKxE;AAED,eAAe,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-cloud-storage",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
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",