react-native-cloud-storage 1.5.0 → 1.5.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 (106) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -6
  3. package/ios/CloudStorage.swift +262 -52
  4. package/ios/CloudStorage.xcodeproj/project.pbxproj +0 -28
  5. package/ios/CloudStorage.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  6. package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  7. package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  8. package/ios/CloudStorage.xcodeproj/xcuserdata/max.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
  9. package/ios/CloudStorageEventEmitter.swift +4 -4
  10. package/lib/commonjs/RNCloudStorage.js +66 -361
  11. package/lib/commonjs/RNCloudStorage.js.map +1 -1
  12. package/lib/commonjs/createRNCloudStorage.js +48 -0
  13. package/lib/commonjs/createRNCloudStorage.js.map +1 -0
  14. package/lib/commonjs/expo-plugin/types/index.js.map +1 -1
  15. package/lib/commonjs/expo-plugin/withRNCloudStorage.js +3 -2
  16. package/lib/commonjs/expo-plugin/withRNCloudStorage.js.map +1 -1
  17. package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js +7 -4
  18. package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js.map +1 -1
  19. package/lib/commonjs/google-drive/client.js +20 -16
  20. package/lib/commonjs/google-drive/client.js.map +1 -1
  21. package/lib/commonjs/google-drive/index.js +64 -42
  22. package/lib/commonjs/google-drive/index.js.map +1 -1
  23. package/lib/commonjs/google-drive/types.js +2 -1
  24. package/lib/commonjs/google-drive/types.js.map +1 -1
  25. package/lib/commonjs/hooks/useCloudFile.js +17 -14
  26. package/lib/commonjs/hooks/useCloudFile.js.map +1 -1
  27. package/lib/commonjs/hooks/useIsCloudAvailable.js +21 -11
  28. package/lib/commonjs/hooks/useIsCloudAvailable.js.map +1 -1
  29. package/lib/commonjs/index.js +7 -1
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/commonjs/types/main.js +3 -8
  32. package/lib/commonjs/types/main.js.map +1 -1
  33. package/lib/commonjs/types/native.js +3 -3
  34. package/lib/commonjs/types/native.js.map +1 -1
  35. package/lib/commonjs/utils/CloudStorageError.js +2 -1
  36. package/lib/commonjs/utils/CloudStorageError.js.map +1 -1
  37. package/lib/commonjs/utils/helpers.js +15 -8
  38. package/lib/commonjs/utils/helpers.js.map +1 -1
  39. package/lib/module/RNCloudStorage.js +65 -362
  40. package/lib/module/RNCloudStorage.js.map +1 -1
  41. package/lib/module/createRNCloudStorage.js +41 -0
  42. package/lib/module/createRNCloudStorage.js.map +1 -0
  43. package/lib/module/expo-plugin/types/index.js +1 -1
  44. package/lib/module/expo-plugin/types/index.js.map +1 -1
  45. package/lib/module/expo-plugin/withRNCloudStorage.js +0 -2
  46. package/lib/module/expo-plugin/withRNCloudStorage.js.map +1 -1
  47. package/lib/module/expo-plugin/withRNCloudStorageIos.js +5 -5
  48. package/lib/module/expo-plugin/withRNCloudStorageIos.js.map +1 -1
  49. package/lib/module/google-drive/client.js +20 -18
  50. package/lib/module/google-drive/client.js.map +1 -1
  51. package/lib/module/google-drive/index.js +62 -41
  52. package/lib/module/google-drive/index.js.map +1 -1
  53. package/lib/module/google-drive/types.js +0 -2
  54. package/lib/module/google-drive/types.js.map +1 -1
  55. package/lib/module/hooks/useCloudFile.js +16 -15
  56. package/lib/module/hooks/useCloudFile.js.map +1 -1
  57. package/lib/module/hooks/useIsCloudAvailable.js +21 -13
  58. package/lib/module/hooks/useIsCloudAvailable.js.map +1 -1
  59. package/lib/module/index.js +5 -2
  60. package/lib/module/index.js.map +1 -1
  61. package/lib/module/types/main.js +0 -9
  62. package/lib/module/types/main.js.map +1 -1
  63. package/lib/module/types/native.js +1 -4
  64. package/lib/module/types/native.js.map +1 -1
  65. package/lib/module/utils/CloudStorageError.js +0 -2
  66. package/lib/module/utils/CloudStorageError.js.map +1 -1
  67. package/lib/module/utils/helpers.js +13 -8
  68. package/lib/module/utils/helpers.js.map +1 -1
  69. package/lib/typescript/RNCloudStorage.d.ts +39 -159
  70. package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
  71. package/lib/typescript/createRNCloudStorage.d.ts +3 -0
  72. package/lib/typescript/createRNCloudStorage.d.ts.map +1 -0
  73. package/lib/typescript/google-drive/client.d.ts +3 -3
  74. package/lib/typescript/google-drive/client.d.ts.map +1 -1
  75. package/lib/typescript/google-drive/index.d.ts +18 -6
  76. package/lib/typescript/google-drive/index.d.ts.map +1 -1
  77. package/lib/typescript/hooks/useCloudFile.d.ts +7 -4
  78. package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
  79. package/lib/typescript/hooks/useIsCloudAvailable.d.ts +2 -3
  80. package/lib/typescript/hooks/useIsCloudAvailable.d.ts.map +1 -1
  81. package/lib/typescript/index.d.ts +4 -0
  82. package/lib/typescript/index.d.ts.map +1 -1
  83. package/lib/typescript/types/main.d.ts +0 -33
  84. package/lib/typescript/types/main.d.ts.map +1 -1
  85. package/lib/typescript/types/native.d.ts +1 -2
  86. package/lib/typescript/types/native.d.ts.map +1 -1
  87. package/lib/typescript/utils/helpers.d.ts +9 -2
  88. package/lib/typescript/utils/helpers.d.ts.map +1 -1
  89. package/package.json +11 -9
  90. package/src/RNCloudStorage.ts +68 -387
  91. package/src/createRNCloudStorage.ts +53 -0
  92. package/src/google-drive/client.ts +7 -8
  93. package/src/google-drive/index.ts +63 -38
  94. package/src/hooks/useCloudFile.ts +16 -13
  95. package/src/hooks/useIsCloudAvailable.ts +25 -12
  96. package/src/index.ts +5 -0
  97. package/src/types/main.ts +0 -38
  98. package/src/types/native.ts +1 -2
  99. package/src/utils/helpers.ts +15 -8
  100. package/ios/Utils/CloudKitUtils.swift +0 -112
  101. package/ios/Utils/CloudStorageError.swift +0 -78
  102. package/ios/Utils/FileUtils.swift +0 -132
  103. package/ios/Utils/Promise.swift +0 -58
  104. package/ios/Utils/Types.swift +0 -36
  105. package/lib/commonjs/package.json +0 -1
  106. package/lib/module/package.json +0 -1
@@ -1,45 +1,46 @@
1
- "use strict";
2
-
3
1
  import RNCloudStorage from '../RNCloudStorage';
4
2
  import { useCallback, useEffect, useState } from 'react';
5
3
 
6
4
  /**
7
5
  * A utility hook for reading and writing to a single file in the cloud.
8
6
  * @param path The path to the file.
9
- * @param scope The directory scope the path is in. Defaults to the default scope set for the current provider.
10
- * @param cloudStorageInstance An optional instance of RNCloudStorage to use instead of the default instance.
7
+ * @param scope The directory scope the path is in. If not provided, defaults to the default scope set in the library.
11
8
  * @returns An object containing the file's contents and functions for downloading, reading, writing, and removing the file.
12
9
  */
13
- export const useCloudFile = (path, scope, cloudStorageInstance) => {
10
+ export const useCloudFile = (path, scope) => {
14
11
  const [content, setContent] = useState(null);
15
- const instance = cloudStorageInstance ?? RNCloudStorage;
16
12
  const read = useCallback(async () => {
17
- const exists = await instance.exists(path, scope);
13
+ const exists = await RNCloudStorage.exists(path, scope);
18
14
  if (!exists) {
19
15
  setContent(null);
20
16
  return;
21
17
  }
22
- instance.readFile(path, scope).then(setContent);
23
- }, [path, scope, instance]);
18
+ RNCloudStorage.readFile(path, scope).then(setContent);
19
+ }, [path, scope]);
24
20
  useEffect(() => {
25
21
  read();
26
22
  }, [read]);
27
23
  const write = useCallback(async newContent => {
28
- await instance.writeFile(path, newContent, scope);
24
+ await RNCloudStorage.writeFile(path, newContent, scope);
29
25
  read();
30
- }, [path, scope, read, instance]);
26
+ }, [path, scope, read]);
31
27
  const remove = useCallback(async () => {
32
- await instance.unlink(path, scope);
28
+ await RNCloudStorage.unlink(path, scope);
33
29
  setContent(null);
34
- }, [path, scope, instance]);
30
+ }, [path, scope]);
35
31
  const download = useCallback(async () => {
36
- await instance.downloadFile(path, scope);
37
- }, [path, scope, instance]);
32
+ await RNCloudStorage.downloadFile(path, scope);
33
+ }, [path, scope]);
38
34
  return {
39
35
  content,
40
36
  read,
41
37
  write,
42
38
  remove,
39
+ /**
40
+ * @deprecated Use `write` instead.
41
+ * @alias write
42
+ */
43
+ update: write,
43
44
  /**
44
45
  * Downloads the file from iCloud to the device. Needed if the file hasn't been synced yet. Has no effect on
45
46
  * Google Drive.
@@ -1 +1 @@
1
- {"version":3,"names":["RNCloudStorage","useCallback","useEffect","useState","useCloudFile","path","scope","cloudStorageInstance","content","setContent","instance","read","exists","readFile","then","write","newContent","writeFile","remove","unlink","download","downloadFile"],"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;AACA,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,EAAEC,oBAAqC,KAAK;EAC9G,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGN,QAAQ,CAAgB,IAAI,CAAC;EAC3D,MAAMO,QAAQ,GAAGH,oBAAoB,IAAIP,cAAc;EAEvD,MAAMW,IAAI,GAAGV,WAAW,CAAC,YAAY;IACnC,MAAMW,MAAM,GAAG,MAAMF,QAAQ,CAACE,MAAM,CAACP,IAAI,EAAEC,KAAK,CAAC;IACjD,IAAI,CAACM,MAAM,EAAE;MACXH,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAC,QAAQ,CAACG,QAAQ,CAACR,IAAI,EAAEC,KAAK,CAAC,CAACQ,IAAI,CAACL,UAAU,CAAC;EACjD,CAAC,EAAE,CAACJ,IAAI,EAAEC,KAAK,EAAEI,QAAQ,CAAC,CAAC;EAE3BR,SAAS,CAAC,MAAM;IACdS,IAAI,CAAC,CAAC;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMI,KAAK,GAAGd,WAAW,CACvB,MAAOe,UAAkB,IAAK;IAC5B,MAAMN,QAAQ,CAACO,SAAS,CAACZ,IAAI,EAAEW,UAAU,EAAEV,KAAK,CAAC;IACjDK,IAAI,CAAC,CAAC;EACR,CAAC,EACD,CAACN,IAAI,EAAEC,KAAK,EAAEK,IAAI,EAAED,QAAQ,CAC9B,CAAC;EAED,MAAMQ,MAAM,GAAGjB,WAAW,CAAC,YAAY;IACrC,MAAMS,QAAQ,CAACS,MAAM,CAACd,IAAI,EAAEC,KAAK,CAAC;IAClCG,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACJ,IAAI,EAAEC,KAAK,EAAEI,QAAQ,CAAC,CAAC;EAE3B,MAAMU,QAAQ,GAAGnB,WAAW,CAAC,YAAY;IACvC,MAAMS,QAAQ,CAACW,YAAY,CAAChB,IAAI,EAAEC,KAAK,CAAC;EAC1C,CAAC,EAAE,CAACD,IAAI,EAAEC,KAAK,EAAEI,QAAQ,CAAC,CAAC;EAE3B,OAAO;IACLF,OAAO;IACPG,IAAI;IACJI,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACIE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["RNCloudStorage","useCallback","useEffect","useState","useCloudFile","path","scope","content","setContent","read","exists","readFile","then","write","newContent","writeFile","remove","unlink","download","downloadFile","update"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":"AACA,OAAOA,cAAc,MAAM,mBAAmB;AAC9C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,KAAK;EACvE,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGL,QAAQ,CAAgB,IAAI,CAAC;EAE3D,MAAMM,IAAI,GAAGR,WAAW,CAAC,YAAY;IACnC,MAAMS,MAAM,GAAG,MAAMV,cAAc,CAACU,MAAM,CAACL,IAAI,EAAEC,KAAK,CAAC;IACvD,IAAI,CAACI,MAAM,EAAE;MACXF,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAR,cAAc,CAACW,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC,CAACM,IAAI,CAACJ,UAAU,CAAC;EACvD,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjBJ,SAAS,CAAC,MAAM;IACdO,IAAI,EAAE;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMI,KAAK,GAAGZ,WAAW,CACvB,MAAOa,UAAkB,IAAK;IAC5B,MAAMd,cAAc,CAACe,SAAS,CAACV,IAAI,EAAES,UAAU,EAAER,KAAK,CAAC;IACvDG,IAAI,EAAE;EACR,CAAC,EACD,CAACJ,IAAI,EAAEC,KAAK,EAAEG,IAAI,CAAC,CACpB;EAED,MAAMO,MAAM,GAAGf,WAAW,CAAC,YAAY;IACrC,MAAMD,cAAc,CAACiB,MAAM,CAACZ,IAAI,EAAEC,KAAK,CAAC;IACxCE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,MAAMY,QAAQ,GAAGjB,WAAW,CAAC,YAAY;IACvC,MAAMD,cAAc,CAACmB,YAAY,CAACd,IAAI,EAAEC,KAAK,CAAC;EAChD,CAAC,EAAE,CAACD,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,OAAO;IACLC,OAAO;IACPE,IAAI;IACJI,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACII,MAAM,EAAEP,KAAK;IACb;AACJ;AACA;AACA;IACIK;EACF,CAAC;AACH,CAAC"}
@@ -1,29 +1,37 @@
1
- "use strict";
2
-
3
- import { useCallback, useEffect, useState } from 'react';
1
+ import { useEffect, useState } from 'react';
2
+ import { NativeEventEmitter, NativeModules, Platform, DeviceEventEmitter } from 'react-native';
4
3
  import RNCloudStorage from '../RNCloudStorage';
5
4
 
6
5
  /**
7
6
  * A hook that tests whether or not the cloud storage is available.
8
- * @param cloudStorageInstance - An optional instance of RNCloudStorage to use instead of the default instance.
7
+ * @param _iCloudTimeout DEPRECATED: This parameter is deprecated and has no effect. It will be removed in a future version.
9
8
  * @returns A boolean indicating whether or not the cloud storage is available.
10
9
  */
11
- export const useIsCloudAvailable = cloudStorageInstance => {
10
+ export const useIsCloudAvailable = _iCloudTimeout => {
12
11
  const [isAvailable, setIsAvailable] = useState(false);
13
- const instance = cloudStorageInstance ?? RNCloudStorage.getDefaultInstance();
14
- const handleAvailabilityChange = useCallback(available => {
15
- setIsAvailable(available);
16
- }, []);
17
12
  useEffect(() => {
18
13
  // Set the initial availability state
19
- instance.isCloudAvailable().then(setIsAvailable);
14
+ RNCloudStorage.isCloudAvailable().then(setIsAvailable);
20
15
 
21
16
  // Listen for changes to the cloud availability using the native event emitter
22
- instance.subscribeToCloudAvailability(handleAvailabilityChange);
17
+ let eventEmitter;
18
+ if (Platform.OS === 'ios') {
19
+ eventEmitter = new NativeEventEmitter(NativeModules.CloudStorageEventEmitter);
20
+ } else {
21
+ eventEmitter = DeviceEventEmitter;
22
+ }
23
+ eventEmitter.addListener('RNCloudStorage.cloud.availability-changed', event => {
24
+ setIsAvailable(event.available);
25
+ });
23
26
  return () => {
24
- instance.unsubscribeFromCloudAvailability(handleAvailabilityChange);
27
+ eventEmitter.removeAllListeners('RNCloudStorage.cloud.availability-changed');
25
28
  };
26
- }, [instance, handleAvailabilityChange]);
29
+ }, []);
30
+ useEffect(() => {
31
+ if (_iCloudTimeout !== undefined) {
32
+ console.warn('The iCloudTimeout parameter for useIsCloudFile is deprecated and has no effect. It will be removed in a future version. Please remove it from your code.');
33
+ }
34
+ }, [_iCloudTimeout]);
27
35
  return isAvailable;
28
36
  };
29
37
  //# sourceMappingURL=useIsCloudAvailable.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","RNCloudStorage","useIsCloudAvailable","cloudStorageInstance","isAvailable","setIsAvailable","instance","getDefaultInstance","handleAvailabilityChange","available","isCloudAvailable","then","subscribeToCloudAvailability","unsubscribeFromCloudAvailability"],"sourceRoot":"../../../src","sources":["hooks/useIsCloudAvailable.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,OAAOC,cAAc,MAAM,mBAAmB;;AAE9C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAIC,oBAAqC,IAAK;EAC5E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGL,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMM,QAAQ,GAAGH,oBAAoB,IAAIF,cAAc,CAACM,kBAAkB,CAAC,CAAC;EAE5E,MAAMC,wBAAwB,GAAGV,WAAW,CAAEW,SAAkB,IAAK;IACnEJ,cAAc,CAACI,SAAS,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAENV,SAAS,CAAC,MAAM;IACd;IACAO,QAAQ,CAACI,gBAAgB,CAAC,CAAC,CAACC,IAAI,CAACN,cAAc,CAAC;;IAEhD;IACAC,QAAQ,CAACM,4BAA4B,CAACJ,wBAAwB,CAAC;IAE/D,OAAO,MAAM;MACXF,QAAQ,CAACO,gCAAgC,CAACL,wBAAwB,CAAC;IACrE,CAAC;EACH,CAAC,EAAE,CAACF,QAAQ,EAAEE,wBAAwB,CAAC,CAAC;EAExC,OAAOJ,WAAW;AACpB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","NativeEventEmitter","NativeModules","Platform","DeviceEventEmitter","RNCloudStorage","useIsCloudAvailable","_iCloudTimeout","isAvailable","setIsAvailable","isCloudAvailable","then","eventEmitter","OS","CloudStorageEventEmitter","addListener","event","available","removeAllListeners","undefined","console","warn"],"sourceRoot":"../../../src","sources":["hooks/useIsCloudAvailable.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,kBAAkB,QAAQ,cAAc;AAC9F,OAAOC,cAAc,MAAM,mBAAmB;;AAE9C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAIC,cAAuB,IAAK;EAC9D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAAC,KAAK,CAAC;EAErDD,SAAS,CAAC,MAAM;IACd;IACAM,cAAc,CAACK,gBAAgB,EAAE,CAACC,IAAI,CAACF,cAAc,CAAC;;IAEtD;IACA,IAAIG,YAA4D;IAChE,IAAIT,QAAQ,CAACU,EAAE,KAAK,KAAK,EAAE;MACzBD,YAAY,GAAG,IAAIX,kBAAkB,CAACC,aAAa,CAACY,wBAAwB,CAAC;IAC/E,CAAC,MAAM;MACLF,YAAY,GAAGR,kBAAkB;IACnC;IAEAQ,YAAY,CAACG,WAAW,CAAC,2CAA2C,EAAGC,KAA6B,IAAK;MACvGP,cAAc,CAACO,KAAK,CAACC,SAAS,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXL,YAAY,CAACM,kBAAkB,CAAC,2CAA2C,CAAC;IAC9E,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENnB,SAAS,CAAC,MAAM;IACd,IAAIQ,cAAc,KAAKY,SAAS,EAAE;MAChCC,OAAO,CAACC,IAAI,CACV,0JAA0J,CAC3J;IACH;EACF,CAAC,EAAE,CAACd,cAAc,CAAC,CAAC;EAEpB,OAAOC,WAAW;AACpB,CAAC"}
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  import RNCloudStorage from './RNCloudStorage';
4
2
  import { CloudStorageErrorCode } from './types/native';
5
3
  export * from './types/main';
@@ -7,4 +5,9 @@ export * from './hooks/useCloudFile';
7
5
  export * from './hooks/useIsCloudAvailable';
8
6
  import CloudStorageError from './utils/CloudStorageError';
9
7
  export { RNCloudStorage as CloudStorage, CloudStorageError, CloudStorageErrorCode };
8
+
9
+ /**
10
+ * @deprecated Use the named export `CloudStorage` instead.
11
+ */
12
+ export default RNCloudStorage;
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RNCloudStorage","CloudStorageErrorCode","CloudStorageError","CloudStorage"],"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,SAASF,cAAc,IAAIG,YAAY,EAAED,iBAAiB,EAAED,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["RNCloudStorage","CloudStorageErrorCode","CloudStorageError","CloudStorage"],"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,SAASF,cAAc,IAAIG,YAAY,EAAED,iBAAiB,EAAED,qBAAqB;;AAEjF;AACA;AACA;AACA,eAAeD,cAAc"}
@@ -1,15 +1,6 @@
1
- "use strict";
2
-
3
- /* Custom utility type to make properties required, but still allow null if defined */
4
-
5
1
  export let CloudStorageScope = /*#__PURE__*/function (CloudStorageScope) {
6
2
  CloudStorageScope["Documents"] = "documents";
7
3
  CloudStorageScope["AppData"] = "app_data";
8
4
  return CloudStorageScope;
9
5
  }({});
10
- export let CloudStorageProvider = /*#__PURE__*/function (CloudStorageProvider) {
11
- CloudStorageProvider["ICloud"] = "icloud";
12
- CloudStorageProvider["GoogleDrive"] = "googledrive";
13
- return CloudStorageProvider;
14
- }({});
15
6
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CloudStorageScope","CloudStorageProvider"],"sourceRoot":"../../../src","sources":["types/main.ts"],"mappings":";;AAAA;;AAKA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAe7B,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA","ignoreList":[]}
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,7 +1,4 @@
1
- "use strict";
2
-
3
1
  export let CloudStorageErrorCode = /*#__PURE__*/function (CloudStorageErrorCode) {
4
- CloudStorageErrorCode["INVALID_SCOPE"] = "ERR_INVALID_SCOPE";
5
2
  CloudStorageErrorCode["FILE_NOT_FOUND"] = "ERR_FILE_NOT_FOUND";
6
3
  CloudStorageErrorCode["PATH_IS_FILE"] = "ERR_PATH_IS_FILE";
7
4
  CloudStorageErrorCode["PATH_IS_DIRECTORY"] = "ERR_PATH_IS_DIRECTORY";
@@ -16,7 +13,7 @@ export let CloudStorageErrorCode = /*#__PURE__*/function (CloudStorageErrorCode)
16
13
  CloudStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
17
14
  CloudStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
18
15
  CloudStorageErrorCode["FILE_NOT_DOWNLOADABLE"] = "ERR_FILE_NOT_DOWNLOADABLE";
19
- CloudStorageErrorCode["ACCESS_TOKEN_MISSING"] = "ERR_ACCESS_TOKEN_MISSING";
16
+ CloudStorageErrorCode["GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"] = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING";
20
17
  return CloudStorageErrorCode;
21
18
  }({});
22
19
  //# sourceMappingURL=native.js.map
@@ -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;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA","ignoreList":[]}
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;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA"}
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  class CloudStorageError extends Error {
4
2
  constructor(message, code, details) {
5
3
  super(message);
@@ -1 +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","ignoreList":[]}
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,11 +1,16 @@
1
- "use strict";
2
-
3
- import { CloudStorageProvider } from '../types/main';
4
- import { Platform } from 'react-native';
5
- export const isProviderSupported = provider => {
6
- if (Platform.OS !== 'ios' && provider === CloudStorageProvider.ICloud) {
7
- return false;
1
+ /**
2
+ * Checks if the path starts with a leading slash and adds one if it doesn't to maintain backwards compatibility.
3
+ * Will log a warning to the console if it had to add a leading slash. Will throw an error in the future.
4
+ *
5
+ * @param path The path to check.
6
+ * @returns The path with a leading slash, if it didn't have one already.
7
+ * @private
8
+ */
9
+ export const verifyLeadingSlash = path => {
10
+ if (!path.startsWith('/')) {
11
+ console.warn(`[react-native-cloud-storage] Path "${path}" did not start with a leading slash. This is deprecated and will be an error in the future.`);
12
+ return `/${path}`;
8
13
  }
9
- return true;
14
+ return path;
10
15
  };
11
16
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CloudStorageProvider","Platform","isProviderSupported","provider","OS","ICloud"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,eAAe;AACpD,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,mBAAmB,GAAIC,QAA8B,IAAc;EAC9E,IAAIF,QAAQ,CAACG,EAAE,KAAK,KAAK,IAAID,QAAQ,KAAKH,oBAAoB,CAACK,MAAM,EAAE;IACrE,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["verifyLeadingSlash","path","startsWith","console","warn"],"sourceRoot":"../../../src","sources":["utils/helpers.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,kBAAkB,GAAIC,IAAY,IAAK;EAClD,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;IACzBC,OAAO,CAACC,IAAI,CACT,sCAAqCH,IAAK,8FAA6F,CACzI;IACD,OAAQ,IAAGA,IAAK,EAAC;EACnB;EACA,OAAOA,IAAI;AACb,CAAC"}
@@ -1,218 +1,98 @@
1
- import { CloudStorageProvider, CloudStorageScope, type CloudStorageFileStat, type CloudStorageProviderOptions } from './types/main';
2
- export default class RNCloudStorage {
3
- private static defaultInstance;
4
- private provider;
5
- private cloudAvailabilityListeners;
6
- /**
7
- * Creates a new RNCloudStorage instance for the given provider.
8
- * @param provider The provider to create the instance for. Defaults to the default provider for the current platform.
9
- */
10
- constructor(provider?: CloudStorageProvider, options?: CloudStorageProviderOptions[keyof CloudStorageProviderOptions]);
11
- private get nativeInstance();
12
- /**
13
- * Gets the default CloudStorageProvider for the current platform.
14
- * @returns The default CloudStorageProvider.
15
- */
16
- static getDefaultProvider(): CloudStorageProvider;
17
- /**
18
- * Gets the list of supported CloudStorageProviders on the current platform.
19
- * @returns An array of supported CloudStorageProviders.
20
- */
21
- static getSupportedProviders(): CloudStorageProvider[];
22
- /**
23
- * Gets the current CloudStorageProvider.
24
- * @returns The current CloudStorageProvider.
25
- */
26
- getProvider(): CloudStorageProvider;
27
- /**
28
- * Sets the current CloudStorageProvider.
29
- * @param provider The provider to set.
30
- */
31
- setProvider(provider: CloudStorageProvider): void;
32
- /**
33
- * Gets the current options for the current provider.
34
- * @returns The current options for the current provider.
35
- */
36
- getProviderOptions(): CloudStorageProviderOptions[keyof CloudStorageProviderOptions];
37
- /**
38
- * Sets the options for the current provider.
39
- * @param options The options to set for the provider.
40
- */
41
- setProviderOptions(options: CloudStorageProviderOptions[keyof CloudStorageProviderOptions]): void;
42
- subscribeToCloudAvailability(listener: (available: boolean) => void): void;
43
- unsubscribeFromCloudAvailability(listener: (available: boolean) => void): void;
1
+ import { CloudStorageScope, type CloudStorageFileStat } from './types/main';
2
+ declare const RNCloudStorage: {
3
+ getDefaultScope: () => CloudStorageScope;
4
+ setDefaultScope: (scope: CloudStorageScope) => CloudStorageScope;
5
+ getGoogleDriveAccessToken: () => string | null;
6
+ setGoogleDriveAccessToken: (accessToken: string | null) => string | null;
7
+ setThrowOnFilesWithSameName: (enable: boolean) => boolean;
8
+ setTimeout: (timeout: number) => number;
9
+ subscribeToFilesWithSameName: (subscriber: ({ path, fileIds }: {
10
+ path: string;
11
+ fileIds: string[];
12
+ }) => void) => {
13
+ remove: () => void;
14
+ };
44
15
  /**
45
16
  * Tests whether or not the cloud storage is available. Always returns true for Google Drive. iCloud may be
46
17
  * unavailable right after app launch or if the user is not logged in.
47
18
  * @returns A promise that resolves to true if the cloud storage is available, false otherwise.
48
19
  */
49
- isCloudAvailable(): Promise<boolean>;
20
+ isCloudAvailable: () => Promise<boolean>;
50
21
  /**
51
22
  * Appends the data to the file at the given path, creating the file if it doesn't exist.
52
23
  * @param path The file to append to.
53
24
  * @param data The data to append.
54
- * @param scope The directory scope the path is in. Defaults to the default scope set for the current provider.
25
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
55
26
  * @returns A promise that resolves when the data has been appended.
56
27
  */
57
- appendFile(path: string, data: string, scope?: CloudStorageScope): Promise<void>;
28
+ appendFile: (path: string, data: string, scope?: CloudStorageScope) => Promise<void>;
58
29
  /**
59
30
  * Tests whether or not the file at the given path exists.
60
31
  * @param path The path to test.
61
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
32
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
62
33
  * @returns A promise that resolves to true if the path exists, false otherwise.
63
34
  */
64
- exists(path: string, scope?: CloudStorageScope): Promise<boolean>;
35
+ exists: (path: string, scope?: CloudStorageScope) => Promise<boolean>;
65
36
  /**
66
37
  * Writes to the file at the given path, creating it if it doesn't exist or overwriting it if it does.
67
38
  * @param path The file to write to.
68
39
  * @param data The data to write.
69
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
40
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
70
41
  * @returns A promise that resolves when the file has been written.
71
42
  */
72
- writeFile(path: string, data: string, scope?: CloudStorageScope): Promise<void>;
43
+ writeFile: (path: string, data: string, scope?: CloudStorageScope) => Promise<void>;
73
44
  /**
74
45
  * Creates a new directory at the given path.
75
46
  * @param path The directory to create.
76
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
47
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
77
48
  * @returns A promise that resolves when the directory has been created.
78
49
  */
79
- mkdir(path: string, scope?: CloudStorageScope): Promise<void>;
50
+ mkdir: (path: string, scope?: CloudStorageScope) => Promise<void>;
80
51
  /**
81
52
  * Lists the contents of the directory at the given path.
82
53
  * @param path The directory to list.
83
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
54
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
84
55
  * @returns A promise that resolves to an array of file names, excluding '.' and '..'.
85
56
  */
86
- readdir(path: string, scope?: CloudStorageScope): Promise<string[]>;
57
+ readdir: (path: string, scope?: CloudStorageScope) => Promise<string[]>;
87
58
  /**
88
59
  * Reads the contents of the file at the given path.
89
60
  * @param path The file to read.
90
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
61
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
91
62
  * @returns A promise that resolves to the contents of the file.
92
63
  */
93
- readFile(path: string, scope?: CloudStorageScope): Promise<string>;
64
+ readFile: (path: string, scope?: CloudStorageScope) => Promise<string>;
94
65
  /**
95
- * Downloads the file at the given path. Does not have any effect on Google Drive.
66
+ * Downloads the file at the given path from iCloud. Does not have any effect on Google Drive.
96
67
  * @param path The file to trigger the download for.
97
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
68
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
98
69
  * @returns A promise that resolves once the download has been triggered.
99
70
  */
100
- downloadFile(path: string, scope?: CloudStorageScope): Promise<void>;
71
+ downloadFile: (path: string, scope?: CloudStorageScope) => Promise<void>;
101
72
  /**
102
73
  * Deletes the file at the given path.
103
74
  * @param path The file to delete.
104
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
75
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
105
76
  * @returns A promise that resolves when the file has been deleted.
106
77
  */
107
- unlink(path: string, scope?: CloudStorageScope): Promise<void>;
78
+ unlink: (path: string, scope?: CloudStorageScope) => Promise<void>;
108
79
  /**
109
80
  * Deletes the directory at the given path.
110
81
  * @param path The directory to delete.
111
82
  * @param options Options for the delete operation. Defaults to { recursive: false }.
112
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
83
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
113
84
  * @returns A promise that resolves when the directory has been deleted.
114
85
  */
115
- rmdir(path: string, options?: {
86
+ rmdir: (path: string, options?: {
116
87
  recursive?: boolean;
117
- }, scope?: CloudStorageScope): Promise<void>;
88
+ }, scope?: CloudStorageScope) => Promise<void>;
118
89
  /**
119
90
  * Gets the size, creation time, and modification time of the file at the given path.
120
91
  * @param path The file to stat.
121
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
122
- * @returns A promise that resolves to the CloudStorageFileStat object.
123
- */
124
- stat(path: string, scope?: CloudStorageScope): Promise<CloudStorageFileStat>;
125
- static getDefaultInstance(): RNCloudStorage;
126
- /**
127
- * Gets the current options for the provider of the default static instance.
128
- * @returns The current options for the provider of the default static instance.
129
- */
130
- static getProviderOptions(): CloudStorageProviderOptions[keyof CloudStorageProviderOptions];
131
- /**
132
- * Sets the options for the provider of the default static instance.
133
- * @param options The options to set for the provider of the default static instance.
134
- */
135
- static setProviderOptions(options: CloudStorageProviderOptions[keyof CloudStorageProviderOptions]): void;
136
- /**
137
- * Tests whether or not the file at the given path exists in the provider of the default static instance.
138
- * @param path The path to test.
139
- * @param scope The directory scope the path is in. Defaults to set default scope set for the current provider.
140
- * @returns A promise that resolves to true if the path exists, false otherwise.
141
- */
142
- static exists(path: string, scope?: CloudStorageScope): Promise<boolean>;
143
- /**
144
- * Tests whether or not the cloud storage is available for the provider of the default static instance. Always returns true for Google Drive. iCloud may be
145
- * unavailable right after app launch or if the user is not logged in.
146
- * @returns A promise that resolves to true if the cloud storage is available, false otherwise.
147
- */
148
- static isCloudAvailable(): Promise<boolean>;
149
- /**
150
- * Appends the data to the file at the given path in the provider of the default static instance, creating the file if it doesn't exist.
151
- * @param path The file to append to.
152
- * @param data The data to append.
153
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
154
- * @returns A promise that resolves when the data has been appended.
155
- */
156
- static appendFile(path: string, data: string, scope?: CloudStorageScope): Promise<void>;
157
- /**
158
- * Writes to the file at the given path in the provider of the default static instance, creating it if it doesn't exist or overwriting it if it does.
159
- * @param path The file to write to.
160
- * @param data The data to write.
161
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
162
- * @returns A promise that resolves when the file has been written.
163
- */
164
- static writeFile(path: string, data: string, scope?: CloudStorageScope): Promise<void>;
165
- /**
166
- * Creates a new directory at the given path in the provider of the default static instance.
167
- * @param path The directory to create.
168
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
169
- * @returns A promise that resolves when the directory has been created.
170
- */
171
- static mkdir(path: string, scope?: CloudStorageScope): Promise<void>;
172
- /**
173
- * Lists the contents of the directory at the given path in the provider of the default static instance.
174
- * @param path The directory to list.
175
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
176
- * @returns A promise that resolves to an array of file names, excluding '.' and '..'.
177
- */
178
- static readdir(path: string, scope?: CloudStorageScope): Promise<string[]>;
179
- /**
180
- * Reads the contents of the file at the given path in the provider of the default static instance.
181
- * @param path The file to read.
182
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
183
- * @returns A promise that resolves to the contents of the file.
184
- */
185
- static readFile(path: string, scope?: CloudStorageScope): Promise<string>;
186
- /**
187
- * Downloads the file at the given path in the provider of the default static instance. Does not have any effect on Google Drive.
188
- * @param path The file to trigger the download for.
189
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
190
- * @returns A promise that resolves once the download has been triggered.
191
- */
192
- static downloadFile(path: string, scope?: CloudStorageScope): Promise<void>;
193
- /**
194
- * Deletes the file at the given path in the provider of the default static instance.
195
- * @param path The file to delete.
196
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
197
- * @returns A promise that resolves when the file has been deleted.
198
- */
199
- static unlink(path: string, scope?: CloudStorageScope): Promise<void>;
200
- /**
201
- * Deletes the directory at the given path in the provider of the default static instance.
202
- * @param path The directory to delete.
203
- * @param options Options for the delete operation. Defaults to { recursive: false }.
204
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
205
- * @returns A promise that resolves when the directory has been deleted.
206
- */
207
- static rmdir(path: string, options?: {
208
- recursive?: boolean;
209
- }, scope?: CloudStorageScope): Promise<void>;
210
- /**
211
- * Gets the size, creation time, and modification time of the file at the given path in the provider of the default static instance.
212
- * @param path The file to stat.
213
- * @param scope The directory scope the path is in. Defaults to the default scope set for the default static instance.
92
+ * @param scope The directory scope the path is in. Defaults to the set default scope.
214
93
  * @returns A promise that resolves to the CloudStorageFileStat object.
215
94
  */
216
- static stat(path: string, scope?: CloudStorageScope): Promise<CloudStorageFileStat>;
217
- }
95
+ stat: (path: string, scope?: CloudStorageScope) => Promise<CloudStorageFileStat>;
96
+ };
97
+ export default RNCloudStorage;
218
98
  //# sourceMappingURL=RNCloudStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"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"}
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,GAAG,IAAI;0CAChB,OAAO;0BACvB,MAAM;;;;;;;IAS5B;;;;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;;;;;;OAMG;kBACW,MAAM,YAAY;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIlG;;;;;OAKG;iBACgB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,oBAAoB,CAAC;CAWrF,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type NativeRNCloudStorage from './types/native';
2
+ export default function createRNCloudStorage(): NativeRNCloudStorage;
3
+ //# sourceMappingURL=createRNCloudStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/createRNCloudStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,gBAAgB,CAAC;AAmCvD,MAAM,CAAC,OAAO,UAAU,oBAAoB,IAAI,oBAAoB,CAgBnE"}
@@ -1,4 +1,3 @@
1
- import { type CloudStorageProviderOptions, type DeepRequired } from '../types/main';
2
1
  import { type GoogleDriveFile, type GoogleDriveFileSpace } from './types';
3
2
  export declare class GoogleDriveHttpError extends Error {
4
3
  status: number;
@@ -6,9 +5,10 @@ export declare class GoogleDriveHttpError extends Error {
6
5
  constructor(message: string, status: number, json: any);
7
6
  }
8
7
  export default class GoogleDriveApiClient {
8
+ accessToken: string;
9
+ timeout: number;
9
10
  private _fetchTimeout;
10
- private options;
11
- constructor(options: DeepRequired<CloudStorageProviderOptions['googledrive']>);
11
+ constructor(accessToken?: string);
12
12
  private buildQueryString;
13
13
  private request;
14
14
  private buildMultiPartBody;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/google-drive/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAG1B,MAAM,SAAS,CAAC;AAMjB,qBAAa,oBAAqB,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;CAKvD;AAID,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,OAAO,CAA2D;gBAE9D,OAAO,EAAE,YAAY,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAI7E,OAAO,CAAC,gBAAgB;YAeV,OAAO;IA4CrB,OAAO,CAAC,kBAAkB;IAab,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAoBlE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IASjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,UAAU,CACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC9C,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAeH,eAAe,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAYlG"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/google-drive/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAG1B,MAAM,SAAS,CAAC;AAMjB,qBAAa,oBAAqB,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;CAKvD;AAID,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,aAAa,CAAM;gBAEf,WAAW,GAAE,MAAW;IAKpC,OAAO,CAAC,gBAAgB;YAeV,OAAO;IA0CrB,OAAO,CAAC,kBAAkB;IAab,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAoBlE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IASjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,UAAU,CACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC9C,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAeH,eAAe,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAYlG"}
@@ -1,13 +1,25 @@
1
- import type NativeproviderService from '../types/native';
1
+ import type NativeRNCloudStorage from '../types/native';
2
2
  import { type NativeRNCloudCloudStorageFileStat, type NativeRNCloudCloudStorageScope } from '../types/native';
3
- import { type CloudStorageProviderOptions, type DeepRequired } from '../types/main';
4
3
  /**
5
4
  * A proxy class that wraps the Google Drive API client implementation to match the native iOS interface.
6
5
  */
7
- export default class GoogleDrive implements NativeproviderService {
8
- private drive;
9
- private options;
10
- constructor(options: DeepRequired<CloudStorageProviderOptions['googledrive']>);
6
+ export default class GoogleDrive implements NativeRNCloudStorage {
7
+ private static drive;
8
+ static throwOnFilesWithSameName: boolean;
9
+ filesWithSameNameSubscribers: (({ path, fileIds }: {
10
+ path: string;
11
+ fileIds: string[];
12
+ }) => void)[];
13
+ constructor();
14
+ static set accessToken(accessToken: string | null);
15
+ static set timeout(timeout: number);
16
+ static get accessToken(): string | null;
17
+ subscribeToFilesWithSameName(subscriber: ({ path, fileIds }: {
18
+ path: string;
19
+ fileIds: string[];
20
+ }) => void): {
21
+ remove: () => void;
22
+ };
11
23
  isCloudAvailable: () => Promise<boolean>;
12
24
  private getRootDirectory;
13
25
  private resolvePathToDirectories;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACpC,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,KAAK,2BAA2B,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,qBAAqB;IAC/D,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAA2D;gBAE9D,OAAO,EAAE,YAAY,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAuBtE,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAG7C;IAEF,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;IAiD7B;;;;OAIG;YACW,kBAAkB;IAShC,OAAO,CAAC,gCAAgC;YAyB1B,SAAS;IAmDjB,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;IAwC9F,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,8BAA8B,EACrC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAmDV,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;IA4BnF,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;IAM9E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iCAAiC,CAAC;CAYhH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACpC,MAAM,iBAAiB,CAAC;AAMzB;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,oBAAoB;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAoD;IACxE,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;;IAuB1G,WAAkB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAOvD;IAED,WAAkB,OAAO,CAAC,OAAO,EAAE,MAAM,EAExC;IAED,WAAkB,WAAW,IAAI,MAAM,GAAG,IAAI,CAE7C;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,CAAsD;IAErG,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;IAiD7B;;;;OAIG;YACW,kBAAkB;IAShC,OAAO,CAAC,gCAAgC;YAyB1B,SAAS;IAmDjB,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;IAwC9F,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,8BAA8B,EACrC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAmDV,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;IA4BnF,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;IAM9E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iCAAiC,CAAC;CAYhH"}