@protontech/drive-sdk 0.1.0 → 0.1.2

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 (452) 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 +2 -1
  120. package/dist/internal/events/eventManager.js +9 -1
  121. package/dist/internal/events/eventManager.js.map +1 -1
  122. package/dist/internal/events/eventManager.test.js +84 -60
  123. package/dist/internal/events/eventManager.test.js.map +1 -1
  124. package/dist/internal/events/index.d.ts +10 -9
  125. package/dist/internal/events/index.js +38 -32
  126. package/dist/internal/events/index.js.map +1 -1
  127. package/dist/internal/events/interface.d.ts +1 -1
  128. package/dist/internal/events/interface.js +0 -1
  129. package/dist/internal/events/interface.js.map +1 -1
  130. package/dist/internal/events/volumeEventManager.d.ts +3 -3
  131. package/dist/internal/events/volumeEventManager.js.map +1 -1
  132. package/dist/internal/events/volumeEventManager.test.js +55 -55
  133. package/dist/internal/events/volumeEventManager.test.js.map +1 -1
  134. package/dist/internal/nodes/apiService.d.ts +4 -3
  135. package/dist/internal/nodes/apiService.js +36 -15
  136. package/dist/internal/nodes/apiService.js.map +1 -1
  137. package/dist/internal/nodes/apiService.test.js +60 -41
  138. package/dist/internal/nodes/apiService.test.js.map +1 -1
  139. package/dist/internal/nodes/cache.d.ts +5 -5
  140. package/dist/internal/nodes/cache.js +14 -7
  141. package/dist/internal/nodes/cache.js.map +1 -1
  142. package/dist/internal/nodes/cache.test.js +31 -9
  143. package/dist/internal/nodes/cache.test.js.map +1 -1
  144. package/dist/internal/nodes/cryptoCache.d.ts +2 -2
  145. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  146. package/dist/internal/nodes/cryptoCache.test.js +24 -4
  147. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  148. package/dist/internal/nodes/cryptoService.d.ts +3 -3
  149. package/dist/internal/nodes/cryptoService.js +11 -17
  150. package/dist/internal/nodes/cryptoService.js.map +1 -1
  151. package/dist/internal/nodes/cryptoService.test.js +320 -241
  152. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  153. package/dist/internal/nodes/events.d.ts +3 -3
  154. package/dist/internal/nodes/events.js +7 -7
  155. package/dist/internal/nodes/events.js.map +1 -1
  156. package/dist/internal/nodes/events.test.js +27 -21
  157. package/dist/internal/nodes/events.test.js.map +1 -1
  158. package/dist/internal/nodes/extendedAttributes.d.ts +1 -1
  159. package/dist/internal/nodes/extendedAttributes.js +3 -1
  160. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  161. package/dist/internal/nodes/extendedAttributes.test.js +7 -10
  162. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
  163. package/dist/internal/nodes/index.d.ts +10 -10
  164. package/dist/internal/nodes/index.js.map +1 -1
  165. package/dist/internal/nodes/index.test.d.ts +1 -0
  166. package/dist/internal/nodes/index.test.js +106 -0
  167. package/dist/internal/nodes/index.test.js.map +1 -0
  168. package/dist/internal/nodes/interface.d.ts +2 -2
  169. package/dist/internal/nodes/nodesAccess.d.ts +7 -7
  170. package/dist/internal/nodes/nodesAccess.js +28 -16
  171. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  172. package/dist/internal/nodes/nodesAccess.test.js +39 -13
  173. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  174. package/dist/internal/nodes/nodesManagement.d.ts +6 -6
  175. package/dist/internal/nodes/nodesManagement.js +9 -7
  176. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  177. package/dist/internal/nodes/nodesManagement.test.js +9 -9
  178. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  179. package/dist/internal/nodes/nodesRevisions.d.ts +4 -4
  180. package/dist/internal/nodes/nodesRevisions.js.map +1 -1
  181. package/dist/internal/photos/albums.d.ts +3 -3
  182. package/dist/internal/photos/albums.js.map +1 -1
  183. package/dist/internal/photos/apiService.d.ts +1 -1
  184. package/dist/internal/photos/apiService.js +3 -6
  185. package/dist/internal/photos/apiService.js.map +1 -1
  186. package/dist/internal/photos/cache.d.ts +1 -1
  187. package/dist/internal/photos/index.d.ts +5 -5
  188. package/dist/internal/photos/index.js.map +1 -1
  189. package/dist/internal/photos/interface.d.ts +2 -2
  190. package/dist/internal/photos/photosTimeline.d.ts +3 -3
  191. package/dist/internal/photos/photosTimeline.js +1 -2
  192. package/dist/internal/photos/photosTimeline.js.map +1 -1
  193. package/dist/internal/sdkEvents.d.ts +1 -1
  194. package/dist/internal/sdkEvents.js +2 -7
  195. package/dist/internal/sdkEvents.js.map +1 -1
  196. package/dist/internal/sdkEvents.test.js +8 -8
  197. package/dist/internal/shares/apiService.d.ts +2 -2
  198. package/dist/internal/shares/apiService.js +5 -3
  199. package/dist/internal/shares/apiService.js.map +1 -1
  200. package/dist/internal/shares/cache.d.ts +2 -2
  201. package/dist/internal/shares/cache.js +12 -6
  202. package/dist/internal/shares/cache.js.map +1 -1
  203. package/dist/internal/shares/cache.test.js.map +1 -1
  204. package/dist/internal/shares/cryptoCache.d.ts +2 -2
  205. package/dist/internal/shares/cryptoCache.test.js +8 -2
  206. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  207. package/dist/internal/shares/cryptoService.d.ts +3 -3
  208. package/dist/internal/shares/cryptoService.js.map +1 -1
  209. package/dist/internal/shares/cryptoService.test.js +42 -42
  210. package/dist/internal/shares/cryptoService.test.js.map +1 -1
  211. package/dist/internal/shares/index.d.ts +4 -4
  212. package/dist/internal/shares/index.js.map +1 -1
  213. package/dist/internal/shares/interface.d.ts +2 -2
  214. package/dist/internal/shares/manager.d.ts +7 -7
  215. package/dist/internal/shares/manager.js.map +1 -1
  216. package/dist/internal/shares/manager.test.js +71 -63
  217. package/dist/internal/shares/manager.test.js.map +1 -1
  218. package/dist/internal/sharing/apiService.d.ts +4 -4
  219. package/dist/internal/sharing/apiService.js +4 -3
  220. package/dist/internal/sharing/apiService.js.map +1 -1
  221. package/dist/internal/sharing/cache.d.ts +2 -1
  222. package/dist/internal/sharing/cache.js +9 -0
  223. package/dist/internal/sharing/cache.js.map +1 -1
  224. package/dist/internal/sharing/cache.test.js +33 -33
  225. package/dist/internal/sharing/cryptoService.d.ts +3 -3
  226. package/dist/internal/sharing/cryptoService.js +3 -5
  227. package/dist/internal/sharing/cryptoService.js.map +1 -1
  228. package/dist/internal/sharing/cryptoService.test.js +39 -39
  229. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  230. package/dist/internal/sharing/events.d.ts +5 -4
  231. package/dist/internal/sharing/events.js +28 -19
  232. package/dist/internal/sharing/events.js.map +1 -1
  233. package/dist/internal/sharing/events.test.js +101 -88
  234. package/dist/internal/sharing/events.test.js.map +1 -1
  235. package/dist/internal/sharing/index.d.ts +6 -6
  236. package/dist/internal/sharing/index.js.map +1 -1
  237. package/dist/internal/sharing/interface.d.ts +5 -4
  238. package/dist/internal/sharing/sharingAccess.d.ts +6 -6
  239. package/dist/internal/sharing/sharingAccess.js +8 -4
  240. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  241. package/dist/internal/sharing/sharingAccess.test.js +45 -39
  242. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  243. package/dist/internal/sharing/sharingManagement.d.ts +4 -4
  244. package/dist/internal/sharing/sharingManagement.js +5 -7
  245. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  246. package/dist/internal/sharing/sharingManagement.test.js +297 -248
  247. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  248. package/dist/internal/uids.js.map +1 -1
  249. package/dist/internal/upload/apiService.d.ts +3 -3
  250. package/dist/internal/upload/apiService.js +1 -1
  251. package/dist/internal/upload/apiService.js.map +1 -1
  252. package/dist/internal/upload/blockVerifier.d.ts +3 -3
  253. package/dist/internal/upload/blockVerifier.js +1 -1
  254. package/dist/internal/upload/blockVerifier.js.map +1 -1
  255. package/dist/internal/upload/chunkStreamReader.test.js +6 -6
  256. package/dist/internal/upload/cryptoService.d.ts +4 -4
  257. package/dist/internal/upload/cryptoService.js +4 -4
  258. package/dist/internal/upload/cryptoService.js.map +1 -1
  259. package/dist/internal/upload/digests.js.map +1 -1
  260. package/dist/internal/upload/fileUploader.d.ts +6 -6
  261. package/dist/internal/upload/fileUploader.js.map +1 -1
  262. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  263. package/dist/internal/upload/index.d.ts +5 -5
  264. package/dist/internal/upload/index.js.map +1 -1
  265. package/dist/internal/upload/interface.d.ts +4 -3
  266. package/dist/internal/upload/manager.d.ts +5 -5
  267. package/dist/internal/upload/manager.js +15 -9
  268. package/dist/internal/upload/manager.js.map +1 -1
  269. package/dist/internal/upload/manager.test.js +139 -128
  270. package/dist/internal/upload/manager.test.js.map +1 -1
  271. package/dist/internal/upload/streamUploader.d.ts +6 -6
  272. package/dist/internal/upload/streamUploader.js +9 -7
  273. package/dist/internal/upload/streamUploader.js.map +1 -1
  274. package/dist/internal/upload/streamUploader.test.js +17 -12
  275. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  276. package/dist/internal/upload/telemetry.d.ts +3 -3
  277. package/dist/internal/upload/telemetry.js +5 -3
  278. package/dist/internal/upload/telemetry.js.map +1 -1
  279. package/dist/internal/upload/telemetry.test.js +8 -8
  280. package/dist/internal/upload/telemetry.test.js.map +1 -1
  281. package/dist/protonDriveClient.d.ts +8 -8
  282. package/dist/protonDriveClient.js +12 -9
  283. package/dist/protonDriveClient.js.map +1 -1
  284. package/dist/protonDrivePhotosClient.js.map +1 -1
  285. package/dist/telemetry.js +18 -15
  286. package/dist/telemetry.js.map +1 -1
  287. package/dist/tests/logger.js.map +1 -1
  288. package/dist/tests/telemetry.d.ts +1 -1
  289. package/dist/transformers.d.ts +1 -1
  290. package/dist/transformers.js +5 -2
  291. package/dist/transformers.js.map +1 -1
  292. package/package.json +1 -1
  293. package/src/cache/interface.ts +22 -22
  294. package/src/cache/memoryCache.test.ts +7 -7
  295. package/src/cache/memoryCache.ts +4 -4
  296. package/src/cache/nullCache.ts +1 -1
  297. package/src/config.ts +5 -5
  298. package/src/crypto/driveCrypto.test.ts +15 -15
  299. package/src/crypto/driveCrypto.ts +120 -156
  300. package/src/crypto/hmac.ts +1 -1
  301. package/src/crypto/interface.ts +63 -72
  302. package/src/crypto/openPGPCrypto.ts +74 -94
  303. package/src/crypto/utils.ts +1 -1
  304. package/src/diagnostic/eventsGenerator.ts +2 -2
  305. package/src/diagnostic/httpClient.ts +6 -2
  306. package/src/diagnostic/index.ts +12 -10
  307. package/src/diagnostic/integrityVerificationStream.ts +3 -4
  308. package/src/diagnostic/interface.ts +81 -81
  309. package/src/diagnostic/sdkDiagnostic.ts +35 -24
  310. package/src/diagnostic/sdkDiagnosticFull.ts +16 -19
  311. package/src/diagnostic/telemetry.ts +4 -1
  312. package/src/diagnostic/zipGenerators.test.ts +1 -1
  313. package/src/diagnostic/zipGenerators.ts +3 -3
  314. package/src/errors.ts +21 -21
  315. package/src/index.ts +3 -3
  316. package/src/interface/account.ts +10 -10
  317. package/src/interface/author.ts +6 -6
  318. package/src/interface/config.ts +4 -4
  319. package/src/interface/devices.ts +6 -6
  320. package/src/interface/download.ts +12 -9
  321. package/src/interface/events.ts +45 -39
  322. package/src/interface/httpClient.ts +11 -11
  323. package/src/interface/index.ts +76 -19
  324. package/src/interface/nodes.ts +47 -49
  325. package/src/interface/result.ts +1 -3
  326. package/src/interface/sharing.ts +60 -57
  327. package/src/interface/telemetry.ts +74 -74
  328. package/src/interface/thumbnail.ts +5 -6
  329. package/src/interface/upload.ts +20 -12
  330. package/src/internal/apiService/apiService.test.ts +109 -76
  331. package/src/internal/apiService/apiService.ts +40 -26
  332. package/src/internal/apiService/coreTypes.ts +2474 -2463
  333. package/src/internal/apiService/driveTypes.ts +1868 -1822
  334. package/src/internal/apiService/errorCodes.ts +4 -4
  335. package/src/internal/apiService/errors.test.ts +25 -23
  336. package/src/internal/apiService/errors.ts +15 -9
  337. package/src/internal/apiService/index.ts +1 -1
  338. package/src/internal/apiService/transformers.ts +2 -2
  339. package/src/internal/asyncIteratorMap.test.ts +4 -4
  340. package/src/internal/asyncIteratorMap.ts +1 -1
  341. package/src/internal/asyncIteratorRace.test.ts +149 -0
  342. package/src/internal/asyncIteratorRace.ts +79 -0
  343. package/src/internal/batch.test.ts +50 -0
  344. package/src/internal/batch.ts +9 -0
  345. package/src/internal/batchLoading.test.ts +13 -14
  346. package/src/internal/batchLoading.ts +8 -8
  347. package/src/internal/devices/apiService.ts +58 -51
  348. package/src/internal/devices/cryptoService.ts +22 -17
  349. package/src/internal/devices/index.ts +17 -10
  350. package/src/internal/devices/interface.ts +21 -12
  351. package/src/internal/devices/manager.test.ts +40 -9
  352. package/src/internal/devices/manager.ts +3 -3
  353. package/src/internal/download/apiService.ts +66 -49
  354. package/src/internal/download/cryptoService.ts +34 -18
  355. package/src/internal/download/fileDownloader.test.ts +25 -9
  356. package/src/internal/download/fileDownloader.ts +36 -18
  357. package/src/internal/download/index.ts +19 -19
  358. package/src/internal/download/interface.ts +19 -20
  359. package/src/internal/download/queue.ts +3 -3
  360. package/src/internal/download/telemetry.test.ts +11 -11
  361. package/src/internal/download/telemetry.ts +24 -14
  362. package/src/internal/download/thumbnailDownloader.test.ts +11 -6
  363. package/src/internal/download/thumbnailDownloader.ts +43 -32
  364. package/src/internal/errors.ts +7 -5
  365. package/src/internal/events/apiService.ts +30 -17
  366. package/src/internal/events/coreEventManager.test.ts +18 -18
  367. package/src/internal/events/coreEventManager.ts +9 -6
  368. package/src/internal/events/eventManager.test.ts +108 -82
  369. package/src/internal/events/eventManager.ts +16 -5
  370. package/src/internal/events/index.ts +75 -47
  371. package/src/internal/events/interface.ts +47 -39
  372. package/src/internal/events/volumeEventManager.test.ts +61 -65
  373. package/src/internal/events/volumeEventManager.ts +18 -9
  374. package/src/internal/nodes/apiService.test.ts +197 -147
  375. package/src/internal/nodes/apiService.ts +288 -174
  376. package/src/internal/nodes/cache.test.ts +48 -20
  377. package/src/internal/nodes/cache.ts +60 -44
  378. package/src/internal/nodes/cryptoCache.test.ts +34 -14
  379. package/src/internal/nodes/cryptoCache.ts +10 -5
  380. package/src/internal/nodes/cryptoService.test.ts +492 -351
  381. package/src/internal/nodes/cryptoService.ts +170 -88
  382. package/src/internal/nodes/events.test.ts +38 -28
  383. package/src/internal/nodes/events.ts +13 -12
  384. package/src/internal/nodes/extendedAttributes.test.ts +28 -24
  385. package/src/internal/nodes/extendedAttributes.ts +20 -15
  386. package/src/internal/nodes/index.test.ts +133 -0
  387. package/src/internal/nodes/index.ts +27 -15
  388. package/src/internal/nodes/interface.ts +42 -29
  389. package/src/internal/nodes/nodesAccess.test.ts +124 -58
  390. package/src/internal/nodes/nodesAccess.ts +73 -49
  391. package/src/internal/nodes/nodesManagement.test.ts +32 -31
  392. package/src/internal/nodes/nodesManagement.ts +39 -32
  393. package/src/internal/nodes/nodesRevisions.ts +7 -7
  394. package/src/internal/nodes/validations.ts +2 -2
  395. package/src/internal/photos/albums.ts +5 -5
  396. package/src/internal/photos/apiService.ts +4 -7
  397. package/src/internal/photos/cache.ts +1 -1
  398. package/src/internal/photos/index.ts +8 -8
  399. package/src/internal/photos/interface.ts +2 -2
  400. package/src/internal/photos/photosTimeline.ts +4 -5
  401. package/src/internal/sdkEvents.test.ts +10 -10
  402. package/src/internal/sdkEvents.ts +5 -13
  403. package/src/internal/shares/apiService.ts +44 -33
  404. package/src/internal/shares/cache.test.ts +6 -4
  405. package/src/internal/shares/cache.ts +21 -12
  406. package/src/internal/shares/cryptoCache.test.ts +17 -11
  407. package/src/internal/shares/cryptoCache.ts +4 -4
  408. package/src/internal/shares/cryptoService.test.ts +72 -74
  409. package/src/internal/shares/cryptoService.ts +48 -23
  410. package/src/internal/shares/index.ts +23 -11
  411. package/src/internal/shares/interface.ts +8 -8
  412. package/src/internal/shares/manager.test.ts +88 -80
  413. package/src/internal/shares/manager.ts +19 -19
  414. package/src/internal/sharing/apiService.ts +282 -175
  415. package/src/internal/sharing/cache.test.ts +35 -35
  416. package/src/internal/sharing/cache.ts +11 -2
  417. package/src/internal/sharing/cryptoService.test.ts +58 -46
  418. package/src/internal/sharing/cryptoService.ts +121 -84
  419. package/src/internal/sharing/events.test.ts +113 -102
  420. package/src/internal/sharing/events.ts +42 -24
  421. package/src/internal/sharing/index.ts +22 -11
  422. package/src/internal/sharing/interface.ts +40 -40
  423. package/src/internal/sharing/sharingAccess.test.ts +71 -65
  424. package/src/internal/sharing/sharingAccess.ts +39 -21
  425. package/src/internal/sharing/sharingManagement.test.ts +398 -298
  426. package/src/internal/sharing/sharingManagement.ts +138 -65
  427. package/src/internal/uids.ts +1 -1
  428. package/src/internal/upload/apiService.ts +167 -117
  429. package/src/internal/upload/blockVerifier.ts +8 -6
  430. package/src/internal/upload/chunkStreamReader.test.ts +7 -7
  431. package/src/internal/upload/cryptoService.ts +42 -36
  432. package/src/internal/upload/digests.ts +2 -2
  433. package/src/internal/upload/fileUploader.test.ts +15 -3
  434. package/src/internal/upload/fileUploader.ts +39 -17
  435. package/src/internal/upload/index.ts +13 -14
  436. package/src/internal/upload/interface.ts +79 -78
  437. package/src/internal/upload/manager.test.ts +170 -156
  438. package/src/internal/upload/manager.ts +66 -39
  439. package/src/internal/upload/queue.ts +3 -3
  440. package/src/internal/upload/streamUploader.test.ts +40 -26
  441. package/src/internal/upload/streamUploader.ts +87 -69
  442. package/src/internal/upload/telemetry.test.ts +11 -11
  443. package/src/internal/upload/telemetry.ts +25 -15
  444. package/src/internal/wait.test.ts +1 -1
  445. package/src/internal/wait.ts +3 -3
  446. package/src/protonDriveClient.ts +121 -39
  447. package/src/protonDrivePhotosClient.ts +16 -10
  448. package/src/telemetry.ts +60 -52
  449. package/src/tests/logger.ts +1 -1
  450. package/src/tests/telemetry.ts +2 -2
  451. package/src/transformers.ts +29 -21
  452. package/src/version.ts +0 -1
@@ -1,20 +1,24 @@
1
- import { MemoryCache } from "../../cache";
2
- import { NodeType, MemberRole, RevisionState, resultOk, Result } from "../../interface";
3
- import { getMockLogger } from "../../tests/logger";
4
- import { CACHE_TAG_KEYS, NodesCache } from "./cache";
5
- import { DecryptedNode, DecryptedRevision } from "./interface";
6
-
7
- function generateNode(uid: string, parentUid='root', params: Partial<DecryptedNode> & { volumeId?: string } = {}): DecryptedNode {
1
+ import { MemoryCache } from '../../cache';
2
+ import { NodeType, MemberRole, RevisionState, resultOk, Result } from '../../interface';
3
+ import { getMockLogger } from '../../tests/logger';
4
+ import { CACHE_TAG_KEYS, NodesCache } from './cache';
5
+ import { DecryptedNode, DecryptedRevision } from './interface';
6
+
7
+ function generateNode(
8
+ uid: string,
9
+ parentUid = 'root',
10
+ params: Partial<DecryptedNode> & { volumeId?: string } = {},
11
+ ): DecryptedNode {
8
12
  return {
9
- uid: `${params.volumeId || "volumeId"}~:${uid}`,
10
- parentUid: `${params.volumeId || "volumeId"}~:${parentUid}`,
13
+ uid: `${params.volumeId || 'volumeId'}~:${uid}`,
14
+ parentUid: `${params.volumeId || 'volumeId'}~:${parentUid}`,
11
15
  directMemberRole: MemberRole.Admin,
12
16
  type: NodeType.File,
13
- mediaType: "text",
17
+ mediaType: 'text',
14
18
  isShared: false,
15
19
  creationTime: new Date(),
16
20
  trashTime: undefined,
17
- volumeId: "volumeId",
21
+ volumeId: 'volumeId',
18
22
  isStale: false,
19
23
  activeRevision: undefined,
20
24
  folder: undefined,
@@ -108,7 +112,7 @@ describe('nodesCache', () => {
108
112
  creationTime: new Date('2021-01-01'),
109
113
  storageSize: 100,
110
114
  contentAuthor: resultOk('test@test.com'),
111
- claimedModificationTime: new Date('2021-02-01')
115
+ claimedModificationTime: new Date('2021-02-01'),
112
116
  });
113
117
  const node = generateNode('node1', '', { activeRevision });
114
118
 
@@ -135,7 +139,9 @@ describe('nodesCache', () => {
135
139
  await cache.getNode('badObject');
136
140
  fail('Should have thrown an error');
137
141
  } catch (error) {
138
- expect(`${error}`).toBe('Error: Failed to deserialise node: Unexpected token \'a\', \"aaa\" is not valid JSON');
142
+ expect(`${error}`).toBe(
143
+ 'Error: Failed to deserialise node: Unexpected token \'a\', \"aaa\" is not valid JSON',
144
+ );
139
145
  }
140
146
 
141
147
  try {
@@ -153,7 +159,7 @@ describe('nodesCache', () => {
153
159
  cache,
154
160
  ['node1', 'node1a', 'node1b', 'node1c', 'node1c-alpha', 'node1c-beta', 'node2', 'node2a', 'node2b'],
155
161
  ['node3'],
156
- )
162
+ );
157
163
  });
158
164
 
159
165
  it('should remove node and its children', async () => {
@@ -162,8 +168,8 @@ describe('nodesCache', () => {
162
168
  await verifyNodesCache(
163
169
  cache,
164
170
  ['node1', 'node1a', 'node1b', 'node1c', 'node1c-alpha', 'node1c-beta', 'node3'],
165
- ['node2', 'node2a', 'node2b',],
166
- )
171
+ ['node2', 'node2a', 'node2b'],
172
+ );
167
173
  });
168
174
 
169
175
  it('should remove node and its children recursively', async () => {
@@ -198,9 +204,21 @@ describe('nodesCache', () => {
198
204
  expect(nodeUids).toStrictEqual(['volumeId~:node1', 'volumeId~:node2', 'volumeId~:node3']);
199
205
  await verifyNodesCache(
200
206
  cache,
201
- ['root', 'node1', 'node1a', 'node1b', 'node1c', 'node1c-alpha', 'node1c-beta', 'node2', 'node2a', 'node2b', 'node3'],
207
+ [
208
+ 'root',
209
+ 'node1',
210
+ 'node1a',
211
+ 'node1b',
212
+ 'node1c',
213
+ 'node1c-alpha',
214
+ 'node1c-beta',
215
+ 'node2',
216
+ 'node2a',
217
+ 'node2b',
218
+ 'node3',
219
+ ],
202
220
  ['badObject'],
203
- )
221
+ );
204
222
  });
205
223
 
206
224
  it('should iterate trashed nodes', async () => {
@@ -224,8 +242,18 @@ describe('nodesCache', () => {
224
242
  await generateTreeStructure(cache);
225
243
  await cache.setNodesStaleFromVolume('volumeId');
226
244
 
227
- const staleNodeUids = ['node1', 'node1a', 'node1b', 'node1c', 'node1c-alpha', 'node1c-beta', 'node2', 'node2a', 'node2b', 'node3']
228
- .map((uid) => `volumeId~:${uid}`);
245
+ const staleNodeUids = [
246
+ 'node1',
247
+ 'node1a',
248
+ 'node1b',
249
+ 'node1c',
250
+ 'node1c-alpha',
251
+ 'node1c-beta',
252
+ 'node2',
253
+ 'node2a',
254
+ 'node2b',
255
+ 'node3',
256
+ ].map((uid) => `volumeId~:${uid}`);
229
257
  const result = await Array.fromAsync(cache.iterateNodes([...staleNodeUids, 'volume2~:root-otherVolume']));
230
258
  const got = result.map((item) => ({ uid: item.uid, isStale: item.ok ? item.node.isStale : item.error }));
231
259
  const expected = [
@@ -1,7 +1,7 @@
1
- import { EntityResult } from "../../cache";
2
- import { ProtonDriveEntitiesCache, Logger, resultOk, Result } from "../../interface";
3
- import { splitNodeUid } from "../uids";
4
- import { DecryptedNode, DecryptedRevision } from "./interface";
1
+ import { EntityResult } from '../../cache';
2
+ import { ProtonDriveEntitiesCache, Logger, resultOk, Result } from '../../interface';
3
+ import { splitNodeUid } from '../uids';
4
+ import { DecryptedNode, DecryptedRevision } from './interface';
5
5
 
6
6
  export enum CACHE_TAG_KEYS {
7
7
  ParentUid = 'nodeParentUid',
@@ -9,10 +9,7 @@ export enum CACHE_TAG_KEYS {
9
9
  Roots = 'nodeRoot',
10
10
  }
11
11
 
12
- type DecryptedNodeResult = (
13
- {uid: string, ok: true, node: DecryptedNode} |
14
- {uid: string, ok: false, error: string}
15
- );
12
+ type DecryptedNodeResult = { uid: string; ok: true; node: DecryptedNode } | { uid: string; ok: false; error: string };
16
13
 
17
14
  /**
18
15
  * Provides caching for nodes metadata.
@@ -23,7 +20,10 @@ type DecryptedNodeResult = (
23
20
  * The cache of node metadata should not contain any crypto material.
24
21
  */
25
22
  export class NodesCache {
26
- constructor(private logger: Logger, private driveCache: ProtonDriveEntitiesCache) {
23
+ constructor(
24
+ private logger: Logger,
25
+ private driveCache: ProtonDriveEntitiesCache,
26
+ ) {
27
27
  this.logger = logger;
28
28
  this.driveCache = driveCache;
29
29
  }
@@ -35,12 +35,12 @@ export class NodesCache {
35
35
 
36
36
  const tags = [`volume:${volumeId}`];
37
37
  if (node.parentUid) {
38
- tags.push(`${CACHE_TAG_KEYS.ParentUid}:${node.parentUid}`)
38
+ tags.push(`${CACHE_TAG_KEYS.ParentUid}:${node.parentUid}`);
39
39
  } else {
40
- tags.push(`${CACHE_TAG_KEYS.Roots}:${volumeId}`)
40
+ tags.push(`${CACHE_TAG_KEYS.Roots}:${volumeId}`);
41
41
  }
42
42
  if (node.trashTime) {
43
- tags.push(`${CACHE_TAG_KEYS.Trashed}`)
43
+ tags.push(`${CACHE_TAG_KEYS.Trashed}`);
44
44
  }
45
45
 
46
46
  await this.driveCache.setEntity(key, nodeData, tags);
@@ -53,7 +53,7 @@ export class NodesCache {
53
53
  return deserialiseNode(nodeData);
54
54
  } catch (error: unknown) {
55
55
  await this.removeCorruptedNode({ nodeUid }, error);
56
- throw new Error(`Failed to deserialise node: ${error instanceof Error ? error.message : error}`)
56
+ throw new Error(`Failed to deserialise node: ${error instanceof Error ? error.message : error}`);
57
57
  }
58
58
  }
59
59
 
@@ -94,7 +94,10 @@ export class NodesCache {
94
94
  * nodes and rather let SDK re-fetch them than to auotmatically
95
95
  * fix issues and do not bother user with it.
96
96
  */
97
- private async removeCorruptedNode({ nodeUid, cacheUid }: { nodeUid?: string, cacheUid?: string }, corruptionError: unknown): Promise<void> {
97
+ private async removeCorruptedNode(
98
+ { nodeUid, cacheUid }: { nodeUid?: string; cacheUid?: string },
99
+ corruptionError: unknown,
100
+ ): Promise<void> {
98
101
  this.logger.error(`Removing corrupted nodes from the cache`, corruptionError);
99
102
  try {
100
103
  if (nodeUid) {
@@ -106,7 +109,9 @@ export class NodesCache {
106
109
  // The node will not be returned, thus SDK will re-fetch
107
110
  // and re-cache it. Setting it again should then fix the
108
111
  // problem.
109
- this.logger.warn(`Failed to remove corrupted node from the cache: ${removingError instanceof Error ? removingError.message : removingError}`);
112
+ this.logger.warn(
113
+ `Failed to remove corrupted node from the cache: ${removingError instanceof Error ? removingError.message : removingError}`,
114
+ );
110
115
  }
111
116
  }
112
117
 
@@ -129,7 +134,9 @@ export class NodesCache {
129
134
 
130
135
  private async getRecursiveChildrenCacheUids(parentNodeUid: string): Promise<string[]> {
131
136
  const cacheUids = [];
132
- for await (const result of this.driveCache.iterateEntitiesByTag(`${CACHE_TAG_KEYS.ParentUid}:${parentNodeUid}`)) {
137
+ for await (const result of this.driveCache.iterateEntitiesByTag(
138
+ `${CACHE_TAG_KEYS.ParentUid}:${parentNodeUid}`,
139
+ )) {
133
140
  cacheUids.push(result.key);
134
141
  const childrenCacheUids = await this.getRecursiveChildrenCacheUids(getNodeUid(result.key));
135
142
  cacheUids.push(...childrenCacheUids);
@@ -148,7 +155,9 @@ export class NodesCache {
148
155
  }
149
156
 
150
157
  async *iterateChildren(parentNodeUid: string): AsyncGenerator<DecryptedNodeResult> {
151
- for await (const result of this.driveCache.iterateEntitiesByTag(`${CACHE_TAG_KEYS.ParentUid}:${parentNodeUid}`)) {
158
+ for await (const result of this.driveCache.iterateEntitiesByTag(
159
+ `${CACHE_TAG_KEYS.ParentUid}:${parentNodeUid}`,
160
+ )) {
152
161
  const node = await this.convertCacheResult(result);
153
162
  if (node && (!node.ok || !node.node.trashTime)) {
154
163
  yield node;
@@ -178,13 +187,13 @@ export class NodesCache {
178
187
  try {
179
188
  nodeUid = getNodeUid(result.key);
180
189
  } catch (error: unknown) {
181
- await this.removeCorruptedNode({ cacheUid: result.key }, error)
190
+ await this.removeCorruptedNode({ cacheUid: result.key }, error);
182
191
  return null;
183
192
  }
184
193
  if (result.ok) {
185
194
  let node;
186
195
  try {
187
- node = deserialiseNode(result.value)
196
+ node = deserialiseNode(result.value);
188
197
  } catch (error: unknown) {
189
198
  await this.removeCorruptedNode({ nodeUid }, error);
190
199
  return null;
@@ -193,7 +202,7 @@ export class NodesCache {
193
202
  uid: nodeUid,
194
203
  ok: true,
195
204
  node,
196
- }
205
+ };
197
206
  } else {
198
207
  return {
199
208
  ...result,
@@ -239,31 +248,38 @@ function serialiseNode(node: DecryptedNode) {
239
248
  function deserialiseNode(nodeData: string): DecryptedNode {
240
249
  const node = JSON.parse(nodeData);
241
250
  if (
242
- !node || typeof node !== 'object' ||
243
- !node.uid || typeof node.uid !== 'string' ||
244
- !node.directMemberRole || typeof node.directMemberRole !== 'string' ||
245
- !node.type || typeof node.type !== 'string' ||
246
- (typeof node.mediaType !== 'string' && node.mediaType !== undefined) ||
247
- typeof node.isShared !== 'boolean' ||
248
- !node.creationTime || typeof node.creationTime !== 'string' ||
249
- (typeof node.trashTime !== 'string' && node.trashTime !== undefined) ||
250
- (typeof node.folder !== 'object' && node.folder !== undefined) ||
251
- (typeof node.folder?.claimedModificationTime !== 'string' && node.folder?.claimedModificationTime !== undefined)
252
- ) {
253
- throw new Error(`Invalid node data: ${nodeData}`);
254
- }
255
- return {
256
- ...node,
257
- creationTime: new Date(node.creationTime),
258
- trashTime: node.trashTime ? new Date(node.trashTime) : undefined,
259
- activeRevision: node.activeRevision ? deserialiseRevision(node.activeRevision) : undefined,
260
- folder: node.folder
251
+ !node ||
252
+ typeof node !== 'object' ||
253
+ !node.uid ||
254
+ typeof node.uid !== 'string' ||
255
+ !node.directMemberRole ||
256
+ typeof node.directMemberRole !== 'string' ||
257
+ !node.type ||
258
+ typeof node.type !== 'string' ||
259
+ (typeof node.mediaType !== 'string' && node.mediaType !== undefined) ||
260
+ typeof node.isShared !== 'boolean' ||
261
+ !node.creationTime ||
262
+ typeof node.creationTime !== 'string' ||
263
+ (typeof node.trashTime !== 'string' && node.trashTime !== undefined) ||
264
+ (typeof node.folder !== 'object' && node.folder !== undefined) ||
265
+ (typeof node.folder?.claimedModificationTime !== 'string' && node.folder?.claimedModificationTime !== undefined)
266
+ ) {
267
+ throw new Error(`Invalid node data: ${nodeData}`);
268
+ }
269
+ return {
270
+ ...node,
271
+ creationTime: new Date(node.creationTime),
272
+ trashTime: node.trashTime ? new Date(node.trashTime) : undefined,
273
+ activeRevision: node.activeRevision ? deserialiseRevision(node.activeRevision) : undefined,
274
+ folder: node.folder
261
275
  ? {
262
- ...node.folder,
263
- claimedModificationTime: node.folder.claimedModificationTime ? new Date(node.folder.claimedModificationTime) : undefined,
264
- }
276
+ ...node.folder,
277
+ claimedModificationTime: node.folder.claimedModificationTime
278
+ ? new Date(node.folder.claimedModificationTime)
279
+ : undefined,
280
+ }
265
281
  : undefined,
266
- };
282
+ };
267
283
  }
268
284
 
269
285
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -279,7 +295,7 @@ function deserialiseRevision(revision: any): Result<DecryptedRevision, Error> {
279
295
  return resultOk({
280
296
  ...revision.value,
281
297
  creationTime: new Date(revision.value.creationTime),
282
- claimedModificationTime: new Date(revision.value.claimedModificationTime)
298
+ claimedModificationTime: new Date(revision.value.claimedModificationTime),
283
299
  });
284
300
  }
285
301
 
@@ -1,20 +1,20 @@
1
- import { PrivateKey, SessionKey } from "../../crypto";
2
- import { MemoryCache } from "../../cache";
3
- import { CachedCryptoMaterial } from "../../interface";
4
- import { getMockLogger } from "../../tests/logger";
5
- import { NodesCryptoCache } from "./cryptoCache";
1
+ import { PrivateKey, SessionKey } from '../../crypto';
2
+ import { MemoryCache } from '../../cache';
3
+ import { CachedCryptoMaterial } from '../../interface';
4
+ import { getMockLogger } from '../../tests/logger';
5
+ import { NodesCryptoCache } from './cryptoCache';
6
6
 
7
7
  describe('nodesCryptoCache', () => {
8
8
  let memoryCache: MemoryCache<CachedCryptoMaterial>;
9
9
  let cache: NodesCryptoCache;
10
10
 
11
11
  const generatePrivateKey = (name: string) => {
12
- return name as unknown as PrivateKey
13
- }
12
+ return name as unknown as PrivateKey;
13
+ };
14
14
 
15
15
  const generateSessionKey = (name: string) => {
16
- return name as unknown as SessionKey
17
- }
16
+ return name as unknown as SessionKey;
17
+ };
18
18
 
19
19
  beforeEach(async () => {
20
20
  memoryCache = new MemoryCache();
@@ -28,7 +28,12 @@ describe('nodesCryptoCache', () => {
28
28
 
29
29
  it('should store and retrieve keys', async () => {
30
30
  const nodeId = 'newNodeId';
31
- const keys = { passphrase: 'pass', key: generatePrivateKey('privateKey'), passphraseSessionKey: generateSessionKey('sessionKey'), hashKey: undefined };
31
+ const keys = {
32
+ passphrase: 'pass',
33
+ key: generatePrivateKey('privateKey'),
34
+ passphraseSessionKey: generateSessionKey('sessionKey'),
35
+ hashKey: undefined,
36
+ };
32
37
 
33
38
  await cache.setNodeKeys(nodeId, keys);
34
39
  const result = await cache.getNodeKeys(nodeId);
@@ -38,8 +43,18 @@ describe('nodesCryptoCache', () => {
38
43
 
39
44
  it('should replace and retrieve new keys', async () => {
40
45
  const nodeId = 'newNodeId';
41
- const keys1 = { passphrase: 'pass', key: generatePrivateKey('privateKey1'), passphraseSessionKey: generateSessionKey('sessionKey1'), hashKey: undefined };
42
- const keys2 = { passphrase: 'pass', key: generatePrivateKey('privateKey2'), passphraseSessionKey: generateSessionKey('sessionKey2'), hashKey: undefined };
46
+ const keys1 = {
47
+ passphrase: 'pass',
48
+ key: generatePrivateKey('privateKey1'),
49
+ passphraseSessionKey: generateSessionKey('sessionKey1'),
50
+ hashKey: undefined,
51
+ };
52
+ const keys2 = {
53
+ passphrase: 'pass',
54
+ key: generatePrivateKey('privateKey2'),
55
+ passphraseSessionKey: generateSessionKey('sessionKey2'),
56
+ hashKey: undefined,
57
+ };
43
58
 
44
59
  await cache.setNodeKeys(nodeId, keys1);
45
60
  await cache.setNodeKeys(nodeId, keys2);
@@ -50,7 +65,12 @@ describe('nodesCryptoCache', () => {
50
65
 
51
66
  it('should remove keys', async () => {
52
67
  const nodeId = 'newNodeId';
53
- const keys = { passphrase: 'pass', key: generatePrivateKey('privateKey'), passphraseSessionKey: generateSessionKey('sessionKey'), hashKey: undefined };
68
+ const keys = {
69
+ passphrase: 'pass',
70
+ key: generatePrivateKey('privateKey'),
71
+ passphraseSessionKey: generateSessionKey('sessionKey'),
72
+ hashKey: undefined,
73
+ };
54
74
 
55
75
  await cache.setNodeKeys(nodeId, keys);
56
76
  await cache.removeNodeKeys([nodeId]);
@@ -89,4 +109,4 @@ describe('nodesCryptoCache', () => {
89
109
  expect(`${error}`).toBe('Error: Entity not found');
90
110
  }
91
111
  });
92
- });
112
+ });
@@ -1,14 +1,17 @@
1
- import { ProtonDriveCryptoCache, Logger } from "../../interface";
2
- import { DecryptedNodeKeys } from "./interface";
1
+ import { ProtonDriveCryptoCache, Logger } from '../../interface';
2
+ import { DecryptedNodeKeys } from './interface';
3
3
 
4
4
  /**
5
5
  * Provides caching for node crypto material.
6
- *
6
+ *
7
7
  * The cache is responsible for serialising and deserialising node
8
8
  * crypto material.
9
9
  */
10
10
  export class NodesCryptoCache {
11
- constructor(private logger: Logger, private driveCache: ProtonDriveCryptoCache) {
11
+ constructor(
12
+ private logger: Logger,
13
+ private driveCache: ProtonDriveCryptoCache,
14
+ ) {
12
15
  this.logger = logger;
13
16
  this.driveCache = driveCache;
14
17
  }
@@ -26,7 +29,9 @@ export class NodesCryptoCache {
26
29
  } catch (removingError: unknown) {
27
30
  // The node keys will not be returned, thus SDK will re-fetch
28
31
  // and re-cache it. Setting it again should then fix the problem.
29
- this.logger.warn(`Failed to remove corrupted node keys from the cache: ${removingError instanceof Error ? removingError.message : removingError}`);
32
+ this.logger.warn(
33
+ `Failed to remove corrupted node keys from the cache: ${removingError instanceof Error ? removingError.message : removingError}`,
34
+ );
30
35
  }
31
36
  throw new Error(`Failed to deserialize node keys: missing passphrase`);
32
37
  }