react-native-cloud-storage 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/RNCloudStorage.js +2 -1
- package/lib/commonjs/RNCloudStorage.js.map +1 -1
- package/lib/commonjs/createRNCloudStorage.js +5 -5
- package/lib/commonjs/createRNCloudStorage.js.map +1 -1
- package/lib/commonjs/google-drive/index.js +12 -9
- package/lib/commonjs/google-drive/index.js.map +1 -1
- package/lib/commonjs/hooks/useCloudFile.js.map +1 -1
- package/lib/commonjs/hooks/useIsCloudAvailable.js +18 -15
- package/lib/commonjs/hooks/useIsCloudAvailable.js.map +1 -1
- package/lib/commonjs/index.js +7 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types/main.js +6 -6
- package/lib/commonjs/types/main.js.map +1 -1
- package/lib/commonjs/types/native.js +13 -13
- package/lib/commonjs/types/native.js.map +1 -1
- package/lib/commonjs/utils/{NativeStorageError.js → CloudStorageError.js} +3 -3
- package/lib/commonjs/utils/CloudStorageError.js.map +1 -0
- package/lib/module/RNCloudStorage.js +2 -1
- package/lib/module/RNCloudStorage.js.map +1 -1
- package/lib/module/createRNCloudStorage.js +6 -6
- package/lib/module/createRNCloudStorage.js.map +1 -1
- package/lib/module/google-drive/index.js +13 -10
- package/lib/module/google-drive/index.js.map +1 -1
- package/lib/module/hooks/useCloudFile.js.map +1 -1
- package/lib/module/hooks/useIsCloudAvailable.js +18 -15
- package/lib/module/hooks/useIsCloudAvailable.js.map +1 -1
- package/lib/module/index.js +4 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/types/main.js +4 -4
- package/lib/module/types/main.js.map +1 -1
- package/lib/module/types/native.js +11 -11
- package/lib/module/types/native.js.map +1 -1
- package/lib/module/utils/CloudStorageError.js +9 -0
- package/lib/module/utils/CloudStorageError.js.map +1 -0
- package/lib/typescript/RNCloudStorage.d.ts +8 -7
- package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
- package/lib/typescript/google-drive/index.d.ts +8 -8
- package/lib/typescript/google-drive/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useCloudFile.d.ts +2 -2
- package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
- package/lib/typescript/hooks/useIsCloudAvailable.d.ts +1 -1
- package/lib/typescript/hooks/useIsCloudAvailable.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +4 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/main.d.ts +2 -2
- package/lib/typescript/types/main.d.ts.map +1 -1
- package/lib/typescript/types/native.d.ts +8 -8
- package/lib/typescript/types/native.d.ts.map +1 -1
- package/lib/typescript/utils/CloudStorageError.d.ts +8 -0
- package/lib/typescript/utils/CloudStorageError.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/RNCloudStorage.ts +8 -7
- package/src/createRNCloudStorage.ts +6 -6
- package/src/google-drive/index.ts +31 -26
- package/src/hooks/useCloudFile.ts +2 -2
- package/src/hooks/useIsCloudAvailable.ts +20 -15
- package/src/index.ts +4 -4
- package/src/types/main.ts +2 -2
- package/src/types/native.ts +8 -8
- package/src/utils/CloudStorageError.ts +14 -0
- package/lib/commonjs/utils/NativeStorageError.js.map +0 -1
- package/lib/module/utils/NativeStorageError.js +0 -9
- package/lib/module/utils/NativeStorageError.js.map +0 -1
- package/lib/typescript/utils/NativeStorageError.d.ts +0 -8
- package/lib/typescript/utils/NativeStorageError.d.ts.map +0 -1
- package/src/utils/NativeStorageError.ts +0 -14
|
@@ -9,6 +9,7 @@ var _googleDrive = _interopRequireDefault(require("./google-drive"));
|
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
const nativeInstance = (0, _createRNCloudStorage.default)();
|
|
11
11
|
const RNCloudStorage = {
|
|
12
|
+
getGoogleDriveAccessToken: () => _googleDrive.default.accessToken,
|
|
12
13
|
setGoogleDriveAccessToken: accessToken => _googleDrive.default.accessToken = accessToken,
|
|
13
14
|
/**
|
|
14
15
|
* Tests whether or not the cloud storage is available. Always returns true for Google Drive. iCloud may be
|
|
@@ -59,7 +60,7 @@ const RNCloudStorage = {
|
|
|
59
60
|
* Gets the size, creation time, and modification time of the file at the given path.
|
|
60
61
|
* @param path The file to stat.
|
|
61
62
|
* @param scope The directory scope the path is in.
|
|
62
|
-
* @returns A promise that resolves to the
|
|
63
|
+
* @returns A promise that resolves to the CloudStorageFileStat object.
|
|
63
64
|
*/
|
|
64
65
|
stat: async (path, scope) => {
|
|
65
66
|
const native = await nativeInstance.statFile(path, scope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_createRNCloudStorage","_interopRequireDefault","require","_googleDrive","obj","__esModule","default","nativeInstance","createRNCloudStorage","RNCloudStorage","
|
|
1
|
+
{"version":3,"names":["_createRNCloudStorage","_interopRequireDefault","require","_googleDrive","obj","__esModule","default","nativeInstance","createRNCloudStorage","RNCloudStorage","getGoogleDriveAccessToken","GoogleDriveApiClient","accessToken","setGoogleDriveAccessToken","isCloudAvailable","exists","path","scope","fileExists","writeFile","data","createFile","readFile","unlink","deleteFile","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile","_default","exports"],"sourceRoot":"../../src","sources":["RNCloudStorage.ts"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGlD,MAAMG,cAAc,GAAG,IAAAC,6BAAoB,GAAE;AAC7C,MAAMC,cAAc,GAAG;EACrBC,yBAAyB,EAAEA,CAAA,KAAMC,oBAAoB,CAACC,WAAW;EACjEC,yBAAyB,EAAGD,WAAmB,IAAMD,oBAAoB,CAACC,WAAW,GAAGA,WAAY;EAEpG;AACF;AACA;AACA;AACA;EACEE,gBAAgB,EAAE,MAAAA,CAAA,KAA8B;IAC9C,OAAOP,cAAc,CAACO,gBAAgB,EAAE;EAC1C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,MAAM,EAAEA,CAACC,IAAY,EAAEC,KAAwB,KAAuB;IACpE,OAAOV,cAAc,CAACW,UAAU,CAACF,IAAI,EAAEC,KAAK,CAAC;EAC/C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,SAAS,EAAEA,CAACH,IAAY,EAAEI,IAAY,EAAEH,KAAwB,KAAoB;IAClF,OAAOV,cAAc,CAACc,UAAU,CAACL,IAAI,EAAEI,IAAI,EAAEH,KAAK,EAAE,IAAI,CAAC;EAC3D,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEK,QAAQ,EAAEA,CAACN,IAAY,EAAEC,KAAwB,KAAsB;IACrE,OAAOV,cAAc,CAACe,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEM,MAAM,EAAEA,CAACP,IAAY,EAAEC,KAAwB,KAAoB;IACjE,OAAOV,cAAc,CAACiB,UAAU,CAACR,IAAI,EAAEC,KAAK,CAAC;EAC/C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEQ,IAAI,EAAE,MAAAA,CAAOT,IAAY,EAAEC,KAAwB,KAAoC;IACrF,MAAMS,MAAM,GAAG,MAAMnB,cAAc,CAACoB,QAAQ,CAACX,IAAI,EAAEC,KAAK,CAAC;IAEzD,OAAO;MACL,GAAGS,MAAM;MACTE,SAAS,EAAE,IAAIC,IAAI,CAACH,MAAM,CAACI,WAAW,CAAC;MACvCC,KAAK,EAAE,IAAIF,IAAI,CAACH,MAAM,CAACM,OAAO,CAAC;MAC/BC,WAAW,EAAEA,CAAA,KAAMP,MAAM,CAACO,WAAW;MACrCC,MAAM,EAAEA,CAAA,KAAMR,MAAM,CAACQ;IACvB,CAAC;EACH;AACF,CAAC;AAAC,IAAAC,QAAA,GAEa1B,cAAc;AAAA2B,OAAA,CAAA9B,OAAA,GAAA6B,QAAA"}
|
|
@@ -7,14 +7,14 @@ exports.default = createRNCloudStorage;
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _googleDrive = _interopRequireDefault(require("./google-drive"));
|
|
9
9
|
var _native = require("./types/native");
|
|
10
|
-
var
|
|
10
|
+
var _CloudStorageError = _interopRequireDefault(require("./utils/CloudStorageError"));
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
const LINKING_ERROR = `The package 'react-native-cloud-storage' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
13
13
|
ios: "- You have run 'pod install'\n",
|
|
14
14
|
default: ''
|
|
15
15
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
16
16
|
|
|
17
|
-
// proxy NativeModules.CloudStorage to catch any errors thrown by the native module and wrap them in a
|
|
17
|
+
// proxy NativeModules.CloudStorage to catch any errors thrown by the native module and wrap them in a CloudStorageError
|
|
18
18
|
const nativeIosInstance = _reactNative.NativeModules.CloudStorage ? new Proxy(_reactNative.NativeModules.CloudStorage, {
|
|
19
19
|
get(target, prop) {
|
|
20
20
|
const originalFunction = target[prop];
|
|
@@ -24,10 +24,10 @@ const nativeIosInstance = _reactNative.NativeModules.CloudStorage ? new Proxy(_r
|
|
|
24
24
|
// @ts-expect-error - we can't know the types of the functions and their arguments
|
|
25
25
|
return await originalFunction(...arguments);
|
|
26
26
|
} catch (error) {
|
|
27
|
-
if (error !== null && error !== void 0 && error.code && Object.values(_native.
|
|
28
|
-
throw new
|
|
27
|
+
if (error !== null && error !== void 0 && error.code && Object.values(_native.CloudStorageErrorCode).includes(error.code)) {
|
|
28
|
+
throw new _CloudStorageError.default((error === null || error === void 0 ? void 0 : error.message) || '', error.code);
|
|
29
29
|
} else {
|
|
30
|
-
throw new
|
|
30
|
+
throw new _CloudStorageError.default('Unknown error', _native.CloudStorageErrorCode.UNKNOWN, error);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_googleDrive","_interopRequireDefault","_native","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_googleDrive","_interopRequireDefault","_native","_CloudStorageError","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","nativeIosInstance","NativeModules","CloudStorage","Proxy","get","target","prop","originalFunction","arguments","error","code","Object","values","CloudStorageErrorCode","includes","CloudStorageError","message","UNKNOWN","createRNCloudStorage","OS","Error","GoogleDriveApiClient"],"sourceRoot":"../../src","sources":["createRNCloudStorage.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA0D,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1D,MAAMG,aAAa,GAChB,qFAAoF,GACrFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEJ,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMK,iBAAiB,GAAGC,0BAAa,CAACC,YAAY,GAChD,IAAIC,KAAK,CAACF,0BAAa,CAACC,YAAY,EAAE;EACpCE,GAAGA,CAACC,MAA4B,EAAEC,IAAgC,EAAE;IAClE,MAAMC,gBAAgB,GAAGF,MAAM,CAACC,IAAI,CAAC;IACrC,IAAI,OAAOC,gBAAgB,KAAK,UAAU,EAAE;MAC1C,OAAO,kBAA0B;QAC/B,IAAI;UACF;UACA,OAAO,MAAMA,gBAAgB,CAAC,GAAAC,SAAO,CAAC;QACxC,CAAC,CAAC,OAAOC,KAAU,EAAE;UACnB,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,IAAI,IAAIC,MAAM,CAACC,MAAM,CAACC,6BAAqB,CAAC,CAACC,QAAQ,CAACL,KAAK,CAACC,IAAI,CAAC,EAAE;YAC5E,MAAM,IAAIK,0BAAiB,CAAC,CAAAN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,OAAO,KAAI,EAAE,EAAEP,KAAK,CAACC,IAAI,CAA0B;UACxF,CAAC,MAAM;YACL,MAAM,IAAIK,0BAAiB,CAAC,eAAe,EAAEF,6BAAqB,CAACI,OAAO,EAAER,KAAK,CAAC;UACpF;QACF;MACF,CAAC;IACH;IACA,OAAOF,gBAAgB;EACzB;AACF,CAAC,CAAC,GACF,IAAI;AAEO,SAASW,oBAAoBA,CAAA,EAAyB;EACnE,IAAIrB,qBAAQ,CAACsB,EAAE,KAAK,KAAK,EAAE;IACzB,OACEnB,iBAAiB,IACjB,IAAIG,KAAK,CACP,CAAC,CAAC,EACF;MACEC,GAAGA,CAAA,EAAG;QACJ,MAAM,IAAIgB,KAAK,CAACxB,aAAa,CAAC;MAChC;IACF,CAAC,CACF;EAEL;EAEA,OAAO,IAAIyB,oBAAoB,EAAE;AACnC"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _reactNativeGoogleDriveApiWrapperJs = require("react-native-google-drive-api-wrapper-js");
|
|
8
8
|
var _native = require("../types/native");
|
|
9
|
-
var
|
|
9
|
+
var _CloudStorageError = _interopRequireDefault(require("../utils/CloudStorageError"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
class GoogleDriveApiClient {
|
|
12
12
|
static drive = new _reactNativeGoogleDriveApiWrapperJs.GDrive();
|
|
@@ -15,9 +15,9 @@ class GoogleDriveApiClient {
|
|
|
15
15
|
return new Proxy(this, {
|
|
16
16
|
// before calling any function, check if the access token is set
|
|
17
17
|
get(target, prop) {
|
|
18
|
-
if (typeof target[prop] === 'function') {
|
|
18
|
+
if (typeof target[prop] === 'function' && prop !== 'isCloudAvailable') {
|
|
19
19
|
if (!GoogleDriveApiClient.drive.accessToken) {
|
|
20
|
-
throw new
|
|
20
|
+
throw new _CloudStorageError.default(`Google Drive access token is not set, cannot call function ${prop.toString()}`, _native.CloudStorageErrorCode.GOOGLE_DRIVE_ACCESS_TOKEN_MISSING);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
return target[prop];
|
|
@@ -32,7 +32,10 @@ class GoogleDriveApiClient {
|
|
|
32
32
|
static get accessToken() {
|
|
33
33
|
return GoogleDriveApiClient.drive.accessToken;
|
|
34
34
|
}
|
|
35
|
-
isCloudAvailable = async () =>
|
|
35
|
+
isCloudAvailable = async () => {
|
|
36
|
+
var _GoogleDriveApiClient;
|
|
37
|
+
return !!((_GoogleDriveApiClient = GoogleDriveApiClient.accessToken) !== null && _GoogleDriveApiClient !== void 0 && _GoogleDriveApiClient.length);
|
|
38
|
+
};
|
|
36
39
|
getRootDirectory(scope) {
|
|
37
40
|
switch (scope) {
|
|
38
41
|
case 'documents':
|
|
@@ -68,16 +71,16 @@ class GoogleDriveApiClient {
|
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
if (!topDirectoryId) {
|
|
71
|
-
throw new
|
|
74
|
+
throw new _CloudStorageError.default(`Could not find top directory with name ${directoryTree[0]}`, _native.CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
72
75
|
}
|
|
73
76
|
|
|
74
77
|
// now, we traverse the directories array and get the id of the last directory from the files array
|
|
75
78
|
let currentDirectoryId = topDirectoryId;
|
|
76
79
|
for (let i = 1; i < directoryTree.length; i++) {
|
|
77
80
|
const currentDirectory = files.find(f => f.id === currentDirectoryId);
|
|
78
|
-
if (!currentDirectory) throw new
|
|
81
|
+
if (!currentDirectory) throw new _CloudStorageError.default(`Could not find directory with id ${currentDirectoryId}`, _native.CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
79
82
|
const nextDirectory = files.find(f => f.name === directoryTree[i] && f.parents[0] === currentDirectoryId);
|
|
80
|
-
if (!nextDirectory) throw new
|
|
83
|
+
if (!nextDirectory) throw new _CloudStorageError.default(`Could not find directory with name ${directoryTree[i]}`, _native.CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
81
84
|
currentDirectoryId = nextDirectory.id;
|
|
82
85
|
}
|
|
83
86
|
return currentDirectoryId;
|
|
@@ -104,7 +107,7 @@ class GoogleDriveApiClient {
|
|
|
104
107
|
} else {
|
|
105
108
|
file = files.find(f => f.name === filename && f.parents[0] === parentDirectoryId);
|
|
106
109
|
}
|
|
107
|
-
if (!file) throw new
|
|
110
|
+
if (!file) throw new _CloudStorageError.default(`File not found`, _native.CloudStorageErrorCode.FILE_NOT_FOUND);
|
|
108
111
|
return file.id;
|
|
109
112
|
}
|
|
110
113
|
async fileExists(path, scope) {
|
|
@@ -112,7 +115,7 @@ class GoogleDriveApiClient {
|
|
|
112
115
|
await this.getFileId(path, scope);
|
|
113
116
|
return true;
|
|
114
117
|
} catch (e) {
|
|
115
|
-
if (e instanceof
|
|
118
|
+
if (e instanceof _CloudStorageError.default && e.code === _native.CloudStorageErrorCode.FILE_NOT_FOUND) return false;else throw e;
|
|
116
119
|
}
|
|
117
120
|
}
|
|
118
121
|
async createFile(path, data, scope, overwrite) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeGoogleDriveApiWrapperJs","require","_native","
|
|
1
|
+
{"version":3,"names":["_reactNativeGoogleDriveApiWrapperJs","require","_native","_CloudStorageError","_interopRequireDefault","obj","__esModule","default","GoogleDriveApiClient","drive","GDrive","constructor","fetchTimeout","Proxy","get","target","prop","accessToken","CloudStorageError","toString","CloudStorageErrorCode","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","MimeTypes","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","_default","exports"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_react","obj","__esModule","default","useCloudFile","path","scope","content","setContent","useState","read","useCallback","exists","RNCloudStorage","readFile","then","useEffect","update","newContent","writeFile","remove","unlink","exports"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAElD,MAAMG,YAAY,GAAGA,CAACC,IAAY,EAAEC,
|
|
1
|
+
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_react","obj","__esModule","default","useCloudFile","path","scope","content","setContent","useState","read","useCallback","exists","RNCloudStorage","readFile","then","useEffect","update","newContent","writeFile","remove","unlink","exports"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAElD,MAAMG,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAwB,KAAK;EACtE,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EAE3D,MAAMC,IAAI,GAAG,IAAAC,kBAAW,EAAC,YAAY;IACnC,MAAMC,MAAM,GAAG,MAAMC,uBAAc,CAACD,MAAM,CAACP,IAAI,EAAEC,KAAK,CAAC;IACvD,IAAI,CAACM,MAAM,EAAE;MACXJ,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAK,uBAAc,CAACC,QAAQ,CAACT,IAAI,EAAEC,KAAK,CAAC,CAACS,IAAI,CAACP,UAAU,CAAC;EACvD,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,IAAAU,gBAAS,EAAC,MAAM;IACdN,IAAI,EAAE;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMO,MAAM,GAAG,IAAAN,kBAAW,EACxB,MAAOO,UAAkB,IAAK;IAC5B,MAAML,uBAAc,CAACM,SAAS,CAACd,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;IACvDI,IAAI,EAAE;EACR,CAAC,EACD,CAACL,IAAI,EAAEC,KAAK,EAAEI,IAAI,CAAC,CACpB;EAED,MAAMU,MAAM,GAAG,IAAAT,kBAAW,EAAC,YAAY;IACrC,MAAME,uBAAc,CAACQ,MAAM,CAAChB,IAAI,EAAEC,KAAK,CAAC;IACxCE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,OAAO;IACLC,OAAO;IACPG,IAAI;IACJO,MAAM;IACNG;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAlB,YAAA,GAAAA,YAAA"}
|
|
@@ -10,23 +10,26 @@ var _RNCloudStorage = _interopRequireDefault(require("../RNCloudStorage"));
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
11
|
// TODO: there must be a better way to do this without a timeout?
|
|
12
12
|
const useIsCloudAvailable = function () {
|
|
13
|
-
let
|
|
14
|
-
const [
|
|
15
|
-
const [firstCheck] = (0, _react.useState)(new Date());
|
|
13
|
+
let iCloudTimeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
|
|
14
|
+
const [isAvailable, setIsAvailable] = (0, _react.useState)(false);
|
|
16
15
|
(0, _react.useEffect)(() => {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} else {
|
|
24
|
-
console.log('Cloud storage is not available.');
|
|
16
|
+
const interval = setInterval(async () => {
|
|
17
|
+
const newIsAvailable = await _RNCloudStorage.default.isCloudAvailable();
|
|
18
|
+
setIsAvailable(newIsAvailable);
|
|
19
|
+
if (_reactNative.Platform.OS === 'ios' && newIsAvailable) {
|
|
20
|
+
console.log('Stopped because iCloud became available');
|
|
21
|
+
clearInterval(interval);
|
|
25
22
|
}
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
}, 500);
|
|
24
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
25
|
+
setTimeout(() => {
|
|
26
|
+
console.log('Stopped because of timeout');
|
|
27
|
+
clearInterval(interval);
|
|
28
|
+
}, iCloudTimeout * 1000);
|
|
29
|
+
}
|
|
30
|
+
return () => clearInterval(interval);
|
|
31
|
+
}, [iCloudTimeout]);
|
|
32
|
+
return isAvailable;
|
|
30
33
|
};
|
|
31
34
|
exports.useIsCloudAvailable = useIsCloudAvailable;
|
|
32
35
|
//# sourceMappingURL=useIsCloudAvailable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_RNCloudStorage","_interopRequireDefault","obj","__esModule","default","useIsCloudAvailable","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_RNCloudStorage","_interopRequireDefault","obj","__esModule","default","useIsCloudAvailable","iCloudTimeout","arguments","length","undefined","isAvailable","setIsAvailable","useState","useEffect","interval","setInterval","newIsAvailable","RNCloudStorage","isCloudAvailable","Platform","OS","console","log","clearInterval","setTimeout","exports"],"sourceRoot":"../../../src","sources":["hooks/useIsCloudAvailable.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA+C,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/C;AACO,MAAMG,mBAAmB,GAAG,SAAAA,CAAA,EAAwB;EAAA,IAAvBC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EACpD,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAGC,WAAW,CAAC,YAAY;MACvC,MAAMC,cAAc,GAAG,MAAMC,uBAAc,CAACC,gBAAgB,EAAE;MAC9DP,cAAc,CAACK,cAAc,CAAC;MAC9B,IAAIG,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIJ,cAAc,EAAE;QAC3CK,OAAO,CAACC,GAAG,CAAC,yCAAyC,CAAC;QACtDC,aAAa,CAACT,QAAQ,CAAC;MACzB;IACF,CAAC,EAAE,GAAG,CAAC;IAEP,IAAIK,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBI,UAAU,CAAC,MAAM;QACfH,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;QACzCC,aAAa,CAACT,QAAQ,CAAC;MACzB,CAAC,EAAER,aAAa,GAAG,IAAI,CAAC;IAC1B;IAEA,OAAO,MAAMiB,aAAa,CAACT,QAAQ,CAAC;EACtC,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,OAAOI,WAAW;AACpB,CAAC;AAACe,OAAA,CAAApB,mBAAA,GAAAA,mBAAA"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
CloudStorageErrorCode: true,
|
|
8
|
+
CloudStorageError: true
|
|
9
9
|
};
|
|
10
|
-
Object.defineProperty(exports, "
|
|
10
|
+
Object.defineProperty(exports, "CloudStorageError", {
|
|
11
11
|
enumerable: true,
|
|
12
12
|
get: function () {
|
|
13
|
-
return
|
|
13
|
+
return _CloudStorageError.default;
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
|
-
Object.defineProperty(exports, "
|
|
16
|
+
Object.defineProperty(exports, "CloudStorageErrorCode", {
|
|
17
17
|
enumerable: true,
|
|
18
18
|
get: function () {
|
|
19
|
-
return _native.
|
|
19
|
+
return _native.CloudStorageErrorCode;
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
exports.default = void 0;
|
|
@@ -58,7 +58,7 @@ Object.keys(_useIsCloudAvailable).forEach(function (key) {
|
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
|
-
var
|
|
61
|
+
var _CloudStorageError = _interopRequireDefault(require("./utils/CloudStorageError"));
|
|
62
62
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
63
63
|
var _default = _RNCloudStorage.default;
|
|
64
64
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_native","_main","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useCloudFile","_useIsCloudAvailable","
|
|
1
|
+
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_native","_main","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useCloudFile","_useIsCloudAvailable","_CloudStorageError","obj","__esModule","default","_default","RNCloudStorage"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,KAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,KAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,KAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,aAAA,GAAAf,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAW,aAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,aAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,oBAAA,GAAAhB,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAY,oBAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,oBAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,oBAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,kBAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAmB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAI3CC,uBAAc;AAAAX,OAAA,CAAAS,OAAA,GAAAC,QAAA"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
let
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return
|
|
6
|
+
exports.CloudStorageScope = void 0;
|
|
7
|
+
let CloudStorageScope = /*#__PURE__*/function (CloudStorageScope) {
|
|
8
|
+
CloudStorageScope["Documents"] = "documents";
|
|
9
|
+
CloudStorageScope["AppData"] = "app_data";
|
|
10
|
+
return CloudStorageScope;
|
|
11
11
|
}({});
|
|
12
|
-
exports.
|
|
12
|
+
exports.CloudStorageScope = CloudStorageScope;
|
|
13
13
|
//# sourceMappingURL=main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["CloudStorageScope","exports"],"sourceRoot":"../../../src","sources":["types/main.ts"],"mappings":";;;;;;IAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAAC,OAAA,CAAAD,iBAAA,GAAAA,iBAAA"}
|
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
let
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return
|
|
6
|
+
exports.CloudStorageErrorCode = void 0;
|
|
7
|
+
let CloudStorageErrorCode = /*#__PURE__*/function (CloudStorageErrorCode) {
|
|
8
|
+
CloudStorageErrorCode["FILE_NOT_FOUND"] = "ERR_FILE_NOT_FOUND";
|
|
9
|
+
CloudStorageErrorCode["DIRECTORY_NOT_FOUND"] = "ERR_NO_DIRECTORY_FOUND";
|
|
10
|
+
CloudStorageErrorCode["FILE_ALREADY_EXISTS"] = "ERR_FILE_EXISTS";
|
|
11
|
+
CloudStorageErrorCode["WRITE_ERROR"] = "ERR_WRITE_ERROR";
|
|
12
|
+
CloudStorageErrorCode["READ_ERROR"] = "ERR_READ_ERROR";
|
|
13
|
+
CloudStorageErrorCode["DELETE_ERROR"] = "ERR_DELETE_ERROR";
|
|
14
|
+
CloudStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
|
|
15
|
+
CloudStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
|
|
16
|
+
CloudStorageErrorCode["GOOGLE_DRIVE_ACCESS_TOKEN_MISSING"] = "ERR_GOOGLE_DRIVE_ACCESS_TOKEN_MISSING";
|
|
17
|
+
return CloudStorageErrorCode;
|
|
18
18
|
}({});
|
|
19
|
-
exports.
|
|
19
|
+
exports.CloudStorageErrorCode = CloudStorageErrorCode;
|
|
20
20
|
//# sourceMappingURL=native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["CloudStorageErrorCode","exports"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":";;;;;;IAUYA,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAAAC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA"}
|
|
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
class
|
|
7
|
+
class CloudStorageError extends Error {
|
|
8
8
|
constructor(message, code, details) {
|
|
9
9
|
super(message);
|
|
10
10
|
this.code = code;
|
|
11
11
|
this.details = details;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
var _default =
|
|
14
|
+
var _default = CloudStorageError;
|
|
15
15
|
exports.default = _default;
|
|
16
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=CloudStorageError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CloudStorageError","Error","constructor","message","code","details","_default","exports","default"],"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;AAAC,IAAAC,QAAA,GAEcN,iBAAiB;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -2,6 +2,7 @@ import createRNCloudStorage from './createRNCloudStorage';
|
|
|
2
2
|
import GoogleDriveApiClient from './google-drive';
|
|
3
3
|
const nativeInstance = createRNCloudStorage();
|
|
4
4
|
const RNCloudStorage = {
|
|
5
|
+
getGoogleDriveAccessToken: () => GoogleDriveApiClient.accessToken,
|
|
5
6
|
setGoogleDriveAccessToken: accessToken => GoogleDriveApiClient.accessToken = accessToken,
|
|
6
7
|
/**
|
|
7
8
|
* Tests whether or not the cloud storage is available. Always returns true for Google Drive. iCloud may be
|
|
@@ -52,7 +53,7 @@ const RNCloudStorage = {
|
|
|
52
53
|
* Gets the size, creation time, and modification time of the file at the given path.
|
|
53
54
|
* @param path The file to stat.
|
|
54
55
|
* @param scope The directory scope the path is in.
|
|
55
|
-
* @returns A promise that resolves to the
|
|
56
|
+
* @returns A promise that resolves to the CloudStorageFileStat object.
|
|
56
57
|
*/
|
|
57
58
|
stat: async (path, scope) => {
|
|
58
59
|
const native = await nativeInstance.statFile(path, scope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createRNCloudStorage","GoogleDriveApiClient","nativeInstance","RNCloudStorage","
|
|
1
|
+
{"version":3,"names":["createRNCloudStorage","GoogleDriveApiClient","nativeInstance","RNCloudStorage","getGoogleDriveAccessToken","accessToken","setGoogleDriveAccessToken","isCloudAvailable","exists","path","scope","fileExists","writeFile","data","createFile","readFile","unlink","deleteFile","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile"],"sourceRoot":"../../src","sources":["RNCloudStorage.ts"],"mappings":"AAAA,OAAOA,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,oBAAoB,MAAM,gBAAgB;AAGjD,MAAMC,cAAc,GAAGF,oBAAoB,EAAE;AAC7C,MAAMG,cAAc,GAAG;EACrBC,yBAAyB,EAAEA,CAAA,KAAMH,oBAAoB,CAACI,WAAW;EACjEC,yBAAyB,EAAGD,WAAmB,IAAMJ,oBAAoB,CAACI,WAAW,GAAGA,WAAY;EAEpG;AACF;AACA;AACA;AACA;EACEE,gBAAgB,EAAE,MAAAA,CAAA,KAA8B;IAC9C,OAAOL,cAAc,CAACK,gBAAgB,EAAE;EAC1C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEC,MAAM,EAAEA,CAACC,IAAY,EAAEC,KAAwB,KAAuB;IACpE,OAAOR,cAAc,CAACS,UAAU,CAACF,IAAI,EAAEC,KAAK,CAAC;EAC/C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,SAAS,EAAEA,CAACH,IAAY,EAAEI,IAAY,EAAEH,KAAwB,KAAoB;IAClF,OAAOR,cAAc,CAACY,UAAU,CAACL,IAAI,EAAEI,IAAI,EAAEH,KAAK,EAAE,IAAI,CAAC;EAC3D,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEK,QAAQ,EAAEA,CAACN,IAAY,EAAEC,KAAwB,KAAsB;IACrE,OAAOR,cAAc,CAACa,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEM,MAAM,EAAEA,CAACP,IAAY,EAAEC,KAAwB,KAAoB;IACjE,OAAOR,cAAc,CAACe,UAAU,CAACR,IAAI,EAAEC,KAAK,CAAC;EAC/C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEQ,IAAI,EAAE,MAAAA,CAAOT,IAAY,EAAEC,KAAwB,KAAoC;IACrF,MAAMS,MAAM,GAAG,MAAMjB,cAAc,CAACkB,QAAQ,CAACX,IAAI,EAAEC,KAAK,CAAC;IAEzD,OAAO;MACL,GAAGS,MAAM;MACTE,SAAS,EAAE,IAAIC,IAAI,CAACH,MAAM,CAACI,WAAW,CAAC;MACvCC,KAAK,EAAE,IAAIF,IAAI,CAACH,MAAM,CAACM,OAAO,CAAC;MAC/BC,WAAW,EAAEA,CAAA,KAAMP,MAAM,CAACO,WAAW;MACrCC,MAAM,EAAEA,CAAA,KAAMR,MAAM,CAACQ;IACvB,CAAC;EACH;AACF,CAAC;AAED,eAAexB,cAAc"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { NativeModules, Platform } from 'react-native';
|
|
2
2
|
import GoogleDriveApiClient from './google-drive';
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
3
|
+
import { CloudStorageErrorCode } from './types/native';
|
|
4
|
+
import CloudStorageError from './utils/CloudStorageError';
|
|
5
5
|
const LINKING_ERROR = `The package 'react-native-cloud-storage' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
6
6
|
ios: "- You have run 'pod install'\n",
|
|
7
7
|
default: ''
|
|
8
8
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
9
9
|
|
|
10
|
-
// proxy NativeModules.CloudStorage to catch any errors thrown by the native module and wrap them in a
|
|
10
|
+
// proxy NativeModules.CloudStorage to catch any errors thrown by the native module and wrap them in a CloudStorageError
|
|
11
11
|
const nativeIosInstance = NativeModules.CloudStorage ? new Proxy(NativeModules.CloudStorage, {
|
|
12
12
|
get(target, prop) {
|
|
13
13
|
const originalFunction = target[prop];
|
|
@@ -17,10 +17,10 @@ const nativeIosInstance = NativeModules.CloudStorage ? new Proxy(NativeModules.C
|
|
|
17
17
|
// @ts-expect-error - we can't know the types of the functions and their arguments
|
|
18
18
|
return await originalFunction(...arguments);
|
|
19
19
|
} catch (error) {
|
|
20
|
-
if (error !== null && error !== void 0 && error.code && Object.values(
|
|
21
|
-
throw new
|
|
20
|
+
if (error !== null && error !== void 0 && error.code && Object.values(CloudStorageErrorCode).includes(error.code)) {
|
|
21
|
+
throw new CloudStorageError((error === null || error === void 0 ? void 0 : error.message) || '', error.code);
|
|
22
22
|
} else {
|
|
23
|
-
throw new
|
|
23
|
+
throw new CloudStorageError('Unknown error', CloudStorageErrorCode.UNKNOWN, error);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","GoogleDriveApiClient","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","GoogleDriveApiClient","CloudStorageErrorCode","CloudStorageError","LINKING_ERROR","select","ios","default","nativeIosInstance","CloudStorage","Proxy","get","target","prop","originalFunction","arguments","error","code","Object","values","includes","message","UNKNOWN","createRNCloudStorage","OS","Error"],"sourceRoot":"../../src","sources":["createRNCloudStorage.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,OAAOC,oBAAoB,MAAM,gBAAgB;AACjD,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,OAAOC,iBAAiB,MAAM,2BAA2B;AAEzD,MAAMC,aAAa,GAChB,qFAAoF,GACrFJ,QAAQ,CAACK,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;;AAEjC;AACA,MAAMC,iBAAiB,GAAGT,aAAa,CAACU,YAAY,GAChD,IAAIC,KAAK,CAACX,aAAa,CAACU,YAAY,EAAE;EACpCE,GAAGA,CAACC,MAA4B,EAAEC,IAAgC,EAAE;IAClE,MAAMC,gBAAgB,GAAGF,MAAM,CAACC,IAAI,CAAC;IACrC,IAAI,OAAOC,gBAAgB,KAAK,UAAU,EAAE;MAC1C,OAAO,kBAA0B;QAC/B,IAAI;UACF;UACA,OAAO,MAAMA,gBAAgB,CAAC,GAAAC,SAAO,CAAC;QACxC,CAAC,CAAC,OAAOC,KAAU,EAAE;UACnB,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,IAAI,IAAIC,MAAM,CAACC,MAAM,CAACjB,qBAAqB,CAAC,CAACkB,QAAQ,CAACJ,KAAK,CAACC,IAAI,CAAC,EAAE;YAC5E,MAAM,IAAId,iBAAiB,CAAC,CAAAa,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,OAAO,KAAI,EAAE,EAAEL,KAAK,CAACC,IAAI,CAA0B;UACxF,CAAC,MAAM;YACL,MAAM,IAAId,iBAAiB,CAAC,eAAe,EAAED,qBAAqB,CAACoB,OAAO,EAAEN,KAAK,CAAC;UACpF;QACF;MACF,CAAC;IACH;IACA,OAAOF,gBAAgB;EACzB;AACF,CAAC,CAAC,GACF,IAAI;AAER,eAAe,SAASS,oBAAoBA,CAAA,EAAyB;EACnE,IAAIvB,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;IACzB,OACEhB,iBAAiB,IACjB,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;MACEC,GAAGA,CAAA,EAAG;QACJ,MAAM,IAAIc,KAAK,CAACrB,aAAa,CAAC;MAChC;IACF,CAAC,CACF;EAEL;EAEA,OAAO,IAAIH,oBAAoB,EAAE;AACnC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GDrive, MimeTypes } from 'react-native-google-drive-api-wrapper-js';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { CloudStorageErrorCode } from '../types/native';
|
|
3
|
+
import CloudStorageError from '../utils/CloudStorageError';
|
|
4
4
|
class GoogleDriveApiClient {
|
|
5
5
|
static drive = new GDrive();
|
|
6
6
|
constructor() {
|
|
@@ -8,9 +8,9 @@ class GoogleDriveApiClient {
|
|
|
8
8
|
return new Proxy(this, {
|
|
9
9
|
// before calling any function, check if the access token is set
|
|
10
10
|
get(target, prop) {
|
|
11
|
-
if (typeof target[prop] === 'function') {
|
|
11
|
+
if (typeof target[prop] === 'function' && prop !== 'isCloudAvailable') {
|
|
12
12
|
if (!GoogleDriveApiClient.drive.accessToken) {
|
|
13
|
-
throw new
|
|
13
|
+
throw new CloudStorageError(`Google Drive access token is not set, cannot call function ${prop.toString()}`, CloudStorageErrorCode.GOOGLE_DRIVE_ACCESS_TOKEN_MISSING);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
return target[prop];
|
|
@@ -25,7 +25,10 @@ class GoogleDriveApiClient {
|
|
|
25
25
|
static get accessToken() {
|
|
26
26
|
return GoogleDriveApiClient.drive.accessToken;
|
|
27
27
|
}
|
|
28
|
-
isCloudAvailable = async () =>
|
|
28
|
+
isCloudAvailable = async () => {
|
|
29
|
+
var _GoogleDriveApiClient;
|
|
30
|
+
return !!((_GoogleDriveApiClient = GoogleDriveApiClient.accessToken) !== null && _GoogleDriveApiClient !== void 0 && _GoogleDriveApiClient.length);
|
|
31
|
+
};
|
|
29
32
|
getRootDirectory(scope) {
|
|
30
33
|
switch (scope) {
|
|
31
34
|
case 'documents':
|
|
@@ -61,16 +64,16 @@ class GoogleDriveApiClient {
|
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
if (!topDirectoryId) {
|
|
64
|
-
throw new
|
|
67
|
+
throw new CloudStorageError(`Could not find top directory with name ${directoryTree[0]}`, CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
// now, we traverse the directories array and get the id of the last directory from the files array
|
|
68
71
|
let currentDirectoryId = topDirectoryId;
|
|
69
72
|
for (let i = 1; i < directoryTree.length; i++) {
|
|
70
73
|
const currentDirectory = files.find(f => f.id === currentDirectoryId);
|
|
71
|
-
if (!currentDirectory) throw new
|
|
74
|
+
if (!currentDirectory) throw new CloudStorageError(`Could not find directory with id ${currentDirectoryId}`, CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
72
75
|
const nextDirectory = files.find(f => f.name === directoryTree[i] && f.parents[0] === currentDirectoryId);
|
|
73
|
-
if (!nextDirectory) throw new
|
|
76
|
+
if (!nextDirectory) throw new CloudStorageError(`Could not find directory with name ${directoryTree[i]}`, CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
74
77
|
currentDirectoryId = nextDirectory.id;
|
|
75
78
|
}
|
|
76
79
|
return currentDirectoryId;
|
|
@@ -97,7 +100,7 @@ class GoogleDriveApiClient {
|
|
|
97
100
|
} else {
|
|
98
101
|
file = files.find(f => f.name === filename && f.parents[0] === parentDirectoryId);
|
|
99
102
|
}
|
|
100
|
-
if (!file) throw new
|
|
103
|
+
if (!file) throw new CloudStorageError(`File not found`, CloudStorageErrorCode.FILE_NOT_FOUND);
|
|
101
104
|
return file.id;
|
|
102
105
|
}
|
|
103
106
|
async fileExists(path, scope) {
|
|
@@ -105,7 +108,7 @@ class GoogleDriveApiClient {
|
|
|
105
108
|
await this.getFileId(path, scope);
|
|
106
109
|
return true;
|
|
107
110
|
} catch (e) {
|
|
108
|
-
if (e instanceof
|
|
111
|
+
if (e instanceof CloudStorageError && e.code === CloudStorageErrorCode.FILE_NOT_FOUND) return false;else throw e;
|
|
109
112
|
}
|
|
110
113
|
}
|
|
111
114
|
async createFile(path, data, scope, overwrite) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GDrive","MimeTypes","
|
|
1
|
+
{"version":3,"names":["GDrive","MimeTypes","CloudStorageErrorCode","CloudStorageError","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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"}
|