react-native-cloud-storage 1.5.1 → 2.0.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.
- package/LICENSE +1 -1
- package/README.md +6 -5
- package/ios/CloudStorage.swift +52 -262
- package/ios/CloudStorage.xcodeproj/project.pbxproj +28 -0
- package/ios/CloudStorageEventEmitter.swift +4 -4
- package/ios/Utils/CloudKitUtils.swift +112 -0
- package/ios/Utils/CloudStorageError.swift +78 -0
- package/ios/Utils/FileUtils.swift +132 -0
- package/ios/Utils/Promise.swift +58 -0
- package/ios/Utils/Types.swift +36 -0
- package/lib/commonjs/RNCloudStorage.js +361 -66
- package/lib/commonjs/RNCloudStorage.js.map +1 -1
- package/lib/commonjs/expo-plugin/types/index.js.map +1 -1
- package/lib/commonjs/expo-plugin/withRNCloudStorage.js +2 -3
- package/lib/commonjs/expo-plugin/withRNCloudStorage.js.map +1 -1
- package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js +4 -7
- package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js.map +1 -1
- package/lib/commonjs/google-drive/client.js +16 -20
- package/lib/commonjs/google-drive/client.js.map +1 -1
- package/lib/commonjs/google-drive/index.js +42 -64
- package/lib/commonjs/google-drive/index.js.map +1 -1
- package/lib/commonjs/google-drive/types.js +1 -2
- package/lib/commonjs/google-drive/types.js.map +1 -1
- package/lib/commonjs/hooks/useCloudFile.js +14 -17
- package/lib/commonjs/hooks/useCloudFile.js.map +1 -1
- package/lib/commonjs/hooks/useIsCloudAvailable.js +11 -21
- package/lib/commonjs/hooks/useIsCloudAvailable.js.map +1 -1
- package/lib/commonjs/index.js +1 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/types/main.js +8 -3
- package/lib/commonjs/types/main.js.map +1 -1
- package/lib/commonjs/types/native.js +3 -3
- package/lib/commonjs/types/native.js.map +1 -1
- package/lib/commonjs/utils/CloudStorageError.js +1 -2
- package/lib/commonjs/utils/CloudStorageError.js.map +1 -1
- package/lib/commonjs/utils/helpers.js +8 -15
- package/lib/commonjs/utils/helpers.js.map +1 -1
- package/lib/module/RNCloudStorage.js +362 -65
- package/lib/module/RNCloudStorage.js.map +1 -1
- package/lib/module/expo-plugin/types/index.js +1 -1
- package/lib/module/expo-plugin/types/index.js.map +1 -1
- package/lib/module/expo-plugin/withRNCloudStorage.js +2 -0
- package/lib/module/expo-plugin/withRNCloudStorage.js.map +1 -1
- package/lib/module/expo-plugin/withRNCloudStorageIos.js +5 -5
- package/lib/module/expo-plugin/withRNCloudStorageIos.js.map +1 -1
- package/lib/module/google-drive/client.js +18 -20
- package/lib/module/google-drive/client.js.map +1 -1
- package/lib/module/google-drive/index.js +41 -62
- package/lib/module/google-drive/index.js.map +1 -1
- package/lib/module/google-drive/types.js +2 -0
- package/lib/module/google-drive/types.js.map +1 -1
- package/lib/module/hooks/useCloudFile.js +15 -16
- package/lib/module/hooks/useCloudFile.js.map +1 -1
- package/lib/module/hooks/useIsCloudAvailable.js +13 -21
- package/lib/module/hooks/useIsCloudAvailable.js.map +1 -1
- package/lib/module/index.js +2 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/types/main.js +9 -0
- package/lib/module/types/main.js.map +1 -1
- package/lib/module/types/native.js +4 -1
- package/lib/module/types/native.js.map +1 -1
- package/lib/module/utils/CloudStorageError.js +2 -0
- package/lib/module/utils/CloudStorageError.js.map +1 -1
- package/lib/module/utils/helpers.js +8 -13
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/typescript/RNCloudStorage.d.ts +159 -39
- package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
- package/lib/typescript/google-drive/client.d.ts +3 -3
- package/lib/typescript/google-drive/client.d.ts.map +1 -1
- package/lib/typescript/google-drive/index.d.ts +6 -18
- package/lib/typescript/google-drive/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useCloudFile.d.ts +4 -7
- package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
- package/lib/typescript/hooks/useIsCloudAvailable.d.ts +3 -2
- package/lib/typescript/hooks/useIsCloudAvailable.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +0 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/main.d.ts +33 -0
- package/lib/typescript/types/main.d.ts.map +1 -1
- package/lib/typescript/types/native.d.ts +2 -1
- package/lib/typescript/types/native.d.ts.map +1 -1
- package/lib/typescript/utils/helpers.d.ts +2 -9
- package/lib/typescript/utils/helpers.d.ts.map +1 -1
- package/package.json +9 -11
- package/src/RNCloudStorage.ts +387 -68
- package/src/google-drive/client.ts +8 -7
- package/src/google-drive/index.ts +38 -63
- package/src/hooks/useCloudFile.ts +13 -16
- package/src/hooks/useIsCloudAvailable.ts +12 -25
- package/src/index.ts +0 -5
- package/src/types/main.ts +38 -0
- package/src/types/native.ts +2 -1
- package/src/utils/helpers.ts +8 -15
- package/lib/commonjs/createRNCloudStorage.js +0 -48
- package/lib/commonjs/createRNCloudStorage.js.map +0 -1
- package/lib/module/createRNCloudStorage.js +0 -41
- package/lib/module/createRNCloudStorage.js.map +0 -1
- package/lib/typescript/createRNCloudStorage.d.ts +0 -3
- package/lib/typescript/createRNCloudStorage.d.ts.map +0 -1
- package/src/createRNCloudStorage.ts +0 -53
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export type DeepRequired<T> = {
|
|
2
|
+
[P in keyof T]-?: T[P] extends object ? DeepRequired<T[P]> : T[P];
|
|
3
|
+
};
|
|
1
4
|
export declare enum CloudStorageScope {
|
|
2
5
|
Documents = "documents",
|
|
3
6
|
AppData = "app_data"
|
|
@@ -11,4 +14,34 @@ export interface CloudStorageFileStat {
|
|
|
11
14
|
isDirectory: () => boolean;
|
|
12
15
|
isFile: () => boolean;
|
|
13
16
|
}
|
|
17
|
+
export declare enum CloudStorageProvider {
|
|
18
|
+
ICloud = "icloud",
|
|
19
|
+
GoogleDrive = "googledrive"
|
|
20
|
+
}
|
|
21
|
+
export interface CloudStorageProviderOptions {
|
|
22
|
+
[CloudStorageProvider.ICloud]: {
|
|
23
|
+
/**
|
|
24
|
+
* The directory scope to use for iCloud operations. Defaults to 'app_data'.
|
|
25
|
+
*/
|
|
26
|
+
scope?: CloudStorageScope;
|
|
27
|
+
};
|
|
28
|
+
[CloudStorageProvider.GoogleDrive]: {
|
|
29
|
+
/**
|
|
30
|
+
* The directory scope to use for Google Drive operations. Defaults to 'app_data'.
|
|
31
|
+
*/
|
|
32
|
+
scope?: CloudStorageScope;
|
|
33
|
+
/**
|
|
34
|
+
* The access token to use for Google Drive operations.
|
|
35
|
+
*/
|
|
36
|
+
accessToken?: string | null;
|
|
37
|
+
/**
|
|
38
|
+
* Whether or not to throw an error if multiple files with the same filename are found. Defaults to false.
|
|
39
|
+
*/
|
|
40
|
+
strictFilenames?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The timeout in milliseconds after which to cancel an API request. Defaults to 3000.
|
|
43
|
+
*/
|
|
44
|
+
timeout?: number;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
14
47
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/types/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/types/main.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,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;AAED,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE;QAC7B;;WAEG;QACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;KAC3B,CAAC;IAEF,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE;QAClC;;WAEG;QACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAC1B;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B;;WAEG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
|
|
@@ -7,6 +7,7 @@ export interface NativeRNCloudCloudStorageFileStat {
|
|
|
7
7
|
isFile: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare enum CloudStorageErrorCode {
|
|
10
|
+
INVALID_SCOPE = "ERR_INVALID_SCOPE",
|
|
10
11
|
FILE_NOT_FOUND = "ERR_FILE_NOT_FOUND",
|
|
11
12
|
PATH_IS_FILE = "ERR_PATH_IS_FILE",
|
|
12
13
|
PATH_IS_DIRECTORY = "ERR_PATH_IS_DIRECTORY",
|
|
@@ -21,7 +22,7 @@ export declare enum CloudStorageErrorCode {
|
|
|
21
22
|
STAT_ERROR = "ERR_STAT_ERROR",
|
|
22
23
|
UNKNOWN = "ERR_UNKNOWN",
|
|
23
24
|
FILE_NOT_DOWNLOADABLE = "ERR_FILE_NOT_DOWNLOADABLE",
|
|
24
|
-
|
|
25
|
+
ACCESS_TOKEN_MISSING = "ERR_ACCESS_TOKEN_MISSING"
|
|
25
26
|
}
|
|
26
27
|
export default interface NativeRNCloudStorage {
|
|
27
28
|
fileExists: (path: string, scope: NativeRNCloudCloudStorageScope) => 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,YAAY,qBAAqB;IACjC,iBAAiB,0BAA0B;IAC3C,mBAAmB,4BAA4B;IAC/C,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,
|
|
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,aAAa,sBAAsB;IACnC,cAAc,uBAAuB;IACrC,YAAY,qBAAqB;IACjC,iBAAiB,0BAA0B;IAC3C,mBAAmB,4BAA4B;IAC/C,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,oBAAoB,6BAA6B;CAClD;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,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9G,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,10 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 declare const verifyLeadingSlash: (path: string) => string;
|
|
1
|
+
import { CloudStorageProvider } from '../types/main';
|
|
2
|
+
export declare const isProviderSupported: (provider: CloudStorageProvider) => boolean;
|
|
10
3
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,eAAO,MAAM,mBAAmB,aAAc,oBAAoB,KAAG,OAMpE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-cloud-storage",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.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",
|
|
@@ -35,7 +35,8 @@
|
|
|
35
35
|
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
36
36
|
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
37
37
|
"prepare": "bob build",
|
|
38
|
-
"release": "release-it"
|
|
38
|
+
"release": "release-it",
|
|
39
|
+
"check": "yarn lint && scripts/swiftformat.sh"
|
|
39
40
|
},
|
|
40
41
|
"keywords": [
|
|
41
42
|
"react-native",
|
|
@@ -57,28 +58,24 @@
|
|
|
57
58
|
"@evilmartians/lefthook": "^1.5.0",
|
|
58
59
|
"@expo/config-plugins": "^7.2.5",
|
|
59
60
|
"@react-native-community/eslint-config": "^3.2.0",
|
|
60
|
-
"@react-native/eslint-config": "
|
|
61
|
+
"@react-native/eslint-config": "0.74.87",
|
|
61
62
|
"@release-it/conventional-changelog": "^5.0.0",
|
|
62
63
|
"@types/jest": "^28.1.2",
|
|
63
|
-
"@types/react": "
|
|
64
|
-
"@types/react-native": "0.70.0",
|
|
64
|
+
"@types/react": "^18.2.6",
|
|
65
65
|
"commitlint": "^17.0.2",
|
|
66
66
|
"del-cli": "^5.0.0",
|
|
67
67
|
"eslint": "^8.4.1",
|
|
68
68
|
"eslint-config-prettier": "^8.5.0",
|
|
69
69
|
"eslint-plugin-prettier": "^4.0.0",
|
|
70
70
|
"jest": "^28.1.1",
|
|
71
|
-
"pod-install": "^0.
|
|
71
|
+
"pod-install": "^0.2.2",
|
|
72
72
|
"prettier": "^2.0.5",
|
|
73
73
|
"react": "18.2.0",
|
|
74
|
-
"react-native": "0.
|
|
75
|
-
"react-native-builder-bob": "^0.
|
|
74
|
+
"react-native": "0.74.5",
|
|
75
|
+
"react-native-builder-bob": "^0.28.0",
|
|
76
76
|
"release-it": "^15.0.0",
|
|
77
77
|
"typescript": "^5.0.2"
|
|
78
78
|
},
|
|
79
|
-
"resolutions": {
|
|
80
|
-
"@types/react": "17.0.21"
|
|
81
|
-
},
|
|
82
79
|
"peerDependencies": {
|
|
83
80
|
"expo": ">=48.0.0",
|
|
84
81
|
"react": "*",
|
|
@@ -133,6 +130,7 @@
|
|
|
133
130
|
"prettier"
|
|
134
131
|
],
|
|
135
132
|
"rules": {
|
|
133
|
+
"react-native/no-inline-styles": "off",
|
|
136
134
|
"prettier/prettier": [
|
|
137
135
|
"error",
|
|
138
136
|
{
|