@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,5 +1,5 @@
1
- import { DegradedNode, MaybeNode, MetricEvent } from "../interface";
2
- import { LogRecord } from "../telemetry";
1
+ import { DegradedNode, MaybeNode, MetricEvent } from '../interface';
2
+ import { LogRecord } from '../telemetry';
3
3
 
4
4
  export interface Diagnostic {
5
5
  verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult>;
@@ -7,11 +7,11 @@ export interface Diagnostic {
7
7
  }
8
8
 
9
9
  export type DiagnosticOptions = {
10
- verifyContent?: boolean,
11
- verifyThumbnails?: boolean,
12
- }
10
+ verifyContent?: boolean;
11
+ verifyThumbnails?: boolean;
12
+ };
13
13
 
14
- export type DiagnosticResult =
14
+ export type DiagnosticResult =
15
15
  | FatalErrorResult
16
16
  | SdkErrorResult
17
17
  | HttpErrorResult
@@ -30,129 +30,129 @@ export type DiagnosticResult =
30
30
  // Event representing that fatal error occurred during the diagnostic.
31
31
  // This error prevents the diagnostic to finish.
32
32
  export type FatalErrorResult = {
33
- type: 'fatal_error',
34
- message: string,
35
- error?: unknown,
36
- }
33
+ type: 'fatal_error';
34
+ message: string;
35
+ error?: unknown;
36
+ };
37
37
 
38
38
  // Event representing that SDK call failed.
39
39
  // It can be any throwable error from any SDK call. Normally no error should be thrown.
40
40
  export type SdkErrorResult = {
41
- type: 'sdk_error',
42
- call: string,
43
- error?: unknown,
44
- }
41
+ type: 'sdk_error';
42
+ call: string;
43
+ error?: unknown;
44
+ };
45
45
 
46
46
  // Event representing that HTTP call failed.
47
47
  // It can be any call from the SDK, including validation error. Normally no error should be present.
48
48
  export type HttpErrorResult = {
49
- type: 'http_error',
49
+ type: 'http_error';
50
50
  request: {
51
- url: string,
52
- method: string,
53
- json: unknown,
54
- },
51
+ url: string;
52
+ method: string;
53
+ json: unknown;
54
+ };
55
55
  // Error if the whole call failed (`fetch` failed).
56
- error?: unknown,
56
+ error?: unknown;
57
57
  // Response if the response is not 2xx or 3xx.
58
58
  response?: {
59
- status: number,
60
- statusText: string,
59
+ status: number;
60
+ statusText: string;
61
61
  // Either json object or error if the response is not JSON.
62
- json?: object,
63
- jsonError?: unknown,
64
- },
65
- }
62
+ json?: object;
63
+ jsonError?: unknown;
64
+ };
65
+ };
66
66
 
67
67
  // Event representing that node has some decryption or other (e.g., invalid name) issues.
68
68
  export type DegradedNodeResult = {
69
- type: 'degraded_node',
70
- nodeUid: string,
71
- node: DegradedNode,
72
- }
69
+ type: 'degraded_node';
70
+ nodeUid: string;
71
+ node: DegradedNode;
72
+ };
73
73
 
74
74
  // Event representing that signature verification failing.
75
75
  export type UnverifiedAuthorResult = {
76
- type: 'unverified_author',
77
- nodeUid: string,
78
- revisionUid?: string,
79
- authorType: string,
80
- claimedAuthor?: string,
81
- error: string,
82
- node: MaybeNode,
83
- }
76
+ type: 'unverified_author';
77
+ nodeUid: string;
78
+ revisionUid?: string;
79
+ authorType: string;
80
+ claimedAuthor?: string;
81
+ error: string;
82
+ node: MaybeNode;
83
+ };
84
84
 
85
85
  // Event representing that field from the extended attributes is not valid format.
86
86
  // Currently only `sha1` verification is supported.
87
87
  export type ExtendedAttributesErrorResult = {
88
- type: 'extended_attributes_error',
89
- nodeUid: string,
90
- revisionUid?: string,
91
- field: 'sha1',
92
- value: string,
93
- }
88
+ type: 'extended_attributes_error';
89
+ nodeUid: string;
90
+ revisionUid?: string;
91
+ field: 'sha1';
92
+ value: string;
93
+ };
94
94
 
95
95
  // Event representing that field from the extended attributes is missing.
96
96
  // Currently only `sha1` verification is supported.
97
97
  export type ExtendedAttributesMissingFieldResult = {
98
- type: 'extended_attributes_missing_field',
99
- nodeUid: string,
100
- revisionUid?: string,
101
- missingField: 'sha1',
102
- }
98
+ type: 'extended_attributes_missing_field';
99
+ nodeUid: string;
100
+ revisionUid?: string;
101
+ missingField: 'sha1';
102
+ };
103
103
 
104
104
  // Event representing that file is missing the active revision.
105
105
  export type ContentFileMissingRevisionResult = {
106
- type: 'content_file_missing_revision',
107
- nodeUid: string,
108
- revisionUid?: string,
109
- }
106
+ type: 'content_file_missing_revision';
107
+ nodeUid: string;
108
+ revisionUid?: string;
109
+ };
110
110
 
111
111
  // Event representing that file content is not valid - either sha1 or size is not correct.
112
112
  export type ContentIntegrityErrorResult = {
113
- type: 'content_integrity_error',
114
- nodeUid: string,
115
- revisionUid?: string,
116
- claimedSha1?: string,
117
- computedSha1?: string,
118
- claimedSizeInBytes?: number,
119
- computedSizeInBytes?: number,
120
- }
113
+ type: 'content_integrity_error';
114
+ nodeUid: string;
115
+ revisionUid?: string;
116
+ claimedSha1?: string;
117
+ computedSha1?: string;
118
+ claimedSizeInBytes?: number;
119
+ computedSizeInBytes?: number;
120
+ };
121
121
 
122
122
  // Event representing that downloading the file content failed.
123
123
  // This can be connection issue or server error. If its integrity issue,
124
124
  // it should be reported as `ContentIntegrityErrorResult`.
125
125
  export type ContentDownloadErrorResult = {
126
- type: 'content_download_error',
127
- nodeUid: string,
128
- revisionUid?: string,
129
- error: unknown,
130
- }
126
+ type: 'content_download_error';
127
+ nodeUid: string;
128
+ revisionUid?: string;
129
+ error: unknown;
130
+ };
131
131
 
132
132
  // Event representing that getting the thumbnails failed.
133
133
  // This can be connection issue or server error.
134
134
  export type ThumbnailsErrorResult = {
135
- type: 'thumbnails_error',
136
- nodeUid: string,
137
- revisionUid?: string,
138
- message?: string,
139
- error?: unknown,
140
- }
135
+ type: 'thumbnails_error';
136
+ nodeUid: string;
137
+ revisionUid?: string;
138
+ message?: string;
139
+ error?: unknown;
140
+ };
141
141
 
142
142
  // Event representing errors logged during the diagnostic.
143
143
  export type LogErrorResult = {
144
- type: 'log_error',
145
- log: LogRecord,
146
- }
144
+ type: 'log_error';
145
+ log: LogRecord;
146
+ };
147
147
 
148
148
  // Event representing warnings logged during the diagnostic.
149
149
  export type LogWarningResult = {
150
- type: 'log_warning',
151
- log: LogRecord,
152
- }
150
+ type: 'log_warning';
151
+ log: LogRecord;
152
+ };
153
153
 
154
154
  // Event representing metrics logged during the diagnostic.
155
155
  export type MetricResult = {
156
- type: 'metric',
157
- event: MetricEvent,
158
- }
156
+ type: 'metric';
157
+ event: MetricEvent;
158
+ };
@@ -1,7 +1,7 @@
1
- import { Author, FileDownloader, MaybeNode, NodeType, Revision, ThumbnailType } from "../interface";
2
- import { ProtonDriveClient } from "../protonDriveClient";
3
- import { Diagnostic, DiagnosticOptions, DiagnosticResult } from "./interface";
4
- import { IntegrityVerificationStream } from "./integrityVerificationStream";
1
+ import { Author, FileDownloader, MaybeNode, NodeType, Revision, ThumbnailType } from '../interface';
2
+ import { ProtonDriveClient } from '../protonDriveClient';
3
+ import { Diagnostic, DiagnosticOptions, DiagnosticResult } from './interface';
4
+ import { IntegrityVerificationStream } from './integrityVerificationStream';
5
5
 
6
6
  /**
7
7
  * Diagnostic tool that uses SDK to traverse the node tree and verify
@@ -15,7 +15,7 @@ export class SDKDiagnostic implements Diagnostic {
15
15
  this.protonDriveClient = protonDriveClient;
16
16
  }
17
17
 
18
- async* verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
18
+ async *verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
19
19
  let myFilesRootFolder: MaybeNode;
20
20
 
21
21
  try {
@@ -32,7 +32,7 @@ export class SDKDiagnostic implements Diagnostic {
32
32
  yield* this.verifyNodeTree(myFilesRootFolder, options);
33
33
  }
34
34
 
35
- async* verifyNodeTree(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
35
+ async *verifyNodeTree(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
36
36
  const isFolder = getNodeType(node) === NodeType.Folder;
37
37
 
38
38
  yield* this.verifyNode(node, options);
@@ -42,7 +42,7 @@ export class SDKDiagnostic implements Diagnostic {
42
42
  }
43
43
  }
44
44
 
45
- private async* verifyNode(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
45
+ private async *verifyNode(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
46
46
  const nodeUid = node.ok ? node.value.uid : node.error.uid;
47
47
 
48
48
  if (!node.ok) {
@@ -57,10 +57,16 @@ export class SDKDiagnostic implements Diagnostic {
57
57
  const nodeInfo = {
58
58
  ...getNodeUids(node),
59
59
  node,
60
- }
61
-
62
- yield* this.verifyAuthor(node.ok ? node.value.keyAuthor : node.error.keyAuthor, { ...nodeInfo, authorType: 'key' });
63
- yield* this.verifyAuthor(node.ok ? node.value.nameAuthor : node.error.nameAuthor, { ...nodeInfo, authorType: 'name' });
60
+ };
61
+
62
+ yield* this.verifyAuthor(node.ok ? node.value.keyAuthor : node.error.keyAuthor, {
63
+ ...nodeInfo,
64
+ authorType: 'key',
65
+ });
66
+ yield* this.verifyAuthor(node.ok ? node.value.nameAuthor : node.error.nameAuthor, {
67
+ ...nodeInfo,
68
+ authorType: 'name',
69
+ });
64
70
  if (activeRevision) {
65
71
  yield* this.verifyAuthor(activeRevision.contentAuthor, { ...nodeInfo, authorType: 'content' });
66
72
  }
@@ -75,7 +81,10 @@ export class SDKDiagnostic implements Diagnostic {
75
81
  }
76
82
  }
77
83
 
78
- private async* verifyAuthor(author: Author, info: { nodeUid: string, authorType: string, revisionUid?: string, node: MaybeNode }): AsyncGenerator<DiagnosticResult> {
84
+ private async *verifyAuthor(
85
+ author: Author,
86
+ info: { nodeUid: string; authorType: string; revisionUid?: string; node: MaybeNode },
87
+ ): AsyncGenerator<DiagnosticResult> {
79
88
  if (!author.ok) {
80
89
  yield {
81
90
  type: 'unverified_author',
@@ -86,7 +95,7 @@ export class SDKDiagnostic implements Diagnostic {
86
95
  }
87
96
  }
88
97
 
89
- private async* verifyFileExtendedAttributes(node: MaybeNode): AsyncGenerator<DiagnosticResult> {
98
+ private async *verifyFileExtendedAttributes(node: MaybeNode): AsyncGenerator<DiagnosticResult> {
90
99
  const activeRevision = getActiveRevision(node);
91
100
 
92
101
  const expectedAttributes = getNodeType(node) === NodeType.File;
@@ -98,7 +107,7 @@ export class SDKDiagnostic implements Diagnostic {
98
107
  ...getNodeUids(node),
99
108
  field: 'sha1',
100
109
  value: claimedSha1,
101
- }
110
+ };
102
111
  }
103
112
 
104
113
  if (expectedAttributes && !claimedSha1) {
@@ -106,11 +115,11 @@ export class SDKDiagnostic implements Diagnostic {
106
115
  type: 'extended_attributes_missing_field',
107
116
  ...getNodeUids(node),
108
117
  missingField: 'sha1',
109
- }
118
+ };
110
119
  }
111
120
  }
112
121
 
113
- private async* verifyContent(node: MaybeNode): AsyncGenerator<DiagnosticResult> {
122
+ private async *verifyContent(node: MaybeNode): AsyncGenerator<DiagnosticResult> {
114
123
  if (getNodeType(node) !== NodeType.File) {
115
124
  return;
116
125
  }
@@ -119,7 +128,7 @@ export class SDKDiagnostic implements Diagnostic {
119
128
  yield {
120
129
  type: 'content_file_missing_revision',
121
130
  nodeUid: node.ok ? node.value.uid : node.error.uid,
122
- }
131
+ };
123
132
  return;
124
133
  }
125
134
 
@@ -165,7 +174,7 @@ export class SDKDiagnostic implements Diagnostic {
165
174
  }
166
175
  }
167
176
 
168
- private async* verifyThumbnails(node: MaybeNode): AsyncGenerator<DiagnosticResult> {
177
+ private async *verifyThumbnails(node: MaybeNode): AsyncGenerator<DiagnosticResult> {
169
178
  if (getNodeType(node) !== NodeType.File) {
170
179
  return;
171
180
  }
@@ -173,14 +182,16 @@ export class SDKDiagnostic implements Diagnostic {
173
182
  const nodeUid = node.ok ? node.value.uid : node.error.uid;
174
183
 
175
184
  try {
176
- const result = await Array.fromAsync(this.protonDriveClient.iterateThumbnails([nodeUid], ThumbnailType.Type1));
185
+ const result = await Array.fromAsync(
186
+ this.protonDriveClient.iterateThumbnails([nodeUid], ThumbnailType.Type1),
187
+ );
177
188
 
178
189
  if (result.length === 0) {
179
190
  yield {
180
191
  type: 'sdk_error',
181
192
  call: `iterateThumbnails(${nodeUid})`,
182
193
  error: new Error('No thumbnails found'),
183
- }
194
+ };
184
195
  }
185
196
  // TODO: We should have better way to check if the thumbnail is not expected.
186
197
  if (!result[0].ok && result[0].error !== 'Node has no thumbnail') {
@@ -188,18 +199,18 @@ export class SDKDiagnostic implements Diagnostic {
188
199
  type: 'thumbnails_error',
189
200
  nodeUid,
190
201
  error: result[0].error,
191
- }
202
+ };
192
203
  }
193
204
  } catch (error: unknown) {
194
205
  yield {
195
206
  type: 'sdk_error',
196
207
  call: `iterateThumbnails(${nodeUid})`,
197
208
  error,
198
- }
209
+ };
199
210
  }
200
211
  }
201
212
 
202
- private async* verifyNodeChildren(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
213
+ private async *verifyNodeChildren(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
203
214
  const nodeUid = node.ok ? node.value.uid : node.error.uid;
204
215
  try {
205
216
  for await (const child of this.protonDriveClient.iterateFolderChildren(node)) {
@@ -215,7 +226,7 @@ export class SDKDiagnostic implements Diagnostic {
215
226
  }
216
227
  }
217
228
 
218
- function getNodeUids(node: MaybeNode): { nodeUid: string, revisionUid?: string } {
229
+ function getNodeUids(node: MaybeNode): { nodeUid: string; revisionUid?: string } {
219
230
  const activeRevision = getActiveRevision(node);
220
231
  return {
221
232
  nodeUid: node.ok ? node.value.uid : node.error.uid,
@@ -1,40 +1,37 @@
1
- import { MaybeNode } from "../interface";
2
- import { DiagnosticHTTPClient } from "./httpClient";
3
- import { Diagnostic, DiagnosticOptions, DiagnosticResult } from "./interface";
4
- import { DiagnosticTelemetry } from "./telemetry";
5
- import { zipGenerators } from "./zipGenerators";
1
+ import { MaybeNode } from '../interface';
2
+ import { DiagnosticHTTPClient } from './httpClient';
3
+ import { Diagnostic, DiagnosticOptions, DiagnosticResult } from './interface';
4
+ import { DiagnosticTelemetry } from './telemetry';
5
+ import { zipGenerators } from './zipGenerators';
6
6
 
7
7
  /**
8
8
  * Diagnostic tool that produces full diagnostic, including logs and metrics
9
9
  * by reading the events from the telemetry and HTTP client.
10
10
  */
11
11
  export class FullSDKDiagnostic implements Diagnostic {
12
- constructor(private diagnostic: Diagnostic, private telemetry: DiagnosticTelemetry, private httpClient: DiagnosticHTTPClient) {
12
+ constructor(
13
+ private diagnostic: Diagnostic,
14
+ private telemetry: DiagnosticTelemetry,
15
+ private httpClient: DiagnosticHTTPClient,
16
+ ) {
13
17
  this.diagnostic = diagnostic;
14
18
  this.telemetry = telemetry;
15
19
  this.httpClient = httpClient;
16
20
  }
17
21
 
18
- async* verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
22
+ async *verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
19
23
  yield* this.yieldEvents(this.diagnostic.verifyMyFiles(options));
20
24
  }
21
25
 
22
- async* verifyNodeTree(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
26
+ async *verifyNodeTree(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
23
27
  yield* this.yieldEvents(this.diagnostic.verifyNodeTree(node, options));
24
28
  }
25
29
 
26
- private async* yieldEvents(generator: AsyncGenerator<DiagnosticResult>): AsyncGenerator<DiagnosticResult> {
27
- yield* zipGenerators(
28
- generator,
29
- this.internalGenerator(),
30
- { stopOnFirstDone: true },
31
- );
30
+ private async *yieldEvents(generator: AsyncGenerator<DiagnosticResult>): AsyncGenerator<DiagnosticResult> {
31
+ yield* zipGenerators(generator, this.internalGenerator(), { stopOnFirstDone: true });
32
32
  }
33
33
 
34
- private async* internalGenerator(): AsyncGenerator<DiagnosticResult> {
35
- yield* zipGenerators(
36
- this.telemetry.iterateEvents(),
37
- this.httpClient.iterateEvents(),
38
- );
34
+ private async *internalGenerator(): AsyncGenerator<DiagnosticResult> {
35
+ yield* zipGenerators(this.telemetry.iterateEvents(), this.httpClient.iterateEvents());
39
36
  }
40
37
  }
@@ -36,7 +36,10 @@ export class DiagnosticTelemetry extends EventsGenerator {
36
36
  }
37
37
 
38
38
  class Logger {
39
- constructor(private name: string, private callback?: (log: LogRecord) => void) {
39
+ constructor(
40
+ private name: string,
41
+ private callback?: (log: LogRecord) => void,
42
+ ) {
40
43
  this.name = name;
41
44
  this.callback = callback;
42
45
  }
@@ -2,7 +2,7 @@ import { zipGenerators } from './zipGenerators';
2
2
 
3
3
  async function* createTimedGenerator<T>(values: { value: T; delay: number }[]): AsyncGenerator<T> {
4
4
  for (const { value, delay } of values) {
5
- await new Promise(resolve => setTimeout(resolve, delay));
5
+ await new Promise((resolve) => setTimeout(resolve, delay));
6
6
  yield value;
7
7
  }
8
8
  }
@@ -8,7 +8,7 @@ export async function* zipGenerators<T, U>(
8
8
  genA: AsyncGenerator<T>,
9
9
  genB: AsyncGenerator<U>,
10
10
  options?: {
11
- stopOnFirstDone?: boolean
11
+ stopOnFirstDone?: boolean;
12
12
  },
13
13
  ): AsyncGenerator<T | U> {
14
14
  const { stopOnFirstDone = false } = options || {};
@@ -21,8 +21,8 @@ export async function* zipGenerators<T, U>(
21
21
 
22
22
  while (promiseA && promiseB) {
23
23
  const result = await Promise.race([
24
- promiseA.then(res => ({ source: 'A' as const, result: res })),
25
- promiseB.then(res => ({ source: 'B' as const, result: res }))
24
+ promiseA.then((res) => ({ source: 'A' as const, result: res })),
25
+ promiseB.then((res) => ({ source: 'B' as const, result: res })),
26
26
  ]);
27
27
 
28
28
  if (result.source === 'A') {
package/src/errors.ts CHANGED
@@ -2,13 +2,13 @@ import { c } from 'ttag';
2
2
 
3
3
  /**
4
4
  * Base class for all SDK errors.
5
- *
5
+ *
6
6
  * This class can be used for catching all SDK errors. The error should have
7
7
  * translated message in the `message` property that should be shown to the
8
8
  * user without any modification.
9
- *
9
+ *
10
10
  * No retries should be done as that is already handled by the SDK.
11
- *
11
+ *
12
12
  * When SDK throws an error and it is not `ProtonDriveError`, it is unhandled error
13
13
  * by the SDK and usually indicates bug in the SDK. Please, report it.
14
14
  */
@@ -18,7 +18,7 @@ export class ProtonDriveError extends Error {
18
18
 
19
19
  /**
20
20
  * Error thrown when the operation is aborted.
21
- *
21
+ *
22
22
  * This error is thrown when the operation is aborted by the user.
23
23
  * For example, by calling `abort()` on the `AbortSignal`.
24
24
  */
@@ -32,7 +32,7 @@ export class AbortError extends ProtonDriveError {
32
32
 
33
33
  /**
34
34
  * Error thrown when the validation fails.
35
- *
35
+ *
36
36
  * This error is thrown when the validation of the input fails.
37
37
  * Validation can be done on the client side or on the server side.
38
38
  *
@@ -45,7 +45,7 @@ export class ValidationError extends ProtonDriveError {
45
45
 
46
46
  /**
47
47
  * Internal API code.
48
- *
48
+ *
49
49
  * Use only for debugging purposes.
50
50
  */
51
51
  public readonly code?: number;
@@ -64,7 +64,7 @@ export class ValidationError extends ProtonDriveError {
64
64
 
65
65
  /**
66
66
  * Error thrown when the node already exists.
67
- *
67
+ *
68
68
  * This error is thrown when the node with the same name already exists in the
69
69
  * parent folder. The client should ask the user to replace the existing node
70
70
  * or choose another name. The available name is provided in the `availableName`
@@ -86,11 +86,11 @@ export class NodeAlreadyExistsValidationError extends ValidationError {
86
86
 
87
87
  /**
88
88
  * Error thrown when the API call fails.
89
- *
89
+ *
90
90
  * This error covers both HTTP errors and API errors. SDK automatically
91
91
  * retries the request before the error is thrown. The sepcific algorithm
92
92
  * used for retries depends on the type of the error.
93
- *
93
+ *
94
94
  * Client should not retry the request when this error is thrown.
95
95
  */
96
96
  export class ServerError extends ProtonDriveError {
@@ -98,13 +98,13 @@ export class ServerError extends ProtonDriveError {
98
98
 
99
99
  /**
100
100
  * HTTP status code of the response.
101
- *
101
+ *
102
102
  * Use only for debugging purposes.
103
103
  */
104
104
  public readonly statusCode?: number;
105
105
  /**
106
106
  * Internal API code.
107
- *
107
+ *
108
108
  * Use only for debugging purposes.
109
109
  */
110
110
  public readonly code?: number;
@@ -112,16 +112,16 @@ export class ServerError extends ProtonDriveError {
112
112
 
113
113
  /**
114
114
  * Error thrown when the client makes too many requests to the API.
115
- *
115
+ *
116
116
  * SDK is configured to stay below the rate limits, but it can still happen if
117
117
  * client is running multiple SDKs in parallel, or if the rate limits are
118
118
  * changed on the server side.
119
- *
119
+ *
120
120
  * SDK automatically retries the request before the error is thrown after
121
121
  * waiting for the required time specified by the server.
122
- *
122
+ *
123
123
  * Client should slow down calling SDK when this error is thrown.
124
- *
124
+ *
125
125
  * You can be also notified about the rate limits by the `requestsThrottled`
126
126
  * event. See `onMessage` method on the SDK class for more details.
127
127
  */
@@ -133,9 +133,9 @@ export class RateLimitedError extends ServerError {
133
133
 
134
134
  /**
135
135
  * Error thrown when the client is not connected to the internet.
136
- *
136
+ *
137
137
  * Client should check the internet connection when this error is thrown.
138
- *
138
+ *
139
139
  * You can also be notified about the connection status by the `offline` event
140
140
  * See `onMessage` method on the SDK class for more details.
141
141
  */
@@ -145,9 +145,9 @@ export class ConnectionError extends ProtonDriveError {
145
145
 
146
146
  /**
147
147
  * Error thrown when the decryption fails.
148
- *
148
+ *
149
149
  * Client should report this error to the user and report bug report.
150
- *
150
+ *
151
151
  * In most cases, there is no decryption error. Every decryption error should
152
152
  * be not exposed but set as empty value on the node, for example. But in the
153
153
  * case of the file content, if block cannot be decrypted, decryption error
@@ -159,9 +159,9 @@ export class DecryptionError extends ProtonDriveError {
159
159
 
160
160
  /**
161
161
  * Error thrown when the data integrity check fails.
162
- *
162
+ *
163
163
  * Client should report this error to the user and report bug report.
164
- *
164
+ *
165
165
  * For example, it can happen when hashes don't match, etc. In some cases,
166
166
  * SDK allows to run command without verification checks for debug purposes.
167
167
  */
package/src/index.ts CHANGED
@@ -14,12 +14,12 @@ export { VERSION } from './version';
14
14
 
15
15
  /**
16
16
  * Provides the node UID for the given raw volume and node IDs.
17
- *
17
+ *
18
18
  * This is required only for the internal implementation to provide
19
19
  * backward compatibility with the old Drive web setup.
20
- *
20
+ *
21
21
  * If you are having share ID, use `ProtonDriveClient::getNodeUid` instead.
22
- *
22
+ *
23
23
  * @deprecated This method is not part of the public API.
24
24
  * @param volumeId - Volume of the node.
25
25
  * @param nodeId - Node/link ID (not UID).