react-native-cloud-storage 0.1.2 → 0.2.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/README.md +3 -1
- package/ios/CloudStorage.m +1 -4
- package/ios/CloudStorage.swift +41 -0
- package/lib/commonjs/RNCloudStorage.js +16 -0
- package/lib/commonjs/RNCloudStorage.js.map +1 -1
- package/lib/commonjs/createRNCloudStorage.js +25 -1
- package/lib/commonjs/createRNCloudStorage.js.map +1 -1
- package/lib/commonjs/google-drive/index.js +13 -0
- package/lib/commonjs/google-drive/index.js.map +1 -1
- package/lib/commonjs/index.js +18 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types/native.js +17 -0
- package/lib/commonjs/types/native.js.map +1 -1
- package/lib/commonjs/utils/NativeStorageError.js +16 -0
- package/lib/commonjs/utils/NativeStorageError.js.map +1 -0
- package/lib/module/RNCloudStorage.js +16 -0
- package/lib/module/RNCloudStorage.js.map +1 -1
- package/lib/module/createRNCloudStorage.js +25 -1
- package/lib/module/createRNCloudStorage.js.map +1 -1
- package/lib/module/google-drive/index.js +13 -0
- package/lib/module/google-drive/index.js.map +1 -1
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/types/native.js +11 -1
- package/lib/module/types/native.js.map +1 -1
- package/lib/module/utils/NativeStorageError.js +9 -0
- package/lib/module/utils/NativeStorageError.js.map +1 -0
- package/lib/typescript/RNCloudStorage.d.ts +8 -1
- package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
- package/lib/typescript/createRNCloudStorage.d.ts.map +1 -1
- package/lib/typescript/google-drive/index.d.ts +2 -1
- package/lib/typescript/google-drive/index.d.ts.map +1 -1
- package/lib/typescript/google-drive/types.d.ts +5 -0
- package/lib/typescript/google-drive/types.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 +9 -0
- package/lib/typescript/types/main.d.ts.map +1 -1
- package/lib/typescript/types/native.d.ts +18 -0
- package/lib/typescript/types/native.d.ts.map +1 -1
- package/lib/typescript/utils/NativeStorageError.d.ts +8 -0
- package/lib/typescript/utils/NativeStorageError.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/RNCloudStorage.ts +19 -1
- package/src/createRNCloudStorage.ts +27 -1
- package/src/google-drive/index.ts +16 -2
- package/src/google-drive/types.ts +6 -0
- package/src/index.ts +4 -0
- package/src/types/main.ts +10 -0
- package/src/types/native.ts +20 -0
- package/src/utils/NativeStorageError.ts +14 -0
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Save & read from iCloud and Google Drive using React Native
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
  
|
|
6
|
+
|
|
7
|
+
**⚠️ WARNING**: This project is still considered unstable. The API might change drastically in new versions. Please proceed with caution and report any issues you're encountering.
|
|
6
8
|
|
|
7
9
|
## Installation
|
|
8
10
|
|
package/ios/CloudStorage.m
CHANGED
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
@interface RCT_EXTERN_MODULE(CloudStorage, NSObject)
|
|
4
4
|
|
|
5
|
-
RCT_EXTERN_METHOD(multiply:(float)a withB:(float)b
|
|
6
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
7
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
8
|
-
|
|
9
5
|
RCT_EXTERN_METHOD(fileExists:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
|
|
10
6
|
RCT_EXTERN_METHOD(createFile:(NSString *)path withData:(NSString *)data withScope:(NSString *)scope withOverwrite:(BOOL)overwrite withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
|
|
11
7
|
RCT_EXTERN_METHOD(readFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
|
|
12
8
|
RCT_EXTERN_METHOD(deleteFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
|
|
9
|
+
RCT_EXTERN_METHOD(statFile:(NSString *)path withScope:(NSString *)scope withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
|
|
13
10
|
|
|
14
11
|
+ (BOOL)requiresMainQueueSetup
|
|
15
12
|
{
|
package/ios/CloudStorage.swift
CHANGED
|
@@ -81,6 +81,47 @@ class CloudStorage: NSObject {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
/* return an object with the following properties:
|
|
85
|
+
* size: filesize in bytes
|
|
86
|
+
* birthtimeMs: creation time in milliseconds
|
|
87
|
+
* mtimeMs: modification time in milliseconds
|
|
88
|
+
* isDirectory: true if the path is a directory
|
|
89
|
+
* isFile: true if the path is a file
|
|
90
|
+
*/
|
|
91
|
+
@objc(statFile:withScope:withResolver:withRejecter:)
|
|
92
|
+
func statFile(path: String, scope: String, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
|
|
93
|
+
let fileManager = FileManager.default
|
|
94
|
+
let directory = getDirectory(scope)
|
|
95
|
+
if (directory == nil) {
|
|
96
|
+
reject("ERR_NO_DIRECTORY_FOUND", "No directory found for scope \(scope)", nil)
|
|
97
|
+
return
|
|
98
|
+
}
|
|
99
|
+
let filePath = directory?.appendingPathComponent(path)
|
|
100
|
+
let fileExists = fileManager.fileExists(atPath: filePath!.path)
|
|
101
|
+
if (!fileExists) {
|
|
102
|
+
reject("ERR_FILE_NOT_FOUND", "File \(path) not found", nil)
|
|
103
|
+
return
|
|
104
|
+
}
|
|
105
|
+
do {
|
|
106
|
+
let attributes = try fileManager.attributesOfItem(atPath: filePath!.path)
|
|
107
|
+
let size = attributes[FileAttributeKey.size] as! UInt64
|
|
108
|
+
let birthtime = attributes[FileAttributeKey.creationDate] as! Date
|
|
109
|
+
let mtime = attributes[FileAttributeKey.modificationDate] as! Date
|
|
110
|
+
let isDirectory = attributes[FileAttributeKey.type] as! FileAttributeType == FileAttributeType.typeDirectory
|
|
111
|
+
let isFile = attributes[FileAttributeKey.type] as! FileAttributeType == FileAttributeType.typeRegular
|
|
112
|
+
let result = [
|
|
113
|
+
"size": size,
|
|
114
|
+
"birthtimeMs": birthtime.timeIntervalSince1970 * 1000,
|
|
115
|
+
"mtimeMs": mtime.timeIntervalSince1970 * 1000,
|
|
116
|
+
"isDirectory": isDirectory,
|
|
117
|
+
"isFile": isFile
|
|
118
|
+
] as [String : Any]
|
|
119
|
+
resolve(result)
|
|
120
|
+
} catch {
|
|
121
|
+
reject("ERR_STAT_ERROR", "Error getting stats for file \(path)", error)
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
84
125
|
/// Returns the iCloud directory URL for the given scope.
|
|
85
126
|
///
|
|
86
127
|
/// - Parameter scope: The scope of the directory. Can be either "documents" or "hidden".
|
|
@@ -46,6 +46,22 @@ const RNCloudStorage = {
|
|
|
46
46
|
*/
|
|
47
47
|
unlink: (path, scope) => {
|
|
48
48
|
return nativeInstance.deleteFile(path, scope);
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Gets the size, creation time, and modification time of the file at the given path.
|
|
52
|
+
* @param path The file to stat.
|
|
53
|
+
* @param scope The directory scope the path is in.
|
|
54
|
+
* @returns A promise that resolves to the StorageFileStat object.
|
|
55
|
+
*/
|
|
56
|
+
stat: async (path, scope) => {
|
|
57
|
+
const native = await nativeInstance.statFile(path, scope);
|
|
58
|
+
return {
|
|
59
|
+
...native,
|
|
60
|
+
birthtime: new Date(native.birthtimeMs),
|
|
61
|
+
mtime: new Date(native.mtimeMs),
|
|
62
|
+
isDirectory: () => native.isDirectory,
|
|
63
|
+
isFile: () => native.isFile
|
|
64
|
+
};
|
|
49
65
|
}
|
|
50
66
|
};
|
|
51
67
|
var _default = RNCloudStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_createRNCloudStorage","_interopRequireDefault","require","_googleDrive","obj","__esModule","default","nativeInstance","createRNCloudStorage","RNCloudStorage","setGoogleDriveAccessToken","accessToken","GoogleDriveApiClient","exists","path","scope","fileExists","writeFile","data","createFile","readFile","unlink","deleteFile","_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,EAAGC,WAAmB,IAAMC,oBAAoB,CAACD,WAAW,GAAGA,WAAY;EACpG;AACF;AACA;AACA;AACA;AACA;EACEE,MAAM,EAAEA,CAACC,IAAY,EAAEC,KAAmB,KAAuB;IAC/D,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,KAAmB,KAAoB;IAC7E,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,KAAmB,KAAsB;IAChE,OAAOR,cAAc,CAACa,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEM,MAAM,EAAEA,CAACP,IAAY,EAAEC,KAAmB,KAAoB;IAC5D,OAAOR,cAAc,CAACe,UAAU,CAACR,IAAI,EAAEC,KAAK,CAAC;EAC/C;AACF,CAAC;AAAC,
|
|
1
|
+
{"version":3,"names":["_createRNCloudStorage","_interopRequireDefault","require","_googleDrive","obj","__esModule","default","nativeInstance","createRNCloudStorage","RNCloudStorage","setGoogleDriveAccessToken","accessToken","GoogleDriveApiClient","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,EAAGC,WAAmB,IAAMC,oBAAoB,CAACD,WAAW,GAAGA,WAAY;EACpG;AACF;AACA;AACA;AACA;AACA;EACEE,MAAM,EAAEA,CAACC,IAAY,EAAEC,KAAmB,KAAuB;IAC/D,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,KAAmB,KAAoB;IAC7E,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,KAAmB,KAAsB;IAChE,OAAOR,cAAc,CAACa,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEM,MAAM,EAAEA,CAACP,IAAY,EAAEC,KAAmB,KAAoB;IAC5D,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,KAAmB,KAA+B;IAC3E,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;AAAC,IAAAC,QAAA,GAEaxB,cAAc;AAAAyB,OAAA,CAAA5B,OAAA,GAAA2B,QAAA"}
|
|
@@ -6,14 +6,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = createRNCloudStorage;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _googleDrive = _interopRequireDefault(require("./google-drive"));
|
|
9
|
+
var _native = require("./types/native");
|
|
10
|
+
var _NativeStorageError = _interopRequireDefault(require("./utils/NativeStorageError"));
|
|
9
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
12
|
const LINKING_ERROR = `The package 'react-native-cloud-storage' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
11
13
|
ios: "- You have run 'pod install'\n",
|
|
12
14
|
default: ''
|
|
13
15
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
16
|
+
|
|
17
|
+
// proxy NativeModules.CloudStorage to catch any errors thrown by the native module and wrap them in a NativeStorageError
|
|
18
|
+
const nativeIosInstance = _reactNative.NativeModules.CloudStorage ? new Proxy(_reactNative.NativeModules.CloudStorage, {
|
|
19
|
+
get(target, prop) {
|
|
20
|
+
const originalFunction = target[prop];
|
|
21
|
+
if (typeof originalFunction === 'function') {
|
|
22
|
+
return async function () {
|
|
23
|
+
try {
|
|
24
|
+
// @ts-expect-error - we can't know the types of the functions and their arguments
|
|
25
|
+
return await originalFunction(...arguments);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
if (error !== null && error !== void 0 && error.code && Object.values(_native.NativeStorageErrorCode).includes(error.code)) {
|
|
28
|
+
throw new _NativeStorageError.default((error === null || error === void 0 ? void 0 : error.message) || '', error.code);
|
|
29
|
+
} else {
|
|
30
|
+
throw new _NativeStorageError.default('Unknown error', _native.NativeStorageErrorCode.UNKNOWN, error);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return originalFunction;
|
|
36
|
+
}
|
|
37
|
+
}) : null;
|
|
14
38
|
function createRNCloudStorage() {
|
|
15
39
|
if (_reactNative.Platform.OS === 'ios') {
|
|
16
|
-
return
|
|
40
|
+
return nativeIosInstance ?? new Proxy({}, {
|
|
17
41
|
get() {
|
|
18
42
|
throw new Error(LINKING_ERROR);
|
|
19
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_googleDrive","_interopRequireDefault","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_googleDrive","_interopRequireDefault","_native","_NativeStorageError","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","nativeIosInstance","NativeModules","CloudStorage","Proxy","get","target","prop","originalFunction","arguments","error","code","Object","values","NativeStorageErrorCode","includes","NativeStorageError","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,mBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA4D,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE5D,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,8BAAsB,CAAC,CAACC,QAAQ,CAACL,KAAK,CAACC,IAAI,CAAC,EAAE;YAC7E,MAAM,IAAIK,2BAAkB,CAAC,CAAAN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,OAAO,KAAI,EAAE,EAAEP,KAAK,CAACC,IAAI,CAA2B;UAC1F,CAAC,MAAM;YACL,MAAM,IAAIK,2BAAkB,CAAC,eAAe,EAAEF,8BAAsB,CAACI,OAAO,EAAER,KAAK,CAAC;UACtF;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,IAAIC,qBAAQ,CAACsB,EAAE,KAAK,SAAS,EAAE;IAC7B,OAAO,IAAIE,oBAAoB,EAAE;EACnC;EAEA,MAAM,IAAID,KAAK,CAAC,sBAAsB,CAAC;AACzC"}
|
|
@@ -144,6 +144,19 @@ class GoogleDriveApiClient {
|
|
|
144
144
|
const fileId = await this.getFileId(path, scope);
|
|
145
145
|
await GoogleDriveApiClient.drive.files.delete(fileId);
|
|
146
146
|
}
|
|
147
|
+
async statFile(path, scope) {
|
|
148
|
+
const fileId = await this.getFileId(path, scope);
|
|
149
|
+
const file = await GoogleDriveApiClient.drive.files.get(fileId, {
|
|
150
|
+
fields: 'id,kind,mimeType,name,parents,spaces,size,createdTime,modifiedTime'
|
|
151
|
+
});
|
|
152
|
+
return {
|
|
153
|
+
size: file.size ?? 0,
|
|
154
|
+
birthtimeMs: new Date(file.createdTime).getTime(),
|
|
155
|
+
mtimeMs: new Date(file.modifiedTime).getTime(),
|
|
156
|
+
isDirectory: file.mimeType === _reactNativeGoogleDriveApiWrapperJs.MimeTypes.FOLDER,
|
|
157
|
+
isFile: file.mimeType !== _reactNativeGoogleDriveApiWrapperJs.MimeTypes.FOLDER
|
|
158
|
+
};
|
|
159
|
+
}
|
|
147
160
|
}
|
|
148
161
|
var _default = GoogleDriveApiClient;
|
|
149
162
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeGoogleDriveApiWrapperJs","require","GoogleDriveApiClient","drive","GDrive","constructor","fetchTimeout","Proxy","get","target","prop","accessToken","Error","toString","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","filter","f","mimeType","MimeTypes","FOLDER","name","topDirectoryId","length","id","possibleTopDirectory","find","parents","currentDirectoryId","i","currentDirectory","nextDirectory","listFiles","list","spaces","fields","getFileId","parentDirectoryId","file","f2","fileExists","e","message","createFile","data","overwrite","fileId","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","undefined","execute","readFile","content","getText","deleteFile","delete","_default","exports","default"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_reactNativeGoogleDriveApiWrapperJs","require","GoogleDriveApiClient","drive","GDrive","constructor","fetchTimeout","Proxy","get","target","prop","accessToken","Error","toString","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","filter","f","mimeType","MimeTypes","FOLDER","name","topDirectoryId","length","id","possibleTopDirectory","find","parents","currentDirectoryId","i","currentDirectory","nextDirectory","listFiles","list","spaces","fields","getFileId","parentDirectoryId","file","f2","fileExists","e","message","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","default"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,9 +3,25 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _exportNames = {
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
NativeStorageErrorCode: true,
|
|
8
|
+
NativeStorageError: true
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "NativeStorageError", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _NativeStorageError.default;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "NativeStorageErrorCode", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () {
|
|
19
|
+
return _native.NativeStorageErrorCode;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
7
22
|
exports.default = void 0;
|
|
8
23
|
var _RNCloudStorage = _interopRequireDefault(require("./RNCloudStorage"));
|
|
24
|
+
var _native = require("./types/native");
|
|
9
25
|
var _main = require("./types/main");
|
|
10
26
|
Object.keys(_main).forEach(function (key) {
|
|
11
27
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -30,6 +46,7 @@ Object.keys(_useCloudFile).forEach(function (key) {
|
|
|
30
46
|
}
|
|
31
47
|
});
|
|
32
48
|
});
|
|
49
|
+
var _NativeStorageError = _interopRequireDefault(require("./utils/NativeStorageError"));
|
|
33
50
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
34
51
|
var _default = _RNCloudStorage.default;
|
|
35
52
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_main","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useCloudFile","obj","__esModule","default","_default","RNCloudStorage"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_RNCloudStorage","_interopRequireDefault","require","_native","_main","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useCloudFile","_NativeStorageError","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,mBAAA,GAAAjB,sBAAA,CAAAC,OAAA;AAA4D,SAAAD,uBAAAkB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAI7CC,uBAAc;AAAAV,OAAA,CAAAQ,OAAA,GAAAC,QAAA"}
|
|
@@ -1,2 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NativeStorageErrorCode = void 0;
|
|
7
|
+
let NativeStorageErrorCode = /*#__PURE__*/function (NativeStorageErrorCode) {
|
|
8
|
+
NativeStorageErrorCode["FILE_NOT_FOUND"] = "ERR_FILE_NOT_FOUND";
|
|
9
|
+
NativeStorageErrorCode["DIRECTORY_NOT_FOUND"] = "ERR_NO_DIRECTORY_FOUND";
|
|
10
|
+
NativeStorageErrorCode["FILE_ALREADY_EXISTS"] = "ERR_FILE_EXISTS";
|
|
11
|
+
NativeStorageErrorCode["WRITE_ERROR"] = "ERR_WRITE_ERROR";
|
|
12
|
+
NativeStorageErrorCode["READ_ERROR"] = "ERR_READ_ERROR";
|
|
13
|
+
NativeStorageErrorCode["DELETE_ERROR"] = "ERR_DELETE_ERROR";
|
|
14
|
+
NativeStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
|
|
15
|
+
NativeStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
|
|
16
|
+
return NativeStorageErrorCode;
|
|
17
|
+
}({});
|
|
18
|
+
exports.NativeStorageErrorCode = NativeStorageErrorCode;
|
|
2
19
|
//# sourceMappingURL=native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":""}
|
|
1
|
+
{"version":3,"names":["NativeStorageErrorCode","exports"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":";;;;;;IAUYA,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAAC,OAAA,CAAAD,sBAAA,GAAAA,sBAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
class NativeStorageError extends Error {
|
|
8
|
+
constructor(message, code, details) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.code = code;
|
|
11
|
+
this.details = details;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
var _default = NativeStorageError;
|
|
15
|
+
exports.default = _default;
|
|
16
|
+
//# sourceMappingURL=NativeStorageError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeStorageError","Error","constructor","message","code","details","_default","exports","default"],"sourceRoot":"../../../src","sources":["utils/NativeStorageError.ts"],"mappings":";;;;;;AAEA,MAAMA,kBAAkB,SAASC,KAAK,CAAC;EAIrCC,WAAWA,CAACC,OAAe,EAAEC,IAA4B,EAAEC,OAAa,EAAE;IACxE,KAAK,CAACF,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACxB;AACF;AAAC,IAAAC,QAAA,GAEcN,kBAAkB;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -39,6 +39,22 @@ const RNCloudStorage = {
|
|
|
39
39
|
*/
|
|
40
40
|
unlink: (path, scope) => {
|
|
41
41
|
return nativeInstance.deleteFile(path, scope);
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* Gets the size, creation time, and modification time of the file at the given path.
|
|
45
|
+
* @param path The file to stat.
|
|
46
|
+
* @param scope The directory scope the path is in.
|
|
47
|
+
* @returns A promise that resolves to the StorageFileStat object.
|
|
48
|
+
*/
|
|
49
|
+
stat: async (path, scope) => {
|
|
50
|
+
const native = await nativeInstance.statFile(path, scope);
|
|
51
|
+
return {
|
|
52
|
+
...native,
|
|
53
|
+
birthtime: new Date(native.birthtimeMs),
|
|
54
|
+
mtime: new Date(native.mtimeMs),
|
|
55
|
+
isDirectory: () => native.isDirectory,
|
|
56
|
+
isFile: () => native.isFile
|
|
57
|
+
};
|
|
42
58
|
}
|
|
43
59
|
};
|
|
44
60
|
export default RNCloudStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createRNCloudStorage","GoogleDriveApiClient","nativeInstance","RNCloudStorage","setGoogleDriveAccessToken","accessToken","exists","path","scope","fileExists","writeFile","data","createFile","readFile","unlink","deleteFile"],"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,EAAGC,WAAmB,IAAMJ,oBAAoB,CAACI,WAAW,GAAGA,WAAY;EACpG;AACF;AACA;AACA;AACA;AACA;EACEC,MAAM,EAAEA,CAACC,IAAY,EAAEC,KAAmB,KAAuB;IAC/D,OAAON,cAAc,CAACO,UAAU,CAACF,IAAI,EAAEC,KAAK,CAAC;EAC/C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,SAAS,EAAEA,CAACH,IAAY,EAAEI,IAAY,EAAEH,KAAmB,KAAoB;IAC7E,OAAON,cAAc,CAACU,UAAU,CAACL,IAAI,EAAEI,IAAI,EAAEH,KAAK,EAAE,IAAI,CAAC;EAC3D,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEK,QAAQ,EAAEA,CAACN,IAAY,EAAEC,KAAmB,KAAsB;IAChE,OAAON,cAAc,CAACW,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEM,MAAM,EAAEA,CAACP,IAAY,EAAEC,KAAmB,KAAoB;IAC5D,OAAON,cAAc,CAACa,UAAU,CAACR,IAAI,EAAEC,KAAK,CAAC;EAC/C;AACF,CAAC;AAED,
|
|
1
|
+
{"version":3,"names":["createRNCloudStorage","GoogleDriveApiClient","nativeInstance","RNCloudStorage","setGoogleDriveAccessToken","accessToken","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,EAAGC,WAAmB,IAAMJ,oBAAoB,CAACI,WAAW,GAAGA,WAAY;EACpG;AACF;AACA;AACA;AACA;AACA;EACEC,MAAM,EAAEA,CAACC,IAAY,EAAEC,KAAmB,KAAuB;IAC/D,OAAON,cAAc,CAACO,UAAU,CAACF,IAAI,EAAEC,KAAK,CAAC;EAC/C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,SAAS,EAAEA,CAACH,IAAY,EAAEI,IAAY,EAAEH,KAAmB,KAAoB;IAC7E,OAAON,cAAc,CAACU,UAAU,CAACL,IAAI,EAAEI,IAAI,EAAEH,KAAK,EAAE,IAAI,CAAC;EAC3D,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEK,QAAQ,EAAEA,CAACN,IAAY,EAAEC,KAAmB,KAAsB;IAChE,OAAON,cAAc,CAACW,QAAQ,CAACN,IAAI,EAAEC,KAAK,CAAC;EAC7C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEM,MAAM,EAAEA,CAACP,IAAY,EAAEC,KAAmB,KAAoB;IAC5D,OAAON,cAAc,CAACa,UAAU,CAACR,IAAI,EAAEC,KAAK,CAAC;EAC/C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEQ,IAAI,EAAE,MAAAA,CAAOT,IAAY,EAAEC,KAAmB,KAA+B;IAC3E,MAAMS,MAAM,GAAG,MAAMf,cAAc,CAACgB,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,eAAetB,cAAc"}
|
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
import { NativeModules, Platform } from 'react-native';
|
|
2
2
|
import GoogleDriveApiClient from './google-drive';
|
|
3
|
+
import { NativeStorageErrorCode } from './types/native';
|
|
4
|
+
import NativeStorageError from './utils/NativeStorageError';
|
|
3
5
|
const LINKING_ERROR = `The package 'react-native-cloud-storage' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
4
6
|
ios: "- You have run 'pod install'\n",
|
|
5
7
|
default: ''
|
|
6
8
|
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
9
|
+
|
|
10
|
+
// proxy NativeModules.CloudStorage to catch any errors thrown by the native module and wrap them in a NativeStorageError
|
|
11
|
+
const nativeIosInstance = NativeModules.CloudStorage ? new Proxy(NativeModules.CloudStorage, {
|
|
12
|
+
get(target, prop) {
|
|
13
|
+
const originalFunction = target[prop];
|
|
14
|
+
if (typeof originalFunction === 'function') {
|
|
15
|
+
return async function () {
|
|
16
|
+
try {
|
|
17
|
+
// @ts-expect-error - we can't know the types of the functions and their arguments
|
|
18
|
+
return await originalFunction(...arguments);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
if (error !== null && error !== void 0 && error.code && Object.values(NativeStorageErrorCode).includes(error.code)) {
|
|
21
|
+
throw new NativeStorageError((error === null || error === void 0 ? void 0 : error.message) || '', error.code);
|
|
22
|
+
} else {
|
|
23
|
+
throw new NativeStorageError('Unknown error', NativeStorageErrorCode.UNKNOWN, error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return originalFunction;
|
|
29
|
+
}
|
|
30
|
+
}) : null;
|
|
7
31
|
export default function createRNCloudStorage() {
|
|
8
32
|
if (Platform.OS === 'ios') {
|
|
9
|
-
return
|
|
33
|
+
return nativeIosInstance ?? new Proxy({}, {
|
|
10
34
|
get() {
|
|
11
35
|
throw new Error(LINKING_ERROR);
|
|
12
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","GoogleDriveApiClient","LINKING_ERROR","select","ios","default","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","GoogleDriveApiClient","NativeStorageErrorCode","NativeStorageError","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,sBAAsB,QAAQ,gBAAgB;AACvD,OAAOC,kBAAkB,MAAM,4BAA4B;AAE3D,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,sBAAsB,CAAC,CAACkB,QAAQ,CAACJ,KAAK,CAACC,IAAI,CAAC,EAAE;YAC7E,MAAM,IAAId,kBAAkB,CAAC,CAAAa,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK,OAAO,KAAI,EAAE,EAAEL,KAAK,CAACC,IAAI,CAA2B;UAC1F,CAAC,MAAM;YACL,MAAM,IAAId,kBAAkB,CAAC,eAAe,EAAED,sBAAsB,CAACoB,OAAO,EAAEN,KAAK,CAAC;UACtF;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,IAAIJ,QAAQ,CAACwB,EAAE,KAAK,SAAS,EAAE;IAC7B,OAAO,IAAIvB,oBAAoB,EAAE;EACnC;EAEA,MAAM,IAAIwB,KAAK,CAAC,sBAAsB,CAAC;AACzC"}
|
|
@@ -138,6 +138,19 @@ class GoogleDriveApiClient {
|
|
|
138
138
|
const fileId = await this.getFileId(path, scope);
|
|
139
139
|
await GoogleDriveApiClient.drive.files.delete(fileId);
|
|
140
140
|
}
|
|
141
|
+
async statFile(path, scope) {
|
|
142
|
+
const fileId = await this.getFileId(path, scope);
|
|
143
|
+
const file = await GoogleDriveApiClient.drive.files.get(fileId, {
|
|
144
|
+
fields: 'id,kind,mimeType,name,parents,spaces,size,createdTime,modifiedTime'
|
|
145
|
+
});
|
|
146
|
+
return {
|
|
147
|
+
size: file.size ?? 0,
|
|
148
|
+
birthtimeMs: new Date(file.createdTime).getTime(),
|
|
149
|
+
mtimeMs: new Date(file.modifiedTime).getTime(),
|
|
150
|
+
isDirectory: file.mimeType === MimeTypes.FOLDER,
|
|
151
|
+
isFile: file.mimeType !== MimeTypes.FOLDER
|
|
152
|
+
};
|
|
153
|
+
}
|
|
141
154
|
}
|
|
142
155
|
export default GoogleDriveApiClient;
|
|
143
156
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GDrive","MimeTypes","GoogleDriveApiClient","drive","constructor","fetchTimeout","Proxy","get","target","prop","accessToken","Error","toString","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","filter","f","mimeType","FOLDER","name","topDirectoryId","length","id","possibleTopDirectory","find","parents","currentDirectoryId","i","currentDirectory","nextDirectory","listFiles","list","spaces","fields","getFileId","parentDirectoryId","file","f2","fileExists","e","message","createFile","data","overwrite","fileId","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","undefined","execute","readFile","content","getText","deleteFile","delete"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["GDrive","MimeTypes","GoogleDriveApiClient","drive","constructor","fetchTimeout","Proxy","get","target","prop","accessToken","Error","toString","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","filter","f","mimeType","FOLDER","name","topDirectoryId","length","id","possibleTopDirectory","find","parents","currentDirectoryId","i","currentDirectory","nextDirectory","listFiles","list","spaces","fields","getFileId","parentDirectoryId","file","f2","fileExists","e","message","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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"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import RNCloudStorage from './RNCloudStorage';
|
|
2
|
+
import { NativeStorageErrorCode } from './types/native';
|
|
2
3
|
export * from './types/main';
|
|
3
4
|
export * from './hooks/useCloudFile';
|
|
5
|
+
import NativeStorageError from './utils/NativeStorageError';
|
|
6
|
+
export { NativeStorageError };
|
|
7
|
+
export { NativeStorageErrorCode };
|
|
4
8
|
export default RNCloudStorage;
|
|
5
9
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RNCloudStorage"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAC7C,cAAc,cAAc;AAC5B,cAAc,sBAAsB;
|
|
1
|
+
{"version":3,"names":["RNCloudStorage","NativeStorageErrorCode","NativeStorageError"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAC7C,SAASC,sBAAsB,QAAQ,gBAAgB;AACvD,cAAc,cAAc;AAC5B,cAAc,sBAAsB;AACpC,OAAOC,kBAAkB,MAAM,4BAA4B;AAE3D,SAASA,kBAAkB;AAC3B,SAASD,sBAAsB;AAC/B,eAAeD,cAAc"}
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
export let NativeStorageErrorCode = /*#__PURE__*/function (NativeStorageErrorCode) {
|
|
2
|
+
NativeStorageErrorCode["FILE_NOT_FOUND"] = "ERR_FILE_NOT_FOUND";
|
|
3
|
+
NativeStorageErrorCode["DIRECTORY_NOT_FOUND"] = "ERR_NO_DIRECTORY_FOUND";
|
|
4
|
+
NativeStorageErrorCode["FILE_ALREADY_EXISTS"] = "ERR_FILE_EXISTS";
|
|
5
|
+
NativeStorageErrorCode["WRITE_ERROR"] = "ERR_WRITE_ERROR";
|
|
6
|
+
NativeStorageErrorCode["READ_ERROR"] = "ERR_READ_ERROR";
|
|
7
|
+
NativeStorageErrorCode["DELETE_ERROR"] = "ERR_DELETE_ERROR";
|
|
8
|
+
NativeStorageErrorCode["STAT_ERROR"] = "ERR_STAT_ERROR";
|
|
9
|
+
NativeStorageErrorCode["UNKNOWN"] = "ERR_UNKNOWN";
|
|
10
|
+
return NativeStorageErrorCode;
|
|
11
|
+
}({});
|
|
2
12
|
//# sourceMappingURL=native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":""}
|
|
1
|
+
{"version":3,"names":["NativeStorageErrorCode"],"sourceRoot":"../../../src","sources":["types/native.ts"],"mappings":"AAUA,WAAYA,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeStorageError","Error","constructor","message","code","details"],"sourceRoot":"../../../src","sources":["utils/NativeStorageError.ts"],"mappings":"AAEA,MAAMA,kBAAkB,SAASC,KAAK,CAAC;EAIrCC,WAAWA,CAACC,OAAe,EAAEC,IAA4B,EAAEC,OAAa,EAAE;IACxE,KAAK,CAACF,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACxB;AACF;AAEA,eAAeL,kBAAkB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { StorageScope } from './types/main';
|
|
1
|
+
import type { StorageFileStat, StorageScope } from './types/main';
|
|
2
2
|
declare const RNCloudStorage: {
|
|
3
3
|
setGoogleDriveAccessToken: (accessToken: string) => string;
|
|
4
4
|
/**
|
|
@@ -30,6 +30,13 @@ declare const RNCloudStorage: {
|
|
|
30
30
|
* @returns A promise that resolves when the file has been deleted.
|
|
31
31
|
*/
|
|
32
32
|
unlink: (path: string, scope: StorageScope) => Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets the size, creation time, and modification time of the file at the given path.
|
|
35
|
+
* @param path The file to stat.
|
|
36
|
+
* @param scope The directory scope the path is in.
|
|
37
|
+
* @returns A promise that resolves to the StorageFileStat object.
|
|
38
|
+
*/
|
|
39
|
+
stat: (path: string, scope: StorageScope) => Promise<StorageFileStat>;
|
|
33
40
|
};
|
|
34
41
|
export default RNCloudStorage;
|
|
35
42
|
//# sourceMappingURL=RNCloudStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGlE,QAAA,MAAM,cAAc;6CACuB,MAAM;IAC/C;;;;;OAKG;mBACY,MAAM,SAAS,YAAY,KAAG,QAAQ,OAAO,CAAC;IAI7D;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,SAAS,YAAY,KAAG,QAAQ,IAAI,CAAC;IAI3E;;;;;OAKG;qBACc,MAAM,SAAS,YAAY,KAAG,QAAQ,MAAM,CAAC;IAI9D;;;;;OAKG;mBACY,MAAM,SAAS,YAAY,KAAG,QAAQ,IAAI,CAAC;IAI1D;;;;;OAKG;iBACgB,MAAM,SAAS,YAAY,KAAG,QAAQ,eAAe,CAAC;CAW1E,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/createRNCloudStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"createRNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/createRNCloudStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,gBAAgB,CAAC;AAmCvD,MAAM,CAAC,OAAO,UAAU,oBAAoB,IAAI,oBAAoB,CAoBnE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type NativeRNCloudStorage from '../types/native';
|
|
2
|
-
import type { NativeRNCloudStorageScope } from '../types/native';
|
|
2
|
+
import type { NativeRNCloudStorageFileStat, NativeRNCloudStorageScope } from '../types/native';
|
|
3
3
|
declare class GoogleDriveApiClient implements NativeRNCloudStorage {
|
|
4
4
|
private static drive;
|
|
5
5
|
constructor();
|
|
@@ -14,6 +14,7 @@ declare class GoogleDriveApiClient implements NativeRNCloudStorage {
|
|
|
14
14
|
createFile(path: string, data: string, scope: NativeRNCloudStorageScope, overwrite: boolean): Promise<void>;
|
|
15
15
|
readFile(path: string, scope: NativeRNCloudStorageScope): Promise<string>;
|
|
16
16
|
deleteFile(path: string, scope: NativeRNCloudStorageScope): Promise<void>;
|
|
17
|
+
statFile(path: string, scope: NativeRNCloudStorageScope): Promise<NativeRNCloudStorageFileStat>;
|
|
17
18
|
}
|
|
18
19
|
export default GoogleDriveApiClient;
|
|
19
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAG/F,cAAM,oBAAqB,YAAW,oBAAoB;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;;IAmB5C,WAAkB,WAAW,CAAC,WAAW,EAAE,MAAM,EAEhD;IAED,WAAkB,WAAW,IAAI,MAAM,CAEtC;IAED,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;YAsCf,SAAS;YAST,SAAS;IAgBjB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B3G,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,4BAA4B,CAAC;CAatG;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -6,6 +6,11 @@ export interface GoogleDriveFile {
|
|
|
6
6
|
parents: string[];
|
|
7
7
|
spaces: ('appDataFolder' | 'drive')[];
|
|
8
8
|
}
|
|
9
|
+
export interface GoogleDriveDetailedFile extends GoogleDriveFile {
|
|
10
|
+
createdTime: string;
|
|
11
|
+
modifiedTime: string;
|
|
12
|
+
size?: number;
|
|
13
|
+
}
|
|
9
14
|
export interface GoogleDriveListOperationQueryParameters {
|
|
10
15
|
corpora?: 'user' | 'drive' | 'domain' | 'allDrives';
|
|
11
16
|
driveId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/google-drive/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,uCAAuC;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,yBAAyB,CAAC,EAAE,WAAW,CAAC;IAExC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yCAAyC;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sCAAsC;IACrD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,yCAAyC;IACxD,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/google-drive/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uCAAuC;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,yBAAyB,CAAC,EAAE,WAAW,CAAC;IAExC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yCAAyC;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sCAAsC;IACrD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,yCAAyC;IACxD,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import RNCloudStorage from './RNCloudStorage';
|
|
2
|
+
import { NativeStorageErrorCode } from './types/native';
|
|
2
3
|
export * from './types/main';
|
|
3
4
|
export * from './hooks/useCloudFile';
|
|
5
|
+
import NativeStorageError from './utils/NativeStorageError';
|
|
6
|
+
export { NativeStorageError };
|
|
7
|
+
export { NativeStorageErrorCode };
|
|
4
8
|
export default RNCloudStorage;
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,eAAe,cAAc,CAAC"}
|
|
@@ -2,4 +2,13 @@ export declare enum StorageScope {
|
|
|
2
2
|
Documents = "documents",
|
|
3
3
|
Hidden = "hidden"
|
|
4
4
|
}
|
|
5
|
+
export interface StorageFileStat {
|
|
6
|
+
size: number;
|
|
7
|
+
birthtimeMs: number;
|
|
8
|
+
mtimeMs: number;
|
|
9
|
+
birthtime: Date;
|
|
10
|
+
mtime: Date;
|
|
11
|
+
isDirectory: () => boolean;
|
|
12
|
+
isFile: () => boolean;
|
|
13
|
+
}
|
|
5
14
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/types/main.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB"}
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/types/main.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,OAAO,CAAC;CACvB"}
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
export type NativeRNCloudStorageScope = 'documents' | 'hidden';
|
|
2
|
+
export interface NativeRNCloudStorageFileStat {
|
|
3
|
+
size: number;
|
|
4
|
+
birthtimeMs: number;
|
|
5
|
+
mtimeMs: number;
|
|
6
|
+
isDirectory: boolean;
|
|
7
|
+
isFile: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare enum NativeStorageErrorCode {
|
|
10
|
+
FILE_NOT_FOUND = "ERR_FILE_NOT_FOUND",
|
|
11
|
+
DIRECTORY_NOT_FOUND = "ERR_NO_DIRECTORY_FOUND",
|
|
12
|
+
FILE_ALREADY_EXISTS = "ERR_FILE_EXISTS",
|
|
13
|
+
WRITE_ERROR = "ERR_WRITE_ERROR",
|
|
14
|
+
READ_ERROR = "ERR_READ_ERROR",
|
|
15
|
+
DELETE_ERROR = "ERR_DELETE_ERROR",
|
|
16
|
+
STAT_ERROR = "ERR_STAT_ERROR",
|
|
17
|
+
UNKNOWN = "ERR_UNKNOWN"
|
|
18
|
+
}
|
|
2
19
|
export default interface NativeRNCloudStorage {
|
|
3
20
|
fileExists: (path: string, scope: NativeRNCloudStorageScope) => Promise<boolean>;
|
|
4
21
|
createFile: (path: string, data: string, scope: NativeRNCloudStorageScope, overwrite: boolean) => Promise<void>;
|
|
5
22
|
readFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<string>;
|
|
6
23
|
deleteFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<void>;
|
|
24
|
+
statFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<NativeRNCloudStorageFileStat>;
|
|
7
25
|
}
|
|
8
26
|
//# sourceMappingURL=native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/types/native.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE/D,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC3C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/types/native.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,oBAAY,sBAAsB;IAChC,cAAc,uBAAuB;IACrC,mBAAmB,2BAA2B;IAC9C,mBAAmB,oBAAoB;IACvC,WAAW,oBAAoB;IAC/B,UAAU,mBAAmB;IAC7B,YAAY,qBAAqB;IACjC,UAAU,mBAAmB;IAC7B,OAAO,gBAAgB;CACxB;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC3C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,4BAA4B,CAAC,CAAC;CACrG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NativeStorageErrorCode } from 'src/types/native';
|
|
2
|
+
declare class NativeStorageError extends Error {
|
|
3
|
+
code: NativeStorageErrorCode;
|
|
4
|
+
details?: any;
|
|
5
|
+
constructor(message: string, code: NativeStorageErrorCode, details?: any);
|
|
6
|
+
}
|
|
7
|
+
export default NativeStorageError;
|
|
8
|
+
//# sourceMappingURL=NativeStorageError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeStorageError.d.ts","sourceRoot":"","sources":["../../../src/utils/NativeStorageError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,cAAM,kBAAmB,SAAQ,KAAK;IACpC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,GAAG;CAKzE;AAED,eAAe,kBAAkB,CAAC"}
|
package/package.json
CHANGED
package/src/RNCloudStorage.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import createRNCloudStorage from './createRNCloudStorage';
|
|
2
2
|
import GoogleDriveApiClient from './google-drive';
|
|
3
|
-
import type { StorageScope } from './types/main';
|
|
3
|
+
import type { StorageFileStat, StorageScope } from './types/main';
|
|
4
4
|
|
|
5
5
|
const nativeInstance = createRNCloudStorage();
|
|
6
6
|
const RNCloudStorage = {
|
|
@@ -45,6 +45,24 @@ const RNCloudStorage = {
|
|
|
45
45
|
unlink: (path: string, scope: StorageScope): Promise<void> => {
|
|
46
46
|
return nativeInstance.deleteFile(path, scope);
|
|
47
47
|
},
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Gets the size, creation time, and modification time of the file at the given path.
|
|
51
|
+
* @param path The file to stat.
|
|
52
|
+
* @param scope The directory scope the path is in.
|
|
53
|
+
* @returns A promise that resolves to the StorageFileStat object.
|
|
54
|
+
*/
|
|
55
|
+
stat: async (path: string, scope: StorageScope): Promise<StorageFileStat> => {
|
|
56
|
+
const native = await nativeInstance.statFile(path, scope);
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
...native,
|
|
60
|
+
birthtime: new Date(native.birthtimeMs),
|
|
61
|
+
mtime: new Date(native.mtimeMs),
|
|
62
|
+
isDirectory: () => native.isDirectory,
|
|
63
|
+
isFile: () => native.isFile,
|
|
64
|
+
};
|
|
65
|
+
},
|
|
48
66
|
};
|
|
49
67
|
|
|
50
68
|
export default RNCloudStorage;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { NativeModules, Platform } from 'react-native';
|
|
2
2
|
import type NativeRNCloudStorage from './types/native';
|
|
3
3
|
import GoogleDriveApiClient from './google-drive';
|
|
4
|
+
import { NativeStorageErrorCode } from './types/native';
|
|
5
|
+
import NativeStorageError from './utils/NativeStorageError';
|
|
4
6
|
|
|
5
7
|
const LINKING_ERROR =
|
|
6
8
|
`The package 'react-native-cloud-storage' doesn't seem to be linked. Make sure: \n\n` +
|
|
@@ -8,10 +10,34 @@ const LINKING_ERROR =
|
|
|
8
10
|
'- You rebuilt the app after installing the package\n' +
|
|
9
11
|
'- You are not using Expo Go\n';
|
|
10
12
|
|
|
13
|
+
// proxy NativeModules.CloudStorage to catch any errors thrown by the native module and wrap them in a NativeStorageError
|
|
14
|
+
const nativeIosInstance = NativeModules.CloudStorage
|
|
15
|
+
? new Proxy(NativeModules.CloudStorage, {
|
|
16
|
+
get(target: NativeRNCloudStorage, prop: keyof NativeRNCloudStorage) {
|
|
17
|
+
const originalFunction = target[prop];
|
|
18
|
+
if (typeof originalFunction === 'function') {
|
|
19
|
+
return async (...args: any[]) => {
|
|
20
|
+
try {
|
|
21
|
+
// @ts-expect-error - we can't know the types of the functions and their arguments
|
|
22
|
+
return await originalFunction(...args);
|
|
23
|
+
} catch (error: any) {
|
|
24
|
+
if (error?.code && Object.values(NativeStorageErrorCode).includes(error.code)) {
|
|
25
|
+
throw new NativeStorageError(error?.message || '', error.code as NativeStorageErrorCode);
|
|
26
|
+
} else {
|
|
27
|
+
throw new NativeStorageError('Unknown error', NativeStorageErrorCode.UNKNOWN, error);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return originalFunction;
|
|
33
|
+
},
|
|
34
|
+
})
|
|
35
|
+
: null;
|
|
36
|
+
|
|
11
37
|
export default function createRNCloudStorage(): NativeRNCloudStorage {
|
|
12
38
|
if (Platform.OS === 'ios') {
|
|
13
39
|
return (
|
|
14
|
-
|
|
40
|
+
nativeIosInstance ??
|
|
15
41
|
new Proxy(
|
|
16
42
|
{},
|
|
17
43
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GDrive, MimeTypes } from 'react-native-google-drive-api-wrapper-js';
|
|
2
2
|
import type NativeRNCloudStorage from '../types/native';
|
|
3
|
-
import type { NativeRNCloudStorageScope } from '../types/native';
|
|
4
|
-
import type { GoogleDriveFile, GoogleDriveListOperationResponse } from './types';
|
|
3
|
+
import type { NativeRNCloudStorageFileStat, NativeRNCloudStorageScope } from '../types/native';
|
|
4
|
+
import type { GoogleDriveDetailedFile, GoogleDriveFile, GoogleDriveListOperationResponse } from './types';
|
|
5
5
|
|
|
6
6
|
class GoogleDriveApiClient implements NativeRNCloudStorage {
|
|
7
7
|
private static drive: GDrive = new GDrive();
|
|
@@ -158,6 +158,20 @@ class GoogleDriveApiClient implements NativeRNCloudStorage {
|
|
|
158
158
|
const fileId = await this.getFileId(path, scope);
|
|
159
159
|
await GoogleDriveApiClient.drive.files.delete(fileId);
|
|
160
160
|
}
|
|
161
|
+
|
|
162
|
+
async statFile(path: string, scope: NativeRNCloudStorageScope): Promise<NativeRNCloudStorageFileStat> {
|
|
163
|
+
const fileId = await this.getFileId(path, scope);
|
|
164
|
+
const file: GoogleDriveDetailedFile = await GoogleDriveApiClient.drive.files.get(fileId, {
|
|
165
|
+
fields: 'id,kind,mimeType,name,parents,spaces,size,createdTime,modifiedTime',
|
|
166
|
+
});
|
|
167
|
+
return {
|
|
168
|
+
size: file.size ?? 0,
|
|
169
|
+
birthtimeMs: new Date(file.createdTime!).getTime(),
|
|
170
|
+
mtimeMs: new Date(file.modifiedTime!).getTime(),
|
|
171
|
+
isDirectory: file.mimeType === MimeTypes.FOLDER,
|
|
172
|
+
isFile: file.mimeType !== MimeTypes.FOLDER,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
161
175
|
}
|
|
162
176
|
|
|
163
177
|
export default GoogleDriveApiClient;
|
|
@@ -7,6 +7,12 @@ export interface GoogleDriveFile {
|
|
|
7
7
|
spaces: ('appDataFolder' | 'drive')[];
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
export interface GoogleDriveDetailedFile extends GoogleDriveFile {
|
|
11
|
+
createdTime: string;
|
|
12
|
+
modifiedTime: string;
|
|
13
|
+
size?: number;
|
|
14
|
+
}
|
|
15
|
+
|
|
10
16
|
export interface GoogleDriveListOperationQueryParameters {
|
|
11
17
|
corpora?: 'user' | 'drive' | 'domain' | 'allDrives';
|
|
12
18
|
driveId?: string;
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import RNCloudStorage from './RNCloudStorage';
|
|
2
|
+
import { NativeStorageErrorCode } from './types/native';
|
|
2
3
|
export * from './types/main';
|
|
3
4
|
export * from './hooks/useCloudFile';
|
|
5
|
+
import NativeStorageError from './utils/NativeStorageError';
|
|
4
6
|
|
|
7
|
+
export { NativeStorageError };
|
|
8
|
+
export { NativeStorageErrorCode };
|
|
5
9
|
export default RNCloudStorage;
|
package/src/types/main.ts
CHANGED
|
@@ -2,3 +2,13 @@ export enum StorageScope {
|
|
|
2
2
|
Documents = 'documents',
|
|
3
3
|
Hidden = 'hidden',
|
|
4
4
|
}
|
|
5
|
+
|
|
6
|
+
export interface StorageFileStat {
|
|
7
|
+
size: number;
|
|
8
|
+
birthtimeMs: number;
|
|
9
|
+
mtimeMs: number;
|
|
10
|
+
birthtime: Date;
|
|
11
|
+
mtime: Date;
|
|
12
|
+
isDirectory: () => boolean;
|
|
13
|
+
isFile: () => boolean;
|
|
14
|
+
}
|
package/src/types/native.ts
CHANGED
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
export type NativeRNCloudStorageScope = 'documents' | 'hidden';
|
|
2
2
|
|
|
3
|
+
export interface NativeRNCloudStorageFileStat {
|
|
4
|
+
size: number;
|
|
5
|
+
birthtimeMs: number;
|
|
6
|
+
mtimeMs: number;
|
|
7
|
+
isDirectory: boolean;
|
|
8
|
+
isFile: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export enum NativeStorageErrorCode {
|
|
12
|
+
FILE_NOT_FOUND = 'ERR_FILE_NOT_FOUND',
|
|
13
|
+
DIRECTORY_NOT_FOUND = 'ERR_NO_DIRECTORY_FOUND',
|
|
14
|
+
FILE_ALREADY_EXISTS = 'ERR_FILE_EXISTS',
|
|
15
|
+
WRITE_ERROR = 'ERR_WRITE_ERROR',
|
|
16
|
+
READ_ERROR = 'ERR_READ_ERROR',
|
|
17
|
+
DELETE_ERROR = 'ERR_DELETE_ERROR',
|
|
18
|
+
STAT_ERROR = 'ERR_STAT_ERROR',
|
|
19
|
+
UNKNOWN = 'ERR_UNKNOWN',
|
|
20
|
+
}
|
|
21
|
+
|
|
3
22
|
export default interface NativeRNCloudStorage {
|
|
4
23
|
fileExists: (path: string, scope: NativeRNCloudStorageScope) => Promise<boolean>;
|
|
5
24
|
createFile: (path: string, data: string, scope: NativeRNCloudStorageScope, overwrite: boolean) => Promise<void>;
|
|
6
25
|
readFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<string>;
|
|
7
26
|
deleteFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<void>;
|
|
27
|
+
statFile: (path: string, scope: NativeRNCloudStorageScope) => Promise<NativeRNCloudStorageFileStat>;
|
|
8
28
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { NativeStorageErrorCode } from 'src/types/native';
|
|
2
|
+
|
|
3
|
+
class NativeStorageError extends Error {
|
|
4
|
+
code: NativeStorageErrorCode;
|
|
5
|
+
details?: any;
|
|
6
|
+
|
|
7
|
+
constructor(message: string, code: NativeStorageErrorCode, details?: any) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.details = details;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default NativeStorageError;
|