@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
@@ -12,14 +12,20 @@ function apiErrorFactory({ response, result }) {
12
12
  return new APIHTTPError(response.statusText || (0, ttag_1.c)('Error').t `Unknown error`, response.status);
13
13
  }
14
14
  const typedResult = result;
15
- const [code, message, details] = [typedResult.Code || 0, typedResult.Error || (0, ttag_1.c)('Error').t `Unknown error`, typedResult.Details];
16
- const debug = typedResult.exception ? {
17
- exception: typedResult.exception,
18
- message: typedResult.message,
19
- file: typedResult.file,
20
- line: typedResult.line,
21
- trace: typedResult.trace,
22
- } : undefined;
15
+ const [code, message, details] = [
16
+ typedResult.Code || 0,
17
+ typedResult.Error || (0, ttag_1.c)('Error').t `Unknown error`,
18
+ typedResult.Details,
19
+ ];
20
+ const debug = typedResult.exception
21
+ ? {
22
+ exception: typedResult.exception,
23
+ message: typedResult.message,
24
+ file: typedResult.file,
25
+ line: typedResult.line,
26
+ trace: typedResult.trace,
27
+ }
28
+ : undefined;
23
29
  switch (code) {
24
30
  case 2501 /* ErrorCode.NOT_EXISTS */:
25
31
  return new NotFoundAPIError(message, code);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/internal/apiService/errors.ts"],"names":[],"mappings":";;;AAKA,0CAyDC;AA9DD,+BAAyB;AAEzB,yCAA4D;AAG5D,SAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA4C;IAC1F,iEAAiE;IACjE,mEAAmE;IACnE,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,MAAM,sCAA4B,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,WAAW,GAAG,MASnB,CAAC;IAEF,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,EAAE,WAAW,CAAC,KAAK,IAAI,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAEhI,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QAClC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,KAAK,EAAE,WAAW,CAAC,KAAK;KAC3B,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,QAAQ,IAAI,EAAE,CAAC;QACX;YACI,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/C,sEAAsE;QACtE,sCAAsC;QACtC,qEAAqE;QACrE,gEAAgE;QAChE,cAAc;QACd,iDAAsC;QACtC,sEAA2D;QAC3D,yCAA8B;QAC9B,+CAAkC;QAClC,+CAAkC;QAClC,wDAA2C;QAC3C,+DAAkD;QAClD,sDAAyC;QACzC,sDAAyC;QACzC,mFAAsE;QACtE,8CAAiC;QACjC,6CAAgC;QAChC,0DAA6C;QAC7C,qDAAwC;QACxC,4DAA+C;QAC/C;YACI,OAAO,IAAI,wBAAe,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD;YACI,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,MAAa,YAAa,SAAQ,oBAAW;IACzC,IAAI,GAAG,cAAc,CAAC;IAEN,UAAU,CAAS;IAEnC,YAAY,OAAe,EAAE,UAAkB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;CACJ;AATD,oCASC;AAED,MAAa,YAAa,SAAQ,oBAAW;IACzC,IAAI,GAAG,cAAc,CAAC;IAEN,IAAI,CAAS;IAEb,KAAK,CAAU;IAE/B,YAAY,OAAe,EAAE,IAAY,EAAE,KAAc;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAZD,oCAYC;AAED,MAAa,gBAAiB,SAAQ,YAAY;IAC9C,IAAI,GAAG,kBAAkB,CAAC;CAC7B;AAFD,4CAEC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/internal/apiService/errors.ts"],"names":[],"mappings":";;;AAKA,0CA+DC;AApED,+BAAyB;AAEzB,yCAA4D;AAG5D,SAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA4C;IAC1F,iEAAiE;IACjE,mEAAmE;IACnE,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,MAAM,sCAA4B,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,WAAW,GAAG,MASnB,CAAC;IAEF,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG;QAC7B,WAAW,CAAC,IAAI,IAAI,CAAC;QACrB,WAAW,CAAC,KAAK,IAAI,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,eAAe;QAChD,WAAW,CAAC,OAAO;KACtB,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS;QAC/B,CAAC,CAAC;YACI,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,KAAK,EAAE,WAAW,CAAC,KAAK;SAC3B;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,QAAQ,IAAI,EAAE,CAAC;QACX;YACI,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/C,sEAAsE;QACtE,sCAAsC;QACtC,qEAAqE;QACrE,gEAAgE;QAChE,cAAc;QACd,iDAAsC;QACtC,sEAA2D;QAC3D,yCAA8B;QAC9B,+CAAkC;QAClC,+CAAkC;QAClC,wDAA2C;QAC3C,+DAAkD;QAClD,sDAAyC;QACzC,sDAAyC;QACzC,mFAAsE;QACtE,8CAAiC;QACjC,6CAAgC;QAChC,0DAA6C;QAC7C,qDAAwC;QACxC,4DAA+C;QAC/C;YACI,OAAO,IAAI,wBAAe,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD;YACI,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,MAAa,YAAa,SAAQ,oBAAW;IACzC,IAAI,GAAG,cAAc,CAAC;IAEN,UAAU,CAAS;IAEnC,YAAY,OAAe,EAAE,UAAkB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;CACJ;AATD,oCASC;AAED,MAAa,YAAa,SAAQ,oBAAW;IACzC,IAAI,GAAG,cAAc,CAAC;IAEN,IAAI,CAAS;IAEb,KAAK,CAAU;IAE/B,YAAY,OAAe,EAAE,IAAY,EAAE,KAAc;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAZD,oCAYC;AAED,MAAa,gBAAiB,SAAQ,YAAY;IAC9C,IAAI,GAAG,kBAAkB,CAAC;CAC7B;AAFD,4CAEC"}
@@ -26,43 +26,48 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const errors_1 = require("./errors");
27
27
  const errors = __importStar(require("./errors"));
28
28
  function mockAPIResponseAndResult(options) {
29
- const { httpStatusCode = 422, httpStatusText = 'Unprocessable Entity', code, message = 'API error', } = options;
29
+ const { httpStatusCode = 422, httpStatusText = 'Unprocessable Entity', code, message = 'API error' } = options;
30
30
  const result = { Code: code, Error: message };
31
31
  const response = new Response(JSON.stringify(result), { status: httpStatusCode, statusText: httpStatusText });
32
32
  return { response, result };
33
33
  }
34
- describe("apiErrorFactory should return", () => {
35
- it("generic APIHTTPError when there is no specifc body", () => {
34
+ describe('apiErrorFactory should return', () => {
35
+ it('generic APIHTTPError when there is no specifc body', () => {
36
36
  const response = new Response('', { status: 404, statusText: 'Not found' });
37
37
  const error = (0, errors_1.apiErrorFactory)({ response });
38
38
  expect(error).toBeInstanceOf(errors.APIHTTPError);
39
- expect(error.message).toBe("Not found");
39
+ expect(error.message).toBe('Not found');
40
40
  expect(error.statusCode).toBe(404);
41
41
  });
42
- it("generic APIHTTPError with generic message when there is no specifc statusText", () => {
42
+ it('generic APIHTTPError with generic message when there is no specifc statusText', () => {
43
43
  const response = new Response('', { status: 404, statusText: '' });
44
44
  const error = (0, errors_1.apiErrorFactory)({ response });
45
45
  expect(error).toBeInstanceOf(errors.APIHTTPError);
46
- expect(error.message).toBe("Unknown error");
46
+ expect(error.message).toBe('Unknown error');
47
47
  expect(error.statusCode).toBe(404);
48
48
  });
49
- it("generic APIHTTPError when there 404 both in status code and body code", () => {
50
- const error = (0, errors_1.apiErrorFactory)(mockAPIResponseAndResult({ httpStatusCode: 404, httpStatusText: 'Path not found', code: 404, message: 'Not found' }));
49
+ it('generic APIHTTPError when there 404 both in status code and body code', () => {
50
+ const error = (0, errors_1.apiErrorFactory)(mockAPIResponseAndResult({
51
+ httpStatusCode: 404,
52
+ httpStatusText: 'Path not found',
53
+ code: 404,
54
+ message: 'Not found',
55
+ }));
51
56
  expect(error).toBeInstanceOf(errors.APIHTTPError);
52
- expect(error.message).toBe("Path not found");
57
+ expect(error.message).toBe('Path not found');
53
58
  expect(error.statusCode).toBe(404);
54
59
  });
55
- it("generic APICodeError when there is body even if wrong", () => {
60
+ it('generic APICodeError when there is body even if wrong', () => {
56
61
  const result = {};
57
62
  const response = new Response('', { status: 422 });
58
63
  const error = (0, errors_1.apiErrorFactory)({ response, result });
59
64
  expectAPICodeError(error, 0, 'Unknown error');
60
65
  });
61
- it("generic APICodeError when there is body but not specific handle", () => {
66
+ it('generic APICodeError when there is body but not specific handle', () => {
62
67
  const error = (0, errors_1.apiErrorFactory)(mockAPIResponseAndResult({ code: 42, message: 'General error' }));
63
68
  expectAPICodeError(error, 42, 'General error');
64
69
  });
65
- it("NotFoundAPIError when code is ErrorCode.NOT_EXISTS", () => {
70
+ it('NotFoundAPIError when code is ErrorCode.NOT_EXISTS', () => {
66
71
  const error = (0, errors_1.apiErrorFactory)(mockAPIResponseAndResult({ code: 2501 /* ErrorCode.NOT_EXISTS */, message: 'Not found' }));
67
72
  expect(error).toBeInstanceOf(errors.NotFoundAPIError);
68
73
  expectAPICodeError(error, 2501 /* ErrorCode.NOT_EXISTS */, 'Not found');
@@ -1 +1 @@
1
- {"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/internal/apiService/errors.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/internal/apiService/errors.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Logger, NodeType, MemberRole } from "../../interface";
1
+ import { Logger, NodeType, MemberRole } from '../../interface';
2
2
  export declare function nodeTypeNumberToNodeType(logger: Logger, nodeTypeNumber: number): NodeType;
3
3
  export declare function permissionsToDirectMemberRole(logger: Logger, permissionsNumber?: number): MemberRole;
4
4
  export declare function memberRoleToPermission(memberRole: MemberRole): 4 | 6 | 22;
@@ -36,7 +36,7 @@ function permissionsToDirectMemberRole(logger, permissionsNumber) {
36
36
  function memberRoleToPermission(memberRole) {
37
37
  if (memberRole === interface_1.MemberRole.Inherited) {
38
38
  // This is developer error.
39
- throw new Error("Cannot convert inherited role to permission");
39
+ throw new Error('Cannot convert inherited role to permission');
40
40
  }
41
41
  switch (memberRole) {
42
42
  case interface_1.MemberRole.Viewer:
@@ -41,7 +41,7 @@ describe('asyncIteratorMap', () => {
41
41
  const delays = { 1: 100, 2: 50, 3: 200, 4: 30, 5: 80 };
42
42
  const inputGen = createAsyncGenerator(Object.keys(delays).map(Number));
43
43
  const slowMapper = async (x) => {
44
- await new Promise(resolve => setTimeout(resolve, delays[x]));
44
+ await new Promise((resolve) => setTimeout(resolve, delays[x]));
45
45
  return x * 2;
46
46
  };
47
47
  const startTime = Date.now();
@@ -106,7 +106,7 @@ describe('asyncIteratorMap', () => {
106
106
  concurrentExecutions++;
107
107
  maxConcurrentExecutions = Math.max(maxConcurrentExecutions, concurrentExecutions);
108
108
  // Wait for 100ms to simulate work
109
- await new Promise(resolve => setTimeout(resolve, 100));
109
+ await new Promise((resolve) => setTimeout(resolve, 100));
110
110
  concurrentExecutions--;
111
111
  return x * 2;
112
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"asyncIteratorMap.test.js","sourceRoot":"","sources":["../../src/internal/asyncIteratorMap.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asyncIteratorMap.test.js","sourceRoot":"","sources":["../../src/internal/asyncIteratorMap.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Races multiple async iterators into a single async iterator.
3
+ *
4
+ * The input iterators are provided as an async iterator that yields async
5
+ * iterators. This allows to create the iterators lazily, e.g., when the
6
+ * input iterators are created from a database query.
7
+ *
8
+ * The number of input iterators being read at the same time is limited by
9
+ * the `concurrency` parameter.
10
+ *
11
+ * Any error from the input iterators is propagated to the output iterator.
12
+ */
13
+ export declare function asyncIteratorRace<T>(inputIterators: AsyncGenerator<AsyncGenerator<T>>, concurrency?: number): AsyncGenerator<T>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.asyncIteratorRace = asyncIteratorRace;
4
+ const DEFAULT_CONCURRENCY = 10;
5
+ /**
6
+ * Races multiple async iterators into a single async iterator.
7
+ *
8
+ * The input iterators are provided as an async iterator that yields async
9
+ * iterators. This allows to create the iterators lazily, e.g., when the
10
+ * input iterators are created from a database query.
11
+ *
12
+ * The number of input iterators being read at the same time is limited by
13
+ * the `concurrency` parameter.
14
+ *
15
+ * Any error from the input iterators is propagated to the output iterator.
16
+ */
17
+ async function* asyncIteratorRace(inputIterators, concurrency = DEFAULT_CONCURRENCY) {
18
+ const promises = new Map();
19
+ let nextIteratorIndex = 0;
20
+ let inputIteratorsExhausted = false;
21
+ const activeIterators = new Map();
22
+ const startNewIterator = async () => {
23
+ if (inputIteratorsExhausted || activeIterators.size >= concurrency) {
24
+ return;
25
+ }
26
+ const nextIteratorResult = await inputIterators.next();
27
+ if (nextIteratorResult.done) {
28
+ inputIteratorsExhausted = true;
29
+ return;
30
+ }
31
+ const iterator = nextIteratorResult.value;
32
+ const iteratorIndex = nextIteratorIndex++;
33
+ activeIterators.set(iteratorIndex, iterator);
34
+ promises.set(iteratorIndex, (async () => {
35
+ const result = await iterator.next();
36
+ return { iteratorIndex, result };
37
+ })());
38
+ };
39
+ while (activeIterators.size < concurrency && !inputIteratorsExhausted) {
40
+ await startNewIterator();
41
+ }
42
+ while (promises.size > 0) {
43
+ const { iteratorIndex, result } = await Promise.race(promises.values());
44
+ promises.delete(iteratorIndex);
45
+ if (result.done) {
46
+ activeIterators.delete(iteratorIndex);
47
+ await startNewIterator();
48
+ }
49
+ else {
50
+ yield result.value;
51
+ const iterator = activeIterators.get(iteratorIndex);
52
+ promises.set(iteratorIndex, (async () => {
53
+ const result = await iterator.next();
54
+ return { iteratorIndex, result };
55
+ })());
56
+ }
57
+ }
58
+ }
59
+ //# sourceMappingURL=asyncIteratorRace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncIteratorRace.js","sourceRoot":"","sources":["../../src/internal/asyncIteratorRace.ts"],"names":[],"mappings":";;AAcA,8CAgEC;AA9ED,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;;;;;;;GAWG;AACI,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACpC,cAAiD,EACjD,cAAsB,mBAAmB;IAEzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAMrB,CAAC;IAEJ,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IAE7D,MAAM,gBAAgB,GAAG,KAAK,IAAmB,EAAE;QAC/C,IAAI,uBAAuB,IAAI,eAAe,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YACjE,OAAO;QACX,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC1B,uBAAuB,GAAG,IAAI,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAC1C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;QAC1C,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE7C,QAAQ,CAAC,GAAG,CACR,aAAa,EACb,CAAC,KAAK,IAAI,EAAE;YACR,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QACrC,CAAC,CAAC,EAAE,CACP,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,eAAe,CAAC,IAAI,GAAG,WAAW,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACpE,MAAM,gBAAgB,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACtC,MAAM,gBAAgB,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,CAAC,KAAK,CAAC;YAEnB,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;YACrD,QAAQ,CAAC,GAAG,CACR,aAAa,EACb,CAAC,KAAK,IAAI,EAAE;gBACR,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;YACrC,CAAC,CAAC,EAAE,CACP,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const asyncIteratorRace_1 = require("./asyncIteratorRace");
4
+ async function* createInputIterator(generators) {
5
+ for (const generator of generators) {
6
+ yield generator;
7
+ }
8
+ }
9
+ async function* createAsyncGenerator(values, delay = 0) {
10
+ for (const value of values) {
11
+ if (delay > 0) {
12
+ await new Promise((resolve) => setTimeout(resolve, delay));
13
+ }
14
+ yield value;
15
+ }
16
+ }
17
+ function createTrackingGenerator(values, trackingSet, id, delay = 10) {
18
+ return (async function* () {
19
+ trackingSet.add(id);
20
+ try {
21
+ for (const value of values) {
22
+ await new Promise((resolve) => setTimeout(resolve, delay));
23
+ yield value;
24
+ }
25
+ }
26
+ finally {
27
+ trackingSet.delete(id);
28
+ }
29
+ })();
30
+ }
31
+ describe('asyncIteratorRace', () => {
32
+ it('should handle empty input iterator', async () => {
33
+ async function* emptyInput() {
34
+ return;
35
+ }
36
+ const result = (0, asyncIteratorRace_1.asyncIteratorRace)(emptyInput());
37
+ const values = await Array.fromAsync(result);
38
+ expect(values).toEqual([]);
39
+ });
40
+ it('should handle single generator with no values', async () => {
41
+ const input = createInputIterator([createAsyncGenerator([])]);
42
+ const result = (0, asyncIteratorRace_1.asyncIteratorRace)(input);
43
+ const values = await Array.fromAsync(result);
44
+ expect(values).toEqual([]);
45
+ });
46
+ it('should handle single generator with multiple values', async () => {
47
+ const input = createInputIterator([createAsyncGenerator([1, 2, 3])]);
48
+ const result = (0, asyncIteratorRace_1.asyncIteratorRace)(input);
49
+ const values = await Array.fromAsync(result);
50
+ expect(values).toEqual([1, 2, 3]);
51
+ });
52
+ it('should handle generators with mixed empty and non-empty results', async () => {
53
+ const input = createInputIterator([
54
+ createAsyncGenerator([]),
55
+ createAsyncGenerator([1, 3]),
56
+ createAsyncGenerator([]),
57
+ createAsyncGenerator([2]),
58
+ ]);
59
+ const result = (0, asyncIteratorRace_1.asyncIteratorRace)(input);
60
+ const values = await Array.fromAsync(result);
61
+ expect(values.sort()).toEqual([1, 2, 3]);
62
+ });
63
+ it('should limit concurrent reading of input iterators', async () => {
64
+ const concurrency = 2;
65
+ const activeIterators = new Set();
66
+ let maxConcurrentActive = 0;
67
+ const generators = Array.from({ length: 5 }, (_, i) => createTrackingGenerator([i * 10, i * 10 + 1], activeIterators, i, 50));
68
+ const input = createInputIterator(generators);
69
+ const result = (0, asyncIteratorRace_1.asyncIteratorRace)(input, concurrency);
70
+ const values = [];
71
+ for await (const value of result) {
72
+ maxConcurrentActive = Math.max(maxConcurrentActive, activeIterators.size);
73
+ values.push(value);
74
+ }
75
+ expect(maxConcurrentActive).toBe(concurrency);
76
+ expect(values).toHaveLength(10);
77
+ expect(values.sort()).toEqual([0, 1, 10, 11, 20, 21, 30, 31, 40, 41]);
78
+ });
79
+ it('should yield values as soon as any generator yields', async () => {
80
+ const slowGenerator = (async function* () {
81
+ await new Promise((resolve) => setTimeout(resolve, 100));
82
+ yield 'slow';
83
+ })();
84
+ const fastGenerator = (async function* () {
85
+ await new Promise((resolve) => setTimeout(resolve, 50));
86
+ yield 'fast';
87
+ })();
88
+ const input = createInputIterator([slowGenerator, fastGenerator]);
89
+ const result = (0, asyncIteratorRace_1.asyncIteratorRace)(input, 2);
90
+ const yieldTimes = [];
91
+ const startTime = Date.now();
92
+ const values = [];
93
+ for await (const value of result) {
94
+ yieldTimes.push(Date.now() - startTime);
95
+ values.push(value);
96
+ }
97
+ expect(values).toEqual(['fast', 'slow']);
98
+ expect(yieldTimes[0]).toBeGreaterThan(40);
99
+ expect(yieldTimes[0]).toBeLessThan(60);
100
+ expect(yieldTimes[1]).toBeGreaterThan(90);
101
+ expect(yieldTimes[1]).toBeLessThan(110);
102
+ });
103
+ it('should propagate errors from input iterators', async () => {
104
+ const errorGenerator = (async function* () {
105
+ yield 'before-error';
106
+ throw new Error('Test error');
107
+ })();
108
+ const input = createInputIterator([errorGenerator]);
109
+ const result = (0, asyncIteratorRace_1.asyncIteratorRace)(input);
110
+ const values = [];
111
+ await expect(async () => {
112
+ for await (const value of result) {
113
+ values.push(value);
114
+ }
115
+ }).rejects.toThrow('Test error');
116
+ expect(values).toEqual(['before-error']);
117
+ });
118
+ });
119
+ //# sourceMappingURL=asyncIteratorRace.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncIteratorRace.test.js","sourceRoot":"","sources":["../../src/internal/asyncIteratorRace.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function batch<T>(items: T[], batchSize: number): Generator<T[]>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.batch = batch;
4
+ function* batch(items, batchSize) {
5
+ if (batchSize <= 0) {
6
+ throw new Error('Batch size must be greater than 0');
7
+ }
8
+ for (let i = 0; i < items.length; i += batchSize) {
9
+ yield items.slice(i, i + batchSize);
10
+ }
11
+ }
12
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/internal/batch.ts"],"names":[],"mappings":";;AAAA,sBAQC;AARD,QAAe,CAAC,CAAC,KAAK,CAAI,KAAU,EAAE,SAAiB;IACnD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;QAC/C,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IACxC,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const batch_1 = require("./batch");
4
+ describe('batch', () => {
5
+ it('should batch an array of numbers into chunks of specified size', () => {
6
+ const items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
7
+ const batchSize = 3;
8
+ const result = Array.from((0, batch_1.batch)(items, batchSize));
9
+ expect(result).toEqual([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]);
10
+ });
11
+ it('should handle batch size equal to array length', () => {
12
+ const items = [1, 2, 3, 4, 5];
13
+ const batchSize = 5;
14
+ const result = Array.from((0, batch_1.batch)(items, batchSize));
15
+ expect(result).toEqual([[1, 2, 3, 4, 5]]);
16
+ });
17
+ it('should handle batch size larger than array length', () => {
18
+ const items = [1, 2, 3];
19
+ const batchSize = 10;
20
+ const result = Array.from((0, batch_1.batch)(items, batchSize));
21
+ expect(result).toEqual([[1, 2, 3]]);
22
+ });
23
+ it('should handle batch size of 1', () => {
24
+ const items = [1, 2, 3];
25
+ const batchSize = 1;
26
+ const result = Array.from((0, batch_1.batch)(items, batchSize));
27
+ expect(result).toEqual([[1], [2], [3]]);
28
+ });
29
+ it('should handle empty array', () => {
30
+ const items = [];
31
+ const batchSize = 3;
32
+ const result = Array.from((0, batch_1.batch)(items, batchSize));
33
+ expect(result).toEqual([]);
34
+ });
35
+ it('should handle zero batch size gracefully', () => {
36
+ const items = [1, 2, 3];
37
+ const batchSize = 0;
38
+ expect(() => Array.from((0, batch_1.batch)(items, batchSize))).toThrow();
39
+ });
40
+ });
41
+ //# sourceMappingURL=batch.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.test.js","sourceRoot":"","sources":["../../src/internal/batch.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"batchLoading.js","sourceRoot":"","sources":["../../src/internal/batchLoading.ts"],"names":[],"mappings":";;;AAAA,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,YAAY;IACb,SAAS,GAAG,qBAAqB,CAAC;IAClC,YAAY,CAAsC;IAElD,YAAY,CAAO;IAE3B,YAAY,OAIX;QACG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,SAAS,CAAC,EAAE,GAAS;gBAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC,CAAA;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,2BAA2B;YAC3B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACvC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CAAC,OAAW;QACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ;QACX,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;QACX,CAAC;QAED,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;CACJ;AAjDD,oCAiDC"}
1
+ {"version":3,"file":"batchLoading.js","sourceRoot":"","sources":["../../src/internal/batchLoading.ts"],"names":[],"mappings":";;;AAAA,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,YAAY;IACb,SAAS,GAAG,qBAAqB,CAAC;IAClC,YAAY,CAAsC;IAElD,YAAY,CAAO;IAE3B,YAAY,OAIX;QACG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,SAAS,CAAC,EAAE,GAAS;gBAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,2BAA2B;YAC3B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACvC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CAAC,OAAW;QACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ;QACX,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;QACX,CAAC;QAED,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;CACJ;AAjDD,oCAiDC"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const batchLoading_1 = require("./batchLoading");
4
- describe("BatchLoading", () => {
4
+ describe('BatchLoading', () => {
5
5
  let batchLoading;
6
6
  beforeEach(() => {
7
7
  jest.clearAllMocks();
8
8
  });
9
- it("should load in batches with loadItems", async () => {
9
+ it('should load in batches with loadItems', async () => {
10
10
  const loadItems = jest.fn((items) => Promise.resolve(items.map((item) => `loaded:${item}`)));
11
11
  batchLoading = new batchLoading_1.BatchLoading({ loadItems, batchSize: 2 });
12
12
  const result = [];
13
- for (const item of ["a", "b", "c", "d", "e"]) {
13
+ for (const item of ['a', 'b', 'c', 'd', 'e']) {
14
14
  for await (const loadedItem of batchLoading.load(item)) {
15
15
  result.push(loadedItem);
16
16
  }
@@ -18,13 +18,13 @@ describe("BatchLoading", () => {
18
18
  for await (const loadedItem of batchLoading.loadRest()) {
19
19
  result.push(loadedItem);
20
20
  }
21
- expect(result).toEqual(["loaded:a", "loaded:b", "loaded:c", "loaded:d", "loaded:e"]);
21
+ expect(result).toEqual(['loaded:a', 'loaded:b', 'loaded:c', 'loaded:d', 'loaded:e']);
22
22
  expect(loadItems).toHaveBeenCalledTimes(3);
23
- expect(loadItems).toHaveBeenNthCalledWith(1, ["a", "b"]);
24
- expect(loadItems).toHaveBeenNthCalledWith(2, ["c", "d"]);
25
- expect(loadItems).toHaveBeenNthCalledWith(3, ["e"]);
23
+ expect(loadItems).toHaveBeenNthCalledWith(1, ['a', 'b']);
24
+ expect(loadItems).toHaveBeenNthCalledWith(2, ['c', 'd']);
25
+ expect(loadItems).toHaveBeenNthCalledWith(3, ['e']);
26
26
  });
27
- it("should load in batches with iterateItems", async () => {
27
+ it('should load in batches with iterateItems', async () => {
28
28
  const iterateItems = jest.fn(async function* (items) {
29
29
  for (const item of items) {
30
30
  yield `loaded:${item}`;
@@ -32,7 +32,7 @@ describe("BatchLoading", () => {
32
32
  });
33
33
  batchLoading = new batchLoading_1.BatchLoading({ iterateItems, batchSize: 2 });
34
34
  const result = [];
35
- for (const item of ["a", "b", "c", "d", "e"]) {
35
+ for (const item of ['a', 'b', 'c', 'd', 'e']) {
36
36
  for await (const loadedItem of batchLoading.load(item)) {
37
37
  result.push(loadedItem);
38
38
  }
@@ -40,11 +40,11 @@ describe("BatchLoading", () => {
40
40
  for await (const loadedItem of batchLoading.loadRest()) {
41
41
  result.push(loadedItem);
42
42
  }
43
- expect(result).toEqual(["loaded:a", "loaded:b", "loaded:c", "loaded:d", "loaded:e"]);
43
+ expect(result).toEqual(['loaded:a', 'loaded:b', 'loaded:c', 'loaded:d', 'loaded:e']);
44
44
  expect(iterateItems).toHaveBeenCalledTimes(3);
45
- expect(iterateItems).toHaveBeenNthCalledWith(1, ["a", "b"]);
46
- expect(iterateItems).toHaveBeenNthCalledWith(2, ["c", "d"]);
47
- expect(iterateItems).toHaveBeenNthCalledWith(3, ["e"]);
45
+ expect(iterateItems).toHaveBeenNthCalledWith(1, ['a', 'b']);
46
+ expect(iterateItems).toHaveBeenNthCalledWith(2, ['c', 'd']);
47
+ expect(iterateItems).toHaveBeenNthCalledWith(3, ['e']);
48
48
  });
49
49
  });
50
50
  //# sourceMappingURL=batchLoading.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batchLoading.test.js","sourceRoot":"","sources":["../../src/internal/batchLoading.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batchLoading.test.js","sourceRoot":"","sources":["../../src/internal/batchLoading.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { DeviceType } from "../../interface";
2
- import { DriveAPIService } from "../apiService";
3
- import { DeviceMetadata } from "./interface";
1
+ import { DeviceType } from '../../interface';
2
+ import { DriveAPIService } from '../apiService';
3
+ import { DeviceMetadata } from './interface';
4
4
  /**
5
5
  * Provides API communication for managing devices.
6
6
  *
@@ -37,7 +37,7 @@ class DevicesAPIService {
37
37
  async removeNameFromDevice(deviceUid) {
38
38
  const { deviceId } = (0, uids_1.splitDeviceUid)(deviceUid);
39
39
  await this.apiService.put(`drive/devices/${deviceId}`, {
40
- Share: { Name: "" },
40
+ Share: { Name: '' },
41
41
  });
42
42
  }
43
43
  async createDevice(device, share, node) {
@@ -61,7 +61,7 @@ class DevicesAPIService {
61
61
  NodePassphrase: node.armoredNodePassphrase,
62
62
  NodePassphraseSignature: node.armoredNodePassphraseSignature,
63
63
  NodeHashKey: node.armoredHashKey,
64
- }
64
+ },
65
65
  });
66
66
  return {
67
67
  uid: (0, uids_1.makeDeviceUid)(device.volumeId, response.Device.DeviceID),
@@ -1 +1 @@
1
- {"version":3,"file":"apiService.js","sourceRoot":"","sources":["../../../src/internal/devices/apiService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiService.js","sourceRoot":"","sources":["../../../src/internal/devices/apiService.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAE7C,kCAAqE;AAkBrE;;;;;GAKG;AACH,MAAa,iBAAiB;IACN;IAApB,YAAoB,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAoB;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAqB,eAAe,EAAE,MAAM,CAAC,CAAC;QACxF,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,EAAE,IAAA,oBAAa,EAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClE,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAChD,aAAa,EAAE,IAAA,kBAAW,EAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACvE,YAAY,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YACvD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAClG,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YACtC,mFAAmF;YACnF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,qBAAc,EAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAIvB,iBAAiB,QAAQ,EAAE,EAAE;YAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CACd,MAGC,EACD,KAMC,EACD,IAMC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACvC,eAAe,EACf;YACI,2CAA2C;YAC3C,MAAM,EAAE;gBACJ,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC;gBACzC,SAAS,EAAE,CAAC;aACf;YACD,uCAAuC;YACvC,KAAK,EAAE;gBACH,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,GAAG,EAAE,KAAK,CAAC,UAAU;gBACrB,UAAU,EAAE,KAAK,CAAC,sBAAsB;gBACxC,mBAAmB,EAAE,KAAK,CAAC,+BAA+B;aAC7D;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,aAAa;gBACxB,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,cAAc,EAAE,IAAI,CAAC,qBAAqB;gBAC1C,uBAAuB,EAAE,IAAI,CAAC,8BAA8B;gBAC5D,WAAW,EAAE,IAAI,CAAC,cAAc;aACnC;SACJ,CACJ,CAAC;QAEF,OAAO;YACH,GAAG,EAAE,IAAA,oBAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7D,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,aAAa,EAAE,IAAA,kBAAW,EAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACnE,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,iBAAiB,EAAE,KAAK;YACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;SACnC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,qBAAc,EAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;CACJ;AAhGD,8CAgGC;AAED,SAAS,sBAAsB,CAAC,UAAqB;IACjD,QAAQ,UAAU,EAAE,CAAC;QACjB,KAAK,CAAC;YACF,OAAO,sBAAU,CAAC,OAAO,CAAC;QAC9B,KAAK,CAAC;YACF,OAAO,sBAAU,CAAC,KAAK,CAAC;QAC5B,KAAK,CAAC;YACF,OAAO,sBAAU,CAAC,KAAK,CAAC;QAC5B;YACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAsB;IAClD,QAAQ,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,sBAAU,CAAC,OAAO,CAAC,WAAW,EAAE;YACjC,OAAO,CAAC,CAAC;QACb,KAAK,sBAAU,CAAC,KAAK,CAAC,WAAW,EAAE;YAC/B,OAAO,CAAC,CAAC;QACb,KAAK,sBAAU,CAAC,KAAK,CAAC,WAAW,EAAE;YAC/B,OAAO,CAAC,CAAC;QACb;YACI,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC"}