@protontech/drive-sdk 0.1.0 → 0.1.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 (447) hide show
  1. package/dist/cache/memoryCache.js +0 -1
  2. package/dist/cache/memoryCache.js.map +1 -1
  3. package/dist/cache/memoryCache.test.js +2 -4
  4. package/dist/cache/memoryCache.test.js.map +1 -1
  5. package/dist/cache/nullCache.js +0 -1
  6. package/dist/cache/nullCache.js.map +1 -1
  7. package/dist/crypto/driveCrypto.d.ts +2 -5
  8. package/dist/crypto/driveCrypto.js +7 -12
  9. package/dist/crypto/driveCrypto.js.map +1 -1
  10. package/dist/crypto/driveCrypto.test.js +14 -14
  11. package/dist/crypto/openPGPCrypto.js +3 -3
  12. package/dist/crypto/openPGPCrypto.js.map +1 -1
  13. package/dist/diagnostic/eventsGenerator.js +1 -1
  14. package/dist/diagnostic/eventsGenerator.js.map +1 -1
  15. package/dist/diagnostic/httpClient.d.ts +1 -1
  16. package/dist/diagnostic/httpClient.js.map +1 -1
  17. package/dist/diagnostic/index.d.ts +3 -3
  18. package/dist/diagnostic/index.js.map +1 -1
  19. package/dist/diagnostic/integrityVerificationStream.js +1 -1
  20. package/dist/diagnostic/integrityVerificationStream.js.map +1 -1
  21. package/dist/diagnostic/interface.d.ts +2 -2
  22. package/dist/diagnostic/sdkDiagnostic.d.ts +3 -3
  23. package/dist/diagnostic/sdkDiagnostic.js +8 -2
  24. package/dist/diagnostic/sdkDiagnostic.js.map +1 -1
  25. package/dist/diagnostic/sdkDiagnosticFull.d.ts +4 -4
  26. package/dist/diagnostic/sdkDiagnosticFull.js.map +1 -1
  27. package/dist/diagnostic/telemetry.js.map +1 -1
  28. package/dist/diagnostic/zipGenerators.js +2 -2
  29. package/dist/diagnostic/zipGenerators.js.map +1 -1
  30. package/dist/diagnostic/zipGenerators.test.js +1 -1
  31. package/dist/diagnostic/zipGenerators.test.js.map +1 -1
  32. package/dist/interface/events.d.ts +2 -4
  33. package/dist/interface/events.js.map +1 -1
  34. package/dist/interface/index.d.ts +5 -5
  35. package/dist/interface/index.js +0 -1
  36. package/dist/interface/index.js.map +1 -1
  37. package/dist/interface/result.js.map +1 -1
  38. package/dist/interface/sharing.d.ts +1 -0
  39. package/dist/interface/sharing.js.map +1 -1
  40. package/dist/interface/telemetry.js +0 -8
  41. package/dist/interface/telemetry.js.map +1 -1
  42. package/dist/interface/thumbnail.js.map +1 -1
  43. package/dist/interface/upload.d.ts +1 -1
  44. package/dist/internal/apiService/apiService.d.ts +1 -1
  45. package/dist/internal/apiService/apiService.js +7 -11
  46. package/dist/internal/apiService/apiService.js.map +1 -1
  47. package/dist/internal/apiService/apiService.test.js +55 -48
  48. package/dist/internal/apiService/apiService.test.js.map +1 -1
  49. package/dist/internal/apiService/coreTypes.d.ts +2356 -2356
  50. package/dist/internal/apiService/driveTypes.d.ts +1680 -1680
  51. package/dist/internal/apiService/errors.js +14 -8
  52. package/dist/internal/apiService/errors.js.map +1 -1
  53. package/dist/internal/apiService/errors.test.js +17 -12
  54. package/dist/internal/apiService/errors.test.js.map +1 -1
  55. package/dist/internal/apiService/transformers.d.ts +1 -1
  56. package/dist/internal/apiService/transformers.js +1 -1
  57. package/dist/internal/asyncIteratorMap.test.js +2 -2
  58. package/dist/internal/asyncIteratorMap.test.js.map +1 -1
  59. package/dist/internal/asyncIteratorRace.d.ts +13 -0
  60. package/dist/internal/asyncIteratorRace.js +59 -0
  61. package/dist/internal/asyncIteratorRace.js.map +1 -0
  62. package/dist/internal/asyncIteratorRace.test.d.ts +1 -0
  63. package/dist/internal/asyncIteratorRace.test.js +119 -0
  64. package/dist/internal/asyncIteratorRace.test.js.map +1 -0
  65. package/dist/internal/batch.d.ts +1 -0
  66. package/dist/internal/batch.js +12 -0
  67. package/dist/internal/batch.js.map +1 -0
  68. package/dist/internal/batch.test.d.ts +1 -0
  69. package/dist/internal/batch.test.js +41 -0
  70. package/dist/internal/batch.test.js.map +1 -0
  71. package/dist/internal/batchLoading.js.map +1 -1
  72. package/dist/internal/batchLoading.test.js +13 -13
  73. package/dist/internal/batchLoading.test.js.map +1 -1
  74. package/dist/internal/devices/apiService.d.ts +3 -3
  75. package/dist/internal/devices/apiService.js +2 -2
  76. package/dist/internal/devices/apiService.js.map +1 -1
  77. package/dist/internal/devices/cryptoService.js +1 -2
  78. package/dist/internal/devices/cryptoService.js.map +1 -1
  79. package/dist/internal/devices/index.d.ts +5 -5
  80. package/dist/internal/devices/index.js.map +1 -1
  81. package/dist/internal/devices/interface.d.ts +3 -3
  82. package/dist/internal/devices/manager.js +2 -2
  83. package/dist/internal/devices/manager.js.map +1 -1
  84. package/dist/internal/devices/manager.test.js +38 -7
  85. package/dist/internal/devices/manager.test.js.map +1 -1
  86. package/dist/internal/download/apiService.d.ts +4 -4
  87. package/dist/internal/download/apiService.js +0 -1
  88. package/dist/internal/download/apiService.js.map +1 -1
  89. package/dist/internal/download/cryptoService.d.ts +4 -4
  90. package/dist/internal/download/cryptoService.js +6 -5
  91. package/dist/internal/download/cryptoService.js.map +1 -1
  92. package/dist/internal/download/fileDownloader.d.ts +4 -4
  93. package/dist/internal/download/fileDownloader.js +3 -2
  94. package/dist/internal/download/fileDownloader.js.map +1 -1
  95. package/dist/internal/download/fileDownloader.test.js +1 -1
  96. package/dist/internal/download/fileDownloader.test.js.map +1 -1
  97. package/dist/internal/download/index.d.ts +5 -5
  98. package/dist/internal/download/index.js +5 -5
  99. package/dist/internal/download/index.js.map +1 -1
  100. package/dist/internal/download/interface.d.ts +3 -4
  101. package/dist/internal/download/telemetry.d.ts +3 -3
  102. package/dist/internal/download/telemetry.js +4 -2
  103. package/dist/internal/download/telemetry.js.map +1 -1
  104. package/dist/internal/download/telemetry.test.js +8 -8
  105. package/dist/internal/download/telemetry.test.js.map +1 -1
  106. package/dist/internal/download/thumbnailDownloader.d.ts +4 -4
  107. package/dist/internal/download/thumbnailDownloader.js +6 -6
  108. package/dist/internal/download/thumbnailDownloader.js.map +1 -1
  109. package/dist/internal/download/thumbnailDownloader.test.js.map +1 -1
  110. package/dist/internal/errors.d.ts +1 -1
  111. package/dist/internal/errors.js +1 -3
  112. package/dist/internal/errors.js.map +1 -1
  113. package/dist/internal/events/apiService.d.ts +2 -2
  114. package/dist/internal/events/apiService.js +9 -5
  115. package/dist/internal/events/apiService.js.map +1 -1
  116. package/dist/internal/events/coreEventManager.d.ts +3 -3
  117. package/dist/internal/events/coreEventManager.js.map +1 -1
  118. package/dist/internal/events/coreEventManager.test.js +14 -14
  119. package/dist/internal/events/eventManager.d.ts +1 -1
  120. package/dist/internal/events/eventManager.js +0 -1
  121. package/dist/internal/events/eventManager.js.map +1 -1
  122. package/dist/internal/events/eventManager.test.js +34 -25
  123. package/dist/internal/events/eventManager.test.js.map +1 -1
  124. package/dist/internal/events/index.d.ts +6 -6
  125. package/dist/internal/events/index.js.map +1 -1
  126. package/dist/internal/events/interface.d.ts +1 -1
  127. package/dist/internal/events/interface.js +0 -1
  128. package/dist/internal/events/interface.js.map +1 -1
  129. package/dist/internal/events/volumeEventManager.d.ts +3 -3
  130. package/dist/internal/events/volumeEventManager.js.map +1 -1
  131. package/dist/internal/events/volumeEventManager.test.js +55 -55
  132. package/dist/internal/events/volumeEventManager.test.js.map +1 -1
  133. package/dist/internal/nodes/apiService.d.ts +4 -3
  134. package/dist/internal/nodes/apiService.js +36 -15
  135. package/dist/internal/nodes/apiService.js.map +1 -1
  136. package/dist/internal/nodes/apiService.test.js +60 -41
  137. package/dist/internal/nodes/apiService.test.js.map +1 -1
  138. package/dist/internal/nodes/cache.d.ts +5 -5
  139. package/dist/internal/nodes/cache.js +14 -7
  140. package/dist/internal/nodes/cache.js.map +1 -1
  141. package/dist/internal/nodes/cache.test.js +31 -9
  142. package/dist/internal/nodes/cache.test.js.map +1 -1
  143. package/dist/internal/nodes/cryptoCache.d.ts +2 -2
  144. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  145. package/dist/internal/nodes/cryptoCache.test.js +24 -4
  146. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  147. package/dist/internal/nodes/cryptoService.d.ts +3 -3
  148. package/dist/internal/nodes/cryptoService.js +11 -17
  149. package/dist/internal/nodes/cryptoService.js.map +1 -1
  150. package/dist/internal/nodes/cryptoService.test.js +320 -241
  151. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  152. package/dist/internal/nodes/events.d.ts +3 -3
  153. package/dist/internal/nodes/events.js.map +1 -1
  154. package/dist/internal/nodes/events.test.js +27 -21
  155. package/dist/internal/nodes/events.test.js.map +1 -1
  156. package/dist/internal/nodes/extendedAttributes.d.ts +1 -1
  157. package/dist/internal/nodes/extendedAttributes.js +3 -1
  158. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  159. package/dist/internal/nodes/extendedAttributes.test.js +7 -10
  160. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
  161. package/dist/internal/nodes/index.d.ts +10 -10
  162. package/dist/internal/nodes/index.js.map +1 -1
  163. package/dist/internal/nodes/index.test.d.ts +1 -0
  164. package/dist/internal/nodes/index.test.js +106 -0
  165. package/dist/internal/nodes/index.test.js.map +1 -0
  166. package/dist/internal/nodes/interface.d.ts +2 -2
  167. package/dist/internal/nodes/nodesAccess.d.ts +7 -7
  168. package/dist/internal/nodes/nodesAccess.js +28 -16
  169. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  170. package/dist/internal/nodes/nodesAccess.test.js +39 -13
  171. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  172. package/dist/internal/nodes/nodesManagement.d.ts +6 -6
  173. package/dist/internal/nodes/nodesManagement.js +9 -7
  174. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  175. package/dist/internal/nodes/nodesManagement.test.js +9 -9
  176. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  177. package/dist/internal/nodes/nodesRevisions.d.ts +4 -4
  178. package/dist/internal/nodes/nodesRevisions.js.map +1 -1
  179. package/dist/internal/photos/albums.d.ts +3 -3
  180. package/dist/internal/photos/albums.js.map +1 -1
  181. package/dist/internal/photos/apiService.d.ts +1 -1
  182. package/dist/internal/photos/apiService.js +3 -6
  183. package/dist/internal/photos/apiService.js.map +1 -1
  184. package/dist/internal/photos/cache.d.ts +1 -1
  185. package/dist/internal/photos/index.d.ts +5 -5
  186. package/dist/internal/photos/index.js.map +1 -1
  187. package/dist/internal/photos/interface.d.ts +2 -2
  188. package/dist/internal/photos/photosTimeline.d.ts +3 -3
  189. package/dist/internal/photos/photosTimeline.js +1 -2
  190. package/dist/internal/photos/photosTimeline.js.map +1 -1
  191. package/dist/internal/sdkEvents.d.ts +1 -1
  192. package/dist/internal/sdkEvents.js +2 -7
  193. package/dist/internal/sdkEvents.js.map +1 -1
  194. package/dist/internal/sdkEvents.test.js +8 -8
  195. package/dist/internal/shares/apiService.d.ts +2 -2
  196. package/dist/internal/shares/apiService.js +5 -3
  197. package/dist/internal/shares/apiService.js.map +1 -1
  198. package/dist/internal/shares/cache.d.ts +2 -2
  199. package/dist/internal/shares/cache.js +12 -6
  200. package/dist/internal/shares/cache.js.map +1 -1
  201. package/dist/internal/shares/cache.test.js.map +1 -1
  202. package/dist/internal/shares/cryptoCache.d.ts +2 -2
  203. package/dist/internal/shares/cryptoCache.test.js +8 -2
  204. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  205. package/dist/internal/shares/cryptoService.d.ts +3 -3
  206. package/dist/internal/shares/cryptoService.js.map +1 -1
  207. package/dist/internal/shares/cryptoService.test.js +42 -42
  208. package/dist/internal/shares/cryptoService.test.js.map +1 -1
  209. package/dist/internal/shares/index.d.ts +4 -4
  210. package/dist/internal/shares/index.js.map +1 -1
  211. package/dist/internal/shares/interface.d.ts +2 -2
  212. package/dist/internal/shares/manager.d.ts +7 -7
  213. package/dist/internal/shares/manager.js.map +1 -1
  214. package/dist/internal/shares/manager.test.js +71 -63
  215. package/dist/internal/shares/manager.test.js.map +1 -1
  216. package/dist/internal/sharing/apiService.d.ts +4 -4
  217. package/dist/internal/sharing/apiService.js +4 -3
  218. package/dist/internal/sharing/apiService.js.map +1 -1
  219. package/dist/internal/sharing/cache.d.ts +1 -1
  220. package/dist/internal/sharing/cache.test.js +33 -33
  221. package/dist/internal/sharing/cryptoService.d.ts +3 -3
  222. package/dist/internal/sharing/cryptoService.js +3 -5
  223. package/dist/internal/sharing/cryptoService.js.map +1 -1
  224. package/dist/internal/sharing/cryptoService.test.js +39 -39
  225. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  226. package/dist/internal/sharing/events.d.ts +4 -4
  227. package/dist/internal/sharing/events.js +0 -1
  228. package/dist/internal/sharing/events.js.map +1 -1
  229. package/dist/internal/sharing/events.test.js +39 -40
  230. package/dist/internal/sharing/events.test.js.map +1 -1
  231. package/dist/internal/sharing/index.d.ts +6 -6
  232. package/dist/internal/sharing/index.js.map +1 -1
  233. package/dist/internal/sharing/interface.d.ts +5 -4
  234. package/dist/internal/sharing/sharingAccess.d.ts +6 -6
  235. package/dist/internal/sharing/sharingAccess.js +8 -4
  236. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  237. package/dist/internal/sharing/sharingAccess.test.js +45 -39
  238. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  239. package/dist/internal/sharing/sharingManagement.d.ts +4 -4
  240. package/dist/internal/sharing/sharingManagement.js +5 -7
  241. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  242. package/dist/internal/sharing/sharingManagement.test.js +297 -248
  243. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  244. package/dist/internal/uids.js.map +1 -1
  245. package/dist/internal/upload/apiService.d.ts +3 -3
  246. package/dist/internal/upload/apiService.js +1 -1
  247. package/dist/internal/upload/apiService.js.map +1 -1
  248. package/dist/internal/upload/blockVerifier.d.ts +3 -3
  249. package/dist/internal/upload/blockVerifier.js +1 -1
  250. package/dist/internal/upload/blockVerifier.js.map +1 -1
  251. package/dist/internal/upload/chunkStreamReader.test.js +6 -6
  252. package/dist/internal/upload/cryptoService.d.ts +4 -4
  253. package/dist/internal/upload/cryptoService.js +4 -4
  254. package/dist/internal/upload/cryptoService.js.map +1 -1
  255. package/dist/internal/upload/digests.js.map +1 -1
  256. package/dist/internal/upload/fileUploader.d.ts +6 -6
  257. package/dist/internal/upload/fileUploader.js.map +1 -1
  258. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  259. package/dist/internal/upload/index.d.ts +5 -5
  260. package/dist/internal/upload/index.js.map +1 -1
  261. package/dist/internal/upload/interface.d.ts +3 -3
  262. package/dist/internal/upload/manager.d.ts +4 -4
  263. package/dist/internal/upload/manager.js +7 -5
  264. package/dist/internal/upload/manager.js.map +1 -1
  265. package/dist/internal/upload/manager.test.js +137 -123
  266. package/dist/internal/upload/manager.test.js.map +1 -1
  267. package/dist/internal/upload/streamUploader.d.ts +6 -6
  268. package/dist/internal/upload/streamUploader.js +8 -6
  269. package/dist/internal/upload/streamUploader.js.map +1 -1
  270. package/dist/internal/upload/streamUploader.test.js +16 -11
  271. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  272. package/dist/internal/upload/telemetry.d.ts +3 -3
  273. package/dist/internal/upload/telemetry.js +5 -3
  274. package/dist/internal/upload/telemetry.js.map +1 -1
  275. package/dist/internal/upload/telemetry.test.js +8 -8
  276. package/dist/internal/upload/telemetry.test.js.map +1 -1
  277. package/dist/protonDriveClient.d.ts +8 -8
  278. package/dist/protonDriveClient.js +12 -9
  279. package/dist/protonDriveClient.js.map +1 -1
  280. package/dist/protonDrivePhotosClient.js.map +1 -1
  281. package/dist/telemetry.js +18 -15
  282. package/dist/telemetry.js.map +1 -1
  283. package/dist/tests/logger.js.map +1 -1
  284. package/dist/tests/telemetry.d.ts +1 -1
  285. package/dist/transformers.js +4 -2
  286. package/dist/transformers.js.map +1 -1
  287. package/package.json +1 -1
  288. package/src/cache/interface.ts +22 -22
  289. package/src/cache/memoryCache.test.ts +7 -7
  290. package/src/cache/memoryCache.ts +4 -4
  291. package/src/cache/nullCache.ts +1 -1
  292. package/src/config.ts +5 -5
  293. package/src/crypto/driveCrypto.test.ts +15 -15
  294. package/src/crypto/driveCrypto.ts +120 -156
  295. package/src/crypto/hmac.ts +1 -1
  296. package/src/crypto/interface.ts +63 -72
  297. package/src/crypto/openPGPCrypto.ts +74 -94
  298. package/src/crypto/utils.ts +1 -1
  299. package/src/diagnostic/eventsGenerator.ts +2 -2
  300. package/src/diagnostic/httpClient.ts +6 -2
  301. package/src/diagnostic/index.ts +12 -10
  302. package/src/diagnostic/integrityVerificationStream.ts +3 -4
  303. package/src/diagnostic/interface.ts +81 -81
  304. package/src/diagnostic/sdkDiagnostic.ts +35 -24
  305. package/src/diagnostic/sdkDiagnosticFull.ts +16 -19
  306. package/src/diagnostic/telemetry.ts +4 -1
  307. package/src/diagnostic/zipGenerators.test.ts +1 -1
  308. package/src/diagnostic/zipGenerators.ts +3 -3
  309. package/src/errors.ts +21 -21
  310. package/src/index.ts +3 -3
  311. package/src/interface/account.ts +10 -10
  312. package/src/interface/author.ts +6 -6
  313. package/src/interface/config.ts +4 -4
  314. package/src/interface/devices.ts +6 -6
  315. package/src/interface/download.ts +12 -9
  316. package/src/interface/events.ts +45 -39
  317. package/src/interface/httpClient.ts +11 -11
  318. package/src/interface/index.ts +76 -19
  319. package/src/interface/nodes.ts +47 -49
  320. package/src/interface/result.ts +1 -3
  321. package/src/interface/sharing.ts +60 -57
  322. package/src/interface/telemetry.ts +74 -74
  323. package/src/interface/thumbnail.ts +5 -6
  324. package/src/interface/upload.ts +20 -12
  325. package/src/internal/apiService/apiService.test.ts +109 -76
  326. package/src/internal/apiService/apiService.ts +40 -26
  327. package/src/internal/apiService/coreTypes.ts +2474 -2463
  328. package/src/internal/apiService/driveTypes.ts +1868 -1822
  329. package/src/internal/apiService/errorCodes.ts +4 -4
  330. package/src/internal/apiService/errors.test.ts +25 -23
  331. package/src/internal/apiService/errors.ts +15 -9
  332. package/src/internal/apiService/index.ts +1 -1
  333. package/src/internal/apiService/transformers.ts +2 -2
  334. package/src/internal/asyncIteratorMap.test.ts +4 -4
  335. package/src/internal/asyncIteratorMap.ts +1 -1
  336. package/src/internal/asyncIteratorRace.test.ts +149 -0
  337. package/src/internal/asyncIteratorRace.ts +79 -0
  338. package/src/internal/batch.test.ts +50 -0
  339. package/src/internal/batch.ts +9 -0
  340. package/src/internal/batchLoading.test.ts +13 -14
  341. package/src/internal/batchLoading.ts +8 -8
  342. package/src/internal/devices/apiService.ts +58 -51
  343. package/src/internal/devices/cryptoService.ts +22 -17
  344. package/src/internal/devices/index.ts +17 -10
  345. package/src/internal/devices/interface.ts +21 -12
  346. package/src/internal/devices/manager.test.ts +40 -9
  347. package/src/internal/devices/manager.ts +3 -3
  348. package/src/internal/download/apiService.ts +66 -49
  349. package/src/internal/download/cryptoService.ts +34 -18
  350. package/src/internal/download/fileDownloader.test.ts +25 -9
  351. package/src/internal/download/fileDownloader.ts +36 -18
  352. package/src/internal/download/index.ts +19 -19
  353. package/src/internal/download/interface.ts +19 -20
  354. package/src/internal/download/queue.ts +3 -3
  355. package/src/internal/download/telemetry.test.ts +11 -11
  356. package/src/internal/download/telemetry.ts +24 -14
  357. package/src/internal/download/thumbnailDownloader.test.ts +11 -6
  358. package/src/internal/download/thumbnailDownloader.ts +43 -32
  359. package/src/internal/errors.ts +7 -5
  360. package/src/internal/events/apiService.ts +30 -17
  361. package/src/internal/events/coreEventManager.test.ts +18 -18
  362. package/src/internal/events/coreEventManager.ts +9 -6
  363. package/src/internal/events/eventManager.test.ts +51 -46
  364. package/src/internal/events/eventManager.ts +6 -5
  365. package/src/internal/events/index.ts +24 -14
  366. package/src/internal/events/interface.ts +47 -39
  367. package/src/internal/events/volumeEventManager.test.ts +61 -65
  368. package/src/internal/events/volumeEventManager.ts +18 -9
  369. package/src/internal/nodes/apiService.test.ts +197 -147
  370. package/src/internal/nodes/apiService.ts +288 -174
  371. package/src/internal/nodes/cache.test.ts +48 -20
  372. package/src/internal/nodes/cache.ts +60 -44
  373. package/src/internal/nodes/cryptoCache.test.ts +34 -14
  374. package/src/internal/nodes/cryptoCache.ts +10 -5
  375. package/src/internal/nodes/cryptoService.test.ts +492 -351
  376. package/src/internal/nodes/cryptoService.ts +170 -88
  377. package/src/internal/nodes/events.test.ts +38 -28
  378. package/src/internal/nodes/events.ts +7 -5
  379. package/src/internal/nodes/extendedAttributes.test.ts +28 -24
  380. package/src/internal/nodes/extendedAttributes.ts +20 -15
  381. package/src/internal/nodes/index.test.ts +133 -0
  382. package/src/internal/nodes/index.ts +27 -15
  383. package/src/internal/nodes/interface.ts +42 -29
  384. package/src/internal/nodes/nodesAccess.test.ts +124 -58
  385. package/src/internal/nodes/nodesAccess.ts +73 -49
  386. package/src/internal/nodes/nodesManagement.test.ts +32 -31
  387. package/src/internal/nodes/nodesManagement.ts +39 -32
  388. package/src/internal/nodes/nodesRevisions.ts +7 -7
  389. package/src/internal/nodes/validations.ts +2 -2
  390. package/src/internal/photos/albums.ts +5 -5
  391. package/src/internal/photos/apiService.ts +4 -7
  392. package/src/internal/photos/cache.ts +1 -1
  393. package/src/internal/photos/index.ts +8 -8
  394. package/src/internal/photos/interface.ts +2 -2
  395. package/src/internal/photos/photosTimeline.ts +4 -5
  396. package/src/internal/sdkEvents.test.ts +10 -10
  397. package/src/internal/sdkEvents.ts +5 -13
  398. package/src/internal/shares/apiService.ts +44 -33
  399. package/src/internal/shares/cache.test.ts +6 -4
  400. package/src/internal/shares/cache.ts +21 -12
  401. package/src/internal/shares/cryptoCache.test.ts +17 -11
  402. package/src/internal/shares/cryptoCache.ts +4 -4
  403. package/src/internal/shares/cryptoService.test.ts +72 -74
  404. package/src/internal/shares/cryptoService.ts +48 -23
  405. package/src/internal/shares/index.ts +23 -11
  406. package/src/internal/shares/interface.ts +8 -8
  407. package/src/internal/shares/manager.test.ts +88 -80
  408. package/src/internal/shares/manager.ts +19 -19
  409. package/src/internal/sharing/apiService.ts +282 -175
  410. package/src/internal/sharing/cache.test.ts +35 -35
  411. package/src/internal/sharing/cache.ts +2 -2
  412. package/src/internal/sharing/cryptoService.test.ts +58 -46
  413. package/src/internal/sharing/cryptoService.ts +121 -84
  414. package/src/internal/sharing/events.test.ts +45 -49
  415. package/src/internal/sharing/events.ts +9 -6
  416. package/src/internal/sharing/index.ts +22 -11
  417. package/src/internal/sharing/interface.ts +40 -40
  418. package/src/internal/sharing/sharingAccess.test.ts +71 -65
  419. package/src/internal/sharing/sharingAccess.ts +39 -21
  420. package/src/internal/sharing/sharingManagement.test.ts +398 -298
  421. package/src/internal/sharing/sharingManagement.ts +138 -65
  422. package/src/internal/uids.ts +1 -1
  423. package/src/internal/upload/apiService.ts +167 -117
  424. package/src/internal/upload/blockVerifier.ts +8 -6
  425. package/src/internal/upload/chunkStreamReader.test.ts +7 -7
  426. package/src/internal/upload/cryptoService.ts +42 -36
  427. package/src/internal/upload/digests.ts +2 -2
  428. package/src/internal/upload/fileUploader.test.ts +15 -3
  429. package/src/internal/upload/fileUploader.ts +39 -17
  430. package/src/internal/upload/index.ts +13 -14
  431. package/src/internal/upload/interface.ts +78 -78
  432. package/src/internal/upload/manager.test.ts +170 -153
  433. package/src/internal/upload/manager.ts +59 -35
  434. package/src/internal/upload/queue.ts +3 -3
  435. package/src/internal/upload/streamUploader.test.ts +40 -26
  436. package/src/internal/upload/streamUploader.ts +87 -69
  437. package/src/internal/upload/telemetry.test.ts +11 -11
  438. package/src/internal/upload/telemetry.ts +25 -15
  439. package/src/internal/wait.test.ts +1 -1
  440. package/src/internal/wait.ts +3 -3
  441. package/src/protonDriveClient.ts +121 -39
  442. package/src/protonDrivePhotosClient.ts +16 -10
  443. package/src/telemetry.ts +60 -52
  444. package/src/tests/logger.ts +1 -1
  445. package/src/tests/telemetry.ts +2 -2
  446. package/src/transformers.ts +27 -21
  447. package/src/version.ts +0 -1
@@ -25,7 +25,7 @@ describe('UploadTelemetry', () => {
25
25
 
26
26
  sharesService = {
27
27
  getVolumeMetricContext: jest.fn().mockResolvedValue('own_volume'),
28
- }
28
+ };
29
29
 
30
30
  uploadTelemetry = new UploadTelemetry(mockTelemetry, sharesService);
31
31
  });
@@ -35,11 +35,11 @@ describe('UploadTelemetry', () => {
35
35
  await uploadTelemetry.uploadInitFailed(parentNodeUid, error, 1000);
36
36
 
37
37
  expect(mockTelemetry.logEvent).toHaveBeenCalledWith({
38
- eventName: "upload",
39
- volumeType: "own_volume",
38
+ eventName: 'upload',
39
+ volumeType: 'own_volume',
40
40
  uploadedSize: 0,
41
41
  expectedSize: 1000,
42
- error: "unknown",
42
+ error: 'unknown',
43
43
  originalError: error,
44
44
  });
45
45
  });
@@ -49,11 +49,11 @@ describe('UploadTelemetry', () => {
49
49
  await uploadTelemetry.uploadFailed(revisionUid, error, 500, 1000);
50
50
 
51
51
  expect(mockTelemetry.logEvent).toHaveBeenCalledWith({
52
- eventName: "upload",
53
- volumeType: "own_volume",
52
+ eventName: 'upload',
53
+ volumeType: 'own_volume',
54
54
  uploadedSize: 500,
55
55
  expectedSize: 1000,
56
- error: "unknown",
56
+ error: 'unknown',
57
57
  originalError: error,
58
58
  });
59
59
  });
@@ -62,8 +62,8 @@ describe('UploadTelemetry', () => {
62
62
  await uploadTelemetry.uploadFinished(revisionUid, 1000);
63
63
 
64
64
  expect(mockTelemetry.logEvent).toHaveBeenCalledWith({
65
- eventName: "upload",
66
- volumeType: "own_volume",
65
+ eventName: 'upload',
66
+ volumeType: 'own_volume',
67
67
  uploadedSize: 1000,
68
68
  expectedSize: 1000,
69
69
  });
@@ -74,7 +74,7 @@ describe('UploadTelemetry', () => {
74
74
  expect(mockTelemetry.logEvent).toHaveBeenCalledWith(
75
75
  expect.objectContaining({
76
76
  error,
77
- })
77
+ }),
78
78
  );
79
79
  };
80
80
 
@@ -130,4 +130,4 @@ describe('UploadTelemetry', () => {
130
130
  verifyErrorCategory('network_error');
131
131
  });
132
132
  });
133
- });
133
+ });
@@ -1,21 +1,24 @@
1
- import { RateLimitedError, ValidationError, IntegrityError } from "../../errors";
2
- import { ProtonDriveTelemetry, MetricsUploadErrorType, Logger } from "../../interface";
3
- import { LoggerWithPrefix } from "../../telemetry";
1
+ import { RateLimitedError, ValidationError, IntegrityError } from '../../errors';
2
+ import { ProtonDriveTelemetry, MetricsUploadErrorType, Logger } from '../../interface';
3
+ import { LoggerWithPrefix } from '../../telemetry';
4
4
  import { APIHTTPError } from '../apiService';
5
- import { splitNodeUid, splitNodeRevisionUid } from "../uids";
6
- import { SharesService } from "./interface";
5
+ import { splitNodeUid, splitNodeRevisionUid } from '../uids';
6
+ import { SharesService } from './interface';
7
7
 
8
8
  export class UploadTelemetry {
9
9
  private logger: Logger;
10
10
 
11
- constructor(private telemetry: ProtonDriveTelemetry, private sharesService: SharesService) {
11
+ constructor(
12
+ private telemetry: ProtonDriveTelemetry,
13
+ private sharesService: SharesService,
14
+ ) {
12
15
  this.telemetry = telemetry;
13
- this.logger = this.telemetry.getLogger("download");
16
+ this.logger = this.telemetry.getLogger('download');
14
17
  this.sharesService = sharesService;
15
18
  }
16
19
 
17
20
  getLoggerForRevision(revisionUid: string) {
18
- const logger = this.telemetry.getLogger("upload");
21
+ const logger = this.telemetry.getLogger('upload');
19
22
  return new LoggerWithPrefix(logger, `revision ${revisionUid}`);
20
23
  }
21
24
 
@@ -70,12 +73,15 @@ export class UploadTelemetry {
70
73
  });
71
74
  }
72
75
 
73
- private async sendTelemetry(volumeId: string, options: {
74
- uploadedSize: number,
75
- expectedSize: number,
76
- error?: MetricsUploadErrorType,
77
- originalError?: unknown,
78
- }) {
76
+ private async sendTelemetry(
77
+ volumeId: string,
78
+ options: {
79
+ uploadedSize: number;
80
+ expectedSize: number;
81
+ error?: MetricsUploadErrorType;
82
+ originalError?: unknown;
83
+ },
84
+ ) {
79
85
  let volumeType;
80
86
  try {
81
87
  volumeType = await this.sharesService.getVolumeMetricContext(volumeId);
@@ -113,7 +119,11 @@ function getErrorCategory(error: unknown): MetricsUploadErrorType | undefined {
113
119
  if (error.name === 'TimeoutError') {
114
120
  return 'server_error';
115
121
  }
116
- if (error.name === 'OfflineError' || error.name === 'NetworkError' || error.message?.toLowerCase() === 'network error') {
122
+ if (
123
+ error.name === 'OfflineError' ||
124
+ error.name === 'NetworkError' ||
125
+ error.message?.toLowerCase() === 'network error'
126
+ ) {
117
127
  return 'network_error';
118
128
  }
119
129
  if (error.name === 'AbortError') {
@@ -1,4 +1,4 @@
1
- import { waitForCondition } from "./wait";
1
+ import { waitForCondition } from './wait';
2
2
 
3
3
  describe('waitForCondition', () => {
4
4
  it('should resolve immediately if condition is met', async () => {
@@ -1,4 +1,4 @@
1
- import { AbortError } from "../errors";
1
+ import { AbortError } from '../errors';
2
2
 
3
3
  const WAIT_TIME = 50;
4
4
 
@@ -17,10 +17,10 @@ export function waitForCondition(callback: () => boolean, signal?: AbortSignal)
17
17
  });
18
18
  }
19
19
 
20
- export async function waitSeconds(seconds: number){
20
+ export async function waitSeconds(seconds: number) {
21
21
  return wait(seconds * 1000);
22
22
  }
23
23
 
24
- export async function wait(miliseconds: number){
24
+ export async function wait(miliseconds: number) {
25
25
  return new Promise<void>((resolve) => setTimeout(resolve, miliseconds));
26
26
  }
@@ -35,7 +35,14 @@ import { initUploadModule } from './internal/upload';
35
35
  import { DriveEventsService, DriveListener } from './internal/events';
36
36
  import { SDKEvents } from './internal/sdkEvents';
37
37
  import { getConfig } from './config';
38
- import { getUid, getUids, convertInternalNodePromise, convertInternalNodeIterator, convertInternalMissingNodeIterator, convertInternalNode } from './transformers';
38
+ import {
39
+ getUid,
40
+ getUids,
41
+ convertInternalNodePromise,
42
+ convertInternalNodeIterator,
43
+ convertInternalMissingNodeIterator,
44
+ convertInternalNode,
45
+ } from './transformers';
39
46
  import { Telemetry } from './telemetry';
40
47
  import { initDevicesModule } from './internal/devices';
41
48
  import { makeNodeUid } from './internal/uids';
@@ -95,16 +102,69 @@ export class ProtonDriveClient {
95
102
  const fullConfig = getConfig(config);
96
103
  this.sdkEvents = new SDKEvents(telemetry);
97
104
  const cryptoModule = new DriveCrypto(openPGPCryptoModule, srpModule);
98
- const apiService = new DriveAPIService(telemetry, this.sdkEvents, httpClient, fullConfig.baseUrl, fullConfig.language);
105
+ const apiService = new DriveAPIService(
106
+ telemetry,
107
+ this.sdkEvents,
108
+ httpClient,
109
+ fullConfig.baseUrl,
110
+ fullConfig.language,
111
+ );
99
112
  this.shares = initSharesModule(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule);
100
- this.nodes = initNodesModule(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule, this.shares);
101
- this.sharing = initSharingModule(telemetry, apiService, entitiesCache, account, cryptoModule, this.shares, this.nodes.access);
102
- this.download = initDownloadModule(telemetry, apiService, cryptoModule, account, this.shares, this.nodes.access, this.nodes.revisions);
103
- this.upload = initUploadModule(telemetry, apiService, cryptoModule, this.shares, this.nodes.access, fullConfig.clientUid);
104
- this.devices = initDevicesModule(telemetry, apiService, cryptoModule, this.shares, this.nodes.access, this.nodes.management);
113
+ this.nodes = initNodesModule(
114
+ telemetry,
115
+ apiService,
116
+ entitiesCache,
117
+ cryptoCache,
118
+ account,
119
+ cryptoModule,
120
+ this.shares,
121
+ );
122
+ this.sharing = initSharingModule(
123
+ telemetry,
124
+ apiService,
125
+ entitiesCache,
126
+ account,
127
+ cryptoModule,
128
+ this.shares,
129
+ this.nodes.access,
130
+ );
131
+ this.download = initDownloadModule(
132
+ telemetry,
133
+ apiService,
134
+ cryptoModule,
135
+ account,
136
+ this.shares,
137
+ this.nodes.access,
138
+ this.nodes.revisions,
139
+ );
140
+ this.upload = initUploadModule(
141
+ telemetry,
142
+ apiService,
143
+ cryptoModule,
144
+ this.shares,
145
+ this.nodes.access,
146
+ fullConfig.clientUid,
147
+ );
148
+ this.devices = initDevicesModule(
149
+ telemetry,
150
+ apiService,
151
+ cryptoModule,
152
+ this.shares,
153
+ this.nodes.access,
154
+ this.nodes.management,
155
+ );
105
156
  // These are used to keep the internal cache up to date
106
- const cacheEventListeners: DriveListener[] = [this.nodes.eventHandler.updateNodesCacheOnEvent, this.sharing.eventHandler.handleDriveEvent];
107
- this.events = new DriveEventsService(telemetry, apiService, this.shares, cacheEventListeners, latestEventIdProvider);
157
+ const cacheEventListeners: DriveListener[] = [
158
+ this.nodes.eventHandler.updateNodesCacheOnEvent,
159
+ this.sharing.eventHandler.handleDriveEvent,
160
+ ];
161
+ this.events = new DriveEventsService(
162
+ telemetry,
163
+ apiService,
164
+ this.shares,
165
+ cacheEventListeners,
166
+ latestEventIdProvider,
167
+ );
108
168
 
109
169
  this.experimental = {
110
170
  getNodeUrl: async (nodeUid: NodeOrUid) => {
@@ -119,7 +179,7 @@ export class ProtonDriveClient {
119
179
  }
120
180
  return keys.contentKeyPacketSessionKey;
121
181
  },
122
- }
182
+ };
123
183
  }
124
184
 
125
185
  /**
@@ -150,7 +210,7 @@ export class ProtonDriveClient {
150
210
  */
151
211
  async subscribeToTreeEvents(treeEventScopeId: string, callback: DriveListener): Promise<EventSubscription> {
152
212
  this.logger.debug('Subscribing to node updates');
153
- return this.events.subscribeToTreeEvents(treeEventScopeId, callback)
213
+ return this.events.subscribeToTreeEvents(treeEventScopeId, callback);
154
214
  }
155
215
 
156
216
  /**
@@ -160,7 +220,7 @@ export class ProtonDriveClient {
160
220
  */
161
221
  async subscribeToDriveEvents(callback: DriveListener): Promise<EventSubscription> {
162
222
  this.logger.debug('Subscribing to core updates');
163
- return this.events.subscribeToCoreEvents(callback)
223
+ return this.events.subscribeToCoreEvents(callback);
164
224
  }
165
225
 
166
226
  /**
@@ -199,7 +259,7 @@ export class ProtonDriveClient {
199
259
  * @param signal - Signal to abort the operation.
200
260
  * @returns An async generator of the children of the given parent node.
201
261
  */
202
- async* iterateFolderChildren(parentNodeUid: NodeOrUid, signal?: AbortSignal): AsyncGenerator<MaybeNode> {
262
+ async *iterateFolderChildren(parentNodeUid: NodeOrUid, signal?: AbortSignal): AsyncGenerator<MaybeNode> {
203
263
  this.logger.info(`Iterating children of ${getUid(parentNodeUid)}`);
204
264
  yield* convertInternalNodeIterator(this.nodes.access.iterateFolderChildren(getUid(parentNodeUid), signal));
205
265
  }
@@ -215,7 +275,7 @@ export class ProtonDriveClient {
215
275
  * @param signal - Signal to abort the operation.
216
276
  * @returns An async generator of the trashed nodes.
217
277
  */
218
- async* iterateTrashedNodes(signal?: AbortSignal): AsyncGenerator<MaybeNode> {
278
+ async *iterateTrashedNodes(signal?: AbortSignal): AsyncGenerator<MaybeNode> {
219
279
  this.logger.info('Iterating trashed nodes');
220
280
  yield* convertInternalNodeIterator(this.nodes.access.iterateTrashedNodes(signal));
221
281
  }
@@ -229,7 +289,7 @@ export class ProtonDriveClient {
229
289
  * @param signal - Signal to abort the operation.
230
290
  * @returns An async generator of the nodes.
231
291
  */
232
- async* iterateNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<MaybeMissingNode> {
292
+ async *iterateNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<MaybeMissingNode> {
233
293
  this.logger.info(`Iterating ${nodeUids.length} nodes`);
234
294
  yield* convertInternalMissingNodeIterator(this.nodes.access.iterateNodes(getUids(nodeUids), signal));
235
295
  }
@@ -277,7 +337,11 @@ export class ProtonDriveClient {
277
337
  * @param signal - Signal to abort the operation.
278
338
  * @returns An async generator of the results of the move operation
279
339
  */
280
- async* moveNodes(nodeUids: NodeOrUid[], newParentNodeUid: NodeOrUid, signal?: AbortSignal): AsyncGenerator<NodeResult> {
340
+ async *moveNodes(
341
+ nodeUids: NodeOrUid[],
342
+ newParentNodeUid: NodeOrUid,
343
+ signal?: AbortSignal,
344
+ ): AsyncGenerator<NodeResult> {
281
345
  this.logger.info(`Moving ${nodeUids.length} nodes to ${newParentNodeUid}`);
282
346
  yield* this.nodes.management.moveNodes(getUids(nodeUids), getUid(newParentNodeUid), signal);
283
347
  }
@@ -295,7 +359,7 @@ export class ProtonDriveClient {
295
359
  * @param signal - Signal to abort the operation.
296
360
  * @returns An async generator of the results of the trash operation
297
361
  */
298
- async* trashNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<NodeResult> {
362
+ async *trashNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<NodeResult> {
299
363
  this.logger.info(`Trashing ${nodeUids.length} nodes`);
300
364
  yield* this.nodes.management.trashNodes(getUids(nodeUids), signal);
301
365
  }
@@ -313,7 +377,7 @@ export class ProtonDriveClient {
313
377
  * @param signal - Signal to abort the operation.
314
378
  * @returns An async generator of the results of the restore operation
315
379
  */
316
- async* restoreNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<NodeResult> {
380
+ async *restoreNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<NodeResult> {
317
381
  this.logger.info(`Restoring ${nodeUids.length} nodes`);
318
382
  yield* this.nodes.management.restoreNodes(getUids(nodeUids), signal);
319
383
  }
@@ -331,7 +395,7 @@ export class ProtonDriveClient {
331
395
  * @param signal - Signal to abort the operation.
332
396
  * @returns An async generator of the results of the delete operation
333
397
  */
334
- async* deleteNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<NodeResult> {
398
+ async *deleteNodes(nodeUids: NodeOrUid[], signal?: AbortSignal): AsyncGenerator<NodeResult> {
335
399
  this.logger.info(`Deleting ${nodeUids.length} nodes`);
336
400
  yield* this.nodes.management.deleteNodes(getUids(nodeUids), signal);
337
401
  }
@@ -356,7 +420,9 @@ export class ProtonDriveClient {
356
420
  */
357
421
  async createFolder(parentNodeUid: NodeOrUid, name: string, modificationTime?: Date): Promise<MaybeNode> {
358
422
  this.logger.info(`Creating folder in ${getUid(parentNodeUid)}`);
359
- return convertInternalNodePromise(this.nodes.management.createFolder(getUid(parentNodeUid), name, modificationTime));
423
+ return convertInternalNodePromise(
424
+ this.nodes.management.createFolder(getUid(parentNodeUid), name, modificationTime),
425
+ );
360
426
  }
361
427
 
362
428
  /**
@@ -372,7 +438,7 @@ export class ProtonDriveClient {
372
438
  * @param signal - Signal to abort the operation.
373
439
  * @returns An async generator of the node revisions.
374
440
  */
375
- async* iterateRevisions(nodeUid: NodeOrUid, signal?: AbortSignal): AsyncGenerator<Revision> {
441
+ async *iterateRevisions(nodeUid: NodeOrUid, signal?: AbortSignal): AsyncGenerator<Revision> {
376
442
  this.logger.info(`Iterating revisions of ${getUid(nodeUid)}`);
377
443
  yield* this.nodes.revisions.iterateRevisions(getUid(nodeUid), signal);
378
444
  }
@@ -410,7 +476,7 @@ export class ProtonDriveClient {
410
476
  * @param signal - Signal to abort the operation.
411
477
  * @returns An async generator of the shared nodes.
412
478
  */
413
- async* iterateSharedNodes(signal?: AbortSignal): AsyncGenerator<MaybeNode> {
479
+ async *iterateSharedNodes(signal?: AbortSignal): AsyncGenerator<MaybeNode> {
414
480
  this.logger.info('Iterating shared nodes by me');
415
481
  yield* convertInternalNodeIterator(this.sharing.access.iterateSharedNodes(signal));
416
482
  }
@@ -427,7 +493,7 @@ export class ProtonDriveClient {
427
493
  * @param signal - Signal to abort the operation.
428
494
  * @returns An async generator of the shared nodes.
429
495
  */
430
- async* iterateSharedNodesWithMe(signal?: AbortSignal): AsyncGenerator<MaybeNode> {
496
+ async *iterateSharedNodesWithMe(signal?: AbortSignal): AsyncGenerator<MaybeNode> {
431
497
  this.logger.info('Iterating shared nodes with me');
432
498
 
433
499
  for await (const node of this.sharing.access.iterateSharedNodesWithMe(signal)) {
@@ -453,7 +519,7 @@ export class ProtonDriveClient {
453
519
  * @param signal - Signal to abort the operation.
454
520
  * @returns An async generator of the invitations.
455
521
  */
456
- async* iterateInvitations(signal?: AbortSignal): AsyncGenerator<ProtonInvitationWithNode> {
522
+ async *iterateInvitations(signal?: AbortSignal): AsyncGenerator<ProtonInvitationWithNode> {
457
523
  this.logger.info('Iterating invitations');
458
524
  yield* this.sharing.access.iterateInvitations(signal);
459
525
  }
@@ -486,7 +552,7 @@ export class ProtonDriveClient {
486
552
  * @param signal - Signal to abort the operation.
487
553
  * @returns An async generator of the shared bookmarks.
488
554
  */
489
- async* iterateBookmarks(signal?: AbortSignal): AsyncGenerator<MaybeBookmark> {
555
+ async *iterateBookmarks(signal?: AbortSignal): AsyncGenerator<MaybeBookmark> {
490
556
  this.logger.info('Iterating shared bookmarks');
491
557
  yield* this.sharing.access.iterateBookmarks(signal);
492
558
  }
@@ -552,9 +618,12 @@ export class ProtonDriveClient {
552
618
  return this.sharing.management.unshareNode(getUid(nodeUid), settings);
553
619
  }
554
620
 
555
- async resendInvitation(nodeUid: NodeOrUid, invitationUid: ProtonInvitationOrUid | NonProtonInvitationOrUid): Promise<void> {
621
+ async resendInvitation(
622
+ nodeUid: NodeOrUid,
623
+ invitationUid: ProtonInvitationOrUid | NonProtonInvitationOrUid,
624
+ ): Promise<void> {
556
625
  this.logger.info(`Resending invitation ${getUid(invitationUid)}`);
557
- return this.sharing.management.resendInvitationEmail(getUid(nodeUid), getUid(invitationUid))
626
+ return this.sharing.management.resendInvitationEmail(getUid(nodeUid), getUid(invitationUid));
558
627
  }
559
628
 
560
629
  /**
@@ -612,15 +681,19 @@ export class ProtonDriveClient {
612
681
  }
613
682
 
614
683
  /**
615
- * Iterates the thumbnails of the given nodes.
616
- *
617
- * The output is not sorted and the order of the nodes is not guaranteed.
618
- *
619
- * @param nodeUids - List of node entities or their UIDs.
620
- * @param thumbnailType - Type of the thumbnail to download.
621
- * @returns An async generator of the results of the restore operation
622
- */
623
- async *iterateThumbnails(nodeUids: NodeOrUid[], thumbnailType?: ThumbnailType, signal?: AbortSignal): AsyncGenerator<ThumbnailResult> {
684
+ * Iterates the thumbnails of the given nodes.
685
+ *
686
+ * The output is not sorted and the order of the nodes is not guaranteed.
687
+ *
688
+ * @param nodeUids - List of node entities or their UIDs.
689
+ * @param thumbnailType - Type of the thumbnail to download.
690
+ * @returns An async generator of the results of the restore operation
691
+ */
692
+ async *iterateThumbnails(
693
+ nodeUids: NodeOrUid[],
694
+ thumbnailType?: ThumbnailType,
695
+ signal?: AbortSignal,
696
+ ): AsyncGenerator<ThumbnailResult> {
624
697
  this.logger.info(`Iterating ${nodeUids.length} thumbnails`);
625
698
  yield* this.download.iterateThumbnails(getUids(nodeUids), thumbnailType, signal);
626
699
  }
@@ -654,7 +727,12 @@ export class ProtonDriveClient {
654
727
  * const nodeUid = await uploadController.completion(); // to await completion
655
728
  * ```
656
729
  */
657
- async getFileUploader(parentFolderUid: NodeOrUid, name: string, metadata: UploadMetadata, signal?: AbortSignal): Promise<FileUploader> {
730
+ async getFileUploader(
731
+ parentFolderUid: NodeOrUid,
732
+ name: string,
733
+ metadata: UploadMetadata,
734
+ signal?: AbortSignal,
735
+ ): Promise<FileUploader> {
658
736
  this.logger.info(`Getting file uploader for parent ${getUid(parentFolderUid)}`);
659
737
  return this.upload.getFileUploader(getUid(parentFolderUid), name, metadata, signal);
660
738
  }
@@ -662,7 +740,11 @@ export class ProtonDriveClient {
662
740
  /**
663
741
  * Same as `getFileUploader`, but for a uploading new revision of the file.
664
742
  */
665
- async getFileRevisionUploader(nodeUid: NodeOrUid, metadata: UploadMetadata, signal?: AbortSignal): Promise<FileRevisionUploader> {
743
+ async getFileRevisionUploader(
744
+ nodeUid: NodeOrUid,
745
+ metadata: UploadMetadata,
746
+ signal?: AbortSignal,
747
+ ): Promise<FileRevisionUploader> {
666
748
  this.logger.info(`Getting file revision uploader for ${getUid(nodeUid)}`);
667
749
  return this.upload.getFileRevisionUploader(getUid(nodeUid), metadata, signal);
668
750
  }
@@ -677,7 +759,7 @@ export class ProtonDriveClient {
677
759
  *
678
760
  * @returns An async generator of devices.
679
761
  */
680
- async* iterateDevices(signal?: AbortSignal): AsyncGenerator<Device> {
762
+ async *iterateDevices(signal?: AbortSignal): AsyncGenerator<Device> {
681
763
  this.logger.info('Iterating devices');
682
764
  yield* this.devices.iterateDevices(signal);
683
765
  }
@@ -31,7 +31,13 @@ export class ProtonDrivePhotosClient {
31
31
  const fullConfig = getConfig(config);
32
32
  const sdkEvents = new SDKEvents(telemetry);
33
33
  const cryptoModule = new DriveCrypto(openPGPCryptoModule, srpModule);
34
- const apiService = new DriveAPIService(telemetry, sdkEvents, httpClient, fullConfig.baseUrl, fullConfig.language);
34
+ const apiService = new DriveAPIService(
35
+ telemetry,
36
+ sdkEvents,
37
+ httpClient,
38
+ fullConfig.baseUrl,
39
+ fullConfig.language,
40
+ );
35
41
  const shares = initSharesModule(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule);
36
42
  this.nodes = initNodesModule(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule, shares);
37
43
  const cacheEventListeners: DriveListener[] = [this.nodes.eventHandler.updateNodesCacheOnEvent];
@@ -40,18 +46,18 @@ export class ProtonDrivePhotosClient {
40
46
  }
41
47
 
42
48
  // Timeline or album view
43
- iterateTimelinePhotos() { } // returns only UIDs and dates - used to show grid and scrolling
44
- iterateAlbumPhotos() { } // same as above but for album
45
- iterateThumbnails() { } // returns thumbnails for passed photos that are visible in the UI
46
- getPhoto() { } // returns full photo details
49
+ iterateTimelinePhotos() {} // returns only UIDs and dates - used to show grid and scrolling
50
+ iterateAlbumPhotos() {} // same as above but for album
51
+ iterateThumbnails() {} // returns thumbnails for passed photos that are visible in the UI
52
+ getPhoto() {} // returns full photo details
47
53
 
48
54
  // Album management
49
55
  createAlbum(albumName: string) {
50
56
  return this.photos.albums.createAlbum(albumName);
51
57
  }
52
- renameAlbum() { }
53
- shareAlbum() { }
54
- deleteAlbum() { }
55
- iterateAlbums() { }
56
- addPhotosToAlbum() { }
58
+ renameAlbum() {}
59
+ shareAlbum() {}
60
+ deleteAlbum() {}
61
+ iterateAlbums() {}
62
+ addPhotosToAlbum() {}
57
63
  }