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.
- package/LICENSE +1 -1
- package/README.md +5 -6
- package/ios/CloudStorage.swift +262 -52
- package/ios/CloudStorage.xcodeproj/project.pbxproj +0 -28
- package/ios/CloudStorage.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
- package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/CloudStorage.xcodeproj/xcuserdata/max.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
- package/ios/CloudStorageEventEmitter.swift +4 -4
- package/lib/commonjs/RNCloudStorage.js +66 -361
- package/lib/commonjs/RNCloudStorage.js.map +1 -1
- package/lib/commonjs/createRNCloudStorage.js +48 -0
- package/lib/commonjs/createRNCloudStorage.js.map +1 -0
- package/lib/commonjs/expo-plugin/types/index.js.map +1 -1
- package/lib/commonjs/expo-plugin/withRNCloudStorage.js +3 -2
- package/lib/commonjs/expo-plugin/withRNCloudStorage.js.map +1 -1
- package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js +7 -4
- package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js.map +1 -1
- package/lib/commonjs/google-drive/client.js +20 -16
- package/lib/commonjs/google-drive/client.js.map +1 -1
- package/lib/commonjs/google-drive/index.js +64 -42
- package/lib/commonjs/google-drive/index.js.map +1 -1
- package/lib/commonjs/google-drive/types.js +2 -1
- package/lib/commonjs/google-drive/types.js.map +1 -1
- package/lib/commonjs/hooks/useCloudFile.js +17 -14
- package/lib/commonjs/hooks/useCloudFile.js.map +1 -1
- package/lib/commonjs/hooks/useIsCloudAvailable.js +21 -11
- package/lib/commonjs/hooks/useIsCloudAvailable.js.map +1 -1
- package/lib/commonjs/index.js +7 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types/main.js +3 -8
- 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 +2 -1
- package/lib/commonjs/utils/CloudStorageError.js.map +1 -1
- package/lib/commonjs/utils/helpers.js +15 -8
- package/lib/commonjs/utils/helpers.js.map +1 -1
- package/lib/module/RNCloudStorage.js +65 -362
- package/lib/module/RNCloudStorage.js.map +1 -1
- package/lib/module/createRNCloudStorage.js +41 -0
- package/lib/module/createRNCloudStorage.js.map +1 -0
- 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 +0 -2
- 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 +20 -18
- package/lib/module/google-drive/client.js.map +1 -1
- package/lib/module/google-drive/index.js +62 -41
- package/lib/module/google-drive/index.js.map +1 -1
- package/lib/module/google-drive/types.js +0 -2
- package/lib/module/google-drive/types.js.map +1 -1
- package/lib/module/hooks/useCloudFile.js +16 -15
- package/lib/module/hooks/useCloudFile.js.map +1 -1
- package/lib/module/hooks/useIsCloudAvailable.js +21 -13
- package/lib/module/hooks/useIsCloudAvailable.js.map +1 -1
- package/lib/module/index.js +5 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/types/main.js +0 -9
- package/lib/module/types/main.js.map +1 -1
- package/lib/module/types/native.js +1 -4
- package/lib/module/types/native.js.map +1 -1
- package/lib/module/utils/CloudStorageError.js +0 -2
- package/lib/module/utils/CloudStorageError.js.map +1 -1
- package/lib/module/utils/helpers.js +13 -8
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/typescript/RNCloudStorage.d.ts +39 -159
- package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
- package/lib/typescript/createRNCloudStorage.d.ts +3 -0
- package/lib/typescript/createRNCloudStorage.d.ts.map +1 -0
- 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 +18 -6
- package/lib/typescript/google-drive/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useCloudFile.d.ts +7 -4
- package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
- package/lib/typescript/hooks/useIsCloudAvailable.d.ts +2 -3
- package/lib/typescript/hooks/useIsCloudAvailable.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +4 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/main.d.ts +0 -33
- package/lib/typescript/types/main.d.ts.map +1 -1
- package/lib/typescript/types/native.d.ts +1 -2
- package/lib/typescript/types/native.d.ts.map +1 -1
- package/lib/typescript/utils/helpers.d.ts +9 -2
- package/lib/typescript/utils/helpers.d.ts.map +1 -1
- package/package.json +11 -9
- package/src/RNCloudStorage.ts +68 -387
- package/src/createRNCloudStorage.ts +53 -0
- package/src/google-drive/client.ts +7 -8
- package/src/google-drive/index.ts +63 -38
- package/src/hooks/useCloudFile.ts +16 -13
- package/src/hooks/useIsCloudAvailable.ts +25 -12
- package/src/index.ts +5 -0
- package/src/types/main.ts +0 -38
- package/src/types/native.ts +1 -2
- package/src/utils/helpers.ts +15 -8
- package/ios/Utils/CloudKitUtils.swift +0 -112
- package/ios/Utils/CloudStorageError.swift +0 -78
- package/ios/Utils/FileUtils.swift +0 -132
- package/ios/Utils/Promise.swift +0 -58
- package/ios/Utils/Types.swift +0 -36
- package/lib/commonjs/package.json +0 -1
- package/lib/module/package.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_configPlugins","require","withRNCloudStorageInfoPlist","config","withInfoPlist","newConfig","ios","bundleIdentifier","Error","infoPlist","modResults","NSUbiquitousContainers","NSUbiquitousContainerIsDocumentScopePublic","NSUbiquitousContainerSupportedFolderLevels","NSUbiquitousContainerName","slug","withRNCloudStorageEntitlementsPlist","options","withEntitlementsPlist","entitlementsPlist","iCloudContainerEnvironment","withRNCloudStorageIos","withPlugins","_default","exports","default"],"sourceRoot":"../../../src","sources":["expo-plugin/withRNCloudStorageIos.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAGA,MAAMC,2BAAyC,GAAIC,MAAM,IACvD,IAAAC,4BAAa,EAACD,MAAM,EAAE,MAAOE,SAAS,IAAK;EACzC,IAAI,
|
|
1
|
+
{"version":3,"names":["_configPlugins","require","withRNCloudStorageInfoPlist","config","withInfoPlist","newConfig","_config$ios","ios","bundleIdentifier","Error","infoPlist","modResults","NSUbiquitousContainers","NSUbiquitousContainerIsDocumentScopePublic","NSUbiquitousContainerSupportedFolderLevels","NSUbiquitousContainerName","slug","withRNCloudStorageEntitlementsPlist","options","withEntitlementsPlist","_config$ios2","entitlementsPlist","iCloudContainerEnvironment","withRNCloudStorageIos","withPlugins","_default","exports","default"],"sourceRoot":"../../../src","sources":["expo-plugin/withRNCloudStorageIos.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAGA,MAAMC,2BAAyC,GAAIC,MAAM,IACvD,IAAAC,4BAAa,EAACD,MAAM,EAAE,MAAOE,SAAS,IAAK;EAAA,IAAAC,WAAA;EACzC,IAAI,GAAAA,WAAA,GAACH,MAAM,CAACI,GAAG,cAAAD,WAAA,eAAVA,WAAA,CAAYE,gBAAgB,GAAE;IACjC,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EAClD;EACA,MAAMC,SAAS,GAAGL,SAAS,CAACM,UAAU;EACtCD,SAAS,CAACE,sBAAsB,GAAG;IACjC,CAAE,UAAST,MAAM,CAACI,GAAG,CAACC,gBAAiB,EAAC,GAAG;MACzCK,0CAA0C,EAAE,IAAI;MAChDC,0CAA0C,EAAE,KAAK;MACjDC,yBAAyB,EAAEZ,MAAM,CAACa;IACpC;EACF,CAAC;EAED,OAAOX,SAAS;AAClB,CAAC,CAAC;AAEJ,MAAMY,mCAAoF,GAAGA,CAACd,MAAM,EAAEe,OAAO,KAC3G,IAAAC,oCAAqB,EAAChB,MAAM,EAAE,MAAOE,SAAS,IAAK;EAAA,IAAAe,YAAA;EACjD,IAAI,GAAAA,YAAA,GAACjB,MAAM,CAACI,GAAG,cAAAa,YAAA,eAAVA,YAAA,CAAYZ,gBAAgB,GAAE;IACjC,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EAClD;EACA,MAAMY,iBAAiB,GAAGhB,SAAS,CAACM,UAAU;EAC9CU,iBAAiB,CAAC,kDAAkD,CAAC,GAAG,CAAE,UAASlB,MAAM,CAACI,GAAG,CAACC,gBAAiB,EAAC,CAAC;EACjHa,iBAAiB,CAAC,qCAAqC,CAAC,GAAG,CAAC,gBAAgB,CAAC;EAC7EA,iBAAiB,CAAC,kDAAkD,CAAC,GACnE,CAAAH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,0BAA0B,KAAI,YAAY;EACrDD,iBAAiB,CAAC,oDAAoD,CAAC,GAAG,CAAE,UAASlB,MAAM,CAACI,GAAG,CAACC,gBAAiB,EAAC,CAAC;EACnHa,iBAAiB,CACf,iDAAiD,CAClD,GAAI,0BAAyBlB,MAAM,CAACI,GAAG,CAACC,gBAAiB,EAAC;EAE3D,OAAOH,SAAS;AAClB,CAAC,CAAC;AAEJ,MAAMkB,qBAAsE,GAAGA,CAACpB,MAAM,EAAEe,OAAO,KAC7F,IAAAM,0BAAW,EAACrB,MAAM,EAAE,CAACD,2BAA2B,EAAE,CAACe,mCAAmC,EAAEC,OAAO,CAAC,CAAC,CAAC;AAAC,IAAAO,QAAA,GAEtFF,qBAAqB;AAAAG,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -20,11 +20,17 @@ class GoogleDriveHttpError extends Error {
|
|
|
20
20
|
// TODO: properly handle errors
|
|
21
21
|
exports.GoogleDriveHttpError = GoogleDriveHttpError;
|
|
22
22
|
class GoogleDriveApiClient {
|
|
23
|
-
constructor(
|
|
24
|
-
|
|
23
|
+
constructor() {
|
|
24
|
+
let accessToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
25
|
+
this.accessToken = accessToken;
|
|
26
|
+
this.timeout = 3000;
|
|
25
27
|
}
|
|
26
28
|
buildQueryString(query) {
|
|
27
|
-
let res = Object.entries(query).filter(
|
|
29
|
+
let res = Object.entries(query).filter(_ref => {
|
|
30
|
+
let [, value] = _ref;
|
|
31
|
+
return value !== undefined;
|
|
32
|
+
}).map(_ref2 => {
|
|
33
|
+
let [key, value] = _ref2;
|
|
28
34
|
if (typeof value === 'boolean') return `${encodeURIComponent(key)}=${value ? 'true' : 'false'}`;
|
|
29
35
|
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
30
36
|
}).join('&');
|
|
@@ -33,15 +39,12 @@ class GoogleDriveApiClient {
|
|
|
33
39
|
}
|
|
34
40
|
return res;
|
|
35
41
|
}
|
|
36
|
-
async request(operation
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
timeout,
|
|
43
|
-
accessToken
|
|
44
|
-
} = this.options;
|
|
42
|
+
async request(operation) {
|
|
43
|
+
let {
|
|
44
|
+
queryParameters,
|
|
45
|
+
baseUrl,
|
|
46
|
+
...options
|
|
47
|
+
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
45
48
|
let path = `${baseUrl ?? BASE_URL}${operation}`;
|
|
46
49
|
if (queryParameters) {
|
|
47
50
|
path += this.buildQueryString(queryParameters);
|
|
@@ -50,12 +53,12 @@ class GoogleDriveApiClient {
|
|
|
50
53
|
const abortController = new AbortController();
|
|
51
54
|
this._fetchTimeout = setTimeout(() => {
|
|
52
55
|
abortController.abort();
|
|
53
|
-
}, timeout);
|
|
56
|
+
}, this.timeout);
|
|
54
57
|
const response = await fetch(path, {
|
|
55
58
|
...options,
|
|
56
59
|
headers: {
|
|
57
60
|
...options.headers,
|
|
58
|
-
Authorization: `Bearer ${accessToken}`
|
|
61
|
+
Authorization: `Bearer ${this.accessToken}`
|
|
59
62
|
},
|
|
60
63
|
signal: abortController.signal
|
|
61
64
|
});
|
|
@@ -63,8 +66,9 @@ class GoogleDriveApiClient {
|
|
|
63
66
|
let errorMessage;
|
|
64
67
|
let json = null;
|
|
65
68
|
try {
|
|
69
|
+
var _json$error;
|
|
66
70
|
json = await response.json();
|
|
67
|
-
errorMessage = json.error
|
|
71
|
+
errorMessage = ((_json$error = json.error) === null || _json$error === void 0 ? void 0 : _json$error.message) ?? `Request failed with status ${response.status}`;
|
|
68
72
|
} catch (e) {
|
|
69
73
|
errorMessage = `Request failed with status ${response.status}`;
|
|
70
74
|
}
|
|
@@ -73,7 +77,7 @@ class GoogleDriveApiClient {
|
|
|
73
77
|
if (response.status === 204) {
|
|
74
78
|
return undefined;
|
|
75
79
|
}
|
|
76
|
-
if (options
|
|
80
|
+
if (options !== null && options !== void 0 && options.headers && 'Accept' in options.headers && options.headers.Accept !== 'application/json') {
|
|
77
81
|
return response.text();
|
|
78
82
|
}
|
|
79
83
|
return response.json();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","BASE_URL","BASE_UPLOAD_URL","MULTIPART_BOUNDARY","GoogleDriveHttpError","Error","constructor","message","status","json","exports","GoogleDriveApiClient","
|
|
1
|
+
{"version":3,"names":["_types","require","BASE_URL","BASE_UPLOAD_URL","MULTIPART_BOUNDARY","GoogleDriveHttpError","Error","constructor","message","status","json","exports","GoogleDriveApiClient","accessToken","arguments","length","undefined","timeout","buildQueryString","query","res","Object","entries","filter","_ref","value","map","_ref2","key","encodeURIComponent","join","request","operation","queryParameters","baseUrl","options","path","clearTimeout","_fetchTimeout","abortController","AbortController","setTimeout","abort","response","fetch","headers","Authorization","signal","ok","errorMessage","_json$error","error","e","Accept","text","buildMultiPartBody","metadata","media","body","push","MimeTypes","JSON","stringify","mimeType","listFiles","space","files","pageToken","fields","spaces","nextPageToken","getFile","fileId","getFileText","alt","deleteFile","method","createFile","multipartRequestBody","uploadType","toString","createDirectory","FOLDER","updateFile","default"],"sourceRoot":"../../../src","sources":["google-drive/client.ts"],"mappings":"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"}
|
|
@@ -7,39 +7,57 @@ exports.default = void 0;
|
|
|
7
7
|
var _native = require("../types/native");
|
|
8
8
|
var _CloudStorageError = _interopRequireDefault(require("../utils/CloudStorageError"));
|
|
9
9
|
var _types = require("./types");
|
|
10
|
+
var _reactNative = require("react-native");
|
|
10
11
|
var _client = _interopRequireWildcard(require("./client"));
|
|
11
|
-
function _getRequireWildcardCache(
|
|
12
|
-
function _interopRequireWildcard(
|
|
13
|
-
function _interopRequireDefault(
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
15
|
/**
|
|
15
16
|
* A proxy class that wraps the Google Drive API client implementation to match the native iOS interface.
|
|
16
17
|
*/
|
|
17
18
|
class GoogleDrive {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
static drive = new _client.default();
|
|
20
|
+
static throwOnFilesWithSameName = false;
|
|
21
|
+
constructor() {
|
|
22
|
+
this.filesWithSameNameSubscribers = [];
|
|
21
23
|
return new Proxy(this, {
|
|
22
24
|
// before calling any function, check if the access token is set
|
|
23
25
|
get(target, prop) {
|
|
24
|
-
const allowedFunctions = ['isCloudAvailable'];
|
|
26
|
+
const allowedFunctions = ['isCloudAvailable', 'subscribeToFilesWithSameName'];
|
|
25
27
|
if (typeof target[prop] === 'function' && !allowedFunctions.includes(prop.toString())) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
} = options;
|
|
29
|
-
if (!accessToken?.length) {
|
|
30
|
-
throw new _CloudStorageError.default(`Google Drive access token is not set, cannot call function ${prop.toString()}`, _native.CloudStorageErrorCode.ACCESS_TOKEN_MISSING);
|
|
28
|
+
if (!GoogleDrive.drive.accessToken.length) {
|
|
29
|
+
throw new _CloudStorageError.default(`Google Drive access token is not set, cannot call function ${prop.toString()}`, _native.CloudStorageErrorCode.GOOGLE_DRIVE_ACCESS_TOKEN_MISSING);
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
return target[prop];
|
|
34
33
|
}
|
|
35
34
|
});
|
|
36
35
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
|
|
37
|
+
// when setting accessToken, set it on the GDrive instance
|
|
38
|
+
static set accessToken(accessToken) {
|
|
39
|
+
GoogleDrive.drive.accessToken = accessToken ?? '';
|
|
40
|
+
|
|
41
|
+
// emit an event for the useIsCloudAvailable hook
|
|
42
|
+
_reactNative.DeviceEventEmitter.emit('RNCloudStorage.cloud.availability-changed', {
|
|
43
|
+
available: !!(accessToken !== null && accessToken !== void 0 && accessToken.length)
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
static set timeout(timeout) {
|
|
47
|
+
GoogleDrive.drive.timeout = timeout;
|
|
48
|
+
}
|
|
49
|
+
static get accessToken() {
|
|
50
|
+
return GoogleDrive.drive.accessToken.length ? GoogleDrive.drive.accessToken : null;
|
|
51
|
+
}
|
|
52
|
+
subscribeToFilesWithSameName(subscriber) {
|
|
53
|
+
this.filesWithSameNameSubscribers.push(subscriber);
|
|
54
|
+
return {
|
|
55
|
+
remove: () => {
|
|
56
|
+
this.filesWithSameNameSubscribers = this.filesWithSameNameSubscribers.filter(s => s !== subscriber);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
isCloudAvailable = async () => !!GoogleDrive.drive.accessToken.length;
|
|
43
61
|
getRootDirectory(scope) {
|
|
44
62
|
switch (scope) {
|
|
45
63
|
case 'documents':
|
|
@@ -96,16 +114,13 @@ class GoogleDrive {
|
|
|
96
114
|
* @returns A promise that resolves to the ID of the root directory or null if it could not be found.
|
|
97
115
|
*/
|
|
98
116
|
async getRootDirectoryId(scope) {
|
|
99
|
-
const files = await
|
|
117
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
100
118
|
for (const file of files) {
|
|
101
119
|
if (!files.find(f => f.id === file.parents[0])) return file.parents[0] ?? null;
|
|
102
120
|
}
|
|
103
121
|
return null;
|
|
104
122
|
}
|
|
105
123
|
checkIfMultipleFilesWithSameName(path, files, filename, parentDirectoryId) {
|
|
106
|
-
const {
|
|
107
|
-
strictFilenames
|
|
108
|
-
} = this.options;
|
|
109
124
|
let possibleFiles;
|
|
110
125
|
if (parentDirectoryId) {
|
|
111
126
|
possibleFiles = files.filter(f => f.name === filename && f.parents[0] === parentDirectoryId);
|
|
@@ -113,13 +128,19 @@ class GoogleDrive {
|
|
|
113
128
|
possibleFiles = files.filter(f => f.name === filename && !files.find(f2 => f2.id === f.parents[0]));
|
|
114
129
|
}
|
|
115
130
|
if (possibleFiles.length <= 1) return;
|
|
116
|
-
if (
|
|
131
|
+
if (GoogleDrive.throwOnFilesWithSameName) {
|
|
117
132
|
throw new _CloudStorageError.default(`Multiple files with the same name found at path ${path}: ${possibleFiles.map(f => f.id).join(', ')}`, _native.CloudStorageErrorCode.MULTIPLE_FILES_SAME_NAME);
|
|
133
|
+
} else {
|
|
134
|
+
this.filesWithSameNameSubscribers.forEach(s => s({
|
|
135
|
+
path,
|
|
136
|
+
fileIds: possibleFiles.map(f => f.id)
|
|
137
|
+
}));
|
|
118
138
|
}
|
|
119
139
|
}
|
|
120
|
-
async getFileId(path, scope
|
|
140
|
+
async getFileId(path, scope) {
|
|
141
|
+
let throwIf = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
121
142
|
try {
|
|
122
|
-
const files = await
|
|
143
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
123
144
|
if (path === '' || path === '/') {
|
|
124
145
|
const rootDirectoryId = await this.getRootDirectoryId(scope);
|
|
125
146
|
if (!rootDirectoryId) throw new _CloudStorageError.default(`Root directory in scope ${scope} not found`, _native.CloudStorageErrorCode.DIRECTORY_NOT_FOUND);
|
|
@@ -148,7 +169,8 @@ class GoogleDrive {
|
|
|
148
169
|
}
|
|
149
170
|
return file.id;
|
|
150
171
|
} catch (e) {
|
|
151
|
-
|
|
172
|
+
var _e$json, _e$json$error;
|
|
173
|
+
if (e instanceof _client.GoogleDriveHttpError && ((_e$json = e.json) === null || _e$json === void 0 ? void 0 : (_e$json$error = _e$json.error) === null || _e$json$error === void 0 ? void 0 : _e$json$error.status) === 'UNAUTHENTICATED') {
|
|
152
174
|
throw new _CloudStorageError.default(`Could not authenticate with Google Drive`, _native.CloudStorageErrorCode.AUTHENTICATION_FAILED, e.json);
|
|
153
175
|
} else {
|
|
154
176
|
if (e instanceof _CloudStorageError.default) throw e;
|
|
@@ -169,7 +191,7 @@ class GoogleDrive {
|
|
|
169
191
|
let prevContent = '';
|
|
170
192
|
try {
|
|
171
193
|
fileId = await this.getFileId(path, scope);
|
|
172
|
-
prevContent = await
|
|
194
|
+
prevContent = await GoogleDrive.drive.getFileText(fileId);
|
|
173
195
|
} catch (e) {
|
|
174
196
|
if (e instanceof _CloudStorageError.default && e.code === _native.CloudStorageErrorCode.FILE_NOT_FOUND) {
|
|
175
197
|
/* do nothing, simply create the file */
|
|
@@ -178,18 +200,18 @@ class GoogleDrive {
|
|
|
178
200
|
}
|
|
179
201
|
}
|
|
180
202
|
if (fileId) {
|
|
181
|
-
await
|
|
203
|
+
await GoogleDrive.drive.updateFile(fileId, {
|
|
182
204
|
body: prevContent + data,
|
|
183
205
|
mimeType: _types.MimeTypes.TEXT
|
|
184
206
|
});
|
|
185
207
|
} else {
|
|
186
|
-
const files = await
|
|
208
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
187
209
|
const {
|
|
188
210
|
directories,
|
|
189
211
|
filename
|
|
190
212
|
} = this.resolvePathToDirectories(path);
|
|
191
213
|
const parentDirectoryId = this.findParentDirectoryId(files, directories);
|
|
192
|
-
await
|
|
214
|
+
await GoogleDrive.drive.createFile({
|
|
193
215
|
name: filename,
|
|
194
216
|
parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
|
|
195
217
|
}, {
|
|
@@ -223,18 +245,18 @@ class GoogleDrive {
|
|
|
223
245
|
}
|
|
224
246
|
}
|
|
225
247
|
if (fileId) {
|
|
226
|
-
await
|
|
248
|
+
await GoogleDrive.drive.updateFile(fileId, {
|
|
227
249
|
body: data,
|
|
228
250
|
mimeType: _types.MimeTypes.TEXT
|
|
229
251
|
});
|
|
230
252
|
} else {
|
|
231
|
-
const files = await
|
|
253
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
232
254
|
const {
|
|
233
255
|
directories,
|
|
234
256
|
filename
|
|
235
257
|
} = this.resolvePathToDirectories(path);
|
|
236
258
|
const parentDirectoryId = this.findParentDirectoryId(files, directories);
|
|
237
|
-
await
|
|
259
|
+
await GoogleDrive.drive.createFile({
|
|
238
260
|
name: filename,
|
|
239
261
|
parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
|
|
240
262
|
}, {
|
|
@@ -244,7 +266,7 @@ class GoogleDrive {
|
|
|
244
266
|
}
|
|
245
267
|
}
|
|
246
268
|
async listFiles(path, scope) {
|
|
247
|
-
const allFiles = await
|
|
269
|
+
const allFiles = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
248
270
|
if (path !== '') {
|
|
249
271
|
const fileId = await this.getFileId(path, scope);
|
|
250
272
|
const files = allFiles.filter(f => (f.parents ?? [])[0] === fileId);
|
|
@@ -267,47 +289,47 @@ class GoogleDrive {
|
|
|
267
289
|
throw e;
|
|
268
290
|
}
|
|
269
291
|
}
|
|
270
|
-
const files = await
|
|
292
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
271
293
|
const {
|
|
272
294
|
directories,
|
|
273
295
|
filename
|
|
274
296
|
} = this.resolvePathToDirectories(path);
|
|
275
297
|
const parentDirectoryId = this.findParentDirectoryId(files, directories);
|
|
276
|
-
await
|
|
298
|
+
await GoogleDrive.drive.createDirectory({
|
|
277
299
|
name: filename,
|
|
278
300
|
parents: parentDirectoryId ? [parentDirectoryId] : scope === 'app_data' ? [this.getRootDirectory(scope)] : undefined
|
|
279
301
|
});
|
|
280
302
|
}
|
|
281
303
|
async readFile(path, scope) {
|
|
282
304
|
const fileId = await this.getFileId(path, scope);
|
|
283
|
-
const content = await
|
|
305
|
+
const content = await GoogleDrive.drive.getFileText(fileId);
|
|
284
306
|
return content;
|
|
285
307
|
}
|
|
286
308
|
async downloadFile(_path, _scope) {
|
|
287
|
-
//
|
|
309
|
+
// Not doing anything here, just a placeholder to conform to the interface so it doesn't fail on Android
|
|
288
310
|
return;
|
|
289
311
|
}
|
|
290
312
|
async deleteFile(path, scope) {
|
|
291
313
|
// if trying to pass a directory, throw an error
|
|
292
314
|
const fileId = await this.getFileId(path, scope, 'directory');
|
|
293
|
-
await
|
|
315
|
+
await GoogleDrive.drive.deleteFile(fileId);
|
|
294
316
|
}
|
|
295
317
|
async deleteDirectory(path, recursive, scope) {
|
|
296
318
|
// if trying to pass a file, throw an error
|
|
297
319
|
const fileId = await this.getFileId(path, scope, 'file');
|
|
298
320
|
if (!recursive) {
|
|
299
321
|
// check if the directory is empty
|
|
300
|
-
const files = await
|
|
322
|
+
const files = await GoogleDrive.drive.listFiles(this.getRootDirectory(scope));
|
|
301
323
|
const filesInDirectory = files.filter(f => (f.parents ?? [])[0] === fileId);
|
|
302
324
|
if (filesInDirectory.length > 0) {
|
|
303
325
|
throw new _CloudStorageError.default(`Directory ${path} is not empty`, _native.CloudStorageErrorCode.DELETE_ERROR, filesInDirectory);
|
|
304
326
|
}
|
|
305
327
|
}
|
|
306
|
-
await
|
|
328
|
+
await GoogleDrive.drive.deleteFile(fileId);
|
|
307
329
|
}
|
|
308
330
|
async statFile(path, scope) {
|
|
309
331
|
const fileId = await this.getFileId(path, scope, false);
|
|
310
|
-
const file = await
|
|
332
|
+
const file = await GoogleDrive.drive.getFile(fileId);
|
|
311
333
|
return {
|
|
312
334
|
size: file.size ?? 0,
|
|
313
335
|
birthtimeMs: new Date(file.createdTime).getTime(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_CloudStorageError","_interopRequireDefault","_types","_client","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GoogleDrive","constructor","options","drive","GoogleDriveApiClient","Proxy","target","prop","allowedFunctions","includes","toString","accessToken","length","CloudStorageError","CloudStorageErrorCode","ACCESS_TOKEN_MISSING","isCloudAvailable","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","currentDirectory","nextDirectory","getRootDirectoryId","listFiles","file","checkIfMultipleFilesWithSameName","parentDirectoryId","strictFilenames","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","getFileId","throwIf","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","GoogleDriveHttpError","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getFileText","updateFile","body","TEXT","createFile","undefined","overwrite","FILE_ALREADY_EXISTS","allFiles","Array","from","Set","createDirectory","readFile","content","downloadFile","_path","_scope","deleteFile","deleteDirectory","recursive","filesInDirectory","DELETE_ERROR","statFile","getFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile","exports"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_native","require","_CloudStorageError","_interopRequireDefault","_types","_reactNative","_client","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GoogleDrive","drive","GoogleDriveApiClient","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","Proxy","target","prop","allowedFunctions","includes","toString","accessToken","length","CloudStorageError","CloudStorageErrorCode","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","DeviceEventEmitter","emit","available","timeout","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","MimeTypes","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listFiles","file","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIf","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","GoogleDriveHttpError","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getFileText","updateFile","body","TEXT","createFile","overwrite","FILE_ALREADY_EXISTS","allFiles","Array","from","Set","createDirectory","readFile","content","downloadFile","_path","_scope","deleteFile","deleteDirectory","recursive","filesInDirectory","DELETE_ERROR","statFile","getFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile","exports"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.MimeTypes = void 0;
|
|
7
|
-
let MimeTypes =
|
|
7
|
+
let MimeTypes = /*#__PURE__*/function (MimeTypes) {
|
|
8
8
|
MimeTypes["BINARY"] = "application/octet-stream";
|
|
9
9
|
MimeTypes["CSV"] = "text/csv";
|
|
10
10
|
MimeTypes["FOLDER"] = "application/vnd.google-apps.folder";
|
|
@@ -13,4 +13,5 @@ let MimeTypes = exports.MimeTypes = /*#__PURE__*/function (MimeTypes) {
|
|
|
13
13
|
MimeTypes["TEXT"] = "text/plain";
|
|
14
14
|
return MimeTypes;
|
|
15
15
|
}({});
|
|
16
|
+
exports.MimeTypes = MimeTypes;
|
|
16
17
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MimeTypes","exports"],"sourceRoot":"../../../src","sources":["google-drive/types.ts"],"mappings":";;;;;;IAEYA,SAAS,
|
|
1
|
+
{"version":3,"names":["MimeTypes","exports"],"sourceRoot":"../../../src","sources":["google-drive/types.ts"],"mappings":";;;;;;IAEYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAAAC,OAAA,CAAAD,SAAA,GAAAA,SAAA"}
|
|
@@ -6,44 +6,47 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useCloudFile = void 0;
|
|
7
7
|
var _RNCloudStorage = _interopRequireDefault(require("../RNCloudStorage"));
|
|
8
8
|
var _react = require("react");
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
/**
|
|
11
11
|
* A utility hook for reading and writing to a single file in the cloud.
|
|
12
12
|
* @param path The path to the file.
|
|
13
|
-
* @param scope The directory scope the path is in.
|
|
14
|
-
* @param cloudStorageInstance An optional instance of RNCloudStorage to use instead of the default instance.
|
|
13
|
+
* @param scope The directory scope the path is in. If not provided, defaults to the default scope set in the library.
|
|
15
14
|
* @returns An object containing the file's contents and functions for downloading, reading, writing, and removing the file.
|
|
16
15
|
*/
|
|
17
|
-
const useCloudFile = (path, scope
|
|
16
|
+
const useCloudFile = (path, scope) => {
|
|
18
17
|
const [content, setContent] = (0, _react.useState)(null);
|
|
19
|
-
const instance = cloudStorageInstance ?? _RNCloudStorage.default;
|
|
20
18
|
const read = (0, _react.useCallback)(async () => {
|
|
21
|
-
const exists = await
|
|
19
|
+
const exists = await _RNCloudStorage.default.exists(path, scope);
|
|
22
20
|
if (!exists) {
|
|
23
21
|
setContent(null);
|
|
24
22
|
return;
|
|
25
23
|
}
|
|
26
|
-
|
|
27
|
-
}, [path, scope
|
|
24
|
+
_RNCloudStorage.default.readFile(path, scope).then(setContent);
|
|
25
|
+
}, [path, scope]);
|
|
28
26
|
(0, _react.useEffect)(() => {
|
|
29
27
|
read();
|
|
30
28
|
}, [read]);
|
|
31
29
|
const write = (0, _react.useCallback)(async newContent => {
|
|
32
|
-
await
|
|
30
|
+
await _RNCloudStorage.default.writeFile(path, newContent, scope);
|
|
33
31
|
read();
|
|
34
|
-
}, [path, scope, read
|
|
32
|
+
}, [path, scope, read]);
|
|
35
33
|
const remove = (0, _react.useCallback)(async () => {
|
|
36
|
-
await
|
|
34
|
+
await _RNCloudStorage.default.unlink(path, scope);
|
|
37
35
|
setContent(null);
|
|
38
|
-
}, [path, scope
|
|
36
|
+
}, [path, scope]);
|
|
39
37
|
const download = (0, _react.useCallback)(async () => {
|
|
40
|
-
await
|
|
41
|
-
}, [path, scope
|
|
38
|
+
await _RNCloudStorage.default.downloadFile(path, scope);
|
|
39
|
+
}, [path, scope]);
|
|
42
40
|
return {
|
|
43
41
|
content,
|
|
44
42
|
read,
|
|
45
43
|
write,
|
|
46
44
|
remove,
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Use `write` instead.
|
|
47
|
+
* @alias write
|
|
48
|
+
*/
|
|
49
|
+
update: write,
|
|
47
50
|
/**
|
|
48
51
|
* Downloads the file from iCloud to the device. Needed if the file hasn't been synced yet. Has no effect on
|
|
49
52
|
* Google Drive.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_react","
|
|
1
|
+
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_react","obj","__esModule","default","useCloudFile","path","scope","content","setContent","useState","read","useCallback","exists","RNCloudStorage","readFile","then","useEffect","write","newContent","writeFile","remove","unlink","download","downloadFile","update","exports"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,KAAK;EACvE,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EAE3D,MAAMC,IAAI,GAAG,IAAAC,kBAAW,EAAC,YAAY;IACnC,MAAMC,MAAM,GAAG,MAAMC,uBAAc,CAACD,MAAM,CAACP,IAAI,EAAEC,KAAK,CAAC;IACvD,IAAI,CAACM,MAAM,EAAE;MACXJ,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAK,uBAAc,CAACC,QAAQ,CAACT,IAAI,EAAEC,KAAK,CAAC,CAACS,IAAI,CAACP,UAAU,CAAC;EACvD,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,IAAAU,gBAAS,EAAC,MAAM;IACdN,IAAI,EAAE;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMO,KAAK,GAAG,IAAAN,kBAAW,EACvB,MAAOO,UAAkB,IAAK;IAC5B,MAAML,uBAAc,CAACM,SAAS,CAACd,IAAI,EAAEa,UAAU,EAAEZ,KAAK,CAAC;IACvDI,IAAI,EAAE;EACR,CAAC,EACD,CAACL,IAAI,EAAEC,KAAK,EAAEI,IAAI,CAAC,CACpB;EAED,MAAMU,MAAM,GAAG,IAAAT,kBAAW,EAAC,YAAY;IACrC,MAAME,uBAAc,CAACQ,MAAM,CAAChB,IAAI,EAAEC,KAAK,CAAC;IACxCE,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACH,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,MAAMgB,QAAQ,GAAG,IAAAX,kBAAW,EAAC,YAAY;IACvC,MAAME,uBAAc,CAACU,YAAY,CAAClB,IAAI,EAAEC,KAAK,CAAC;EAChD,CAAC,EAAE,CAACD,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEjB,OAAO;IACLC,OAAO;IACPG,IAAI;IACJO,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACII,MAAM,EAAEP,KAAK;IACb;AACJ;AACA;AACA;IACIK;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAArB,YAAA,GAAAA,YAAA"}
|
|
@@ -5,29 +5,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useIsCloudAvailable = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _RNCloudStorage = _interopRequireDefault(require("../RNCloudStorage"));
|
|
9
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
11
|
/**
|
|
11
12
|
* A hook that tests whether or not the cloud storage is available.
|
|
12
|
-
* @param
|
|
13
|
+
* @param _iCloudTimeout DEPRECATED: This parameter is deprecated and has no effect. It will be removed in a future version.
|
|
13
14
|
* @returns A boolean indicating whether or not the cloud storage is available.
|
|
14
15
|
*/
|
|
15
|
-
const useIsCloudAvailable =
|
|
16
|
+
const useIsCloudAvailable = _iCloudTimeout => {
|
|
16
17
|
const [isAvailable, setIsAvailable] = (0, _react.useState)(false);
|
|
17
|
-
const instance = cloudStorageInstance ?? _RNCloudStorage.default.getDefaultInstance();
|
|
18
|
-
const handleAvailabilityChange = (0, _react.useCallback)(available => {
|
|
19
|
-
setIsAvailable(available);
|
|
20
|
-
}, []);
|
|
21
18
|
(0, _react.useEffect)(() => {
|
|
22
19
|
// Set the initial availability state
|
|
23
|
-
|
|
20
|
+
_RNCloudStorage.default.isCloudAvailable().then(setIsAvailable);
|
|
24
21
|
|
|
25
22
|
// Listen for changes to the cloud availability using the native event emitter
|
|
26
|
-
|
|
23
|
+
let eventEmitter;
|
|
24
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
25
|
+
eventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.CloudStorageEventEmitter);
|
|
26
|
+
} else {
|
|
27
|
+
eventEmitter = _reactNative.DeviceEventEmitter;
|
|
28
|
+
}
|
|
29
|
+
eventEmitter.addListener('RNCloudStorage.cloud.availability-changed', event => {
|
|
30
|
+
setIsAvailable(event.available);
|
|
31
|
+
});
|
|
27
32
|
return () => {
|
|
28
|
-
|
|
33
|
+
eventEmitter.removeAllListeners('RNCloudStorage.cloud.availability-changed');
|
|
29
34
|
};
|
|
30
|
-
}, [
|
|
35
|
+
}, []);
|
|
36
|
+
(0, _react.useEffect)(() => {
|
|
37
|
+
if (_iCloudTimeout !== undefined) {
|
|
38
|
+
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.');
|
|
39
|
+
}
|
|
40
|
+
}, [_iCloudTimeout]);
|
|
31
41
|
return isAvailable;
|
|
32
42
|
};
|
|
33
43
|
exports.useIsCloudAvailable = useIsCloudAvailable;
|