@protontech/drive-sdk 0.0.13 → 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 (496) hide show
  1. package/dist/cache/index.d.ts +1 -0
  2. package/dist/cache/index.js +3 -1
  3. package/dist/cache/index.js.map +1 -1
  4. package/dist/cache/memoryCache.d.ts +1 -1
  5. package/dist/cache/memoryCache.js +0 -1
  6. package/dist/cache/memoryCache.js.map +1 -1
  7. package/dist/cache/memoryCache.test.js +2 -4
  8. package/dist/cache/memoryCache.test.js.map +1 -1
  9. package/dist/cache/nullCache.d.ts +14 -0
  10. package/dist/cache/nullCache.js +36 -0
  11. package/dist/cache/nullCache.js.map +1 -0
  12. package/dist/config.d.ts +16 -1
  13. package/dist/config.js +1 -1
  14. package/dist/config.js.map +1 -1
  15. package/dist/crypto/driveCrypto.d.ts +2 -5
  16. package/dist/crypto/driveCrypto.js +7 -12
  17. package/dist/crypto/driveCrypto.js.map +1 -1
  18. package/dist/crypto/driveCrypto.test.js +14 -14
  19. package/dist/crypto/openPGPCrypto.js +5 -3
  20. package/dist/crypto/openPGPCrypto.js.map +1 -1
  21. package/dist/diagnostic/eventsGenerator.d.ts +14 -0
  22. package/dist/diagnostic/eventsGenerator.js +49 -0
  23. package/dist/diagnostic/eventsGenerator.js.map +1 -0
  24. package/dist/diagnostic/httpClient.d.ts +16 -0
  25. package/dist/diagnostic/httpClient.js +81 -0
  26. package/dist/diagnostic/httpClient.js.map +1 -0
  27. package/dist/diagnostic/index.d.ts +10 -0
  28. package/dist/diagnostic/index.js +35 -0
  29. package/dist/diagnostic/index.js.map +1 -0
  30. package/dist/diagnostic/integrityVerificationStream.d.ts +21 -0
  31. package/dist/diagnostic/integrityVerificationStream.js +56 -0
  32. package/dist/diagnostic/integrityVerificationStream.js.map +1 -0
  33. package/dist/diagnostic/interface.d.ts +102 -0
  34. package/dist/diagnostic/interface.js +3 -0
  35. package/dist/diagnostic/interface.js.map +1 -0
  36. package/dist/diagnostic/sdkDiagnostic.d.ts +22 -0
  37. package/dist/diagnostic/sdkDiagnostic.js +222 -0
  38. package/dist/diagnostic/sdkDiagnostic.js.map +1 -0
  39. package/dist/diagnostic/sdkDiagnosticFull.d.ts +18 -0
  40. package/dist/diagnostic/sdkDiagnosticFull.js +35 -0
  41. package/dist/diagnostic/sdkDiagnosticFull.js.map +1 -0
  42. package/dist/diagnostic/telemetry.d.ts +25 -0
  43. package/dist/diagnostic/telemetry.js +70 -0
  44. package/dist/diagnostic/telemetry.js.map +1 -0
  45. package/dist/diagnostic/zipGenerators.d.ts +9 -0
  46. package/dist/diagnostic/zipGenerators.js +64 -0
  47. package/dist/diagnostic/zipGenerators.js.map +1 -0
  48. package/dist/diagnostic/zipGenerators.test.js +144 -0
  49. package/dist/diagnostic/zipGenerators.test.js.map +1 -0
  50. package/dist/errors.d.ts +2 -1
  51. package/dist/errors.js +3 -1
  52. package/dist/errors.js.map +1 -1
  53. package/dist/interface/config.d.ts +26 -0
  54. package/dist/interface/config.js +3 -0
  55. package/dist/interface/config.js.map +1 -0
  56. package/dist/interface/download.d.ts +2 -2
  57. package/dist/interface/events.d.ts +58 -20
  58. package/dist/interface/events.js +11 -1
  59. package/dist/interface/events.js.map +1 -1
  60. package/dist/interface/httpClient.d.ts +0 -14
  61. package/dist/interface/index.d.ts +11 -7
  62. package/dist/interface/index.js +2 -2
  63. package/dist/interface/index.js.map +1 -1
  64. package/dist/interface/nodes.d.ts +9 -0
  65. package/dist/interface/nodes.js.map +1 -1
  66. package/dist/interface/result.js.map +1 -1
  67. package/dist/interface/sharing.d.ts +2 -0
  68. package/dist/interface/sharing.js.map +1 -1
  69. package/dist/interface/telemetry.js +0 -8
  70. package/dist/interface/telemetry.js.map +1 -1
  71. package/dist/interface/thumbnail.js.map +1 -1
  72. package/dist/interface/upload.d.ts +7 -1
  73. package/dist/internal/apiService/apiService.d.ts +1 -1
  74. package/dist/internal/apiService/apiService.js +7 -11
  75. package/dist/internal/apiService/apiService.js.map +1 -1
  76. package/dist/internal/apiService/apiService.test.js +55 -48
  77. package/dist/internal/apiService/apiService.test.js.map +1 -1
  78. package/dist/internal/apiService/coreTypes.d.ts +2356 -2356
  79. package/dist/internal/apiService/driveTypes.d.ts +1680 -1680
  80. package/dist/internal/apiService/errors.js +14 -8
  81. package/dist/internal/apiService/errors.js.map +1 -1
  82. package/dist/internal/apiService/errors.test.js +17 -12
  83. package/dist/internal/apiService/errors.test.js.map +1 -1
  84. package/dist/internal/apiService/transformers.d.ts +1 -1
  85. package/dist/internal/apiService/transformers.js +1 -1
  86. package/dist/internal/asyncIteratorMap.test.js +2 -2
  87. package/dist/internal/asyncIteratorMap.test.js.map +1 -1
  88. package/dist/internal/asyncIteratorRace.d.ts +13 -0
  89. package/dist/internal/asyncIteratorRace.js +59 -0
  90. package/dist/internal/asyncIteratorRace.js.map +1 -0
  91. package/dist/internal/asyncIteratorRace.test.d.ts +1 -0
  92. package/dist/internal/asyncIteratorRace.test.js +119 -0
  93. package/dist/internal/asyncIteratorRace.test.js.map +1 -0
  94. package/dist/internal/batch.d.ts +1 -0
  95. package/dist/internal/batch.js +12 -0
  96. package/dist/internal/batch.js.map +1 -0
  97. package/dist/internal/batch.test.d.ts +1 -0
  98. package/dist/internal/batch.test.js +41 -0
  99. package/dist/internal/batch.test.js.map +1 -0
  100. package/dist/internal/batchLoading.js.map +1 -1
  101. package/dist/internal/batchLoading.test.js +13 -13
  102. package/dist/internal/batchLoading.test.js.map +1 -1
  103. package/dist/internal/devices/apiService.d.ts +3 -3
  104. package/dist/internal/devices/apiService.js +2 -2
  105. package/dist/internal/devices/apiService.js.map +1 -1
  106. package/dist/internal/devices/cryptoService.js +1 -2
  107. package/dist/internal/devices/cryptoService.js.map +1 -1
  108. package/dist/internal/devices/index.d.ts +5 -5
  109. package/dist/internal/devices/index.js.map +1 -1
  110. package/dist/internal/devices/interface.d.ts +3 -3
  111. package/dist/internal/devices/manager.js +2 -2
  112. package/dist/internal/devices/manager.js.map +1 -1
  113. package/dist/internal/devices/manager.test.js +38 -7
  114. package/dist/internal/devices/manager.test.js.map +1 -1
  115. package/dist/internal/download/apiService.d.ts +4 -4
  116. package/dist/internal/download/apiService.js +32 -32
  117. package/dist/internal/download/apiService.js.map +1 -1
  118. package/dist/internal/download/cryptoService.d.ts +4 -4
  119. package/dist/internal/download/cryptoService.js +6 -5
  120. package/dist/internal/download/cryptoService.js.map +1 -1
  121. package/dist/internal/download/fileDownloader.d.ts +6 -6
  122. package/dist/internal/download/fileDownloader.js +3 -2
  123. package/dist/internal/download/fileDownloader.js.map +1 -1
  124. package/dist/internal/download/fileDownloader.test.js +1 -1
  125. package/dist/internal/download/fileDownloader.test.js.map +1 -1
  126. package/dist/internal/download/index.d.ts +5 -5
  127. package/dist/internal/download/index.js +5 -5
  128. package/dist/internal/download/index.js.map +1 -1
  129. package/dist/internal/download/interface.d.ts +3 -4
  130. package/dist/internal/download/telemetry.d.ts +3 -3
  131. package/dist/internal/download/telemetry.js +4 -2
  132. package/dist/internal/download/telemetry.js.map +1 -1
  133. package/dist/internal/download/telemetry.test.js +8 -8
  134. package/dist/internal/download/telemetry.test.js.map +1 -1
  135. package/dist/internal/download/thumbnailDownloader.d.ts +4 -4
  136. package/dist/internal/download/thumbnailDownloader.js +6 -6
  137. package/dist/internal/download/thumbnailDownloader.js.map +1 -1
  138. package/dist/internal/download/thumbnailDownloader.test.js.map +1 -1
  139. package/dist/internal/errors.d.ts +1 -1
  140. package/dist/internal/errors.js +1 -3
  141. package/dist/internal/errors.js.map +1 -1
  142. package/dist/internal/events/apiService.d.ts +5 -7
  143. package/dist/internal/events/apiService.js +19 -22
  144. package/dist/internal/events/apiService.js.map +1 -1
  145. package/dist/internal/events/coreEventManager.d.ts +9 -12
  146. package/dist/internal/events/coreEventManager.js +19 -36
  147. package/dist/internal/events/coreEventManager.js.map +1 -1
  148. package/dist/internal/events/coreEventManager.test.d.ts +1 -0
  149. package/dist/internal/events/coreEventManager.test.js +87 -0
  150. package/dist/internal/events/coreEventManager.test.js.map +1 -0
  151. package/dist/internal/events/eventManager.d.ts +11 -36
  152. package/dist/internal/events/eventManager.js +59 -106
  153. package/dist/internal/events/eventManager.js.map +1 -1
  154. package/dist/internal/events/eventManager.test.js +177 -83
  155. package/dist/internal/events/eventManager.test.js.map +1 -1
  156. package/dist/internal/events/index.d.ts +16 -36
  157. package/dist/internal/events/index.js +56 -72
  158. package/dist/internal/events/index.js.map +1 -1
  159. package/dist/internal/events/interface.d.ts +59 -14
  160. package/dist/internal/events/interface.js +12 -3
  161. package/dist/internal/events/interface.js.map +1 -1
  162. package/dist/internal/events/volumeEventManager.d.ts +9 -19
  163. package/dist/internal/events/volumeEventManager.js +58 -45
  164. package/dist/internal/events/volumeEventManager.js.map +1 -1
  165. package/dist/internal/events/volumeEventManager.test.d.ts +1 -0
  166. package/dist/internal/events/volumeEventManager.test.js +203 -0
  167. package/dist/internal/events/volumeEventManager.test.js.map +1 -0
  168. package/dist/internal/nodes/apiService.d.ts +4 -3
  169. package/dist/internal/nodes/apiService.js +36 -15
  170. package/dist/internal/nodes/apiService.js.map +1 -1
  171. package/dist/internal/nodes/apiService.test.js +60 -41
  172. package/dist/internal/nodes/apiService.test.js.map +1 -1
  173. package/dist/internal/nodes/cache.d.ts +14 -5
  174. package/dist/internal/nodes/cache.js +31 -7
  175. package/dist/internal/nodes/cache.js.map +1 -1
  176. package/dist/internal/nodes/cache.test.js +31 -9
  177. package/dist/internal/nodes/cache.test.js.map +1 -1
  178. package/dist/internal/nodes/cryptoCache.d.ts +2 -2
  179. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  180. package/dist/internal/nodes/cryptoCache.test.js +24 -4
  181. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  182. package/dist/internal/nodes/cryptoService.d.ts +4 -4
  183. package/dist/internal/nodes/cryptoService.js +11 -17
  184. package/dist/internal/nodes/cryptoService.js.map +1 -1
  185. package/dist/internal/nodes/cryptoService.test.js +320 -241
  186. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  187. package/dist/internal/nodes/events.d.ts +8 -84
  188. package/dist/internal/nodes/events.js +43 -217
  189. package/dist/internal/nodes/events.js.map +1 -1
  190. package/dist/internal/nodes/events.test.js +35 -279
  191. package/dist/internal/nodes/events.test.js.map +1 -1
  192. package/dist/internal/nodes/extendedAttributes.d.ts +1 -1
  193. package/dist/internal/nodes/extendedAttributes.js +3 -1
  194. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  195. package/dist/internal/nodes/extendedAttributes.test.js +7 -10
  196. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
  197. package/dist/internal/nodes/index.d.ts +12 -13
  198. package/dist/internal/nodes/index.js +5 -5
  199. package/dist/internal/nodes/index.js.map +1 -1
  200. package/dist/internal/nodes/index.test.js +24 -32
  201. package/dist/internal/nodes/index.test.js.map +1 -1
  202. package/dist/internal/nodes/interface.d.ts +2 -2
  203. package/dist/internal/nodes/nodesAccess.d.ts +22 -7
  204. package/dist/internal/nodes/nodesAccess.js +65 -16
  205. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  206. package/dist/internal/nodes/nodesAccess.test.js +165 -101
  207. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  208. package/dist/internal/nodes/nodesManagement.d.ts +7 -9
  209. package/dist/internal/nodes/nodesManagement.js +21 -33
  210. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  211. package/dist/internal/nodes/nodesManagement.test.js +42 -21
  212. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  213. package/dist/internal/nodes/nodesRevisions.d.ts +4 -4
  214. package/dist/internal/nodes/nodesRevisions.js.map +1 -1
  215. package/dist/internal/photos/albums.d.ts +3 -3
  216. package/dist/internal/photos/albums.js.map +1 -1
  217. package/dist/internal/photos/apiService.d.ts +1 -1
  218. package/dist/internal/photos/apiService.js +3 -6
  219. package/dist/internal/photos/apiService.js.map +1 -1
  220. package/dist/internal/photos/cache.d.ts +1 -1
  221. package/dist/internal/photos/index.d.ts +5 -5
  222. package/dist/internal/photos/index.js.map +1 -1
  223. package/dist/internal/photos/interface.d.ts +2 -2
  224. package/dist/internal/photos/photosTimeline.d.ts +3 -3
  225. package/dist/internal/photos/photosTimeline.js +1 -2
  226. package/dist/internal/photos/photosTimeline.js.map +1 -1
  227. package/dist/internal/sdkEvents.d.ts +1 -1
  228. package/dist/internal/sdkEvents.js +2 -7
  229. package/dist/internal/sdkEvents.js.map +1 -1
  230. package/dist/internal/sdkEvents.test.js +8 -8
  231. package/dist/internal/shares/apiService.d.ts +2 -2
  232. package/dist/internal/shares/apiService.js +5 -3
  233. package/dist/internal/shares/apiService.js.map +1 -1
  234. package/dist/internal/shares/cache.d.ts +4 -2
  235. package/dist/internal/shares/cache.js +14 -6
  236. package/dist/internal/shares/cache.js.map +1 -1
  237. package/dist/internal/shares/cache.test.js.map +1 -1
  238. package/dist/internal/shares/cryptoCache.d.ts +2 -2
  239. package/dist/internal/shares/cryptoCache.test.js +8 -2
  240. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  241. package/dist/internal/shares/cryptoService.d.ts +3 -3
  242. package/dist/internal/shares/cryptoService.js.map +1 -1
  243. package/dist/internal/shares/cryptoService.test.js +42 -42
  244. package/dist/internal/shares/cryptoService.test.js.map +1 -1
  245. package/dist/internal/shares/index.d.ts +4 -4
  246. package/dist/internal/shares/index.js.map +1 -1
  247. package/dist/internal/shares/interface.d.ts +2 -2
  248. package/dist/internal/shares/manager.d.ts +8 -7
  249. package/dist/internal/shares/manager.js +3 -0
  250. package/dist/internal/shares/manager.js.map +1 -1
  251. package/dist/internal/shares/manager.test.js +71 -63
  252. package/dist/internal/shares/manager.test.js.map +1 -1
  253. package/dist/internal/sharing/apiService.d.ts +4 -4
  254. package/dist/internal/sharing/apiService.js +5 -3
  255. package/dist/internal/sharing/apiService.js.map +1 -1
  256. package/dist/internal/sharing/cache.d.ts +1 -1
  257. package/dist/internal/sharing/cache.test.js +33 -33
  258. package/dist/internal/sharing/cryptoService.d.ts +3 -3
  259. package/dist/internal/sharing/cryptoService.js +3 -4
  260. package/dist/internal/sharing/cryptoService.js.map +1 -1
  261. package/dist/internal/sharing/cryptoService.test.js +39 -39
  262. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  263. package/dist/internal/sharing/events.d.ts +24 -56
  264. package/dist/internal/sharing/events.js +45 -138
  265. package/dist/internal/sharing/events.js.map +1 -1
  266. package/dist/internal/sharing/events.test.js +85 -189
  267. package/dist/internal/sharing/events.test.js.map +1 -1
  268. package/dist/internal/sharing/index.d.ts +8 -9
  269. package/dist/internal/sharing/index.js +5 -5
  270. package/dist/internal/sharing/index.js.map +1 -1
  271. package/dist/internal/sharing/interface.d.ts +8 -4
  272. package/dist/internal/sharing/sharingAccess.d.ts +6 -6
  273. package/dist/internal/sharing/sharingAccess.js +8 -4
  274. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  275. package/dist/internal/sharing/sharingAccess.test.js +45 -39
  276. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  277. package/dist/internal/sharing/sharingManagement.d.ts +5 -6
  278. package/dist/internal/sharing/sharingManagement.js +12 -16
  279. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  280. package/dist/internal/sharing/sharingManagement.test.js +305 -286
  281. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  282. package/dist/internal/uids.js.map +1 -1
  283. package/dist/internal/upload/apiService.d.ts +5 -6
  284. package/dist/internal/upload/apiService.js +8 -5
  285. package/dist/internal/upload/apiService.js.map +1 -1
  286. package/dist/internal/upload/blockVerifier.d.ts +3 -3
  287. package/dist/internal/upload/blockVerifier.js +1 -1
  288. package/dist/internal/upload/blockVerifier.js.map +1 -1
  289. package/dist/internal/upload/chunkStreamReader.test.js +6 -6
  290. package/dist/internal/upload/cryptoService.d.ts +4 -4
  291. package/dist/internal/upload/cryptoService.js +4 -4
  292. package/dist/internal/upload/cryptoService.js.map +1 -1
  293. package/dist/internal/upload/digests.js.map +1 -1
  294. package/dist/internal/upload/fileUploader.d.ts +6 -6
  295. package/dist/internal/upload/fileUploader.js.map +1 -1
  296. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  297. package/dist/internal/upload/index.d.ts +6 -6
  298. package/dist/internal/upload/index.js +3 -3
  299. package/dist/internal/upload/index.js.map +1 -1
  300. package/dist/internal/upload/interface.d.ts +5 -3
  301. package/dist/internal/upload/manager.d.ts +8 -8
  302. package/dist/internal/upload/manager.js +23 -52
  303. package/dist/internal/upload/manager.js.map +1 -1
  304. package/dist/internal/upload/manager.test.js +185 -147
  305. package/dist/internal/upload/manager.test.js.map +1 -1
  306. package/dist/internal/upload/streamUploader.d.ts +6 -6
  307. package/dist/internal/upload/streamUploader.js +9 -8
  308. package/dist/internal/upload/streamUploader.js.map +1 -1
  309. package/dist/internal/upload/streamUploader.test.js +17 -12
  310. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  311. package/dist/internal/upload/telemetry.d.ts +3 -3
  312. package/dist/internal/upload/telemetry.js +5 -3
  313. package/dist/internal/upload/telemetry.js.map +1 -1
  314. package/dist/internal/upload/telemetry.test.js +8 -8
  315. package/dist/internal/upload/telemetry.test.js.map +1 -1
  316. package/dist/protonDriveClient.d.ts +27 -170
  317. package/dist/protonDriveClient.js +37 -198
  318. package/dist/protonDriveClient.js.map +1 -1
  319. package/dist/protonDrivePhotosClient.js +3 -2
  320. package/dist/protonDrivePhotosClient.js.map +1 -1
  321. package/dist/telemetry.js +18 -15
  322. package/dist/telemetry.js.map +1 -1
  323. package/dist/tests/logger.js.map +1 -1
  324. package/dist/tests/telemetry.d.ts +1 -1
  325. package/dist/transformers.js +4 -2
  326. package/dist/transformers.js.map +1 -1
  327. package/package.json +3 -3
  328. package/src/cache/index.ts +1 -0
  329. package/src/cache/interface.ts +22 -22
  330. package/src/cache/memoryCache.test.ts +7 -7
  331. package/src/cache/memoryCache.ts +5 -5
  332. package/src/cache/nullCache.ts +38 -0
  333. package/src/config.ts +17 -2
  334. package/src/crypto/driveCrypto.test.ts +15 -15
  335. package/src/crypto/driveCrypto.ts +120 -156
  336. package/src/crypto/hmac.ts +1 -1
  337. package/src/crypto/interface.ts +63 -72
  338. package/src/crypto/openPGPCrypto.ts +76 -94
  339. package/src/crypto/utils.ts +1 -1
  340. package/src/diagnostic/eventsGenerator.ts +48 -0
  341. package/src/diagnostic/httpClient.ts +84 -0
  342. package/src/diagnostic/index.ts +40 -0
  343. package/src/diagnostic/integrityVerificationStream.ts +55 -0
  344. package/src/diagnostic/interface.ts +158 -0
  345. package/src/diagnostic/sdkDiagnostic.ts +249 -0
  346. package/src/diagnostic/sdkDiagnosticFull.ts +37 -0
  347. package/src/diagnostic/telemetry.ts +74 -0
  348. package/src/diagnostic/zipGenerators.test.ts +177 -0
  349. package/src/diagnostic/zipGenerators.ts +70 -0
  350. package/src/errors.ts +25 -22
  351. package/src/index.ts +3 -3
  352. package/src/interface/account.ts +10 -10
  353. package/src/interface/author.ts +6 -6
  354. package/src/interface/config.ts +28 -0
  355. package/src/interface/devices.ts +6 -6
  356. package/src/interface/download.ts +12 -9
  357. package/src/interface/events.ts +76 -25
  358. package/src/interface/httpClient.ts +11 -27
  359. package/src/interface/index.ts +81 -20
  360. package/src/interface/nodes.ts +67 -60
  361. package/src/interface/result.ts +1 -3
  362. package/src/interface/sharing.ts +60 -56
  363. package/src/interface/telemetry.ts +74 -74
  364. package/src/interface/thumbnail.ts +5 -6
  365. package/src/interface/upload.ts +25 -11
  366. package/src/internal/apiService/apiService.test.ts +109 -76
  367. package/src/internal/apiService/apiService.ts +40 -26
  368. package/src/internal/apiService/coreTypes.ts +2474 -2463
  369. package/src/internal/apiService/driveTypes.ts +1868 -1822
  370. package/src/internal/apiService/errorCodes.ts +4 -4
  371. package/src/internal/apiService/errors.test.ts +25 -23
  372. package/src/internal/apiService/errors.ts +15 -9
  373. package/src/internal/apiService/index.ts +1 -1
  374. package/src/internal/apiService/transformers.ts +2 -2
  375. package/src/internal/asyncIteratorMap.test.ts +4 -4
  376. package/src/internal/asyncIteratorMap.ts +1 -1
  377. package/src/internal/asyncIteratorRace.test.ts +149 -0
  378. package/src/internal/asyncIteratorRace.ts +79 -0
  379. package/src/internal/batch.test.ts +50 -0
  380. package/src/internal/batch.ts +9 -0
  381. package/src/internal/batchLoading.test.ts +13 -14
  382. package/src/internal/batchLoading.ts +8 -8
  383. package/src/internal/devices/apiService.ts +58 -51
  384. package/src/internal/devices/cryptoService.ts +22 -17
  385. package/src/internal/devices/index.ts +17 -10
  386. package/src/internal/devices/interface.ts +21 -12
  387. package/src/internal/devices/manager.test.ts +40 -9
  388. package/src/internal/devices/manager.ts +3 -3
  389. package/src/internal/download/apiService.ts +72 -52
  390. package/src/internal/download/cryptoService.ts +34 -18
  391. package/src/internal/download/fileDownloader.test.ts +25 -9
  392. package/src/internal/download/fileDownloader.ts +38 -20
  393. package/src/internal/download/index.ts +19 -19
  394. package/src/internal/download/interface.ts +19 -20
  395. package/src/internal/download/queue.ts +3 -3
  396. package/src/internal/download/telemetry.test.ts +11 -11
  397. package/src/internal/download/telemetry.ts +24 -14
  398. package/src/internal/download/thumbnailDownloader.test.ts +11 -6
  399. package/src/internal/download/thumbnailDownloader.ts +43 -32
  400. package/src/internal/errors.ts +7 -5
  401. package/src/internal/events/apiService.ts +46 -36
  402. package/src/internal/events/coreEventManager.test.ts +101 -0
  403. package/src/internal/events/coreEventManager.ts +26 -48
  404. package/src/internal/events/eventManager.test.ts +211 -93
  405. package/src/internal/events/eventManager.ts +72 -117
  406. package/src/internal/events/index.ts +71 -91
  407. package/src/internal/events/interface.ts +92 -29
  408. package/src/internal/events/volumeEventManager.test.ts +239 -0
  409. package/src/internal/events/volumeEventManager.ts +68 -57
  410. package/src/internal/nodes/apiService.test.ts +197 -147
  411. package/src/internal/nodes/apiService.ts +288 -174
  412. package/src/internal/nodes/cache.test.ts +48 -20
  413. package/src/internal/nodes/cache.ts +79 -45
  414. package/src/internal/nodes/cryptoCache.test.ts +34 -14
  415. package/src/internal/nodes/cryptoCache.ts +10 -5
  416. package/src/internal/nodes/cryptoService.test.ts +492 -351
  417. package/src/internal/nodes/cryptoService.ts +171 -89
  418. package/src/internal/nodes/events.test.ts +48 -344
  419. package/src/internal/nodes/events.ts +48 -254
  420. package/src/internal/nodes/extendedAttributes.test.ts +28 -24
  421. package/src/internal/nodes/extendedAttributes.ts +20 -15
  422. package/src/internal/nodes/index.test.ts +51 -55
  423. package/src/internal/nodes/index.ts +32 -22
  424. package/src/internal/nodes/interface.ts +44 -31
  425. package/src/internal/nodes/nodesAccess.test.ts +237 -130
  426. package/src/internal/nodes/nodesAccess.ts +113 -50
  427. package/src/internal/nodes/nodesManagement.test.ts +64 -39
  428. package/src/internal/nodes/nodesManagement.ts +51 -62
  429. package/src/internal/nodes/nodesRevisions.ts +7 -7
  430. package/src/internal/nodes/validations.ts +2 -2
  431. package/src/internal/photos/albums.ts +5 -5
  432. package/src/internal/photos/apiService.ts +4 -7
  433. package/src/internal/photos/cache.ts +1 -1
  434. package/src/internal/photos/index.ts +8 -8
  435. package/src/internal/photos/interface.ts +2 -2
  436. package/src/internal/photos/photosTimeline.ts +4 -5
  437. package/src/internal/sdkEvents.test.ts +10 -10
  438. package/src/internal/sdkEvents.ts +5 -13
  439. package/src/internal/shares/apiService.ts +44 -33
  440. package/src/internal/shares/cache.test.ts +6 -4
  441. package/src/internal/shares/cache.ts +25 -14
  442. package/src/internal/shares/cryptoCache.test.ts +17 -11
  443. package/src/internal/shares/cryptoCache.ts +4 -4
  444. package/src/internal/shares/cryptoService.test.ts +72 -74
  445. package/src/internal/shares/cryptoService.ts +48 -23
  446. package/src/internal/shares/index.ts +23 -11
  447. package/src/internal/shares/interface.ts +8 -8
  448. package/src/internal/shares/manager.test.ts +88 -80
  449. package/src/internal/shares/manager.ts +27 -23
  450. package/src/internal/sharing/apiService.ts +283 -175
  451. package/src/internal/sharing/cache.test.ts +35 -35
  452. package/src/internal/sharing/cache.ts +3 -3
  453. package/src/internal/sharing/cryptoService.test.ts +58 -46
  454. package/src/internal/sharing/cryptoService.ts +121 -83
  455. package/src/internal/sharing/events.test.ts +97 -207
  456. package/src/internal/sharing/events.ts +46 -157
  457. package/src/internal/sharing/index.ts +24 -16
  458. package/src/internal/sharing/interface.ts +46 -42
  459. package/src/internal/sharing/sharingAccess.test.ts +71 -65
  460. package/src/internal/sharing/sharingAccess.ts +39 -21
  461. package/src/internal/sharing/sharingManagement.test.ts +405 -335
  462. package/src/internal/sharing/sharingManagement.ts +144 -75
  463. package/src/internal/uids.ts +1 -1
  464. package/src/internal/upload/apiService.ts +168 -119
  465. package/src/internal/upload/blockVerifier.ts +8 -6
  466. package/src/internal/upload/chunkStreamReader.test.ts +7 -7
  467. package/src/internal/upload/cryptoService.ts +42 -36
  468. package/src/internal/upload/digests.ts +2 -2
  469. package/src/internal/upload/fileUploader.test.ts +15 -3
  470. package/src/internal/upload/fileUploader.ts +39 -17
  471. package/src/internal/upload/index.ts +17 -18
  472. package/src/internal/upload/interface.ts +79 -77
  473. package/src/internal/upload/manager.test.ts +222 -175
  474. package/src/internal/upload/manager.ts +74 -80
  475. package/src/internal/upload/queue.ts +3 -3
  476. package/src/internal/upload/streamUploader.test.ts +40 -27
  477. package/src/internal/upload/streamUploader.ts +87 -71
  478. package/src/internal/upload/telemetry.test.ts +11 -11
  479. package/src/internal/upload/telemetry.ts +25 -15
  480. package/src/internal/wait.test.ts +1 -1
  481. package/src/internal/wait.ts +3 -3
  482. package/src/protonDriveClient.ts +189 -276
  483. package/src/protonDrivePhotosClient.ts +20 -13
  484. package/src/telemetry.ts +60 -52
  485. package/src/tests/logger.ts +1 -1
  486. package/src/tests/telemetry.ts +2 -2
  487. package/src/transformers.ts +27 -21
  488. package/src/version.ts +0 -1
  489. package/dist/internal/events/cache.d.ts +0 -28
  490. package/dist/internal/events/cache.js +0 -67
  491. package/dist/internal/events/cache.js.map +0 -1
  492. package/dist/internal/events/cache.test.js +0 -43
  493. package/dist/internal/events/cache.test.js.map +0 -1
  494. package/src/internal/events/cache.test.ts +0 -47
  495. package/src/internal/events/cache.ts +0 -80
  496. /package/dist/{internal/events/cache.test.d.ts → diagnostic/zipGenerators.test.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
- import { MemoryCache } from "../../cache";
2
- import { SharingCache } from "./cache";
1
+ import { MemoryCache } from '../../cache';
2
+ import { SharingCache } from './cache';
3
3
 
4
- describe("SharingCache", () => {
4
+ describe('SharingCache', () => {
5
5
  let memoryCache: MemoryCache<string>;
6
6
  let cache: SharingCache;
7
7
 
@@ -10,76 +10,76 @@ describe("SharingCache", () => {
10
10
  cache = new SharingCache(memoryCache);
11
11
  });
12
12
 
13
- describe("set and get shared by me nodes", () => {
14
- it("should set node uids", async () => {
15
- await cache.setSharedByMeNodeUids(["nodeUid"]);
13
+ describe('set and get shared by me nodes', () => {
14
+ it('should set node uids', async () => {
15
+ await cache.setSharedByMeNodeUids(['nodeUid']);
16
16
 
17
17
  const result = await cache.getSharedByMeNodeUids();
18
18
 
19
- expect(result).toEqual(["nodeUid"]);
19
+ expect(result).toEqual(['nodeUid']);
20
20
  });
21
21
  });
22
22
 
23
- describe("addSharedByMeNodeUid", () => {
24
- it("should throw if adding before setting", async () => {
23
+ describe('addSharedByMeNodeUid', () => {
24
+ it('should throw if adding before setting', async () => {
25
25
  try {
26
- await cache.addSharedByMeNodeUid("nodeUid");
27
- fail("Should have thrown an error");
26
+ await cache.addSharedByMeNodeUid('nodeUid');
27
+ fail('Should have thrown an error');
28
28
  } catch (error) {
29
- expect(`${error}`).toBe("Error: Calling add before setting the loaded items");
29
+ expect(`${error}`).toBe('Error: Calling add before setting the loaded items');
30
30
  }
31
31
  });
32
32
 
33
- it("should add node uid", async () => {
34
- await cache.setSharedByMeNodeUids(["nodeUid"]);
33
+ it('should add node uid', async () => {
34
+ await cache.setSharedByMeNodeUids(['nodeUid']);
35
35
  const spy = jest.spyOn(memoryCache, 'setEntity');
36
36
 
37
- await cache.addSharedByMeNodeUid("newNodeUid");
37
+ await cache.addSharedByMeNodeUid('newNodeUid');
38
38
 
39
39
  const result = await cache.getSharedByMeNodeUids();
40
- expect(result).toEqual(["nodeUid", "newNodeUid"]);
40
+ expect(result).toEqual(['nodeUid', 'newNodeUid']);
41
41
  expect(spy).toHaveBeenCalled();
42
42
  });
43
43
 
44
- it("should not add duplicate node uid", async () => {
45
- await cache.setSharedByMeNodeUids(["nodeUid"]);
44
+ it('should not add duplicate node uid', async () => {
45
+ await cache.setSharedByMeNodeUids(['nodeUid']);
46
46
  const spy = jest.spyOn(memoryCache, 'setEntity');
47
47
 
48
- await cache.addSharedByMeNodeUid("nodeUid");
49
- await cache.addSharedByMeNodeUid("nodeUid");
48
+ await cache.addSharedByMeNodeUid('nodeUid');
49
+ await cache.addSharedByMeNodeUid('nodeUid');
50
50
 
51
51
  const result = await cache.getSharedByMeNodeUids();
52
- expect(result).toEqual(["nodeUid"]);
52
+ expect(result).toEqual(['nodeUid']);
53
53
  expect(spy).not.toHaveBeenCalled();
54
54
  });
55
55
  });
56
56
 
57
- describe("removeSharedByMeNodeUid", () => {
58
- it("should throw if removing before setting", async () => {
57
+ describe('removeSharedByMeNodeUid', () => {
58
+ it('should throw if removing before setting', async () => {
59
59
  try {
60
- await cache.removeSharedByMeNodeUid("nodeUid");
61
- fail("Should have thrown an error");
60
+ await cache.removeSharedByMeNodeUid('nodeUid');
61
+ fail('Should have thrown an error');
62
62
  } catch (error) {
63
- expect(`${error}`).toBe("Error: Calling remove before setting the loaded items");
63
+ expect(`${error}`).toBe('Error: Calling remove before setting the loaded items');
64
64
  }
65
65
  });
66
66
 
67
- it("should remove node uid", async () => {
68
- await cache.setSharedByMeNodeUids(["nodeUid"]);
67
+ it('should remove node uid', async () => {
68
+ await cache.setSharedByMeNodeUids(['nodeUid']);
69
69
  const spy = jest.spyOn(memoryCache, 'setEntity');
70
70
 
71
- await cache.removeSharedByMeNodeUid("nodeUid");
71
+ await cache.removeSharedByMeNodeUid('nodeUid');
72
72
 
73
73
  const result = await cache.getSharedByMeNodeUids();
74
74
  expect(result).toEqual([]);
75
75
  expect(spy).toHaveBeenCalled();
76
76
  });
77
77
 
78
- it("should handle removing of missing node uid", async () => {
78
+ it('should handle removing of missing node uid', async () => {
79
79
  await cache.setSharedByMeNodeUids([]);
80
80
  const spy = jest.spyOn(memoryCache, 'setEntity');
81
81
 
82
- await cache.removeSharedByMeNodeUid("nodeUid");
82
+ await cache.removeSharedByMeNodeUid('nodeUid');
83
83
 
84
84
  const result = await cache.getSharedByMeNodeUids();
85
85
  expect(result).toEqual([]);
@@ -87,13 +87,13 @@ describe("SharingCache", () => {
87
87
  });
88
88
  });
89
89
 
90
- describe("set and get shared with me nodes", () => {
91
- it("should set node uids", async () => {
92
- await cache.setSharedWithMeNodeUids(["nodeUid"]);
90
+ describe('set and get shared with me nodes', () => {
91
+ it('should set node uids', async () => {
92
+ await cache.setSharedWithMeNodeUids(['nodeUid']);
93
93
 
94
94
  const result = await cache.getSharedWithMeNodeUids();
95
95
 
96
- expect(result).toEqual(["nodeUid"]);
96
+ expect(result).toEqual(['nodeUid']);
97
97
  });
98
98
  });
99
99
  });
@@ -1,9 +1,9 @@
1
- import { ProtonDriveEntitiesCache } from "../../interface";
2
- import { SharingType } from "./interface";
1
+ import { ProtonDriveEntitiesCache } from '../../interface';
2
+ import { SharingType } from './interface';
3
3
 
4
4
  /**
5
5
  * Provides caching for shared by me and with me listings.
6
- *
6
+ *
7
7
  * The cache is responsible for serialising and deserialising the node
8
8
  * UIDs for each sharing type. Also, ensuring that only full lists are
9
9
  * cached.
@@ -1,10 +1,17 @@
1
- import { DriveCrypto, PrivateKey } from "../../crypto";
2
- import { MetricVolumeType, NodeType, ProtonDriveAccount, ProtonDriveTelemetry, resultError, resultOk } from "../../interface";
3
- import { getMockTelemetry } from "../../tests/telemetry";
4
- import { SharesService } from "./interface";
5
- import { SharingCryptoService } from "./cryptoService";
6
-
7
- describe("SharingCryptoService", () => {
1
+ import { DriveCrypto, PrivateKey } from '../../crypto';
2
+ import {
3
+ MetricVolumeType,
4
+ NodeType,
5
+ ProtonDriveAccount,
6
+ ProtonDriveTelemetry,
7
+ resultError,
8
+ resultOk,
9
+ } from '../../interface';
10
+ import { getMockTelemetry } from '../../tests/telemetry';
11
+ import { SharesService } from './interface';
12
+ import { SharingCryptoService } from './cryptoService';
13
+
14
+ describe('SharingCryptoService', () => {
8
15
  let telemetry: ProtonDriveTelemetry;
9
16
  let driveCrypto: DriveCrypto;
10
17
  let account: ProtonDriveAccount;
@@ -15,75 +22,80 @@ describe("SharingCryptoService", () => {
15
22
  telemetry = getMockTelemetry();
16
23
  // @ts-expect-error No need to implement all methods for mocking
17
24
  driveCrypto = {
18
- decryptShareUrlPassword: jest.fn().mockResolvedValue("urlPassword"),
25
+ decryptShareUrlPassword: jest.fn().mockResolvedValue('urlPassword'),
19
26
  decryptKeyWithSrpPassword: jest.fn().mockResolvedValue({
20
- key: "decryptedKey" as unknown as PrivateKey,
27
+ key: 'decryptedKey' as unknown as PrivateKey,
21
28
  }),
22
29
  decryptNodeName: jest.fn().mockResolvedValue({
23
- name: "nodeName",
30
+ name: 'nodeName',
24
31
  }),
25
32
  };
26
33
  account = {
27
34
  // @ts-expect-error No need to implement full response for mocking
28
35
  getOwnAddress: jest.fn(async () => ({
29
- keys: [{ key: "addressKey" as unknown as PrivateKey }],
36
+ keys: [{ key: 'addressKey' as unknown as PrivateKey }],
30
37
  })),
31
38
  };
32
39
  // @ts-expect-error No need to implement all methods for mocking
33
40
  sharesService = {
34
41
  getMyFilesShareMemberEmailKey: jest.fn().mockResolvedValue({
35
- addressId: "addressId",
42
+ addressId: 'addressId',
36
43
  }),
37
44
  };
38
45
  cryptoService = new SharingCryptoService(telemetry, driveCrypto, account, sharesService);
39
46
  });
40
47
 
41
- describe("decryptBookmark", () => {
48
+ describe('decryptBookmark', () => {
42
49
  const encryptedBookmark = {
43
- tokenId: "tokenId",
50
+ tokenId: 'tokenId',
44
51
  creationTime: new Date(),
45
52
  url: {
46
- encryptedUrlPassword: "encryptedUrlPassword",
47
- base64SharePasswordSalt: "base64SharePasswordSalt",
53
+ encryptedUrlPassword: 'encryptedUrlPassword',
54
+ base64SharePasswordSalt: 'base64SharePasswordSalt',
48
55
  },
49
56
  share: {
50
- armoredKey: "armoredKey",
51
- armoredPassphrase: "armoredPassphrase",
57
+ armoredKey: 'armoredKey',
58
+ armoredPassphrase: 'armoredPassphrase',
52
59
  },
53
60
  node: {
54
61
  type: NodeType.File,
55
- mediaType: "mediaType",
56
- encryptedName: "encryptedName",
57
- armoredKey: "armoredKey",
58
- armoredNodePassphrase: "armoredNodePassphrase",
62
+ mediaType: 'mediaType',
63
+ encryptedName: 'encryptedName',
64
+ armoredKey: 'armoredKey',
65
+ armoredNodePassphrase: 'armoredNodePassphrase',
59
66
  file: {
60
- base64ContentKeyPacket: "base64ContentKeyPacket",
67
+ base64ContentKeyPacket: 'base64ContentKeyPacket',
61
68
  },
62
69
  },
63
- }
70
+ };
64
71
 
65
- it("should decrypt bookmark", async () => {
72
+ it('should decrypt bookmark', async () => {
66
73
  const result = await cryptoService.decryptBookmark(encryptedBookmark);
67
74
 
68
75
  expect(result).toMatchObject({
69
- url: resultOk("https://drive.proton.me/urls/tokenId#urlPassword"),
70
- nodeName: resultOk("nodeName"),
76
+ url: resultOk('https://drive.proton.me/urls/tokenId#urlPassword'),
77
+ nodeName: resultOk('nodeName'),
71
78
  });
72
- expect(driveCrypto.decryptShareUrlPassword).toHaveBeenCalledWith("encryptedUrlPassword", ["addressKey"]);
73
- expect(driveCrypto.decryptKeyWithSrpPassword).toHaveBeenCalledWith("urlPassword", "base64SharePasswordSalt", "armoredKey", "armoredPassphrase");
74
- expect(driveCrypto.decryptNodeName).toHaveBeenCalledWith("encryptedName", "decryptedKey", []);
79
+ expect(driveCrypto.decryptShareUrlPassword).toHaveBeenCalledWith('encryptedUrlPassword', ['addressKey']);
80
+ expect(driveCrypto.decryptKeyWithSrpPassword).toHaveBeenCalledWith(
81
+ 'urlPassword',
82
+ 'base64SharePasswordSalt',
83
+ 'armoredKey',
84
+ 'armoredPassphrase',
85
+ );
86
+ expect(driveCrypto.decryptNodeName).toHaveBeenCalledWith('encryptedName', 'decryptedKey', []);
75
87
  expect(telemetry.logEvent).not.toHaveBeenCalled();
76
88
  });
77
89
 
78
- it("should handle undecryptable URL password", async () => {
79
- const error = new Error("Failed to decrypt URL password");
90
+ it('should handle undecryptable URL password', async () => {
91
+ const error = new Error('Failed to decrypt URL password');
80
92
  driveCrypto.decryptShareUrlPassword = jest.fn().mockRejectedValue(error);
81
93
 
82
94
  const result = await cryptoService.decryptBookmark(encryptedBookmark);
83
95
 
84
96
  expect(result).toMatchObject({
85
- url: resultError(new Error("Failed to decrypt bookmark password: Failed to decrypt URL password")),
86
- nodeName: resultError(new Error("Failed to decrypt bookmark password: Failed to decrypt URL password")),
97
+ url: resultError(new Error('Failed to decrypt bookmark password: Failed to decrypt URL password')),
98
+ nodeName: resultError(new Error('Failed to decrypt bookmark password: Failed to decrypt URL password')),
87
99
  });
88
100
  expect(telemetry.logEvent).toHaveBeenCalledWith({
89
101
  eventName: 'decryptionError',
@@ -93,15 +105,15 @@ describe("SharingCryptoService", () => {
93
105
  });
94
106
  });
95
107
 
96
- it("should handle undecryptable share key", async () => {
97
- const error = new Error("Failed to decrypt share key");
108
+ it('should handle undecryptable share key', async () => {
109
+ const error = new Error('Failed to decrypt share key');
98
110
  driveCrypto.decryptKeyWithSrpPassword = jest.fn().mockRejectedValue(error);
99
111
 
100
112
  const result = await cryptoService.decryptBookmark(encryptedBookmark);
101
113
 
102
114
  expect(result).toMatchObject({
103
- url: resultOk("https://drive.proton.me/urls/tokenId#urlPassword"),
104
- nodeName: resultError(new Error("Failed to decrypt bookmark key: Failed to decrypt share key")),
115
+ url: resultOk('https://drive.proton.me/urls/tokenId#urlPassword'),
116
+ nodeName: resultError(new Error('Failed to decrypt bookmark key: Failed to decrypt share key')),
105
117
  });
106
118
  expect(telemetry.logEvent).toHaveBeenCalledWith({
107
119
  eventName: 'decryptionError',
@@ -111,15 +123,15 @@ describe("SharingCryptoService", () => {
111
123
  });
112
124
  });
113
125
 
114
- it("should handle undecryptable node name", async () => {
115
- const error = new Error("Failed to decrypt node name");
126
+ it('should handle undecryptable node name', async () => {
127
+ const error = new Error('Failed to decrypt node name');
116
128
  driveCrypto.decryptNodeName = jest.fn().mockRejectedValue(error);
117
129
 
118
130
  const result = await cryptoService.decryptBookmark(encryptedBookmark);
119
131
 
120
132
  expect(result).toMatchObject({
121
- url: resultOk("https://drive.proton.me/urls/tokenId#urlPassword"),
122
- nodeName: resultError(new Error("Failed to decrypt bookmark name: Failed to decrypt node name")),
133
+ url: resultOk('https://drive.proton.me/urls/tokenId#urlPassword'),
134
+ nodeName: resultError(new Error('Failed to decrypt bookmark name: Failed to decrypt node name')),
123
135
  });
124
136
  expect(telemetry.logEvent).toHaveBeenCalledWith({
125
137
  eventName: 'decryptionError',
@@ -129,17 +141,17 @@ describe("SharingCryptoService", () => {
129
141
  });
130
142
  });
131
143
 
132
- it("should handle invalid node name", async () => {
144
+ it('should handle invalid node name', async () => {
133
145
  driveCrypto.decryptNodeName = jest.fn().mockResolvedValue({
134
- name: "invalid/name",
146
+ name: 'invalid/name',
135
147
  });
136
148
 
137
149
  const result = await cryptoService.decryptBookmark(encryptedBookmark);
138
150
 
139
151
  expect(result).toMatchObject({
140
- url: resultOk("https://drive.proton.me/urls/tokenId#urlPassword"),
152
+ url: resultOk('https://drive.proton.me/urls/tokenId#urlPassword'),
141
153
  nodeName: resultError({
142
- name: "invalid/name",
154
+ name: 'invalid/name',
143
155
  error: "Name must not contain the character '/'",
144
156
  }),
145
157
  });