react-native-cloud-storage 2.2.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/android/build.gradle +88 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/voicekit/CloudStorageError.kt +86 -0
  8. package/android/src/main/java/com/voicekit/CloudStorageLocalFileSystemModule.kt +232 -0
  9. package/android/src/main/java/com/voicekit/CloudStoragePackage.kt +32 -0
  10. package/android/src/main/java/com/voicekit/FileUtils.kt +41 -0
  11. package/android/src/main/java/com/voicekit/Types.kt +6 -0
  12. package/app.plugin.js +1 -1
  13. package/{lib/commonjs/RNCloudStorage.js → dist/commonjs/cloud-storage.js} +177 -92
  14. package/dist/commonjs/cloud-storage.js.map +1 -0
  15. package/dist/commonjs/expo-plugin/index.js +13 -0
  16. package/dist/commonjs/expo-plugin/index.js.map +1 -0
  17. package/{lib/commonjs/expo-plugin/withRNCloudStorageIos.js → dist/commonjs/expo-plugin/ios.js} +1 -1
  18. package/dist/commonjs/expo-plugin/ios.js.map +1 -0
  19. package/{lib/commonjs/hooks/useCloudFile.js → dist/commonjs/hooks/use-cloud-file.js} +26 -8
  20. package/dist/commonjs/hooks/use-cloud-file.js.map +1 -0
  21. package/{lib/commonjs/hooks/useIsCloudAvailable.js → dist/commonjs/hooks/use-is-cloud-available.js} +3 -3
  22. package/dist/commonjs/hooks/use-is-cloud-available.js.map +1 -0
  23. package/{lib → dist}/commonjs/index.js +10 -10
  24. package/dist/commonjs/index.js.map +1 -0
  25. package/dist/commonjs/specs/NativeCloudStorageCloudKitIOS.js +9 -0
  26. package/dist/commonjs/specs/NativeCloudStorageCloudKitIOS.js.map +1 -0
  27. package/dist/commonjs/specs/NativeCloudStorageLocalFileSystem.js +9 -0
  28. package/dist/commonjs/specs/NativeCloudStorageLocalFileSystem.js.map +1 -0
  29. package/dist/commonjs/storages/cloudkit.js +12 -0
  30. package/dist/commonjs/storages/cloudkit.js.map +1 -0
  31. package/{lib/commonjs → dist/commonjs/storages}/google-drive/client.js +83 -40
  32. package/dist/commonjs/storages/google-drive/client.js.map +1 -0
  33. package/dist/commonjs/storages/google-drive/index.js +399 -0
  34. package/dist/commonjs/storages/google-drive/index.js.map +1 -0
  35. package/dist/commonjs/storages/google-drive/types.js.map +1 -0
  36. package/{lib → dist}/commonjs/types/main.js.map +1 -1
  37. package/dist/commonjs/types/native.js +28 -0
  38. package/dist/commonjs/types/native.js.map +1 -0
  39. package/{lib/commonjs/utils/CloudStorageError.js → dist/commonjs/utils/cloud-storage-error.js} +3 -1
  40. package/dist/commonjs/utils/cloud-storage-error.js.map +1 -0
  41. package/dist/commonjs/utils/constants.js +25 -0
  42. package/dist/commonjs/utils/constants.js.map +1 -0
  43. package/dist/commonjs/utils/local-fs.js +17 -0
  44. package/dist/commonjs/utils/local-fs.js.map +1 -0
  45. package/dist/commonjs/utils/native.js +35 -0
  46. package/dist/commonjs/utils/native.js.map +1 -0
  47. package/{lib/module/RNCloudStorage.js → dist/module/cloud-storage.js} +178 -93
  48. package/dist/module/cloud-storage.js.map +1 -0
  49. package/dist/module/expo-plugin/index.js +8 -0
  50. package/dist/module/expo-plugin/index.js.map +1 -0
  51. package/{lib/module/expo-plugin/withRNCloudStorageIos.js → dist/module/expo-plugin/ios.js} +1 -1
  52. package/dist/module/expo-plugin/ios.js.map +1 -0
  53. package/{lib/module/hooks/useCloudFile.js → dist/module/hooks/use-cloud-file.js} +25 -7
  54. package/dist/module/hooks/use-cloud-file.js.map +1 -0
  55. package/{lib/module/hooks/useIsCloudAvailable.js → dist/module/hooks/use-is-cloud-available.js} +2 -2
  56. package/dist/module/hooks/use-is-cloud-available.js.map +1 -0
  57. package/dist/module/index.js +9 -0
  58. package/dist/module/index.js.map +1 -0
  59. package/dist/module/specs/NativeCloudStorageCloudKitIOS.js +5 -0
  60. package/dist/module/specs/NativeCloudStorageCloudKitIOS.js.map +1 -0
  61. package/dist/module/specs/NativeCloudStorageLocalFileSystem.js +5 -0
  62. package/dist/module/specs/NativeCloudStorageLocalFileSystem.js.map +1 -0
  63. package/dist/module/storages/cloudkit.js +7 -0
  64. package/dist/module/storages/cloudkit.js.map +1 -0
  65. package/{lib/module → dist/module/storages}/google-drive/client.js +83 -40
  66. package/dist/module/storages/google-drive/client.js.map +1 -0
  67. package/dist/module/storages/google-drive/index.js +392 -0
  68. package/dist/module/storages/google-drive/index.js.map +1 -0
  69. package/dist/module/storages/google-drive/types.js.map +1 -0
  70. package/{lib → dist}/module/types/main.js.map +1 -1
  71. package/dist/module/types/native.js +24 -0
  72. package/dist/module/types/native.js.map +1 -0
  73. package/{lib/module/utils/CloudStorageError.js → dist/module/utils/cloud-storage-error.js} +3 -1
  74. package/dist/module/utils/cloud-storage-error.js.map +1 -0
  75. package/dist/module/utils/constants.js +21 -0
  76. package/dist/module/utils/constants.js.map +1 -0
  77. package/dist/module/utils/local-fs.js +12 -0
  78. package/dist/module/utils/local-fs.js.map +1 -0
  79. package/dist/module/utils/native.js +30 -0
  80. package/dist/module/utils/native.js.map +1 -0
  81. package/{lib/typescript/RNCloudStorage.d.ts → dist/typescript/cloud-storage.d.ts} +67 -8
  82. package/dist/typescript/cloud-storage.d.ts.map +1 -0
  83. package/{lib/typescript/expo-plugin/withRNCloudStorage.d.ts → dist/typescript/expo-plugin/index.d.ts} +1 -1
  84. package/dist/typescript/expo-plugin/index.d.ts.map +1 -0
  85. package/{lib/typescript/expo-plugin/withRNCloudStorageIos.d.ts → dist/typescript/expo-plugin/ios.d.ts} +1 -1
  86. package/dist/typescript/expo-plugin/ios.d.ts.map +1 -0
  87. package/{lib/typescript/hooks/useCloudFile.d.ts → dist/typescript/hooks/use-cloud-file.d.ts} +22 -4
  88. package/dist/typescript/hooks/use-cloud-file.d.ts.map +1 -0
  89. package/{lib/typescript/hooks/useIsCloudAvailable.d.ts → dist/typescript/hooks/use-is-cloud-available.d.ts} +2 -2
  90. package/dist/typescript/hooks/use-is-cloud-available.d.ts.map +1 -0
  91. package/dist/typescript/index.d.ts +7 -0
  92. package/dist/typescript/index.d.ts.map +1 -0
  93. package/dist/typescript/specs/NativeCloudStorageCloudKitIOS.d.ts +30 -0
  94. package/dist/typescript/specs/NativeCloudStorageCloudKitIOS.d.ts.map +1 -0
  95. package/dist/typescript/specs/NativeCloudStorageLocalFileSystem.d.ts +24 -0
  96. package/dist/typescript/specs/NativeCloudStorageLocalFileSystem.d.ts.map +1 -0
  97. package/dist/typescript/storages/cloudkit.d.ts +6 -0
  98. package/dist/typescript/storages/cloudkit.d.ts.map +1 -0
  99. package/{lib/typescript → dist/typescript/storages}/google-drive/client.d.ts +10 -3
  100. package/dist/typescript/storages/google-drive/client.d.ts.map +1 -0
  101. package/dist/typescript/storages/google-drive/index.d.ts +41 -0
  102. package/dist/typescript/storages/google-drive/index.d.ts.map +1 -0
  103. package/dist/typescript/storages/google-drive/types.d.ts.map +1 -0
  104. package/{lib → dist}/typescript/types/main.d.ts +8 -0
  105. package/dist/typescript/types/main.d.ts.map +1 -0
  106. package/dist/typescript/types/native.d.ts +27 -0
  107. package/dist/typescript/types/native.d.ts.map +1 -0
  108. package/dist/typescript/utils/cloud-storage-error.d.ts +8 -0
  109. package/dist/typescript/utils/cloud-storage-error.d.ts.map +1 -0
  110. package/dist/typescript/utils/constants.d.ts +4 -0
  111. package/dist/typescript/utils/constants.d.ts.map +1 -0
  112. package/{lib → dist}/typescript/utils/helpers.d.ts.map +1 -1
  113. package/dist/typescript/utils/local-fs.d.ts +2 -0
  114. package/dist/typescript/utils/local-fs.d.ts.map +1 -0
  115. package/dist/typescript/utils/native.d.ts +7 -0
  116. package/dist/typescript/utils/native.d.ts.map +1 -0
  117. package/ios/CloudStorage-Bridging-Header.h +0 -1
  118. package/ios/CloudStorage.xcodeproj/project.pbxproj +12 -6
  119. package/ios/CloudStorageCloudKit.swift +159 -0
  120. package/ios/CloudStorageLocalFileSystem.swift +216 -0
  121. package/ios/RCTCloudStorageCloudKit.mm +209 -0
  122. package/ios/RCTCloudStorageLocalFileSystem.mm +149 -0
  123. package/ios/Utils/CloudKitUtils.swift +12 -6
  124. package/ios/Utils/CloudStorageError.swift +8 -0
  125. package/ios/Utils/FileUtils.swift +21 -4
  126. package/ios/Utils/Promise.swift +1 -0
  127. package/ios/Utils/Types.swift +8 -1
  128. package/ios/react_native_cloud_storage.h +6 -0
  129. package/package.json +64 -110
  130. package/react-native-cloud-storage.podspec +2 -0
  131. package/src/{RNCloudStorage.ts → cloud-storage.ts} +210 -100
  132. package/src/expo-plugin/{withRNCloudStorage.ts → index.ts} +2 -2
  133. package/src/hooks/{useCloudFile.ts → use-cloud-file.ts} +24 -6
  134. package/src/hooks/{useIsCloudAvailable.ts → use-is-cloud-available.ts} +1 -1
  135. package/src/index.ts +5 -6
  136. package/src/specs/NativeCloudStorageCloudKitIOS.ts +33 -0
  137. package/src/specs/NativeCloudStorageLocalFileSystem.ts +28 -0
  138. package/src/storages/cloudkit.ts +13 -0
  139. package/src/{google-drive → storages/google-drive}/client.ts +100 -41
  140. package/src/storages/google-drive/index.ts +488 -0
  141. package/src/types/main.ts +9 -0
  142. package/src/types/native.ts +14 -22
  143. package/src/utils/cloud-storage-error.ts +15 -0
  144. package/src/utils/constants.ts +21 -0
  145. package/src/utils/local-fs.ts +19 -0
  146. package/src/utils/native.ts +40 -0
  147. package/ios/CloudStorage.m +0 -22
  148. package/ios/CloudStorage.swift +0 -103
  149. package/ios/CloudStorageEventEmitter.m +0 -16
  150. package/ios/CloudStorageEventEmitter.swift +0 -30
  151. package/lib/commonjs/RNCloudStorage.js.map +0 -1
  152. package/lib/commonjs/expo-plugin/withRNCloudStorage.js +0 -13
  153. package/lib/commonjs/expo-plugin/withRNCloudStorage.js.map +0 -1
  154. package/lib/commonjs/expo-plugin/withRNCloudStorageIos.js.map +0 -1
  155. package/lib/commonjs/google-drive/client.js.map +0 -1
  156. package/lib/commonjs/google-drive/index.js +0 -321
  157. package/lib/commonjs/google-drive/index.js.map +0 -1
  158. package/lib/commonjs/google-drive/types.js.map +0 -1
  159. package/lib/commonjs/hooks/useCloudFile.js.map +0 -1
  160. package/lib/commonjs/hooks/useIsCloudAvailable.js.map +0 -1
  161. package/lib/commonjs/index.js.map +0 -1
  162. package/lib/commonjs/types/native.js +0 -26
  163. package/lib/commonjs/types/native.js.map +0 -1
  164. package/lib/commonjs/utils/CloudStorageError.js.map +0 -1
  165. package/lib/module/RNCloudStorage.js.map +0 -1
  166. package/lib/module/expo-plugin/withRNCloudStorage.js +0 -8
  167. package/lib/module/expo-plugin/withRNCloudStorage.js.map +0 -1
  168. package/lib/module/expo-plugin/withRNCloudStorageIos.js.map +0 -1
  169. package/lib/module/google-drive/client.js.map +0 -1
  170. package/lib/module/google-drive/index.js +0 -313
  171. package/lib/module/google-drive/index.js.map +0 -1
  172. package/lib/module/google-drive/types.js.map +0 -1
  173. package/lib/module/hooks/useCloudFile.js.map +0 -1
  174. package/lib/module/hooks/useIsCloudAvailable.js.map +0 -1
  175. package/lib/module/index.js +0 -10
  176. package/lib/module/index.js.map +0 -1
  177. package/lib/module/types/native.js +0 -22
  178. package/lib/module/types/native.js.map +0 -1
  179. package/lib/module/utils/CloudStorageError.js.map +0 -1
  180. package/lib/typescript/RNCloudStorage.d.ts.map +0 -1
  181. package/lib/typescript/expo-plugin/withRNCloudStorage.d.ts.map +0 -1
  182. package/lib/typescript/expo-plugin/withRNCloudStorageIos.d.ts.map +0 -1
  183. package/lib/typescript/google-drive/client.d.ts.map +0 -1
  184. package/lib/typescript/google-drive/index.d.ts +0 -34
  185. package/lib/typescript/google-drive/index.d.ts.map +0 -1
  186. package/lib/typescript/google-drive/types.d.ts.map +0 -1
  187. package/lib/typescript/hooks/useCloudFile.d.ts.map +0 -1
  188. package/lib/typescript/hooks/useIsCloudAvailable.d.ts.map +0 -1
  189. package/lib/typescript/index.d.ts +0 -8
  190. package/lib/typescript/index.d.ts.map +0 -1
  191. package/lib/typescript/types/main.d.ts.map +0 -1
  192. package/lib/typescript/types/native.d.ts +0 -40
  193. package/lib/typescript/types/native.d.ts.map +0 -1
  194. package/lib/typescript/utils/CloudStorageError.d.ts +0 -8
  195. package/lib/typescript/utils/CloudStorageError.d.ts.map +0 -1
  196. package/src/google-drive/index.ts +0 -399
  197. package/src/utils/CloudStorageError.ts +0 -14
  198. /package/{lib → dist}/commonjs/expo-plugin/types/index.js +0 -0
  199. /package/{lib → dist}/commonjs/expo-plugin/types/index.js.map +0 -0
  200. /package/{lib/commonjs → dist/commonjs/storages}/google-drive/types.js +0 -0
  201. /package/{lib → dist}/commonjs/types/main.js +0 -0
  202. /package/{lib → dist}/commonjs/utils/helpers.js +0 -0
  203. /package/{lib → dist}/commonjs/utils/helpers.js.map +0 -0
  204. /package/{lib → dist}/module/expo-plugin/types/index.js +0 -0
  205. /package/{lib → dist}/module/expo-plugin/types/index.js.map +0 -0
  206. /package/{lib → dist}/module/package.json +0 -0
  207. /package/{lib/module → dist/module/storages}/google-drive/types.js +0 -0
  208. /package/{lib → dist}/module/types/main.js +0 -0
  209. /package/{lib → dist}/module/utils/helpers.js +0 -0
  210. /package/{lib → dist}/module/utils/helpers.js.map +0 -0
  211. /package/{lib → dist}/typescript/expo-plugin/types/index.d.ts +0 -0
  212. /package/{lib → dist}/typescript/expo-plugin/types/index.d.ts.map +0 -0
  213. /package/{lib/typescript → dist/typescript/storages}/google-drive/types.d.ts +0 -0
  214. /package/{lib → dist}/typescript/utils/helpers.d.ts +0 -0
  215. /package/src/expo-plugin/{withRNCloudStorageIos.ts → ios.ts} +0 -0
  216. /package/src/{google-drive → storages/google-drive}/types.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CloudStorageProvider","CloudStorageScope","NativeCloudStorageErrorCode","isProviderSupported","Platform","GoogleDrive","NativeCloudKit","NativeCloudKitModule","DEFAULT_PROVIDER_OPTIONS","LINKING_ERROR","CloudStorageError","RNCloudStorage","cloudAvailabilityListeners","cloudAvailabilitySubscription","constructor","provider","options","Error","getDefaultProvider","setProvider","setProviderOptions","nativeStorage","ICloud","Proxy","get","OS","getSupportedProviders","Object","values","filter","getProvider","notifyCloudAvailabilityListeners","available","listener","refreshCloudAvailability","isCloudAvailable","then","catch","getNativeCloudKitModule","removeCloudAvailabilitySubscription","remove","configureCloudAvailabilitySubscription","length","nativeCloudKitModule","onCloudAvailabilityChanged","event","getProviderOptions","newOptions","fromEntries","entries","_","v","undefined","accessToken","subscribeToCloudAvailability","push","unsubscribeFromCloudAvailability","l","resolveNativeScope","scope","resolvedScope","Documents","iCloudOptions","documentsMode","appendFile","path","data","appendToFile","exists","fileExists","writeFile","createFile","mkdir","createDirectory","readdir","listFiles","readFile","triggerSync","uploadFile","remotePath","localPath","mimeType","downloadFile","remotePathOrPath","localPathOrScope","includes","UNKNOWN","unlink","deleteFile","rmdir","deleteDirectory","recursive","stat","native","statFile","birthtime","Date","birthtimeMs","mtime","mtimeMs","isDirectory","isFile","getDefaultInstance","defaultInstance"],"sourceRoot":"../../src","sources":["cloud-storage.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ import withRNCloudStorageIos from './ios';
4
+ // Android config plugin not needed as there's nothing to configure.
5
+
6
+ const withRNCloudStorage = (config, options) => withRNCloudStorageIos(config, options);
7
+ export default withRNCloudStorage;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["withRNCloudStorageIos","withRNCloudStorage","config","options"],"sourceRoot":"../../../src","sources":["expo-plugin/index.ts"],"mappings":";;AACA,OAAOA,qBAAqB,MAAM,OAAO;AAGzC;;AAEA,MAAMC,kBAAmE,GAAGA,CAACC,MAAM,EAAEC,OAAO,KAC1FH,qBAAqB,CAACE,MAAM,EAAEC,OAAO,CAAC;AAExC,eAAeF,kBAAkB","ignoreList":[]}
@@ -30,4 +30,4 @@ const withRNCloudStorageEntitlementsPlist = (config, options) => withEntitlement
30
30
  });
31
31
  const withRNCloudStorageIos = (config, options) => withPlugins(config, [[withRNCloudStorageInfoPlist, options], [withRNCloudStorageEntitlementsPlist, options]]);
32
32
  export default withRNCloudStorageIos;
33
- //# sourceMappingURL=withRNCloudStorageIos.js.map
33
+ //# sourceMappingURL=ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["withEntitlementsPlist","withInfoPlist","withPlugins","getICloudContainerIdentifier","config","options","iCloudContainerIdentifier","ios","bundleIdentifier","Error","withRNCloudStorageInfoPlist","newConfig","infoPlist","modResults","NSUbiquitousContainers","NSUbiquitousContainerIsDocumentScopePublic","NSUbiquitousContainerSupportedFolderLevels","NSUbiquitousContainerName","slug","withRNCloudStorageEntitlementsPlist","entitlementsPlist","iCloudContainerEnvironment","withRNCloudStorageIos"],"sourceRoot":"../../../src","sources":["expo-plugin/ios.ts"],"mappings":";;AAAA,SAASA,qBAAqB,EAAEC,aAAa,EAAEC,WAAW,QAA2B,sBAAsB;AAI3G,MAAMC,4BAA4B,GAAGA,CAACC,MAAkB,EAAEC,OAA0C,KAAK;EACvG,IAAIA,OAAO,EAAEC,yBAAyB,EAAE,OAAOD,OAAO,CAACC,yBAAyB;EAEhF,IAAI,CAACF,MAAM,EAAEG,GAAG,EAAEC,gBAAgB,EAAE,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EACpF,OAAO,UAAUL,MAAM,CAACG,GAAG,CAACC,gBAAgB,EAAE;AAChD,CAAC;AAED,MAAME,2BAA4E,GAAGA,CAACN,MAAM,EAAEC,OAAO,KACnGJ,aAAa,CAACG,MAAM,EAAE,MAAOO,SAAS,IAAK;EACzC,MAAMC,SAAS,GAAGD,SAAS,CAACE,UAAU;EACtCD,SAAS,CAACE,sBAAsB,GAAG;IACjC,CAACX,4BAA4B,CAACC,MAAM,EAAEC,OAAO,CAAC,GAAG;MAC/CU,0CAA0C,EAAE,IAAI;MAChDC,0CAA0C,EAAE,KAAK;MACjDC,yBAAyB,EAAEb,MAAM,CAACc;IACpC;EACF,CAAC;EAED,OAAOP,SAAS;AAClB,CAAC,CAAC;AAEJ,MAAMQ,mCAAoF,GAAGA,CAACf,MAAM,EAAEC,OAAO,KAC3GL,qBAAqB,CAACI,MAAM,EAAE,MAAOO,SAAS,IAAK;EACjD,IAAI,CAACP,MAAM,CAACG,GAAG,EAAEC,gBAAgB,EAAE;IACjC,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;EAClD;EACA,MAAMW,iBAAiB,GAAGT,SAAS,CAACE,UAAU;EAC9CO,iBAAiB,CAAC,kDAAkD,CAAC,GAAG,CACtEjB,4BAA4B,CAACC,MAAM,EAAEC,OAAO,CAAC,CAC9C;EACDe,iBAAiB,CAAC,qCAAqC,CAAC,GAAG,CAAC,gBAAgB,CAAC;EAC7EA,iBAAiB,CAAC,kDAAkD,CAAC,GACnEf,OAAO,EAAEgB,0BAA0B,IAAI,YAAY;EACrDD,iBAAiB,CAAC,oDAAoD,CAAC,GAAG,CACxEjB,4BAA4B,CAACC,MAAM,EAAEC,OAAO,CAAC,CAC9C;EAED,OAAOM,SAAS;AAClB,CAAC,CAAC;AAEJ,MAAMW,qBAAsE,GAAGA,CAAClB,MAAM,EAAEC,OAAO,KAC7FH,WAAW,CAACE,MAAM,EAAE,CAClB,CAACM,2BAA2B,EAAEL,OAAO,CAAC,EACtC,CAACc,mCAAmC,EAAEd,OAAO,CAAC,CAC/C,CAAC;AAEJ,eAAeiB,qBAAqB","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import RNCloudStorage from '../RNCloudStorage';
3
+ import RNCloudStorage from '../cloud-storage';
4
4
  import { useCallback, useEffect, useState } from 'react';
5
5
 
6
6
  /**
@@ -32,19 +32,37 @@ export const useCloudFile = (path, scope, cloudStorageInstance) => {
32
32
  await instance.unlink(path, scope);
33
33
  setContent(null);
34
34
  }, [path, scope, instance]);
35
- const download = useCallback(async () => {
36
- await instance.downloadFile(path, scope);
35
+ const sync = useCallback(async () => {
36
+ await instance.triggerSync(path, scope);
37
37
  }, [path, scope, instance]);
38
38
  return {
39
+ /**
40
+ * The content of the file.
41
+ */
39
42
  content,
43
+ /**
44
+ * Reads the file from the cloud.
45
+ */
40
46
  read,
47
+ /**
48
+ * Writes new content to the file.
49
+ */
41
50
  write,
51
+ /**
52
+ * Deletes the file.
53
+ */
42
54
  remove,
43
55
  /**
44
- * Downloads the file from iCloud to the device. Needed if the file hasn't been synced yet. Has no effect on
45
- * Google Drive.
56
+ * Triggers synchronization for the file. Needed if the file hasn't been synced yet from iCloud.
57
+ * Has no effect on Google Drive.
58
+ */
59
+ sync,
60
+ /**
61
+ * Triggers synchronization for the file. Needed if the file hasn't been synced yet from iCloud.
62
+ * Has no effect on Google Drive.
63
+ * @deprecated Use `sync` instead.
46
64
  */
47
- download
65
+ download: sync
48
66
  };
49
67
  };
50
- //# sourceMappingURL=useCloudFile.js.map
68
+ //# sourceMappingURL=use-cloud-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNCloudStorage","useCallback","useEffect","useState","useCloudFile","path","scope","cloudStorageInstance","content","setContent","instance","read","exists","readFile","then","write","newContent","writeFile","remove","unlink","sync","triggerSync","download"],"sourceRoot":"../../../src","sources":["hooks/use-cloud-file.ts"],"mappings":";;AACA,OAAOA,cAAc,MAAM,kBAAkB;AAC7C,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGA,CAACC,IAAY,EAAEC,KAAyB,EAAEC,oBAAqC,KAAK;EAC9G,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGN,QAAQ,CAAgB,IAAI,CAAC;EAC3D,MAAMO,QAAQ,GAAGH,oBAAoB,IAAIP,cAAc;EAEvD,MAAMW,IAAI,GAAGV,WAAW,CAAC,YAAY;IACnC,MAAMW,MAAM,GAAG,MAAMF,QAAQ,CAACE,MAAM,CAACP,IAAI,EAAEC,KAAK,CAAC;IACjD,IAAI,CAACM,MAAM,EAAE;MACXH,UAAU,CAAC,IAAI,CAAC;MAChB;IACF;IACAC,QAAQ,CAACG,QAAQ,CAACR,IAAI,EAAEC,KAAK,CAAC,CAACQ,IAAI,CAACL,UAAU,CAAC;EACjD,CAAC,EAAE,CAACJ,IAAI,EAAEC,KAAK,EAAEI,QAAQ,CAAC,CAAC;EAE3BR,SAAS,CAAC,MAAM;IACdS,IAAI,CAAC,CAAC;EACR,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMI,KAAK,GAAGd,WAAW,CACvB,MAAOe,UAAkB,IAAK;IAC5B,MAAMN,QAAQ,CAACO,SAAS,CAACZ,IAAI,EAAEW,UAAU,EAAEV,KAAK,CAAC;IACjDK,IAAI,CAAC,CAAC;EACR,CAAC,EACD,CAACN,IAAI,EAAEC,KAAK,EAAEK,IAAI,EAAED,QAAQ,CAC9B,CAAC;EAED,MAAMQ,MAAM,GAAGjB,WAAW,CAAC,YAAY;IACrC,MAAMS,QAAQ,CAACS,MAAM,CAACd,IAAI,EAAEC,KAAK,CAAC;IAClCG,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACJ,IAAI,EAAEC,KAAK,EAAEI,QAAQ,CAAC,CAAC;EAE3B,MAAMU,IAAI,GAAGnB,WAAW,CAAC,YAAY;IACnC,MAAMS,QAAQ,CAACW,WAAW,CAAChB,IAAI,EAAEC,KAAK,CAAC;EACzC,CAAC,EAAE,CAACD,IAAI,EAAEC,KAAK,EAAEI,QAAQ,CAAC,CAAC;EAE3B,OAAO;IACL;AACJ;AACA;IACIF,OAAO;IACP;AACJ;AACA;IACIG,IAAI;IACJ;AACJ;AACA;IACII,KAAK;IACL;AACJ;AACA;IACIG,MAAM;IACN;AACJ;AACA;AACA;IACIE,IAAI;IACJ;AACJ;AACA;AACA;AACA;IACIE,QAAQ,EAAEF;EACZ,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { useCallback, useEffect, useState } from 'react';
4
- import RNCloudStorage from '../RNCloudStorage';
4
+ import RNCloudStorage from '../cloud-storage';
5
5
 
6
6
  /**
7
7
  * A hook that tests whether or not the cloud storage is available.
@@ -26,4 +26,4 @@ export const useIsCloudAvailable = cloudStorageInstance => {
26
26
  }, [instance, handleAvailabilityChange]);
27
27
  return isAvailable;
28
28
  };
29
- //# sourceMappingURL=useIsCloudAvailable.js.map
29
+ //# sourceMappingURL=use-is-cloud-available.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useState","RNCloudStorage","useIsCloudAvailable","cloudStorageInstance","isAvailable","setIsAvailable","instance","getDefaultInstance","handleAvailabilityChange","available","isCloudAvailable","then","subscribeToCloudAvailability","unsubscribeFromCloudAvailability"],"sourceRoot":"../../../src","sources":["hooks/use-is-cloud-available.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,OAAOC,cAAc,MAAM,kBAAkB;;AAE7C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAIC,oBAAqC,IAAK;EAC5E,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGL,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAMM,QAAQ,GAAGH,oBAAoB,IAAIF,cAAc,CAACM,kBAAkB,CAAC,CAAC;EAE5E,MAAMC,wBAAwB,GAAGV,WAAW,CAAEW,SAAkB,IAAK;IACnEJ,cAAc,CAACI,SAAS,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAENV,SAAS,CAAC,MAAM;IACd;IACAO,QAAQ,CAACI,gBAAgB,CAAC,CAAC,CAACC,IAAI,CAACN,cAAc,CAAC;;IAEhD;IACAC,QAAQ,CAACM,4BAA4B,CAACJ,wBAAwB,CAAC;IAE/D,OAAO,MAAM;MACXF,QAAQ,CAACO,gCAAgC,CAACL,wBAAwB,CAAC;IACrE,CAAC;EACH,CAAC,EAAE,CAACF,QAAQ,EAAEE,wBAAwB,CAAC,CAAC;EAExC,OAAOJ,WAAW;AACpB,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export * from './types/main';
4
+ export * from './hooks/use-cloud-file';
5
+ export * from './hooks/use-is-cloud-available';
6
+ export { NativeCloudStorageErrorCode as CloudStorageErrorCode } from './types/native';
7
+ export { default as CloudStorageError } from './utils/cloud-storage-error';
8
+ export { default as CloudStorage } from './cloud-storage';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeCloudStorageErrorCode","CloudStorageErrorCode","default","CloudStorageError","CloudStorage"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,cAAc;AAC5B,cAAc,wBAAwB;AACtC,cAAc,gCAAgC;AAE9C,SAASA,2BAA2B,IAAIC,qBAAqB,QAAQ,gBAAgB;AACrF,SAASC,OAAO,IAAIC,iBAAiB,QAAQ,6BAA6B;AAC1E,SAASD,OAAO,IAAIE,YAAY,QAAQ,iBAAiB","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.get('CloudStorageCloudKit');
5
+ //# sourceMappingURL=NativeCloudStorageCloudKitIOS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeCloudStorageCloudKitIOS.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA+BlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,sBAAsB,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.get('CloudStorageLocalFileSystem');
5
+ //# sourceMappingURL=NativeCloudStorageLocalFileSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeCloudStorageLocalFileSystem.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA0BlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,6BAA6B,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ import NativeCloudStorageCloudKitIOS from '../specs/NativeCloudStorageCloudKitIOS';
4
+ import { createProxiedNativeModule } from '../utils/native';
5
+ export const NativeCloudKitModule = NativeCloudStorageCloudKitIOS;
6
+ export const NativeCloudKit = createProxiedNativeModule(NativeCloudStorageCloudKitIOS);
7
+ //# sourceMappingURL=cloudkit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeCloudStorageCloudKitIOS","createProxiedNativeModule","NativeCloudKitModule","NativeCloudKit"],"sourceRoot":"../../../src","sources":["storages/cloudkit.ts"],"mappings":";;AAAA,OAAOA,6BAA6B,MAE7B,wCAAwC;AAE/C,SAASC,yBAAyB,QAAQ,iBAAiB;AAE3D,OAAO,MAAMC,oBAAoB,GAAGF,6BAA6B;AAEjE,OAAO,MAAMG,cAAc,GAAGF,yBAAyB,CACrDD,6BACF,CAAC","ignoreList":[]}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  import { MimeTypes } from './types';
4
+ import { localFileSystem } from '../../utils/local-fs';
4
5
  const BASE_URL = 'https://www.googleapis.com/drive/v3';
5
6
  const BASE_UPLOAD_URL = 'https://www.googleapis.com/upload/drive/v3';
6
7
  const MULTIPART_BOUNDARY = 'foo_bar_baz';
7
8
  export class GoogleDriveHttpError extends Error {
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+
8
11
  constructor(message, status, json) {
9
12
  super(message);
10
13
  this.status = status;
@@ -12,21 +15,21 @@ export class GoogleDriveHttpError extends Error {
12
15
  }
13
16
  }
14
17
 
15
- // TODO: fetch timeout
16
18
  // TODO: properly handle errors
17
19
  export default class GoogleDriveApiClient {
20
+ _fetchTimeout = null;
18
21
  constructor(options) {
19
22
  this.options = options;
20
23
  }
21
24
  buildQueryString(query) {
22
- let res = Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => {
25
+ let result = Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => {
23
26
  if (typeof value === 'boolean') return `${encodeURIComponent(key)}=${value ? 'true' : 'false'}`;
24
27
  return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
25
28
  }).join('&');
26
- if (res) {
27
- res = `?${res}`;
29
+ if (result) {
30
+ result = `?${result}`;
28
31
  }
29
- return res;
32
+ return result;
30
33
  }
31
34
  async request(operation, {
32
35
  queryParameters,
@@ -41,7 +44,7 @@ export default class GoogleDriveApiClient {
41
44
  if (queryParameters) {
42
45
  path += this.buildQueryString(queryParameters);
43
46
  }
44
- clearTimeout(this._fetchTimeout);
47
+ if (this._fetchTimeout !== null) clearTimeout(this._fetchTimeout);
45
48
  const abortController = new AbortController();
46
49
  this._fetchTimeout = setTimeout(() => {
47
50
  abortController.abort();
@@ -59,8 +62,8 @@ export default class GoogleDriveApiClient {
59
62
  let json = null;
60
63
  try {
61
64
  json = await response.json();
62
- errorMessage = json.error?.message ?? `Request failed with status ${response.status}`;
63
- } catch (e) {
65
+ errorMessage = typeof json === 'object' && json !== null && 'error' in json && typeof json.error === 'object' && json.error !== null && 'message' in json.error && typeof json.error.message === 'string' ? json.error.message : `Request failed with status ${response.status}`;
66
+ } catch {
64
67
  errorMessage = `Request failed with status ${response.status}`;
65
68
  }
66
69
  throw new GoogleDriveHttpError(errorMessage, response.status, json);
@@ -75,16 +78,10 @@ export default class GoogleDriveApiClient {
75
78
  }
76
79
  buildMultiPartBody(metadata, media) {
77
80
  const body = [];
78
- body.push(`--${MULTIPART_BOUNDARY}\r\n`);
79
- body.push(`Content-Type: ${MimeTypes.JSON}; charset=UTF-8\r\n\r\n`);
80
- body.push(`${JSON.stringify(metadata)}\r\n`);
81
- body.push(`--${MULTIPART_BOUNDARY}\r\n`);
82
- body.push(`Content-Type: ${media.mimeType}\r\n\r\n`);
83
- body.push(`${media.body}\r\n`);
84
- body.push(`--${MULTIPART_BOUNDARY}--`);
81
+ body.push(`--${MULTIPART_BOUNDARY}\r\n`, `Content-Type: ${MimeTypes.JSON}; charset=UTF-8\r\n\r\n`, `${JSON.stringify(metadata)}\r\n`, `--${MULTIPART_BOUNDARY}\r\n`, `Content-Type: ${media.mimeType}\r\n\r\n`, `${media.body}\r\n`, `--${MULTIPART_BOUNDARY}--`);
85
82
  return body.join('');
86
83
  }
87
- async listFiles(space) {
84
+ async listFiles(space, query) {
88
85
  const files = [];
89
86
  let pageToken;
90
87
  const fields = ['id', 'kind', 'mimeType', 'name', 'parents', 'spaces', 'size', 'createdTime', 'modifiedTime'];
@@ -92,7 +89,8 @@ export default class GoogleDriveApiClient {
92
89
  const queryParameters = {
93
90
  fields: `files(${fields.join(',')}),nextPageToken`,
94
91
  spaces: space,
95
- pageToken
92
+ pageToken,
93
+ q: query
96
94
  };
97
95
  const response = await this.request(`/files`, {
98
96
  queryParameters
@@ -126,19 +124,44 @@ export default class GoogleDriveApiClient {
126
124
  });
127
125
  }
128
126
  async createFile(metadata, media) {
129
- const multipartRequestBody = this.buildMultiPartBody(metadata, media);
130
- await this.request(`/files`, {
131
- queryParameters: {
132
- uploadType: 'multipart'
133
- },
134
- method: 'POST',
135
- headers: {
136
- 'Content-Type': `multipart/related; boundary=${MULTIPART_BOUNDARY}`,
137
- 'Content-Length': multipartRequestBody.length.toString()
138
- },
139
- body: multipartRequestBody,
140
- baseUrl: BASE_UPLOAD_URL
141
- });
127
+ if ('body' in media) {
128
+ const multipartRequestBody = this.buildMultiPartBody(metadata, media);
129
+ await this.request(`/files`, {
130
+ queryParameters: {
131
+ uploadType: 'multipart'
132
+ },
133
+ method: 'POST',
134
+ headers: {
135
+ 'Content-Type': `multipart/related; boundary=${MULTIPART_BOUNDARY}`,
136
+ 'Content-Length': multipartRequestBody.length.toString()
137
+ },
138
+ body: multipartRequestBody,
139
+ baseUrl: BASE_UPLOAD_URL
140
+ });
141
+ } else {
142
+ // First, create an empty file with the required metadata
143
+ const file = await this.request(`/files`, {
144
+ method: 'POST',
145
+ headers: {
146
+ 'Content-Type': MimeTypes.JSON
147
+ },
148
+ body: JSON.stringify({
149
+ ...metadata,
150
+ mimeType: media.mimeType
151
+ })
152
+ });
153
+
154
+ // Then, upload the binary content via the native helper module
155
+ const remoteUri = `${BASE_UPLOAD_URL}/files/${file.id}?uploadType=media`;
156
+ await localFileSystem.uploadFile(media.localPath, remoteUri, {
157
+ method: 'PATCH',
158
+ uploadType: 'binary',
159
+ headers: {
160
+ 'Authorization': `Bearer ${this.options.accessToken}`,
161
+ 'Content-Type': media.mimeType
162
+ }
163
+ });
164
+ }
142
165
  }
143
166
  async createDirectory(metadata) {
144
167
  await this.request(`/files`, {
@@ -153,17 +176,37 @@ export default class GoogleDriveApiClient {
153
176
  });
154
177
  }
155
178
  async updateFile(fileId, media) {
156
- await this.request(`/files/${fileId}`, {
157
- queryParameters: {
158
- uploadType: 'media'
159
- },
160
- method: 'PATCH',
179
+ if ('body' in media) {
180
+ await this.request(`/files/${fileId}`, {
181
+ queryParameters: {
182
+ uploadType: 'media'
183
+ },
184
+ method: 'PATCH',
185
+ headers: {
186
+ 'Content-Type': media.mimeType,
187
+ 'Content-Length': media.body.length.toString()
188
+ },
189
+ body: media.body,
190
+ baseUrl: BASE_UPLOAD_URL
191
+ });
192
+ } else {
193
+ const remoteUri = `${BASE_UPLOAD_URL}/files/${fileId}?uploadType=media`;
194
+ await localFileSystem.uploadFile(media.localPath, remoteUri, {
195
+ method: 'PATCH',
196
+ uploadType: 'binary',
197
+ headers: {
198
+ 'Authorization': `Bearer ${this.options.accessToken}`,
199
+ 'Content-Type': media.mimeType
200
+ }
201
+ });
202
+ }
203
+ }
204
+ async downloadFile(fileId, localPath) {
205
+ const remoteUri = `${BASE_URL}/files/${fileId}?alt=media`;
206
+ await localFileSystem.downloadFile(remoteUri, localPath, {
161
207
  headers: {
162
- 'Content-Type': media.mimeType,
163
- 'Content-Length': media.body.length.toString()
164
- },
165
- body: media.body,
166
- baseUrl: BASE_UPLOAD_URL
208
+ Authorization: `Bearer ${this.options.accessToken}`
209
+ }
167
210
  });
168
211
  }
169
212
  }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MimeTypes","localFileSystem","BASE_URL","BASE_UPLOAD_URL","MULTIPART_BOUNDARY","GoogleDriveHttpError","Error","constructor","message","status","json","GoogleDriveApiClient","_fetchTimeout","options","buildQueryString","query","result","Object","entries","filter","value","undefined","map","key","encodeURIComponent","join","request","operation","queryParameters","baseUrl","timeout","accessToken","path","clearTimeout","abortController","AbortController","setTimeout","abort","response","fetch","headers","Authorization","signal","ok","errorMessage","error","Accept","text","buildMultiPartBody","metadata","media","body","push","JSON","stringify","mimeType","listFiles","space","files","pageToken","fields","spaces","q","nextPageToken","getFile","fileId","getFileText","alt","deleteFile","method","createFile","multipartRequestBody","uploadType","length","toString","file","remoteUri","id","uploadFile","localPath","createDirectory","FOLDER","updateFile","downloadFile"],"sourceRoot":"../../../../src","sources":["storages/google-drive/client.ts"],"mappings":";;AACA,SACEA,SAAS,QAKJ,SAAS;AAChB,SAASC,eAAe,QAAQ,sBAAsB;AAEtD,MAAMC,QAAQ,GAAG,qCAAqC;AACtD,MAAMC,eAAe,GAAG,4CAA4C;AACpE,MAAMC,kBAAkB,GAAG,aAAa;AAExC,OAAO,MAAMC,oBAAoB,SAASC,KAAK,CAAC;EAE9C;;EAGAC,WAAWA,CAACC,OAAe,EAAEC,MAAc,EAAEC,IAAa,EAAE;IAC1D,KAAK,CAACF,OAAO,CAAC;IACd,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,IAAI,GAAGA,IAAI;EAClB;AACF;;AAEA;AACA,eAAe,MAAMC,oBAAoB,CAAC;EAChCC,aAAa,GAA0B,IAAI;EAGnDL,WAAWA,CAACM,OAAiE,EAAE;IAC7E,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAEQC,gBAAgBA,CAACC,KAAa,EAAU;IAC9C,IAAIC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAACH,KAAK,CAAC,CAC/BI,MAAM,CAAC,CAAC,GAAGC,KAAK,CAAC,KAAKA,KAAK,KAAKC,SAAS,CAAC,CAC1CC,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEH,KAAK,CAAC,KAAK;MACrB,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE,OAAO,GAAGI,kBAAkB,CAACD,GAAG,CAAC,IAAIH,KAAK,GAAG,MAAM,GAAG,OAAO,EAAE;MAC/F,OAAO,GAAGI,kBAAkB,CAACD,GAAG,CAAC,IAAIC,kBAAkB,CAACJ,KAAM,CAAC,EAAE;IACnE,CAAC,CAAC,CACDK,IAAI,CAAC,GAAG,CAAC;IAEZ,IAAIT,MAAM,EAAE;MACVA,MAAM,GAAG,IAAIA,MAAM,EAAE;IACvB;IACA,OAAOA,MAAM;EACf;EAEA,MAAcU,OAAOA,CACnBC,SAAuB,EACvB;IAAEC,eAAe;IAAEC,OAAO;IAAE,GAAGhB;EAAsE,CAAC,GAAG,CAAC,CAAC,EAC/F;IACZ,MAAM;MAAEiB,OAAO;MAAEC;IAAY,CAAC,GAAG,IAAI,CAAClB,OAAO;IAE7C,IAAImB,IAAI,GAAG,GAAGH,OAAO,IAAI3B,QAAQ,GAAGyB,SAAS,EAAE;IAC/C,IAAIC,eAAe,EAAE;MACnBI,IAAI,IAAI,IAAI,CAAClB,gBAAgB,CAACc,eAAe,CAAC;IAChD;IACA,IAAI,IAAI,CAAChB,aAAa,KAAK,IAAI,EAAEqB,YAAY,CAAC,IAAI,CAACrB,aAAa,CAAC;IACjE,MAAMsB,eAAgC,GAAG,IAAIC,eAAe,CAAC,CAAC;IAC9D,IAAI,CAACvB,aAAa,GAAGwB,UAAU,CAAC,MAAM;MACpCF,eAAe,CAACG,KAAK,CAAC,CAAC;IACzB,CAAC,EAAEP,OAAO,CAAC;IACX,MAAMQ,QAAQ,GAAG,MAAMC,KAAK,CAACP,IAAI,EAAE;MACjC,GAAGnB,OAAO;MACV2B,OAAO,EAAE;QACP,GAAG3B,OAAO,CAAC2B,OAAO;QAClBC,aAAa,EAAE,UAAUV,WAAW;MACtC,CAAC;MACDW,MAAM,EAAER,eAAe,CAACQ;IAC1B,CAAC,CAAC;IACF,IAAI,CAACJ,QAAQ,CAACK,EAAE,EAAE;MAChB,IAAIC,YAAoB;MACxB,IAAIlC,IAAa,GAAG,IAAI;MACxB,IAAI;QACFA,IAAI,GAAG,MAAM4B,QAAQ,CAAC5B,IAAI,CAAC,CAAC;QAC5BkC,YAAY,GACV,OAAOlC,IAAI,KAAK,QAAQ,IACxBA,IAAI,KAAK,IAAI,IACb,OAAO,IAAIA,IAAI,IACf,OAAOA,IAAI,CAACmC,KAAK,KAAK,QAAQ,IAC9BnC,IAAI,CAACmC,KAAK,KAAK,IAAI,IACnB,SAAS,IAAInC,IAAI,CAACmC,KAAK,IACvB,OAAOnC,IAAI,CAACmC,KAAK,CAACrC,OAAO,KAAK,QAAQ,GAClCE,IAAI,CAACmC,KAAK,CAACrC,OAAO,GAClB,8BAA8B8B,QAAQ,CAAC7B,MAAM,EAAE;MACvD,CAAC,CAAC,MAAM;QACNmC,YAAY,GAAG,8BAA8BN,QAAQ,CAAC7B,MAAM,EAAE;MAChE;MACA,MAAM,IAAIJ,oBAAoB,CAACuC,YAAY,EAAEN,QAAQ,CAAC7B,MAAM,EAAEC,IAAI,CAAC;IACrE;IAEA,IAAI4B,QAAQ,CAAC7B,MAAM,KAAK,GAAG,EAAE;MAC3B,OAAOY,SAAS;IAClB;IACA,IAAIR,OAAO,EAAE2B,OAAO,IAAI,QAAQ,IAAI3B,OAAO,CAAC2B,OAAO,IAAI3B,OAAO,CAAC2B,OAAO,CAACM,MAAM,KAAK,kBAAkB,EAAE;MACpG,OAAOR,QAAQ,CAACS,IAAI,CAAC,CAAC;IACxB;IACA,OAAOT,QAAQ,CAAC5B,IAAI,CAAC,CAAC;EACxB;EAEQsC,kBAAkBA,CAACC,QAAgB,EAAEC,KAAyC,EAAU;IAC9F,MAAMC,IAAc,GAAG,EAAE;IACzBA,IAAI,CAACC,IAAI,CACP,KAAKhD,kBAAkB,MAAM,EAC7B,iBAAiBJ,SAAS,CAACqD,IAAI,yBAAyB,EACxD,GAAGA,IAAI,CAACC,SAAS,CAACL,QAAQ,CAAC,MAAM,EACjC,KAAK7C,kBAAkB,MAAM,EAC7B,iBAAiB8C,KAAK,CAACK,QAAQ,UAAU,EACzC,GAAGL,KAAK,CAACC,IAAI,MAAM,EACnB,KAAK/C,kBAAkB,IACzB,CAAC;IAED,OAAO+C,IAAI,CAAC1B,IAAI,CAAC,EAAE,CAAC;EACtB;EAEA,MAAa+B,SAASA,CAACC,KAA2B,EAAE1C,KAAc,EAA8B;IAC9F,MAAM2C,KAAwB,GAAG,EAAE;IACnC,IAAIC,SAA6B;IACjC,MAAMC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC;IAC7G,GAAG;MACD,MAAMhC,eAAwD,GAAG;QAC/DgC,MAAM,EAAE,SAASA,MAAM,CAACnC,IAAI,CAAC,GAAG,CAAC,iBAAiB;QAClDoC,MAAM,EAAEJ,KAAK;QACbE,SAAS;QACTG,CAAC,EAAE/C;MACL,CAAC;MACD,MAAMuB,QAAQ,GAAG,MAAM,IAAI,CAACZ,OAAO,CAAmC,QAAQ,EAAE;QAC9EE;MACF,CAAC,CAAC;MAEF8B,KAAK,CAACN,IAAI,CAAC,GAAGd,QAAQ,CAACoB,KAAK,CAAC;MAC7BC,SAAS,GAAGrB,QAAQ,CAACyB,aAAa,IAAI1C,SAAS;IACjD,CAAC,QAAQsC,SAAS;IAElB,OAAOD,KAAK;EACd;EAEA,MAAaM,OAAOA,CAACC,MAAc,EAA4B;IAC7D,MAAMrC,eAAwD,GAAG;MAC/DgC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAACnC,IAAI,CAAC,GAAG;IACjH,CAAC;IACD,OAAO,IAAI,CAACC,OAAO,CAAkB,UAAUuC,MAAM,EAAE,EAAE;MACvDrC;IACF,CAAC,CAAC;EACJ;EAEA,MAAasC,WAAWA,CAACD,MAAc,EAAmB;IACxD,OAAO,IAAI,CAACvC,OAAO,CAAS,UAAUuC,MAAM,EAAE,EAAE;MAC9CrC,eAAe,EAAE;QAAEuC,GAAG,EAAE;MAAQ,CAAC;MACjC3B,OAAO,EAAE;QAAEM,MAAM,EAAE;MAAa;IAClC,CAAC,CAAC;EACJ;EAEA,MAAasB,UAAUA,CAACH,MAAc,EAAiB;IACrD,OAAO,IAAI,CAACvC,OAAO,CAAC,UAAUuC,MAAM,EAAE,EAAE;MACtCI,MAAM,EAAE;IACV,CAAC,CAAC;EACJ;EAEA,MAAaC,UAAUA,CACrBrB,QAA8C,EAC9CC,KAAmF,EACpE;IACf,IAAI,MAAM,IAAIA,KAAK,EAAE;MACnB,MAAMqB,oBAAoB,GAAG,IAAI,CAACvB,kBAAkB,CAACC,QAAQ,EAAEC,KAAK,CAAC;MAErE,MAAM,IAAI,CAACxB,OAAO,CAAC,QAAQ,EAAE;QAC3BE,eAAe,EAAE;UAAE4C,UAAU,EAAE;QAAY,CAAC;QAC5CH,MAAM,EAAE,MAAM;QACd7B,OAAO,EAAE;UACP,cAAc,EAAE,+BAA+BpC,kBAAkB,EAAE;UACnE,gBAAgB,EAAEmE,oBAAoB,CAACE,MAAM,CAACC,QAAQ,CAAC;QACzD,CAAC;QACDvB,IAAI,EAAEoB,oBAAoB;QAC1B1C,OAAO,EAAE1B;MACX,CAAC,CAAC;IACJ,CAAC,MAAM;MACL;MACA,MAAMwE,IAAI,GAAG,MAAM,IAAI,CAACjD,OAAO,CAAiB,QAAQ,EAAE;QACxD2C,MAAM,EAAE,MAAM;QACd7B,OAAO,EAAE;UACP,cAAc,EAAExC,SAAS,CAACqD;QAC5B,CAAC;QACDF,IAAI,EAAEE,IAAI,CAACC,SAAS,CAAC;UAAE,GAAGL,QAAQ;UAAEM,QAAQ,EAAEL,KAAK,CAACK;QAAS,CAAC;MAChE,CAAC,CAAC;;MAEF;MACA,MAAMqB,SAAS,GAAG,GAAGzE,eAAe,UAAUwE,IAAI,CAACE,EAAE,mBAAmB;MACxE,MAAM5E,eAAe,CAAC6E,UAAU,CAAC5B,KAAK,CAAC6B,SAAS,EAAEH,SAAS,EAAE;QAC3DP,MAAM,EAAE,OAAO;QACfG,UAAU,EAAE,QAAQ;QACpBhC,OAAO,EAAE;UACP,eAAe,EAAE,UAAU,IAAI,CAAC3B,OAAO,CAACkB,WAAW,EAAE;UACrD,cAAc,EAAEmB,KAAK,CAACK;QACxB;MACF,CAAC,CAAC;IACJ;EACF;EAEA,MAAayB,eAAeA,CAAC/B,QAA8C,EAAiB;IAC1F,MAAM,IAAI,CAACvB,OAAO,CAAC,QAAQ,EAAE;MAC3B2C,MAAM,EAAE,MAAM;MACd7B,OAAO,EAAE;QACP,cAAc,EAAE;MAClB,CAAC;MACDW,IAAI,EAAEE,IAAI,CAACC,SAAS,CAAC;QAAE,GAAGL,QAAQ;QAAEM,QAAQ,EAAEvD,SAAS,CAACiF;MAAO,CAAC;IAClE,CAAC,CAAC;EACJ;EAEA,MAAaC,UAAUA,CACrBjB,MAAc,EACdf,KAAmF,EACpE;IACf,IAAI,MAAM,IAAIA,KAAK,EAAE;MACnB,MAAM,IAAI,CAACxB,OAAO,CAAC,UAAUuC,MAAM,EAAE,EAAE;QACrCrC,eAAe,EAAE;UAAE4C,UAAU,EAAE;QAAQ,CAAC;QACxCH,MAAM,EAAE,OAAO;QACf7B,OAAO,EAAE;UACP,cAAc,EAAEU,KAAK,CAACK,QAAQ;UAC9B,gBAAgB,EAAEL,KAAK,CAACC,IAAI,CAACsB,MAAM,CAACC,QAAQ,CAAC;QAC/C,CAAC;QACDvB,IAAI,EAAED,KAAK,CAACC,IAAI;QAChBtB,OAAO,EAAE1B;MACX,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMyE,SAAS,GAAG,GAAGzE,eAAe,UAAU8D,MAAM,mBAAmB;MACvE,MAAMhE,eAAe,CAAC6E,UAAU,CAAC5B,KAAK,CAAC6B,SAAS,EAAEH,SAAS,EAAE;QAC3DP,MAAM,EAAE,OAAO;QACfG,UAAU,EAAE,QAAQ;QACpBhC,OAAO,EAAE;UACP,eAAe,EAAE,UAAU,IAAI,CAAC3B,OAAO,CAACkB,WAAW,EAAE;UACrD,cAAc,EAAEmB,KAAK,CAACK;QACxB;MACF,CAAC,CAAC;IACJ;EACF;EAEA,MAAa4B,YAAYA,CAAClB,MAAc,EAAEc,SAAiB,EAAiB;IAC1E,MAAMH,SAAS,GAAG,GAAG1E,QAAQ,UAAU+D,MAAM,YAAY;IACzD,MAAMhE,eAAe,CAACkF,YAAY,CAACP,SAAS,EAAEG,SAAS,EAAE;MACvDvC,OAAO,EAAE;QACPC,aAAa,EAAE,UAAU,IAAI,CAAC5B,OAAO,CAACkB,WAAW;MACnD;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}