@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
package/src/telemetry.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Logger as LoggerInterface } from './interface';
2
2
 
3
3
  export interface LogRecord {
4
- time: Date,
4
+ time: Date;
5
5
  level: LogLevel;
6
6
  loggerName: string;
7
7
  message: string;
@@ -24,13 +24,13 @@ export interface LogHandler {
24
24
  }
25
25
 
26
26
  export interface MetricRecord<T extends MetricEvent> {
27
- time: Date,
27
+ time: Date;
28
28
  event: T;
29
29
  }
30
30
 
31
31
  export type MetricEvent = {
32
32
  eventName: string;
33
- }
33
+ };
34
34
 
35
35
  export interface MetricHandler<T extends MetricEvent> {
36
36
  onEvent(metric: MetricRecord<T>): void;
@@ -38,12 +38,12 @@ export interface MetricHandler<T extends MetricEvent> {
38
38
 
39
39
  /**
40
40
  * Telemetry class that logs messages and metrics.
41
- *
41
+ *
42
42
  * Example:
43
- *
43
+ *
44
44
  * ```typescript
45
45
  * const memoryLogHandler = new MemoryLogHandler();
46
- *
46
+ *
47
47
  * interface MetricEvents = {
48
48
  * name: string,
49
49
  * value: number,
@@ -53,7 +53,7 @@ export interface MetricHandler<T extends MetricEvent> {
53
53
  * // Process metric event
54
54
  * }
55
55
  * }
56
- *
56
+ *
57
57
  * const telemetry = new Telemetry<MetricEvents>({
58
58
  * // Enable debug logging
59
59
  * logFilter: new LogFilter({ level: LogLevel.DEBUG }),
@@ -62,16 +62,16 @@ export interface MetricHandler<T extends MetricEvent> {
62
62
  * // Log to console and own handler to process further
63
63
  * metricHandlers: [new ConsoleMetricHandler(), ownMetricHandler],
64
64
  * });
65
- *
65
+ *
66
66
  * const logger = telemetry.getLogger('myLogger');
67
67
  * logger.debug('Debug message');
68
- *
68
+ *
69
69
  * telemetry.logEvent({ name: 'somethingHappened', value: 42 });
70
- *
70
+ *
71
71
  * const logs = memoryLogHandler.getLogs();
72
72
  * // Process logs
73
73
  * ```
74
- *
74
+ *
75
75
  * @param logFilter - Log filter to filter logs based on log level, default INFO
76
76
  * @param logHandlers - Log handlers to use for logging, see LogHandler implementations
77
77
  * @param metricHandlers - Metric handlers to use for logging, see MetricHandler implementations
@@ -81,13 +81,7 @@ export class Telemetry<T extends MetricEvent> {
81
81
  private logHandlers: LogHandler[];
82
82
  private metricHandlers: MetricHandler<T>[];
83
83
 
84
- constructor(
85
- options?: {
86
- logFilter?: LogFilter,
87
- logHandlers?: LogHandler[],
88
- metricHandlers?: MetricHandler<T>[],
89
- }
90
- ) {
84
+ constructor(options?: { logFilter?: LogFilter; logHandlers?: LogHandler[]; metricHandlers?: MetricHandler<T>[] }) {
91
85
  this.logFilter = options?.logFilter || new LogFilter();
92
86
  this.logHandlers = options?.logHandlers || [new ConsoleLogHandler()];
93
87
  this.metricHandlers = options?.metricHandlers || [new ConsoleMetricHandler()];
@@ -102,18 +96,22 @@ export class Telemetry<T extends MetricEvent> {
102
96
  time: new Date(),
103
97
  event,
104
98
  };
105
- this.metricHandlers.forEach(handler => handler.onEvent(metric));
99
+ this.metricHandlers.forEach((handler) => handler.onEvent(metric));
106
100
  }
107
101
  }
108
102
 
109
103
  /**
110
104
  * Logger class that logs messages with different levels.
111
- *
105
+ *
112
106
  * @param name - Name of the logger
113
107
  * @param handlers - Log handlers to use for logging, see LogHandler implementations
114
108
  */
115
109
  class Logger {
116
- constructor(private name: string, private filter: LogFilter, private handlers: LogHandler[]) {
110
+ constructor(
111
+ private name: string,
112
+ private filter: LogFilter,
113
+ private handlers: LogHandler[],
114
+ ) {
117
115
  this.name = name;
118
116
  this.filter = filter;
119
117
  this.handlers = handlers;
@@ -160,15 +158,15 @@ class Logger {
160
158
  if (!this.filter.filter(log)) {
161
159
  return;
162
160
  }
163
- this.handlers.forEach(handler => handler.log(log));
161
+ this.handlers.forEach((handler) => handler.log(log));
164
162
  }
165
163
  }
166
164
 
167
165
  /**
168
166
  * Logger class that logs messages with a prefix.
169
- *
167
+ *
170
168
  * Example:
171
- *
169
+ *
172
170
  * ```typescript
173
171
  * const logger = new Logger('myLogger', new LogFilter(), [new ConsoleLogHandler()]);
174
172
  * const loggerWithPrefix = new LoggerWithPrefix(logger, 'prefix');
@@ -176,7 +174,10 @@ class Logger {
176
174
  * ```
177
175
  */
178
176
  export class LoggerWithPrefix {
179
- constructor(private logger: LoggerInterface, private prefix: string) {
177
+ constructor(
178
+ private logger: LoggerInterface,
179
+ private prefix: string,
180
+ ) {
180
181
  this.logger = logger;
181
182
  this.prefix = prefix;
182
183
  }
@@ -201,28 +202,29 @@ export class LoggerWithPrefix {
201
202
  /**
202
203
  * Filter logs based on log level. It can be configured by global level or
203
204
  * per logger level.
204
- *
205
+ *
205
206
  * @param globalLevel - Global log level, default INFO
206
207
  * @param loggerLevels - Log levels for specific loggers, default empty
207
208
  */
208
209
  export class LogFilter {
209
210
  private logLevelMap = {
210
- 'DEBUG': 0,
211
- 'INFO': 1,
212
- 'WARNING': 2,
213
- 'ERROR': 3,
214
- }
211
+ DEBUG: 0,
212
+ INFO: 1,
213
+ WARNING: 2,
214
+ ERROR: 3,
215
+ };
215
216
 
216
217
  private globalLevel: number;
217
218
  private loggerLevels: { [loggerName: string]: number };
218
219
 
219
- constructor(options?: {
220
- globalLevel?: LogLevel,
221
- loggerLevels?: { [loggerName: string]: LogLevel },
222
- }) {
220
+ constructor(options?: { globalLevel?: LogLevel; loggerLevels?: { [loggerName: string]: LogLevel } }) {
223
221
  this.globalLevel = this.logLevelMap[options?.globalLevel || LogLevel.INFO];
224
- this.loggerLevels = Object.fromEntries(Object.entries(options?.loggerLevels || {})
225
- .map(([loggerName, level]) => [loggerName, this.logLevelMap[level]]));
222
+ this.loggerLevels = Object.fromEntries(
223
+ Object.entries(options?.loggerLevels || {}).map(([loggerName, level]) => [
224
+ loggerName,
225
+ this.logLevelMap[level],
226
+ ]),
227
+ );
226
228
  }
227
229
 
228
230
  /**
@@ -243,16 +245,16 @@ export class LogFilter {
243
245
 
244
246
  /**
245
247
  * Log handler that logs to console.
246
- *
248
+ *
247
249
  * @param formatter - Formatter to use for log messages, default BasicLogFormatter
248
250
  */
249
251
  export class ConsoleLogHandler implements LogHandler {
250
252
  private logLevelMap = {
251
- 'DEBUG': console.debug, // eslint-disable-line no-console
252
- 'INFO': console.info, // eslint-disable-line no-console
253
- 'WARNING': console.warn, // eslint-disable-line no-console
254
- 'ERROR': console.error, // eslint-disable-line no-console
255
- }
253
+ DEBUG: console.debug, // eslint-disable-line no-console
254
+ INFO: console.info, // eslint-disable-line no-console
255
+ WARNING: console.warn, // eslint-disable-line no-console
256
+ ERROR: console.error, // eslint-disable-line no-console
257
+ };
256
258
 
257
259
  private formatter: LogFormatter;
258
260
 
@@ -268,10 +270,10 @@ export class ConsoleLogHandler implements LogHandler {
268
270
 
269
271
  /**
270
272
  * Log handler that stores logs in memory with option to retrieve later.
271
- *
273
+ *
272
274
  * Useful for keeping logs around and retrieve them on demand when an error
273
275
  * occures.
274
- *
276
+ *
275
277
  * @param formatter - Formatter to use for log messages, default JSONLogFormatter
276
278
  * @param maxLogs - Maximum number of logs to store, default 10000
277
279
  */
@@ -280,7 +282,10 @@ export class MemoryLogHandler implements LogHandler {
280
282
 
281
283
  private formatter: LogFormatter;
282
284
 
283
- constructor(formatter?: LogFormatter, private maxLogs = 10000) {
285
+ constructor(
286
+ formatter?: LogFormatter,
287
+ private maxLogs = 10000,
288
+ ) {
284
289
  this.formatter = formatter || new JSONLogFormatter();
285
290
  this.maxLogs = maxLogs;
286
291
  }
@@ -305,7 +310,7 @@ export class MemoryLogHandler implements LogHandler {
305
310
 
306
311
  /**
307
312
  * Formatter that formats logs as JSON.
308
- *
313
+ *
309
314
  * Useful for machine processing.
310
315
  */
311
316
  export class JSONLogFormatter implements LogFormatter {
@@ -323,16 +328,17 @@ export class JSONLogFormatter implements LogFormatter {
323
328
 
324
329
  /**
325
330
  * Formatter that formats logs as plain text.
326
- *
331
+ *
327
332
  * Useful for human reading.
328
333
  */
329
334
  export class BasicLogFormatter implements LogFormatter {
330
335
  format(log: LogRecord) {
331
336
  let errorDetails = '';
332
337
  if (log.error) {
333
- errorDetails = log.error instanceof Error
334
- ? `\nError: ${log.error.message}\nStack:\n${log.error.stack}`
335
- : `\nError: ${log.error}`;
338
+ errorDetails =
339
+ log.error instanceof Error
340
+ ? `\nError: ${log.error.message}\nStack:\n${log.error.stack}`
341
+ : `\nError: ${log.error}`;
336
342
  }
337
343
  return `${log.time.toISOString()} ${log.level} [${log.loggerName}] ${log.message}${errorDetails}`;
338
344
  }
@@ -341,6 +347,8 @@ export class BasicLogFormatter implements LogFormatter {
341
347
  class ConsoleMetricHandler<T extends MetricEvent> implements MetricHandler<T> {
342
348
  onEvent(metric: MetricRecord<T>) {
343
349
  // eslint-disable-next-line no-console
344
- console.info(`${metric.time.toISOString()} INFO [metric] ${metric.event.eventName} ${JSON.stringify({ ...metric.event, name: undefined })}`);
350
+ console.info(
351
+ `${metric.time.toISOString()} INFO [metric] ${metric.event.eventName} ${JSON.stringify({ ...metric.event, name: undefined })}`,
352
+ );
345
353
  }
346
354
  }
@@ -6,5 +6,5 @@ export function getMockLogger(): Logger {
6
6
  info: jest.fn(),
7
7
  warn: jest.fn(),
8
8
  error: jest.fn(),
9
- }
9
+ };
10
10
  }
@@ -1,5 +1,5 @@
1
- import { ProtonDriveTelemetry } from "../interface";
2
- import { getMockLogger } from "./logger";
1
+ import { ProtonDriveTelemetry } from '../interface';
2
+ import { getMockLogger } from './logger';
3
3
 
4
4
  export function getMockTelemetry(): ProtonDriveTelemetry {
5
5
  return {
@@ -13,28 +13,28 @@ import { DecryptedNode as InternalNode, DecryptedRevision as InternalRevision }
13
13
 
14
14
  type InternalPartialNode = Pick<
15
15
  InternalNode,
16
- 'uid' |
17
- 'parentUid' |
18
- 'name' |
19
- 'keyAuthor' |
20
- 'nameAuthor' |
21
- 'directMemberRole' |
22
- 'type' |
23
- 'mediaType' |
24
- 'isShared' |
25
- 'creationTime' |
26
- 'trashTime' |
27
- 'activeRevision' |
28
- 'folder' |
29
- 'totalStorageSize' |
30
- 'errors' |
31
- 'shareId'
16
+ | 'uid'
17
+ | 'parentUid'
18
+ | 'name'
19
+ | 'keyAuthor'
20
+ | 'nameAuthor'
21
+ | 'directMemberRole'
22
+ | 'type'
23
+ | 'mediaType'
24
+ | 'isShared'
25
+ | 'creationTime'
26
+ | 'trashTime'
27
+ | 'activeRevision'
28
+ | 'folder'
29
+ | 'totalStorageSize'
30
+ | 'errors'
31
+ | 'shareId'
32
32
  >;
33
33
 
34
34
  type NodeUid = string | { uid: string } | Result<{ uid: string }, { uid: string }>;
35
35
 
36
36
  export function getUid(nodeUid: NodeUid): string {
37
- if (typeof nodeUid === "string") {
37
+ if (typeof nodeUid === 'string') {
38
38
  return nodeUid;
39
39
  }
40
40
  // Directly passed NodeEntity or DegradedNode that has UID directly.
@@ -52,13 +52,17 @@ export function getUids(nodeUids: NodeUid[]): string[] {
52
52
  return nodeUids.map(getUid);
53
53
  }
54
54
 
55
- export async function *convertInternalNodeIterator(nodeIterator: AsyncGenerator<InternalPartialNode>): AsyncGenerator<PublicMaybeNode> {
55
+ export async function* convertInternalNodeIterator(
56
+ nodeIterator: AsyncGenerator<InternalPartialNode>,
57
+ ): AsyncGenerator<PublicMaybeNode> {
56
58
  for await (const node of nodeIterator) {
57
59
  yield convertInternalNode(node);
58
60
  }
59
61
  }
60
62
 
61
- export async function *convertInternalMissingNodeIterator(nodeIterator: AsyncGenerator<InternalPartialNode | MissingNode>): AsyncGenerator<PublicMaybeMissingNode> {
63
+ export async function* convertInternalMissingNodeIterator(
64
+ nodeIterator: AsyncGenerator<InternalPartialNode | MissingNode>,
65
+ ): AsyncGenerator<PublicMaybeMissingNode> {
62
66
  for await (const node of nodeIterator) {
63
67
  if ('missingUid' in node) {
64
68
  yield resultError(node);
@@ -97,7 +101,9 @@ export function convertInternalNode(node: InternalPartialNode): PublicMaybeNode
97
101
  return resultError({
98
102
  ...baseNodeMetadata,
99
103
  name,
100
- activeRevision: activeRevision?.ok ? resultOk(convertInternalRevision(activeRevision.value)) : activeRevision,
104
+ activeRevision: activeRevision?.ok
105
+ ? resultOk(convertInternalRevision(activeRevision.value))
106
+ : activeRevision,
101
107
  errors: node.errors,
102
108
  } as PublicDegradedNode);
103
109
  }
@@ -120,5 +126,5 @@ function convertInternalRevision(revision: InternalRevision): PublicRevision {
120
126
  claimedModificationTime: revision.claimedModificationTime,
121
127
  claimedDigests: revision.claimedDigests,
122
128
  claimedAdditionalMetadata: revision.claimedAdditionalMetadata,
123
- }
129
+ };
124
130
  }
package/src/version.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  import { version } from '../package.json';
2
2
 
3
3
  export const VERSION = version;
4
-