@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
@@ -6,17 +6,17 @@ export interface ProtonDriveAccount {
6
6
  *
7
7
  * @throws Error If there is no primary address.
8
8
  */
9
- getOwnPrimaryAddress(): Promise<ProtonDriveAccountAddress>,
9
+ getOwnPrimaryAddress(): Promise<ProtonDriveAccountAddress>;
10
10
  /**
11
11
  * Get own address by email or addressId.
12
12
  *
13
13
  * @throws Error If there is no address with given email or addressId.
14
14
  */
15
- getOwnAddress(emailOrAddressId: string): Promise<ProtonDriveAccountAddress>,
15
+ getOwnAddress(emailOrAddressId: string): Promise<ProtonDriveAccountAddress>;
16
16
  /**
17
17
  * Returns whether given email can be used to share files with Proton Drive.
18
18
  */
19
- hasProtonAccount(email: string): Promise<boolean>,
19
+ hasProtonAccount(email: string): Promise<boolean>;
20
20
  /**
21
21
  * Get public keys for given email.
22
22
  *
@@ -24,15 +24,15 @@ export interface ProtonDriveAccount {
24
24
  *
25
25
  * @throws Error Only if there is an error while fetching keys.
26
26
  */
27
- getPublicKeys(email: string): Promise<PublicKey[]>,
27
+ getPublicKeys(email: string): Promise<PublicKey[]>;
28
28
  }
29
29
 
30
30
  export interface ProtonDriveAccountAddress {
31
- email: string,
32
- addressId: string,
33
- primaryKeyIndex: number,
31
+ email: string;
32
+ addressId: string;
33
+ primaryKeyIndex: number;
34
34
  keys: {
35
- id: string,
36
- key: PrivateKey,
37
- }[],
35
+ id: string;
36
+ key: PrivateKey;
37
+ }[];
38
38
  }
@@ -2,9 +2,9 @@ import { Result } from './result';
2
2
 
3
3
  /**
4
4
  * Author with verification status.
5
- *
5
+ *
6
6
  * It can be either a string (email) or an anonymous user.
7
- *
7
+ *
8
8
  * If author cannot be verified, the result is failure with an error.
9
9
  * The client can still get claimed author from the error object, but
10
10
  * it must be used with caution.
@@ -19,11 +19,11 @@ export type AnonymousUser = null;
19
19
 
20
20
  /**
21
21
  * Unverified author.
22
- *
22
+ *
23
23
  * If author cannot be verified, the result is this object containing
24
24
  * the claimed author and the verification error.
25
25
  */
26
26
  export type UnverifiedAuthorError = {
27
- claimedAuthor?: string,
28
- error: string,
29
- }
27
+ claimedAuthor?: string;
28
+ error: string;
29
+ };
@@ -4,14 +4,14 @@ export type ProtonDriveConfig = {
4
4
  *
5
5
  * If not provided, defaults to 'drive-api.proton.me'.
6
6
  */
7
- baseUrl?: string,
7
+ baseUrl?: string;
8
8
 
9
9
  /**
10
10
  * The language to use for error messages.
11
11
  *
12
12
  * If not provided, defaults to 'en'.
13
13
  */
14
- language?: string,
14
+ language?: string;
15
15
 
16
16
  /**
17
17
  * Client UID is used to identify the client for the upload.
@@ -24,5 +24,5 @@ export type ProtonDriveConfig = {
24
24
  * You can force the upload by setting up
25
25
  * `overrideExistingDraftByOtherClient` to true.
26
26
  */
27
- clientUid?: string,
28
- }
27
+ clientUid?: string;
28
+ };
@@ -2,15 +2,15 @@ import { Result } from './result';
2
2
  import { InvalidNameError } from './nodes';
3
3
 
4
4
  export type Device = {
5
- uid: string,
6
- type: DeviceType,
7
- name: Result<string, Error | InvalidNameError>,
8
- rootFolderUid: string,
9
- creationTime: Date,
5
+ uid: string;
6
+ type: DeviceType;
7
+ name: Result<string, Error | InvalidNameError>;
8
+ rootFolderUid: string;
9
+ creationTime: Date;
10
10
  lastSyncDate?: Date;
11
11
  /** @deprecated to be removed once Volume-based navigation is implemented in web */
12
12
  shareId: string;
13
- }
13
+ };
14
14
 
15
15
  export enum DeviceType {
16
16
  Windows = 'Windows',
@@ -1,32 +1,35 @@
1
1
  export interface FileDownloader {
2
2
  /**
3
3
  * Get the claimed size of the file in bytes.
4
- *
4
+ *
5
5
  * This provides total clear-text size of the file. This is encrypted
6
6
  * information that is not known to the Proton Drive and thus it is
7
7
  * explicitely stated as claimed only and must be treated that way.
8
8
  * It can be wrong or missing completely.
9
9
  */
10
- getClaimedSizeInBytes(): number | undefined,
10
+ getClaimedSizeInBytes(): number | undefined;
11
11
 
12
12
  /**
13
13
  * Download, decrypt and verify the content from the server and write
14
14
  * to the provided stream.
15
- *
15
+ *
16
16
  * @param onProgress - Callback that is called with the number of downloaded bytes
17
17
  */
18
- writeToStream(streamFactory: WritableStream, onProgress?: (downloadedBytes: number) => void): DownloadController,
18
+ writeToStream(streamFactory: WritableStream, onProgress?: (downloadedBytes: number) => void): DownloadController;
19
19
 
20
20
  /**
21
21
  * Same as `writeToStream` but without verification checks.
22
- *
22
+ *
23
23
  * Use this only for debugging purposes.
24
24
  */
25
- unsafeWriteToStream(streamFactory: WritableStream, onProgress?: (downloadedBytes: number) => void): DownloadController,
25
+ unsafeWriteToStream(
26
+ streamFactory: WritableStream,
27
+ onProgress?: (downloadedBytes: number) => void,
28
+ ): DownloadController;
26
29
  }
27
30
 
28
31
  export interface DownloadController {
29
- pause(): void,
30
- resume(): void,
31
- completion(): Promise<void>,
32
+ pause(): void;
33
+ resume(): void;
34
+ completion(): Promise<void>;
32
35
  }
@@ -1,8 +1,8 @@
1
1
  export enum SDKEvent {
2
- TransfersPaused = "transfersPaused",
3
- TransfersResumed = "transfersResumed",
4
- RequestsThrottled = "requestsThrottled",
5
- RequestsUnthrottled = "requestsUnthrottled",
2
+ TransfersPaused = 'transfersPaused',
3
+ TransfersResumed = 'transfersResumed',
4
+ RequestsThrottled = 'requestsThrottled',
5
+ RequestsUnthrottled = 'requestsUnthrottled',
6
6
  }
7
7
 
8
8
  export interface LatestEventIdProvider {
@@ -20,49 +20,55 @@ export interface LatestEventIdProvider {
20
20
  */
21
21
  export type DriveListener = (event: DriveEvent) => Promise<void>;
22
22
 
23
- type NodeCruEventType = DriveEventType.NodeCreated | DriveEventType.NodeUpdated;
23
+ export type DriveEvent =
24
+ | NodeEvent
25
+ | FastForwardEvent
26
+ | TreeRefreshEvent
27
+ | TreeRemovalEvent
28
+ | FastForwardEvent
29
+ | SharedWithMeUpdated;
24
30
 
25
- export type NodeEvent = {
26
- type: NodeCruEventType,
27
- nodeUid: string,
28
- parentNodeUid?: string,
29
- isTrashed: boolean,
30
- isShared: boolean,
31
- treeEventScopeId: string,
32
- eventId: string,
33
- } | {
34
- type: DriveEventType.NodeDeleted,
35
- nodeUid: string,
36
- parentNodeUid?: string,
37
- treeEventScopeId: string,
38
- eventId: string,
39
- }
31
+ export type NodeEvent =
32
+ | {
33
+ type: DriveEventType.NodeCreated | DriveEventType.NodeUpdated;
34
+ nodeUid: string;
35
+ parentNodeUid?: string;
36
+ isTrashed: boolean;
37
+ isShared: boolean;
38
+ treeEventScopeId: string;
39
+ eventId: string;
40
+ }
41
+ | {
42
+ type: DriveEventType.NodeDeleted;
43
+ nodeUid: string;
44
+ parentNodeUid?: string;
45
+ treeEventScopeId: string;
46
+ eventId: string;
47
+ };
40
48
 
41
49
  export type FastForwardEvent = {
42
- type: DriveEventType.FastForward,
43
- treeEventScopeId: string,
44
- eventId: string,
45
- }
50
+ type: DriveEventType.FastForward;
51
+ treeEventScopeId: string;
52
+ eventId: string;
53
+ };
46
54
 
47
55
  export type TreeRefreshEvent = {
48
- type: DriveEventType.TreeRefresh,
49
- treeEventScopeId: string,
50
- eventId: string,
51
- }
56
+ type: DriveEventType.TreeRefresh;
57
+ treeEventScopeId: string;
58
+ eventId: string;
59
+ };
52
60
 
53
61
  export type TreeRemovalEvent = {
54
- type: DriveEventType.TreeRemove,
55
- treeEventScopeId: string,
56
- eventId: 'none',
57
- }
62
+ type: DriveEventType.TreeRemove;
63
+ treeEventScopeId: string;
64
+ eventId: 'none';
65
+ };
58
66
 
59
67
  export type SharedWithMeUpdated = {
60
- type: DriveEventType.SharedWithMeUpdated,
61
- eventId: string,
62
- treeEventScopeId: 'core',
63
- }
64
-
65
- export type DriveEvent = NodeEvent | FastForwardEvent | TreeRefreshEvent | TreeRemovalEvent | FastForwardEvent | SharedWithMeUpdated;
68
+ type: DriveEventType.SharedWithMeUpdated;
69
+ eventId: string;
70
+ treeEventScopeId: 'core';
71
+ };
66
72
 
67
73
  export enum DriveEventType {
68
74
  NodeCreated = 'node_created',
@@ -71,5 +77,5 @@ export enum DriveEventType {
71
77
  SharedWithMeUpdated = 'shared_with_me_updated',
72
78
  TreeRefresh = 'tree_refresh',
73
79
  TreeRemove = 'tree_remove',
74
- FastForward = 'fast_forward'
80
+ FastForward = 'fast_forward',
75
81
  }
@@ -4,23 +4,23 @@ export interface ProtonDriveHTTPClient {
4
4
  }
5
5
 
6
6
  export type ProtonDriveHTTPClientJsonOptions = ProtonDriveHTTPClientBaseOptions & {
7
- json?: object,
8
- }
7
+ json?: object;
8
+ };
9
9
 
10
10
  export type ProtonDriveHTTPClientBlobOptions = ProtonDriveHTTPClientBaseOptions & {
11
- body?: XMLHttpRequestBodyInit,
12
- onProgress?: (progress: number) => void,
13
- }
11
+ body?: XMLHttpRequestBodyInit;
12
+ onProgress?: (progress: number) => void;
13
+ };
14
14
 
15
15
  type ProtonDriveHTTPClientBaseOptions = {
16
- url: string,
17
- method: string,
18
- headers: Headers,
16
+ url: string;
17
+ method: string;
18
+ headers: Headers;
19
19
  /**
20
20
  * The timeout in milliseconds.
21
21
  *
22
22
  * When timeout is reached, the request will be aborted with TimeoutError.
23
23
  */
24
- timeoutMs: number,
25
- signal?: AbortSignal,
26
- }
24
+ timeoutMs: number;
25
+ signal?: AbortSignal;
26
+ };
@@ -14,14 +14,71 @@ export type { ProtonDriveConfig } from './config';
14
14
  export type { Device, DeviceOrUid } from './devices';
15
15
  export { DeviceType } from './devices';
16
16
  export type { FileDownloader, DownloadController } from './download';
17
- export type { DriveListener, LatestEventIdProvider, DriveEvent } from './events';
17
+ export type {
18
+ DriveListener,
19
+ LatestEventIdProvider,
20
+ DriveEvent,
21
+ NodeEvent,
22
+ FastForwardEvent,
23
+ TreeRefreshEvent,
24
+ TreeRemovalEvent,
25
+ SharedWithMeUpdated,
26
+ } from './events';
18
27
  export { DriveEventType, SDKEvent } from './events';
19
- export type { ProtonDriveHTTPClient, ProtonDriveHTTPClientJsonOptions, ProtonDriveHTTPClientBlobOptions } from './httpClient';
20
- export type { MaybeNode, NodeEntity, DegradedNode, MaybeMissingNode, MissingNode, InvalidNameError, Revision, NodeOrUid, RevisionOrUid, NodeResult } from './nodes';
28
+ export type {
29
+ ProtonDriveHTTPClient,
30
+ ProtonDriveHTTPClientJsonOptions,
31
+ ProtonDriveHTTPClientBlobOptions,
32
+ } from './httpClient';
33
+ export type {
34
+ MaybeNode,
35
+ NodeEntity,
36
+ DegradedNode,
37
+ MaybeMissingNode,
38
+ MissingNode,
39
+ InvalidNameError,
40
+ Revision,
41
+ NodeOrUid,
42
+ RevisionOrUid,
43
+ NodeResult,
44
+ } from './nodes';
21
45
  export { NodeType, MemberRole, RevisionState } from './nodes';
22
- export type { ProtonInvitation, ProtonInvitationWithNode, NonProtonInvitation, Member, PublicLink, MaybeBookmark, Bookmark, DegradedBookmark, ProtonInvitationOrUid, NonProtonInvitationOrUid, BookmarkOrUid, ShareNodeSettings, UnshareNodeSettings, ShareMembersSettings, SharePublicLinkSettings, SharePublicLinkSettingsObject, ShareResult } from './sharing';
46
+ export type {
47
+ ProtonInvitation,
48
+ ProtonInvitationWithNode,
49
+ NonProtonInvitation,
50
+ Member,
51
+ PublicLink,
52
+ MaybeBookmark,
53
+ Bookmark,
54
+ DegradedBookmark,
55
+ ProtonInvitationOrUid,
56
+ NonProtonInvitationOrUid,
57
+ BookmarkOrUid,
58
+ ShareNodeSettings,
59
+ UnshareNodeSettings,
60
+ ShareMembersSettings,
61
+ SharePublicLinkSettings,
62
+ SharePublicLinkSettingsObject,
63
+ ShareResult,
64
+ } from './sharing';
23
65
  export { NonProtonInvitationState } from './sharing';
24
- export type { Telemetry, Logger, MetricAPIRetrySucceededEvent, MetricUploadEvent, MetricsUploadErrorType, MetricDownloadEvent, MetricsDownloadErrorType, MetricDecryptionErrorEvent, MetricsDecryptionErrorField, MetricVerificationErrorEvent, MetricVerificationErrorField, MetricBlockVerificationErrorEvent, MetricVolumeEventsSubscriptionsChangedEvent, MetricEvent } from './telemetry';
66
+ export type {
67
+ Telemetry,
68
+ Logger,
69
+ MetricAPIRetrySucceededEvent,
70
+ MetricUploadEvent,
71
+ MetricsUploadErrorType,
72
+ MetricDownloadEvent,
73
+ MetricsDownloadErrorType,
74
+ MetricDecryptionErrorEvent,
75
+ MetricsDecryptionErrorField,
76
+ MetricVerificationErrorEvent,
77
+ MetricVerificationErrorField,
78
+ MetricBlockVerificationErrorEvent,
79
+ MetricVolumeEventsSubscriptionsChangedEvent,
80
+ MetricEvent,
81
+ } from './telemetry';
25
82
  export { MetricVolumeType } from './telemetry';
26
83
  export type { FileUploader, FileRevisionUploader, UploadController, UploadMetadata } from './upload';
27
84
  export type { Thumbnail, ThumbnailResult } from './thumbnail';
@@ -31,20 +88,20 @@ export type ProtonDriveTelemetry = Telemetry<MetricEvent>;
31
88
  export type ProtonDriveEntitiesCache = ProtonDriveCache<string>;
32
89
  export type ProtonDriveCryptoCache = ProtonDriveCache<CachedCryptoMaterial>;
33
90
  export type CachedCryptoMaterial = {
34
- passphrase?: string,
35
- key: PrivateKey,
36
- passphraseSessionKey: SessionKey,
37
- hashKey?: Uint8Array,
91
+ passphrase?: string;
92
+ key: PrivateKey;
93
+ passphraseSessionKey: SessionKey;
94
+ hashKey?: Uint8Array;
38
95
  };
39
96
 
40
97
  export interface ProtonDriveClientContructorParameters {
41
- httpClient: ProtonDriveHTTPClient,
42
- entitiesCache: ProtonDriveEntitiesCache,
43
- cryptoCache: ProtonDriveCryptoCache,
44
- account: ProtonDriveAccount,
45
- openPGPCryptoModule: OpenPGPCrypto,
46
- srpModule: SRPModule,
47
- config?: ProtonDriveConfig,
48
- telemetry?: ProtonDriveTelemetry,
49
- latestEventIdProvider?: LatestEventIdProvider
50
- };
98
+ httpClient: ProtonDriveHTTPClient;
99
+ entitiesCache: ProtonDriveEntitiesCache;
100
+ cryptoCache: ProtonDriveCryptoCache;
101
+ account: ProtonDriveAccount;
102
+ openPGPCryptoModule: OpenPGPCrypto;
103
+ srpModule: SRPModule;
104
+ config?: ProtonDriveConfig;
105
+ telemetry?: ProtonDriveTelemetry;
106
+ latestEventIdProvider?: LatestEventIdProvider;
107
+ }
@@ -22,7 +22,7 @@ export type MaybeNode = Result<NodeEntity, DegradedNode>;
22
22
  export type MaybeMissingNode = Result<NodeEntity, DegradedNode | MissingNode>;
23
23
 
24
24
  export type MissingNode = {
25
- missingUid: string,
25
+ missingUid: string;
26
26
  };
27
27
 
28
28
  /**
@@ -38,9 +38,9 @@ export type MissingNode = {
38
38
  * entity is called.
39
39
  */
40
40
  export type NodeEntity = {
41
- uid: string,
42
- parentUid?: string,
43
- name: string,
41
+ uid: string;
42
+ parentUid?: string;
43
+ name: string;
44
44
  /**
45
45
  * Author of the node key.
46
46
  *
@@ -49,22 +49,22 @@ export type NodeEntity = {
49
49
  * author is user B, while key author stays to user A who has forever
50
50
  * option to decrypt latest versions.
51
51
  */
52
- keyAuthor: Author,
52
+ keyAuthor: Author;
53
53
  /**
54
54
  * Author of the name.
55
55
  *
56
56
  * Person who named the file. If user A uploads the file and user B renames
57
57
  * the file, key and content author is user A, while name author is user B.
58
58
  */
59
- nameAuthor: Author,
60
- directMemberRole: MemberRole,
61
- type: NodeType,
62
- mediaType?: string,
59
+ nameAuthor: Author;
60
+ directMemberRole: MemberRole;
61
+ type: NodeType;
62
+ mediaType?: string;
63
63
  /**
64
64
  * Whether the node is shared. If true, the node is shared with at least
65
65
  * one user, or via public link.
66
66
  */
67
- isShared: boolean,
67
+ isShared: boolean;
68
68
  /**
69
69
  * Provides the ID of the share that the node is shared with.
70
70
  *
@@ -73,20 +73,20 @@ export type NodeEntity = {
73
73
  *
74
74
  * @deprecated This field is not part of the public API.
75
75
  */
76
- deprecatedShareId?: string,
76
+ deprecatedShareId?: string;
77
77
  /**
78
78
  * Created on server date.
79
79
  */
80
- creationTime: Date,
81
- trashTime?: Date,
80
+ creationTime: Date;
81
+ trashTime?: Date;
82
82
  /**
83
83
  * Total size of all revisions, encrypted size on the server.
84
84
  */
85
- totalStorageSize?: number,
86
- activeRevision?: Revision,
85
+ totalStorageSize?: number;
86
+ activeRevision?: Revision;
87
87
  folder?: {
88
- claimedModificationTime?: Date,
89
- },
88
+ claimedModificationTime?: Date;
89
+ };
90
90
  /**
91
91
  * Provides an ID for the event scope.
92
92
  *
@@ -95,8 +95,8 @@ export type NodeEntity = {
95
95
  * comprise one or more folder trees and will be shared by all
96
96
  * nodes in the tree. Nodes cannot change scopes.
97
97
  */
98
- treeEventScopeId: string,
99
- }
98
+ treeEventScopeId: string;
99
+ };
100
100
 
101
101
  /**
102
102
  * Degraded node representing a file or folder in the system.
@@ -115,8 +115,8 @@ export type NodeEntity = {
115
115
  * possible, but download and upload new revision will still work.
116
116
  */
117
117
  export type DegradedNode = Omit<NodeEntity, 'name' | 'activeRevision'> & {
118
- name: Result<string, Error | InvalidNameError>,
119
- activeRevision?: Result<Revision, Error>,
118
+ name: Result<string, Error | InvalidNameError>;
119
+ activeRevision?: Result<Revision, Error>;
120
120
  /**
121
121
  * If the error is not related to any specific field, it is set here.
122
122
  *
@@ -127,8 +127,8 @@ export type DegradedNode = Omit<NodeEntity, 'name' | 'activeRevision'> & {
127
127
  * the name is still working, this will include the node key error, while
128
128
  * the name will be set to the decrypted value.
129
129
  */
130
- errors?: unknown[],
131
- }
130
+ errors?: unknown[];
131
+ };
132
132
 
133
133
  /**
134
134
  * Invalid name error represents node name that includes invalid characters.
@@ -137,13 +137,13 @@ export type InvalidNameError = {
137
137
  /**
138
138
  * Placeholder instead of node name that client can use to display.
139
139
  */
140
- name: string,
141
- error: string,
142
- }
140
+ name: string;
141
+ error: string;
142
+ };
143
143
 
144
144
  export enum NodeType {
145
- File = "file",
146
- Folder = "folder",
145
+ File = 'file',
146
+ Folder = 'folder',
147
147
  /**
148
148
  * Album is a special type available only in Photos section.
149
149
  *
@@ -154,44 +154,42 @@ export enum NodeType {
154
154
  *
155
155
  * @deprecated This type is not part of the public API.
156
156
  */
157
- Album = "album",
157
+ Album = 'album',
158
158
  }
159
159
 
160
160
  export enum MemberRole {
161
- Viewer = "viewer",
162
- Editor = "editor",
163
- Admin = "admin",
164
- Inherited = "inherited",
161
+ Viewer = 'viewer',
162
+ Editor = 'editor',
163
+ Admin = 'admin',
164
+ Inherited = 'inherited',
165
165
  }
166
166
 
167
167
  export type Revision = {
168
- uid: string,
169
- state: RevisionState,
170
- creationTime: Date, // created on server date
171
- contentAuthor: Author,
168
+ uid: string;
169
+ state: RevisionState;
170
+ creationTime: Date; // created on server date
171
+ contentAuthor: Author;
172
172
  /**
173
173
  * Encrypted size of the revision, as stored on the server.
174
174
  */
175
- storageSize: number,
175
+ storageSize: number;
176
176
  /**
177
177
  * Raw size of the revision, as stored in extended attributes.
178
178
  */
179
- claimedSize?: number,
180
- claimedModificationTime?: Date,
179
+ claimedSize?: number;
180
+ claimedModificationTime?: Date;
181
181
  claimedDigests?: {
182
- sha1?: string,
183
- },
184
- claimedAdditionalMetadata?: object,
185
- }
182
+ sha1?: string;
183
+ };
184
+ claimedAdditionalMetadata?: object;
185
+ };
186
186
 
187
187
  export enum RevisionState {
188
- Active = "active",
189
- Superseded = "superseded",
188
+ Active = 'active',
189
+ Superseded = 'superseded',
190
190
  }
191
191
 
192
192
  export type NodeOrUid = MaybeNode | NodeEntity | DegradedNode | string;
193
193
  export type RevisionOrUid = Revision | string;
194
194
 
195
- export type NodeResult =
196
- {uid: string, ok: true} |
197
- {uid: string, ok: false, error: string};
195
+ export type NodeResult = { uid: string; ok: true } | { uid: string; ok: false; error: string };
@@ -1,6 +1,4 @@
1
- export type Result<T, E> =
2
- | { ok: true; value: T }
3
- | { ok: false; error: E };
1
+ export type Result<T, E> = { ok: true; value: T } | { ok: false; error: E };
4
2
 
5
3
  export function resultOk<T, E>(value: T): Result<T, E> {
6
4
  return { ok: true, value };