react-native-cloud-storage 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -6
  3. package/ios/CloudStorage.swift +262 -52
  4. package/ios/CloudStorage.xcodeproj/project.pbxproj +0 -28
  5. package/ios/CloudStorage.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
  6. package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  7. package/ios/CloudStorage.xcodeproj/project.xcworkspace/xcuserdata/max.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  8. package/ios/CloudStorage.xcodeproj/xcuserdata/max.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
  9. package/ios/CloudStorageEventEmitter.swift +4 -4
  10. package/lib/commonjs/RNCloudStorage.js +66 -361
  11. package/lib/commonjs/RNCloudStorage.js.map +1 -1
  12. package/lib/commonjs/createRNCloudStorage.js +48 -0
  13. package/lib/commonjs/createRNCloudStorage.js.map +1 -0
  14. package/lib/commonjs/expo-plugin/types/index.js.map +1 -1
  15. package/lib/commonjs/expo-plugin/withRNCloudStorage.js +3 -2
  16. package/lib/commonjs/expo-plugin/withRNCloudStorage.js.map +1 -1
  17. package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js +7 -4
  18. package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js.map +1 -1
  19. package/lib/commonjs/google-drive/client.js +20 -16
  20. package/lib/commonjs/google-drive/client.js.map +1 -1
  21. package/lib/commonjs/google-drive/index.js +64 -42
  22. package/lib/commonjs/google-drive/index.js.map +1 -1
  23. package/lib/commonjs/google-drive/types.js +2 -1
  24. package/lib/commonjs/google-drive/types.js.map +1 -1
  25. package/lib/commonjs/hooks/useCloudFile.js +17 -14
  26. package/lib/commonjs/hooks/useCloudFile.js.map +1 -1
  27. package/lib/commonjs/hooks/useIsCloudAvailable.js +21 -11
  28. package/lib/commonjs/hooks/useIsCloudAvailable.js.map +1 -1
  29. package/lib/commonjs/index.js +7 -1
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/commonjs/types/main.js +3 -8
  32. package/lib/commonjs/types/main.js.map +1 -1
  33. package/lib/commonjs/types/native.js +3 -3
  34. package/lib/commonjs/types/native.js.map +1 -1
  35. package/lib/commonjs/utils/CloudStorageError.js +2 -1
  36. package/lib/commonjs/utils/CloudStorageError.js.map +1 -1
  37. package/lib/commonjs/utils/helpers.js +15 -8
  38. package/lib/commonjs/utils/helpers.js.map +1 -1
  39. package/lib/module/RNCloudStorage.js +65 -362
  40. package/lib/module/RNCloudStorage.js.map +1 -1
  41. package/lib/module/createRNCloudStorage.js +41 -0
  42. package/lib/module/createRNCloudStorage.js.map +1 -0
  43. package/lib/module/expo-plugin/types/index.js +1 -1
  44. package/lib/module/expo-plugin/types/index.js.map +1 -1
  45. package/lib/module/expo-plugin/withRNCloudStorage.js +0 -2
  46. package/lib/module/expo-plugin/withRNCloudStorage.js.map +1 -1
  47. package/lib/module/expo-plugin/withRNCloudStorageIos.js +5 -5
  48. package/lib/module/expo-plugin/withRNCloudStorageIos.js.map +1 -1
  49. package/lib/module/google-drive/client.js +20 -18
  50. package/lib/module/google-drive/client.js.map +1 -1
  51. package/lib/module/google-drive/index.js +62 -41
  52. package/lib/module/google-drive/index.js.map +1 -1
  53. package/lib/module/google-drive/types.js +0 -2
  54. package/lib/module/google-drive/types.js.map +1 -1
  55. package/lib/module/hooks/useCloudFile.js +16 -15
  56. package/lib/module/hooks/useCloudFile.js.map +1 -1
  57. package/lib/module/hooks/useIsCloudAvailable.js +21 -13
  58. package/lib/module/hooks/useIsCloudAvailable.js.map +1 -1
  59. package/lib/module/index.js +5 -2
  60. package/lib/module/index.js.map +1 -1
  61. package/lib/module/types/main.js +0 -9
  62. package/lib/module/types/main.js.map +1 -1
  63. package/lib/module/types/native.js +1 -4
  64. package/lib/module/types/native.js.map +1 -1
  65. package/lib/module/utils/CloudStorageError.js +0 -2
  66. package/lib/module/utils/CloudStorageError.js.map +1 -1
  67. package/lib/module/utils/helpers.js +13 -8
  68. package/lib/module/utils/helpers.js.map +1 -1
  69. package/lib/typescript/RNCloudStorage.d.ts +39 -159
  70. package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
  71. package/lib/typescript/createRNCloudStorage.d.ts +3 -0
  72. package/lib/typescript/createRNCloudStorage.d.ts.map +1 -0
  73. package/lib/typescript/google-drive/client.d.ts +3 -3
  74. package/lib/typescript/google-drive/client.d.ts.map +1 -1
  75. package/lib/typescript/google-drive/index.d.ts +18 -6
  76. package/lib/typescript/google-drive/index.d.ts.map +1 -1
  77. package/lib/typescript/hooks/useCloudFile.d.ts +7 -4
  78. package/lib/typescript/hooks/useCloudFile.d.ts.map +1 -1
  79. package/lib/typescript/hooks/useIsCloudAvailable.d.ts +2 -3
  80. package/lib/typescript/hooks/useIsCloudAvailable.d.ts.map +1 -1
  81. package/lib/typescript/index.d.ts +4 -0
  82. package/lib/typescript/index.d.ts.map +1 -1
  83. package/lib/typescript/types/main.d.ts +0 -33
  84. package/lib/typescript/types/main.d.ts.map +1 -1
  85. package/lib/typescript/types/native.d.ts +1 -2
  86. package/lib/typescript/types/native.d.ts.map +1 -1
  87. package/lib/typescript/utils/helpers.d.ts +9 -2
  88. package/lib/typescript/utils/helpers.d.ts.map +1 -1
  89. package/package.json +11 -9
  90. package/src/RNCloudStorage.ts +68 -387
  91. package/src/createRNCloudStorage.ts +53 -0
  92. package/src/google-drive/client.ts +7 -8
  93. package/src/google-drive/index.ts +63 -38
  94. package/src/hooks/useCloudFile.ts +16 -13
  95. package/src/hooks/useIsCloudAvailable.ts +25 -12
  96. package/src/index.ts +5 -0
  97. package/src/types/main.ts +0 -38
  98. package/src/types/native.ts +1 -2
  99. package/src/utils/helpers.ts +15 -8
  100. package/ios/Utils/CloudKitUtils.swift +0 -112
  101. package/ios/Utils/CloudStorageError.swift +0 -78
  102. package/ios/Utils/FileUtils.swift +0 -132
  103. package/ios/Utils/Promise.swift +0 -58
  104. package/ios/Utils/Types.swift +0 -36
  105. package/lib/commonjs/package.json +0 -1
  106. package/lib/module/package.json +0 -1
@@ -1 +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,CAACF,MAAM,CAACG,GAAG,EAAEC,gBAAgB,EAAE;IACjC,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EAClD;EACA,MAAMC,SAAS,GAAGJ,SAAS,CAACK,UAAU;EACtCD,SAAS,CAACE,sBAAsB,GAAG;IACjC,CAAC,UAAUR,MAAM,CAACG,GAAG,CAACC,gBAAgB,EAAE,GAAG;MACzCK,0CAA0C,EAAE,IAAI;MAChDC,0CAA0C,EAAE,KAAK;MACjDC,yBAAyB,EAAEX,MAAM,CAACY;IACpC;EACF,CAAC;EAED,OAAOV,SAAS;AAClB,CAAC,CAAC;AAEJ,MAAMW,mCAAoF,GAAGA,CAACb,MAAM,EAAEc,OAAO,KAC3G,IAAAC,oCAAqB,EAACf,MAAM,EAAE,MAAOE,SAAS,IAAK;EACjD,IAAI,CAACF,MAAM,CAACG,GAAG,EAAEC,gBAAgB,EAAE;IACjC,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EAClD;EACA,MAAMW,iBAAiB,GAAGd,SAAS,CAACK,UAAU;EAC9CS,iBAAiB,CAAC,kDAAkD,CAAC,GAAG,CAAC,UAAUhB,MAAM,CAACG,GAAG,CAACC,gBAAgB,EAAE,CAAC;EACjHY,iBAAiB,CAAC,qCAAqC,CAAC,GAAG,CAAC,gBAAgB,CAAC;EAC7EA,iBAAiB,CAAC,kDAAkD,CAAC,GACnEF,OAAO,EAAEG,0BAA0B,IAAI,YAAY;EACrDD,iBAAiB,CAAC,oDAAoD,CAAC,GAAG,CAAC,UAAUhB,MAAM,CAACG,GAAG,CAACC,gBAAgB,EAAE,CAAC;EACnHY,iBAAiB,CACf,iDAAiD,CAClD,GAAG,0BAA0BhB,MAAM,CAACG,GAAG,CAACC,gBAAgB,EAAE;EAE3D,OAAOF,SAAS;AAClB,CAAC,CAAC;AAEJ,MAAMgB,qBAAsE,GAAGA,CAAClB,MAAM,EAAEc,OAAO,KAC7F,IAAAK,0BAAW,EAACnB,MAAM,EAAE,CAACD,2BAA2B,EAAE,CAACc,mCAAmC,EAAEC,OAAO,CAAC,CAAC,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEtFJ,qBAAqB","ignoreList":[]}
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(options) {
24
- this.options = options;
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(([, value]) => value !== undefined).map(([key, value]) => {
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
- queryParameters,
38
- baseUrl,
39
- ...options
40
- } = {}) {
41
- const {
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?.message ?? `Request failed with status ${response.status}`;
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?.headers && 'Accept' in options.headers && options.headers.Accept !== 'application/json') {
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","options","buildQueryString","query","res","Object","entries","filter","value","undefined","map","key","encodeURIComponent","join","request","operation","queryParameters","baseUrl","timeout","accessToken","path","clearTimeout","_fetchTimeout","abortController","AbortController","setTimeout","abort","response","fetch","headers","Authorization","signal","ok","errorMessage","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","length","toString","createDirectory","FOLDER","updateFile","default"],"sourceRoot":"../../../src","sources":["google-drive/client.ts"],"mappings":"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","ignoreList":[]}
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(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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
- constructor(options) {
19
- this.options = options;
20
- this.drive = new _client.default(options);
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
- const {
27
- accessToken
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
- isCloudAvailable = async () => {
38
- const {
39
- accessToken
40
- } = this.options;
41
- return !!accessToken?.length;
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 this.drive.listFiles(this.getRootDirectory(scope));
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 (strictFilenames) {
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, throwIf = false) {
140
+ async getFileId(path, scope) {
141
+ let throwIf = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
121
142
  try {
122
- const files = await this.drive.listFiles(this.getRootDirectory(scope));
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
- if (e instanceof _client.GoogleDriveHttpError && e.json?.error?.status === 'UNAUTHENTICATED') {
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 this.drive.getFileText(fileId);
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 this.drive.updateFile(fileId, {
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 this.drive.listFiles(this.getRootDirectory(scope));
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 this.drive.createFile({
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 this.drive.updateFile(fileId, {
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 this.drive.listFiles(this.getRootDirectory(scope));
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 this.drive.createFile({
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 this.drive.listFiles(this.getRootDirectory(scope));
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 this.drive.listFiles(this.getRootDirectory(scope));
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 this.drive.createDirectory({
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 this.drive.getFileText(fileId);
305
+ const content = await GoogleDrive.drive.getFileText(fileId);
284
306
  return content;
285
307
  }
286
308
  async downloadFile(_path, _scope) {
287
- // Downloading files from Google Drive is not necessary / possible, as they need to be downloaded on every read operation via the API anyway
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 this.drive.deleteFile(fileId);
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 this.drive.listFiles(this.getRootDirectory(scope));
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 this.drive.deleteFile(fileId);
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 this.drive.getFile(fileId);
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":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,kBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAC,uBAAA,CAAAN,OAAA;AAAsE,SAAAO,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAhB,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEtE;AACA;AACA;AACe,MAAMiB,WAAW,CAAiC;EAC/D,OAAeC,KAAK,GAAyB,IAAIC,eAAoB,EAAE;EACvE,OAAcC,wBAAwB,GAAG,KAAK;EAG9CC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,4BAA4B,GAAG,EAAE;IACtC,OAAO,IAAIC,KAAK,CAAC,IAAI,EAAE;MACrB;MACAlB,GAAGA,CAACmB,MAAmB,EAAEC,IAAuB,EAAE;QAChD,MAAMC,gBAAgB,GAAG,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;QAC7E,IAAI,OAAOF,MAAM,CAACC,IAAI,CAAC,KAAK,UAAU,IAAI,CAACC,gBAAgB,CAACC,QAAQ,CAACF,IAAI,CAACG,QAAQ,EAAE,CAAC,EAAE;UACrF,IAAI,CAACX,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM,EAAE;YACzC,MAAM,IAAIC,0BAAiB,CACxB,8DAA6DN,IAAI,CAACG,QAAQ,EAAG,EAAC,EAC/EI,6BAAqB,CAACC,iCAAiC,CACxD;UACH;QACF;QAEA,OAAOT,MAAM,CAACC,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,WAAkBI,WAAWA,CAACA,WAA0B,EAAE;IACxDZ,WAAW,CAACC,KAAK,CAACW,WAAW,GAAGA,WAAW,IAAI,EAAE;;IAEjD;IACAK,+BAAkB,CAACC,IAAI,CAAC,2CAA2C,EAAE;MACnEC,SAAS,EAAE,CAAC,EAACP,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEC,MAAM;IAClC,CAAC,CAAC;EACJ;EAEA,WAAkBO,OAAOA,CAACA,OAAe,EAAE;IACzCpB,WAAW,CAACC,KAAK,CAACmB,OAAO,GAAGA,OAAO;EACrC;EAEA,WAAkBR,WAAWA,CAAA,EAAkB;IAC7C,OAAOZ,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM,GAAGb,WAAW,CAACC,KAAK,CAACW,WAAW,GAAG,IAAI;EACpF;EAEOS,4BAA4BA,CAACC,UAA4E,EAE9G;IACA,IAAI,CAACjB,4BAA4B,CAACkB,IAAI,CAACD,UAAU,CAAC;IAElD,OAAO;MACLE,MAAM,EAAEA,CAAA,KAAM;QACZ,IAAI,CAACnB,4BAA4B,GAAG,IAAI,CAACA,4BAA4B,CAACoB,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,UAAU,CAAC;MACvG;IACF,CAAC;EACH;EAEOK,gBAAgB,GAA2B,MAAAA,CAAA,KAAY,CAAC,CAAC3B,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM;EAE5Fe,gBAAgBA,CAACC,KAAqC,EAAwB;IACpF,QAAQA,KAAK;MACX,KAAK,WAAW;QACd,OAAO,OAAO;MAChB,KAAK,UAAU;QACb,OAAO,eAAe;IAAC;EAE7B;EAEQC,wBAAwBA,CAACC,IAAY,EAA+C;IAC1F,IAAIA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAIF,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAEH,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAME,WAAW,GAAGJ,IAAI,CAACK,KAAK,CAAC,GAAG,CAAC;IACnC,MAAMC,cAAc,GAAGF,WAAW,CAACG,GAAG,EAAE,IAAI,EAAE;IAC9C,OAAO;MAAEH,WAAW;MAAEI,QAAQ,EAAEF;IAAe,CAAC;EAClD;EAEQG,qBAAqBA,CAACC,KAAwB,EAAEC,aAAuB,EAAiB;IAC9F,MAAMC,sBAAsB,GAAGF,KAAK,CACjChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACC,QAAQ,KAAKC,gBAAS,CAACC,MAAM,CAAC,CAC9CtB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACI,IAAI,KAAKN,aAAa,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAIO,cAAkC;IACtC,IAAIN,sBAAsB,CAAC9B,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,KAChD,IAAI8B,sBAAsB,CAAC9B,MAAM,KAAK,CAAC,EAAE;MAC5CoC,cAAc,GAAGN,sBAAsB,CAAC,CAAC,CAAC,CAAEO,EAAE;IAChD,CAAC,MAAM;MACL;AACN;AACA;MACM,KAAK,MAAMC,oBAAoB,IAAIR,sBAAsB,EAAE;QACzD,IAAI,CAACF,KAAK,CAACW,IAAI,CAAER,CAAC,IAAKA,CAAC,CAACM,EAAE,KAAKC,oBAAoB,CAAEE,OAAO,CAAE,CAAC,CAAC,IAAIT,CAAC,CAACC,QAAQ,KAAKC,gBAAS,CAACC,MAAM,CAAC,EAAE;UACrGE,cAAc,GAAGE,oBAAoB,CAAED,EAAE;UACzC;QACF;MACF;IACF;IAEA,IAAI,CAACD,cAAc,EAAE;MACnB,MAAM,IAAInC,0BAAiB,CACxB,0CAAyC4B,aAAa,CAAC,CAAC,CAAE,EAAC,EAC5D3B,6BAAqB,CAACuC,mBAAmB,CAC1C;IACH;;IAEA;IACA,IAAIC,kBAAkB,GAAGN,cAAc;IACvC,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGd,aAAa,CAAC7B,MAAM,EAAE2C,CAAC,EAAE,EAAE;MAC7C,MAAMC,gBAAgB,GAAGhB,KAAK,CAACW,IAAI,CAAER,CAAC,IAAKA,CAAC,CAACM,EAAE,KAAKK,kBAAkB,CAAC;MACvE,IAAI,CAACE,gBAAgB,EACnB,MAAM,IAAI3C,0BAAiB,CACxB,oCAAmCyC,kBAAmB,EAAC,EACxDxC,6BAAqB,CAACuC,mBAAmB,CAC1C;MACH,MAAMI,aAAa,GAAGjB,KAAK,CAACW,IAAI,CAAER,CAAC,IAAKA,CAAC,CAACI,IAAI,KAAKN,aAAa,CAACc,CAAC,CAAC,IAAIZ,CAAC,CAACS,OAAO,CAAE,CAAC,CAAC,KAAKE,kBAAkB,CAAC;MAC5G,IAAI,CAACG,aAAa,EAChB,MAAM,IAAI5C,0BAAiB,CACxB,sCAAqC4B,aAAa,CAACc,CAAC,CAAE,EAAC,EACxDzC,6BAAqB,CAACuC,mBAAmB,CAC1C;MACHC,kBAAkB,GAAGG,aAAa,CAACR,EAAE;IACvC;IAEA,OAAOK,kBAAkB;EAC3B;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAcI,kBAAkBA,CAAC9B,KAAqC,EAA0B;IAC9F,MAAMY,KAAK,GAAG,MAAMzC,WAAW,CAACC,KAAK,CAAC2D,SAAS,CAAC,IAAI,CAAChC,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAC7E,KAAK,MAAMgC,IAAI,IAAIpB,KAAK,EAAE;MACxB,IAAI,CAACA,KAAK,CAACW,IAAI,CAAER,CAAC,IAAKA,CAAC,CAACM,EAAE,KAAKW,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,OAAOQ,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,IAAI,IAAI;IACpF;IAEA,OAAO,IAAI;EACb;EAEQS,gCAAgCA,CACtC/B,IAAY,EACZU,KAAwB,EACxBF,QAAgB,EAChBwB,iBAAgC,EAChC;IACA,IAAIC,aAAgC;IACpC,IAAID,iBAAiB,EAAE;MACrBC,aAAa,GAAGvB,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACI,IAAI,KAAKT,QAAQ,IAAIK,CAAC,CAACS,OAAO,CAAE,CAAC,CAAC,KAAKU,iBAAiB,CAAC;IACjG,CAAC,MAAM;MACLC,aAAa,GAAGvB,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACI,IAAI,KAAKT,QAAQ,IAAI,CAACE,KAAK,CAACW,IAAI,CAAEa,EAAE,IAAKA,EAAE,CAACf,EAAE,KAAKN,CAAC,CAACS,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;IAC1G;IAEA,IAAIW,aAAa,CAACnD,MAAM,IAAI,CAAC,EAAE;IAE/B,IAAIb,WAAW,CAACG,wBAAwB,EAAE;MACxC,MAAM,IAAIW,0BAAiB,CACxB,mDAAkDiB,IAAK,KAAIiC,aAAa,CAACE,GAAG,CAAEtB,CAAC,IAAKA,CAAC,CAACM,EAAE,CAAC,CAACiB,IAAI,CAAC,IAAI,CAAE,EAAC,EACvGpD,6BAAqB,CAACqD,wBAAwB,CAC/C;IACH,CAAC,MAAM;MACL,IAAI,CAAC/D,4BAA4B,CAACgE,OAAO,CAAE3C,CAAC,IAAKA,CAAC,CAAC;QAAEK,IAAI;QAAEuC,OAAO,EAAEN,aAAa,CAACE,GAAG,CAAEtB,CAAC,IAAKA,CAAC,CAACM,EAAE;MAAE,CAAC,CAAC,CAAC;IACxG;EACF;EAEA,MAAcqB,SAASA,CACrBxC,IAAY,EACZF,KAAqC,EAEpB;IAAA,IADjB2C,OAAqC,GAAAC,SAAA,CAAA5D,MAAA,QAAA4D,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;IAE7C,IAAI;MACF,MAAMhC,KAAK,GAAG,MAAMzC,WAAW,CAACC,KAAK,CAAC2D,SAAS,CAAC,IAAI,CAAChC,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAE7E,IAAIE,IAAI,KAAK,EAAE,IAAIA,IAAI,KAAK,GAAG,EAAE;QAC/B,MAAM4C,eAAe,GAAG,MAAM,IAAI,CAAChB,kBAAkB,CAAC9B,KAAK,CAAC;QAC5D,IAAI,CAAC8C,eAAe,EAClB,MAAM,IAAI7D,0BAAiB,CACxB,2BAA0Be,KAAM,YAAW,EAC5Cd,6BAAqB,CAACuC,mBAAmB,CAC1C;QACH,OAAOqB,eAAe;MACxB;MAEA,MAAM;QAAExC,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAMgC,iBAAiB,GAAG,IAAI,CAACvB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,IAAI0B,IAAiC;MACrC,IAAIE,iBAAiB,KAAK,IAAI,EAAE;QAC9B,IAAI,CAACD,gCAAgC,CAAC/B,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAE,IAAI,CAAC;QAClE;AACR;QACQsB,IAAI,GAAGpB,KAAK,CAACW,IAAI,CAAER,CAAC,IAAKA,CAAC,CAACI,IAAI,KAAKT,QAAQ,IAAI,CAACE,KAAK,CAACW,IAAI,CAAEa,EAAE,IAAKA,EAAE,CAACf,EAAE,KAAKN,CAAC,CAACS,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;MAC/F,CAAC,MAAM;QACL,IAAI,CAACS,gCAAgC,CAAC/B,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAEwB,iBAAiB,CAAC;QAC/EF,IAAI,GAAGpB,KAAK,CAACW,IAAI,CAAER,CAAC,IAAKA,CAAC,CAACI,IAAI,KAAKT,QAAQ,IAAIK,CAAC,CAACS,OAAO,CAAE,CAAC,CAAC,KAAKU,iBAAiB,CAAC;MACtF;MACA,IAAI,CAACF,IAAI,EAAE,MAAM,IAAI/C,0BAAiB,CAAE,gBAAe,EAAEC,6BAAqB,CAAC6D,cAAc,CAAC;MAC9F,IAAIf,IAAI,CAAChB,QAAQ,KAAKC,gBAAS,CAACC,MAAM,IAAIyB,OAAO,KAAK,WAAW,EAAE;QACjE,MAAM,IAAI1D,0BAAiB,CAAE,QAAOiB,IAAK,iBAAgB,EAAEhB,6BAAqB,CAAC8D,iBAAiB,CAAC;MACrG,CAAC,MAAM,IAAIhB,IAAI,CAAChB,QAAQ,KAAKC,gBAAS,CAACC,MAAM,IAAIyB,OAAO,KAAK,MAAM,EAAE;QACnE,MAAM,IAAI1D,0BAAiB,CAAE,QAAOiB,IAAK,YAAW,EAAEhB,6BAAqB,CAAC6D,cAAc,CAAC;MAC7F;MACA,OAAOf,IAAI,CAACX,EAAE;IAChB,CAAC,CAAC,OAAO4B,CAAU,EAAE;MAAA,IAAAC,OAAA,EAAAC,aAAA;MACnB,IAAIF,CAAC,YAAYG,4BAAoB,IAAI,EAAAF,OAAA,GAAAD,CAAC,CAACI,IAAI,cAAAH,OAAA,wBAAAC,aAAA,GAAND,OAAA,CAAQI,KAAK,cAAAH,aAAA,uBAAbA,aAAA,CAAeI,MAAM,MAAK,iBAAiB,EAAE;QACpF,MAAM,IAAItE,0BAAiB,CACxB,0CAAyC,EAC1CC,6BAAqB,CAACsE,qBAAqB,EAC3CP,CAAC,CAACI,IAAI,CACP;MACH,CAAC,MAAM;QACL,IAAIJ,CAAC,YAAYhE,0BAAiB,EAAE,MAAMgE,CAAC;QAC3C,MAAM,IAAIhE,0BAAiB,CAAE,kCAAiCiB,IAAK,EAAC,EAAEhB,6BAAqB,CAACuE,OAAO,EAAER,CAAC,CAAC;MACzG;IACF;EACF;EAEA,MAAMS,UAAUA,CAACxD,IAAY,EAAEF,KAAqC,EAAoB;IACtF,IAAI;MACF,MAAM,IAAI,CAAC0C,SAAS,CAACxC,IAAI,EAAEF,KAAK,CAAC;MACjC,OAAO,IAAI;IACb,CAAC,CAAC,OAAOiD,CAAM,EAAE;MACf,IAAIA,CAAC,YAAYhE,0BAAiB,IAAIgE,CAAC,CAACU,IAAI,KAAKzE,6BAAqB,CAAC6D,cAAc,EAAE,OAAO,KAAK,CAAC,KAC/F,MAAME,CAAC;IACd;EACF;EAEA,MAAMW,YAAYA,CAAC1D,IAAY,EAAE2D,IAAY,EAAE7D,KAAqC,EAAiB;IACnG,IAAI8D,MAA0B;IAC9B,IAAIC,WAAW,GAAG,EAAE;IACpB,IAAI;MACFD,MAAM,GAAG,MAAM,IAAI,CAACpB,SAAS,CAACxC,IAAI,EAAEF,KAAK,CAAC;MAC1C+D,WAAW,GAAG,MAAM5F,WAAW,CAACC,KAAK,CAAC4F,WAAW,CAACF,MAAM,CAAC;IAC3D,CAAC,CAAC,OAAOb,CAAM,EAAE;MACf,IAAIA,CAAC,YAAYhE,0BAAiB,IAAIgE,CAAC,CAACU,IAAI,KAAKzE,6BAAqB,CAAC6D,cAAc,EAAE;QACrF;MAAA,CACD,MAAM;QACL,MAAME,CAAC;MACT;IACF;IAEA,IAAIa,MAAM,EAAE;MACV,MAAM3F,WAAW,CAACC,KAAK,CAAC6F,UAAU,CAACH,MAAM,EAAE;QACzCI,IAAI,EAAEH,WAAW,GAAGF,IAAI;QACxB7C,QAAQ,EAAEC,gBAAS,CAACkD;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMvD,KAAK,GAAG,MAAMzC,WAAW,CAACC,KAAK,CAAC2D,SAAS,CAAC,IAAI,CAAChC,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAMgC,iBAAiB,GAAG,IAAI,CAACvB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,MAAMnC,WAAW,CAACC,KAAK,CAACgG,UAAU,CAChC;QACEjD,IAAI,EAAET,QAAQ;QACdc,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBlC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B6C;MACN,CAAC,EACD;QACEqB,IAAI,EAAEL,IAAI;QACV7C,QAAQ,EAAEC,gBAAS,CAACkD;MACtB,CAAC,CACF;IACH;EACF;EAEA,MAAMC,UAAUA,CACdlE,IAAY,EACZ2D,IAAY,EACZ7D,KAAqC,EACrCqE,SAAkB,EACH;IACf,IAAIP,MAA0B;IAC9B,IAAIO,SAAS,EAAE;MACb,IAAI;QACFP,MAAM,GAAG,MAAM,IAAI,CAACpB,SAAS,CAACxC,IAAI,EAAEF,KAAK,CAAC;MAC5C,CAAC,CAAC,OAAOiD,CAAM,EAAE;QACf,IAAIA,CAAC,YAAYhE,0BAAiB,IAAIgE,CAAC,CAACU,IAAI,KAAKzE,6BAAqB,CAAC6D,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF,CAAC,MAAM;MACL,IAAI;QACF,MAAM,IAAI,CAACP,SAAS,CAACxC,IAAI,EAAEF,KAAK,CAAC;QACjC,MAAM,IAAIf,0BAAiB,CAAE,QAAOiB,IAAK,iBAAgB,EAAEhB,6BAAqB,CAACoF,mBAAmB,CAAC;MACvG,CAAC,CAAC,OAAOrB,CAAM,EAAE;QACf,IAAIA,CAAC,YAAYhE,0BAAiB,IAAIgE,CAAC,CAACU,IAAI,KAAKzE,6BAAqB,CAAC6D,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF;IAEA,IAAIa,MAAM,EAAE;MACV,MAAM3F,WAAW,CAACC,KAAK,CAAC6F,UAAU,CAACH,MAAM,EAAE;QACzCI,IAAI,EAAEL,IAAI;QACV7C,QAAQ,EAAEC,gBAAS,CAACkD;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMvD,KAAK,GAAG,MAAMzC,WAAW,CAACC,KAAK,CAAC2D,SAAS,CAAC,IAAI,CAAChC,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAMgC,iBAAiB,GAAG,IAAI,CAACvB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,MAAMnC,WAAW,CAACC,KAAK,CAACgG,UAAU,CAChC;QACEjD,IAAI,EAAET,QAAQ;QACdc,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBlC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B6C;MACN,CAAC,EACD;QACEqB,IAAI,EAAEL,IAAI;QACV7C,QAAQ,EAAEC,gBAAS,CAACkD;MACtB,CAAC,CACF;IACH;EACF;EAEA,MAAMpC,SAASA,CAAC7B,IAAY,EAAEF,KAAqC,EAAqB;IACtF,MAAMuE,QAAQ,GAAG,MAAMpG,WAAW,CAACC,KAAK,CAAC2D,SAAS,CAAC,IAAI,CAAChC,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAChF,IAAIE,IAAI,KAAK,EAAE,EAAE;MACf,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACpB,SAAS,CAACxC,IAAI,EAAEF,KAAK,CAAC;MAChD,MAAMY,KAAK,GAAG2D,QAAQ,CAAC3E,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACS,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKsC,MAAM,CAAC;MAErE,OAAOU,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAAC9D,KAAK,CAACyB,GAAG,CAAEtB,CAAC,IAAKA,CAAC,CAACI,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC,MAAM;MACL,MAAM2B,eAAe,GAAG,MAAM,IAAI,CAAChB,kBAAkB,CAAC9B,KAAK,CAAC;MAC5D,OAAOwE,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACH,QAAQ,CAAC3E,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACS,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKsB,eAAe,CAAC,CAACT,GAAG,CAAEtB,CAAC,IAAKA,CAAC,CAACI,IAAI,CAAC,CAAC,CAAC;IACjH;EACF;EAEA,MAAMwD,eAAeA,CAACzE,IAAY,EAAEF,KAAqC,EAAiB;IACxF,IAAI;MACF,MAAM,IAAI,CAAC0C,SAAS,CAACxC,IAAI,EAAEF,KAAK,CAAC;MACjC,MAAM,IAAIf,0BAAiB,CAAE,QAAOiB,IAAK,iBAAgB,EAAEhB,6BAAqB,CAACoF,mBAAmB,CAAC;IACvG,CAAC,CAAC,OAAOrB,CAAM,EAAE;MACf,IAAIA,CAAC,YAAYhE,0BAAiB,IAAIgE,CAAC,CAACU,IAAI,KAAKzE,6BAAqB,CAAC6D,cAAc,EAAE;QACrF;MAAA,CACD,MAAM,IAAIE,CAAC,YAAYhE,0BAAiB,IAAIgE,CAAC,CAACU,IAAI,KAAKzE,6BAAqB,CAAC8D,iBAAiB,EAAE;QAC/F,MAAM,IAAI/D,0BAAiB,CAAE,aAAYiB,IAAK,iBAAgB,EAAEhB,6BAAqB,CAACoF,mBAAmB,CAAC;MAC5G,CAAC,MAAM;QACL,MAAMrB,CAAC;MACT;IACF;IAEA,MAAMrC,KAAK,GAAG,MAAMzC,WAAW,CAACC,KAAK,CAAC2D,SAAS,CAAC,IAAI,CAAChC,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAC7E,MAAM;MAAEM,WAAW;MAAEI;IAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;IACrE,MAAMgC,iBAAiB,GAAG,IAAI,CAACvB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;IAExE,MAAMnC,WAAW,CAACC,KAAK,CAACuG,eAAe,CAAC;MACtCxD,IAAI,EAAET,QAAQ;MACdc,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBlC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B6C;IACN,CAAC,CAAC;EACJ;EAEA,MAAM+B,QAAQA,CAAC1E,IAAY,EAAEF,KAAqC,EAAmB;IACnF,MAAM8D,MAAM,GAAG,MAAM,IAAI,CAACpB,SAAS,CAACxC,IAAI,EAAEF,KAAK,CAAC;IAChD,MAAM6E,OAAO,GAAG,MAAM1G,WAAW,CAACC,KAAK,CAAC4F,WAAW,CAACF,MAAM,CAAC;IAC3D,OAAOe,OAAO;EAChB;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAEC,MAAsC,EAAiB;IACvF;IACA;EACF;EAEA,MAAMC,UAAUA,CAAC/E,IAAY,EAAEF,KAAqC,EAAiB;IACnF;IACA,MAAM8D,MAAM,GAAG,MAAM,IAAI,CAACpB,SAAS,CAACxC,IAAI,EAAEF,KAAK,EAAE,WAAW,CAAC;IAC7D,MAAM7B,WAAW,CAACC,KAAK,CAAC6G,UAAU,CAACnB,MAAM,CAAC;EAC5C;EAEA,MAAMoB,eAAeA,CAAChF,IAAY,EAAEiF,SAAkB,EAAEnF,KAAqC,EAAiB;IAC5G;IACA,MAAM8D,MAAM,GAAG,MAAM,IAAI,CAACpB,SAAS,CAACxC,IAAI,EAAEF,KAAK,EAAE,MAAM,CAAC;IAExD,IAAI,CAACmF,SAAS,EAAE;MACd;MACA,MAAMvE,KAAK,GAAG,MAAMzC,WAAW,CAACC,KAAK,CAAC2D,SAAS,CAAC,IAAI,CAAChC,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAMoF,gBAAgB,GAAGxE,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACS,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKsC,MAAM,CAAC;MAC7E,IAAIsB,gBAAgB,CAACpG,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAIC,0BAAiB,CACxB,aAAYiB,IAAK,eAAc,EAChChB,6BAAqB,CAACmG,YAAY,EAClCD,gBAAgB,CACjB;MACH;IACF;IAEA,MAAMjH,WAAW,CAACC,KAAK,CAAC6G,UAAU,CAACnB,MAAM,CAAC;EAC5C;EAEA,MAAMwB,QAAQA,CAACpF,IAAY,EAAEF,KAAqC,EAA8C;IAC9G,MAAM8D,MAAM,GAAG,MAAM,IAAI,CAACpB,SAAS,CAACxC,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;IACvD,MAAMgC,IAAI,GAAG,MAAM7D,WAAW,CAACC,KAAK,CAACmH,OAAO,CAACzB,MAAM,CAAE;IAErD,OAAO;MACL0B,IAAI,EAAExD,IAAI,CAACwD,IAAI,IAAI,CAAC;MACpBC,WAAW,EAAE,IAAIC,IAAI,CAAC1D,IAAI,CAAC2D,WAAW,CAAE,CAACC,OAAO,EAAE;MAClDC,OAAO,EAAE,IAAIH,IAAI,CAAC1D,IAAI,CAAC8D,YAAY,CAAE,CAACF,OAAO,EAAE;MAC/CG,WAAW,EAAE/D,IAAI,CAAChB,QAAQ,KAAKC,gBAAS,CAACC,MAAM;MAC/C8E,MAAM,EAAEhE,IAAI,CAAChB,QAAQ,KAAKC,gBAAS,CAACC;IACtC,CAAC;EACH;AACF;AAAC+E,OAAA,CAAA7I,OAAA,GAAAe,WAAA"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MimeTypes = void 0;
7
- let MimeTypes = exports.MimeTypes = /*#__PURE__*/function (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,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
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(e) { return e && e.__esModule ? e : { default: e }; }
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. Defaults to the default scope set for the current provider.
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, cloudStorageInstance) => {
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 instance.exists(path, scope);
19
+ const exists = await _RNCloudStorage.default.exists(path, scope);
22
20
  if (!exists) {
23
21
  setContent(null);
24
22
  return;
25
23
  }
26
- instance.readFile(path, scope).then(setContent);
27
- }, [path, scope, instance]);
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 instance.writeFile(path, newContent, scope);
30
+ await _RNCloudStorage.default.writeFile(path, newContent, scope);
33
31
  read();
34
- }, [path, scope, read, instance]);
32
+ }, [path, scope, read]);
35
33
  const remove = (0, _react.useCallback)(async () => {
36
- await instance.unlink(path, scope);
34
+ await _RNCloudStorage.default.unlink(path, scope);
37
35
  setContent(null);
38
- }, [path, scope, instance]);
36
+ }, [path, scope]);
39
37
  const download = (0, _react.useCallback)(async () => {
40
- await instance.downloadFile(path, scope);
41
- }, [path, scope, instance]);
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","e","__esModule","default","useCloudFile","path","scope","cloudStorageInstance","content","setContent","useState","instance","RNCloudStorage","read","useCallback","exists","readFile","then","useEffect","write","newContent","writeFile","remove","unlink","download","downloadFile","exports"],"sourceRoot":"../../../src","sources":["hooks/useCloudFile.ts"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAyD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,EAAEC,oBAAqC,KAAK;EAC9G,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAgB,IAAI,CAAC;EAC3D,MAAMC,QAAQ,GAAGJ,oBAAoB,IAAIK,uBAAc;EAEvD,MAAMC,IAAI,GAAG,IAAAC,kBAAW,EAAC,YAAY;IACnC,MAAMC,MAAM,GAAG,MAAMJ,QAAQ,CAACI,MAAM,CAACV,IAAI,EAAEC,KAAK,CAAC;IACjD,IAAI,CAACS,MAAM,EAAE;MACXN,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAE,QAAQ,CAACK,QAAQ,CAACX,IAAI,EAAEC,KAAK,CAAC,CAACW,IAAI,CAACR,UAAU,CAAC;EACjD,CAAC,EAAE,CAACJ,IAAI,EAAEC,KAAK,EAAEK,QAAQ,CAAC,CAAC;EAE3B,IAAAO,gBAAS,EAAC,MAAM;IACdL,IAAI,CAAC,CAAC;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMM,KAAK,GAAG,IAAAL,kBAAW,EACvB,MAAOM,UAAkB,IAAK;IAC5B,MAAMT,QAAQ,CAACU,SAAS,CAAChB,IAAI,EAAEe,UAAU,EAAEd,KAAK,CAAC;IACjDO,IAAI,CAAC,CAAC;EACR,CAAC,EACD,CAACR,IAAI,EAAEC,KAAK,EAAEO,IAAI,EAAEF,QAAQ,CAC9B,CAAC;EAED,MAAMW,MAAM,GAAG,IAAAR,kBAAW,EAAC,YAAY;IACrC,MAAMH,QAAQ,CAACY,MAAM,CAAClB,IAAI,EAAEC,KAAK,CAAC;IAClCG,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACJ,IAAI,EAAEC,KAAK,EAAEK,QAAQ,CAAC,CAAC;EAE3B,MAAMa,QAAQ,GAAG,IAAAV,kBAAW,EAAC,YAAY;IACvC,MAAMH,QAAQ,CAACc,YAAY,CAACpB,IAAI,EAAEC,KAAK,CAAC;EAC1C,CAAC,EAAE,CAACD,IAAI,EAAEC,KAAK,EAAEK,QAAQ,CAAC,CAAC;EAE3B,OAAO;IACLH,OAAO;IACPK,IAAI;IACJM,KAAK;IACLG,MAAM;IACN;AACJ;AACA;AACA;IACIE;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAtB,YAAA,GAAAA,YAAA","ignoreList":[]}
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(e) { return e && e.__esModule ? e : { default: e }; }
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 cloudStorageInstance - An optional instance of RNCloudStorage to use instead of the default instance.
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 = cloudStorageInstance => {
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
- instance.isCloudAvailable().then(setIsAvailable);
20
+ _RNCloudStorage.default.isCloudAvailable().then(setIsAvailable);
24
21
 
25
22
  // Listen for changes to the cloud availability using the native event emitter
26
- instance.subscribeToCloudAvailability(handleAvailabilityChange);
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
- instance.unsubscribeFromCloudAvailability(handleAvailabilityChange);
33
+ eventEmitter.removeAllListeners('RNCloudStorage.cloud.availability-changed');
29
34
  };
30
- }, [instance, handleAvailabilityChange]);
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;