@croct/sdk 0.17.7 → 0.17.8

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 (409) hide show
  1. package/activeRecord.cjs.map +1 -0
  2. package/activeRecord.d.ts +8 -4
  3. package/activeRecord.js +115 -106
  4. package/activeRecord.js.map +1 -1
  5. package/apiKey.cjs.map +1 -0
  6. package/apiKey.d.ts +4 -2
  7. package/apiKey.js +152 -141
  8. package/apiKey.js.map +1 -1
  9. package/base64Url.cjs.map +1 -0
  10. package/base64Url.d.ts +4 -2
  11. package/base64Url.js +8 -15
  12. package/base64Url.js.map +1 -1
  13. package/cache/cache.cjs.map +1 -0
  14. package/cache/cache.d.ts +6 -4
  15. package/cache/cache.js +9 -10
  16. package/cache/cache.js.map +1 -1
  17. package/cache/cookieCache.cjs.map +1 -0
  18. package/cache/cookieCache.d.ts +6 -3
  19. package/cache/cookieCache.js +52 -54
  20. package/cache/cookieCache.js.map +1 -1
  21. package/cache/fallbackCache.cjs.map +1 -0
  22. package/cache/fallbackCache.d.ts +5 -2
  23. package/cache/fallbackCache.js +20 -21
  24. package/cache/fallbackCache.js.map +1 -1
  25. package/cache/inMemoryCache.cjs.map +1 -0
  26. package/cache/inMemoryCache.d.ts +5 -2
  27. package/cache/inMemoryCache.js +15 -17
  28. package/cache/inMemoryCache.js.map +1 -1
  29. package/cache/index.cjs.map +1 -0
  30. package/cache/index.d.ts +4 -4
  31. package/cache/index.js +9 -11
  32. package/cache/index.js.map +1 -1
  33. package/cache/localStorageCache.cjs.map +1 -0
  34. package/cache/localStorageCache.d.ts +5 -2
  35. package/cache/localStorageCache.js +55 -63
  36. package/cache/localStorageCache.js.map +1 -1
  37. package/channel/channel.cjs.map +1 -0
  38. package/channel/channel.d.ts +8 -6
  39. package/channel/channel.js +21 -22
  40. package/channel/channel.js.map +1 -1
  41. package/channel/encodedChannel.cjs.map +1 -0
  42. package/channel/encodedChannel.d.ts +6 -3
  43. package/channel/encodedChannel.js +13 -14
  44. package/channel/encodedChannel.js.map +1 -1
  45. package/channel/guaranteedChannel.cjs.map +1 -0
  46. package/channel/guaranteedChannel.d.ts +9 -7
  47. package/channel/guaranteedChannel.js +74 -73
  48. package/channel/guaranteedChannel.js.map +1 -1
  49. package/channel/httpBeaconChannel.cjs.map +1 -0
  50. package/channel/httpBeaconChannel.d.ts +9 -6
  51. package/channel/httpBeaconChannel.js +82 -83
  52. package/channel/httpBeaconChannel.js.map +1 -1
  53. package/channel/index.cjs.map +1 -0
  54. package/channel/index.d.ts +12 -7
  55. package/channel/index.js +15 -17
  56. package/channel/index.js.map +1 -1
  57. package/channel/queuedChannel.cjs.map +1 -0
  58. package/channel/queuedChannel.d.ts +7 -4
  59. package/channel/queuedChannel.js +87 -97
  60. package/channel/queuedChannel.js.map +1 -1
  61. package/channel/retryChannel.cjs.map +1 -0
  62. package/channel/retryChannel.d.ts +7 -5
  63. package/channel/retryChannel.js +58 -57
  64. package/channel/retryChannel.js.map +1 -1
  65. package/channel/sandboxChannel.cjs.map +1 -0
  66. package/channel/sandboxChannel.d.ts +5 -2
  67. package/channel/sandboxChannel.js +34 -35
  68. package/channel/sandboxChannel.js.map +1 -1
  69. package/cid/assigner.cjs.map +1 -0
  70. package/cid/assigner.d.ts +3 -1
  71. package/cid/assigner.js +0 -2
  72. package/cid/assigner.js.map +1 -1
  73. package/cid/cachedAssigner.cjs.map +1 -0
  74. package/cid/cachedAssigner.d.ts +7 -5
  75. package/cid/cachedAssigner.js +37 -43
  76. package/cid/cachedAssigner.js.map +1 -1
  77. package/cid/fixedAssigner.cjs.map +1 -0
  78. package/cid/fixedAssigner.d.ts +5 -2
  79. package/cid/fixedAssigner.js +9 -10
  80. package/cid/fixedAssigner.js.map +1 -1
  81. package/cid/index.cjs.map +1 -0
  82. package/cid/index.d.ts +6 -4
  83. package/cid/index.js +9 -11
  84. package/cid/index.js.map +1 -1
  85. package/cid/remoteAssigner.cjs.map +1 -0
  86. package/cid/remoteAssigner.d.ts +6 -3
  87. package/cid/remoteAssigner.js +36 -37
  88. package/cid/remoteAssigner.js.map +1 -1
  89. package/constants.cjs.map +1 -0
  90. package/constants.d.ts +6 -4
  91. package/constants.js +10 -7
  92. package/constants.js.map +1 -1
  93. package/container.cjs.map +1 -0
  94. package/container.d.ts +28 -15
  95. package/container.js +269 -252
  96. package/container.js.map +1 -1
  97. package/contentFetcher.cjs.map +1 -0
  98. package/contentFetcher.d.ts +17 -14
  99. package/contentFetcher.js +156 -163
  100. package/contentFetcher.js.map +1 -1
  101. package/context.cjs.map +1 -0
  102. package/context.d.ts +13 -9
  103. package/context.js +80 -81
  104. package/context.js.map +1 -1
  105. package/error.cjs.map +1 -0
  106. package/error.d.ts +4 -2
  107. package/error.js +21 -21
  108. package/error.js.map +1 -1
  109. package/evaluator.cjs.map +1 -0
  110. package/evaluator.d.ts +18 -16
  111. package/evaluator.js +179 -179
  112. package/evaluator.js.map +1 -1
  113. package/eventManager.cjs.map +1 -0
  114. package/eventManager.d.ts +8 -6
  115. package/eventManager.js +24 -26
  116. package/eventManager.js.map +1 -1
  117. package/eventSubjectProcessor.cjs.map +1 -0
  118. package/eventSubjectProcessor.d.ts +16 -3
  119. package/eventSubjectProcessor.js +53 -59
  120. package/eventSubjectProcessor.js.map +1 -1
  121. package/facade/contentFetcherFacade.cjs.map +1 -0
  122. package/facade/contentFetcherFacade.d.ts +16 -7
  123. package/facade/contentFetcherFacade.js +32 -35
  124. package/facade/contentFetcherFacade.js.map +1 -1
  125. package/facade/evaluatorFacade.cjs.map +1 -0
  126. package/facade/evaluatorFacade.d.ts +17 -10
  127. package/facade/evaluatorFacade.js +56 -60
  128. package/facade/evaluatorFacade.js.map +1 -1
  129. package/facade/index.cjs.map +1 -0
  130. package/facade/index.d.ts +29 -7
  131. package/facade/index.js +19 -19
  132. package/facade/index.js.map +1 -1
  133. package/facade/sdkFacade.cjs.map +1 -0
  134. package/facade/sdkFacade.d.ts +33 -15
  135. package/facade/sdkFacade.js +201 -214
  136. package/facade/sdkFacade.js.map +1 -1
  137. package/facade/sessionFacade.cjs.map +1 -0
  138. package/facade/sessionFacade.d.ts +18 -3
  139. package/facade/sessionFacade.js +10 -11
  140. package/facade/sessionFacade.js.map +1 -1
  141. package/facade/sessionPatch.cjs.map +1 -0
  142. package/facade/sessionPatch.d.ts +17 -4
  143. package/facade/sessionPatch.js +22 -24
  144. package/facade/sessionPatch.js.map +1 -1
  145. package/facade/trackerFacade.cjs.map +1 -0
  146. package/facade/trackerFacade.d.ts +17 -4
  147. package/facade/trackerFacade.js +67 -57
  148. package/facade/trackerFacade.js.map +1 -1
  149. package/facade/userFacade.cjs.map +1 -0
  150. package/facade/userFacade.d.ts +21 -4
  151. package/facade/userFacade.js +17 -18
  152. package/facade/userFacade.js.map +1 -1
  153. package/facade/userPatch.cjs.map +1 -0
  154. package/facade/userPatch.d.ts +17 -4
  155. package/facade/userPatch.js +22 -24
  156. package/facade/userPatch.js.map +1 -1
  157. package/help.cjs.map +1 -0
  158. package/help.d.ts +3 -1
  159. package/help.js +19 -23
  160. package/help.js.map +1 -1
  161. package/index.cjs.map +1 -0
  162. package/index.d.ts +25 -3
  163. package/index.js +7 -7
  164. package/index.js.map +1 -1
  165. package/logging/consoleLogger.cjs.map +1 -0
  166. package/logging/consoleLogger.d.ts +5 -2
  167. package/logging/consoleLogger.js +23 -24
  168. package/logging/consoleLogger.js.map +1 -1
  169. package/logging/filteredLogger.cjs.map +1 -0
  170. package/logging/filteredLogger.d.ts +8 -5
  171. package/logging/filteredLogger.js +36 -37
  172. package/logging/filteredLogger.js.map +1 -1
  173. package/logging/index.cjs.map +1 -0
  174. package/logging/index.d.ts +5 -5
  175. package/logging/index.js +11 -13
  176. package/logging/index.js.map +1 -1
  177. package/logging/logger.cjs.map +1 -0
  178. package/logging/logger.d.ts +4 -2
  179. package/logging/logger.js +0 -2
  180. package/logging/logger.js.map +1 -1
  181. package/logging/namespacedLogger.cjs.map +1 -0
  182. package/logging/namespacedLogger.d.ts +5 -2
  183. package/logging/namespacedLogger.js +22 -23
  184. package/logging/namespacedLogger.js.map +1 -1
  185. package/logging/nullLogger.cjs.map +1 -0
  186. package/logging/nullLogger.d.ts +5 -2
  187. package/logging/nullLogger.js +11 -16
  188. package/logging/nullLogger.js.map +1 -1
  189. package/namespacedStorage.cjs.map +1 -0
  190. package/namespacedStorage.d.ts +3 -1
  191. package/namespacedStorage.js +51 -52
  192. package/namespacedStorage.js.map +1 -1
  193. package/package.json +60 -6
  194. package/patch.cjs.map +1 -0
  195. package/patch.d.ts +6 -4
  196. package/patch.js +0 -2
  197. package/patch.js.map +1 -1
  198. package/queue/capacityRestrictedQueue.cjs.map +1 -0
  199. package/queue/capacityRestrictedQueue.d.ts +5 -2
  200. package/queue/capacityRestrictedQueue.js +31 -32
  201. package/queue/capacityRestrictedQueue.js.map +1 -1
  202. package/queue/inMemoryQueue.cjs.map +1 -0
  203. package/queue/inMemoryQueue.d.ts +5 -2
  204. package/queue/inMemoryQueue.js +32 -34
  205. package/queue/inMemoryQueue.js.map +1 -1
  206. package/queue/index.cjs.map +1 -0
  207. package/queue/index.d.ts +6 -5
  208. package/queue/index.js +11 -13
  209. package/queue/index.js.map +1 -1
  210. package/queue/monitoredQueue.cjs.map +1 -0
  211. package/queue/monitoredQueue.d.ts +8 -5
  212. package/queue/monitoredQueue.js +104 -110
  213. package/queue/monitoredQueue.js.map +1 -1
  214. package/queue/persistentQueue.cjs.map +1 -0
  215. package/queue/persistentQueue.d.ts +5 -2
  216. package/queue/persistentQueue.js +52 -54
  217. package/queue/persistentQueue.js.map +1 -1
  218. package/queue/queue.cjs.map +1 -0
  219. package/queue/queue.d.ts +3 -1
  220. package/queue/queue.js +0 -2
  221. package/queue/queue.js.map +1 -1
  222. package/retry/arbitraryPolicy.cjs.map +1 -0
  223. package/retry/arbitraryPolicy.d.ts +5 -2
  224. package/retry/arbitraryPolicy.js +14 -15
  225. package/retry/arbitraryPolicy.js.map +1 -1
  226. package/retry/backoffPolicy.cjs.map +1 -0
  227. package/retry/backoffPolicy.d.ts +5 -3
  228. package/retry/backoffPolicy.js +52 -50
  229. package/retry/backoffPolicy.js.map +1 -1
  230. package/retry/index.cjs.map +1 -0
  231. package/retry/index.d.ts +5 -5
  232. package/retry/index.js +11 -13
  233. package/retry/index.js.map +1 -1
  234. package/retry/maxAttemptsPolicy.cjs.map +1 -0
  235. package/retry/maxAttemptsPolicy.d.ts +5 -2
  236. package/retry/maxAttemptsPolicy.js +17 -18
  237. package/retry/maxAttemptsPolicy.js.map +1 -1
  238. package/retry/neverPolicy.cjs.map +1 -0
  239. package/retry/neverPolicy.d.ts +5 -2
  240. package/retry/neverPolicy.js +9 -10
  241. package/retry/neverPolicy.js.map +1 -1
  242. package/retry/policy.cjs.map +1 -0
  243. package/retry/policy.d.ts +3 -1
  244. package/retry/policy.js +0 -2
  245. package/retry/policy.js.map +1 -1
  246. package/schema/attributeSchema.cjs.map +1 -0
  247. package/schema/attributeSchema.d.ts +6 -2
  248. package/schema/attributeSchema.js +7 -7
  249. package/schema/attributeSchema.js.map +1 -1
  250. package/schema/contentFetcherSchemas.cjs.map +1 -0
  251. package/schema/contentFetcherSchemas.d.ts +6 -2
  252. package/schema/contentFetcherSchemas.js +24 -21
  253. package/schema/contentFetcherSchemas.js.map +1 -1
  254. package/schema/contentSchemas.cjs.map +1 -0
  255. package/schema/contentSchemas.d.ts +6 -2
  256. package/schema/contentSchemas.js +45 -45
  257. package/schema/contentSchemas.js.map +1 -1
  258. package/schema/contextSchemas.cjs.map +1 -0
  259. package/schema/contextSchemas.d.ts +6 -2
  260. package/schema/contextSchemas.js +6 -6
  261. package/schema/contextSchemas.js.map +1 -1
  262. package/schema/ecommerceSchemas.cjs.map +1 -0
  263. package/schema/ecommerceSchemas.d.ts +10 -6
  264. package/schema/ecommerceSchemas.js +176 -172
  265. package/schema/ecommerceSchemas.js.map +1 -1
  266. package/schema/evaluatorSchemas.cjs.map +1 -0
  267. package/schema/evaluatorSchemas.d.ts +6 -2
  268. package/schema/evaluatorSchemas.js +46 -30
  269. package/schema/evaluatorSchemas.js.map +1 -1
  270. package/schema/eventSchemas.cjs.map +1 -0
  271. package/schema/eventSchemas.d.ts +16 -12
  272. package/schema/eventSchemas.js +125 -102
  273. package/schema/eventSchemas.js.map +1 -1
  274. package/schema/index.cjs.map +1 -0
  275. package/schema/index.d.ts +14 -11
  276. package/schema/index.js +11 -14
  277. package/schema/index.js.map +1 -1
  278. package/schema/loggerSchema.cjs.map +1 -0
  279. package/schema/loggerSchema.d.ts +6 -2
  280. package/schema/loggerSchema.js +13 -13
  281. package/schema/loggerSchema.js.map +1 -1
  282. package/schema/operationSchemas.cjs.map +1 -0
  283. package/schema/operationSchemas.d.ts +14 -10
  284. package/schema/operationSchemas.js +85 -69
  285. package/schema/operationSchemas.js.map +1 -1
  286. package/schema/sdkFacadeSchemas.cjs.map +1 -0
  287. package/schema/sdkFacadeSchemas.d.ts +6 -2
  288. package/schema/sdkFacadeSchemas.js +65 -51
  289. package/schema/sdkFacadeSchemas.js.map +1 -1
  290. package/schema/sdkSchemas.cjs.map +1 -0
  291. package/schema/sdkSchemas.d.ts +8 -4
  292. package/schema/sdkSchemas.js +80 -78
  293. package/schema/sdkSchemas.js.map +1 -1
  294. package/schema/tokenSchema.cjs.map +1 -0
  295. package/schema/tokenSchema.d.ts +6 -2
  296. package/schema/tokenSchema.js +41 -38
  297. package/schema/tokenSchema.js.map +1 -1
  298. package/schema/userSchema.cjs.map +1 -0
  299. package/schema/userSchema.d.ts +6 -2
  300. package/schema/userSchema.js +183 -134
  301. package/schema/userSchema.js.map +1 -1
  302. package/sdk.cjs.map +1 -0
  303. package/sdk.d.ts +28 -14
  304. package/sdk.js +106 -108
  305. package/sdk.js.map +1 -1
  306. package/sdkEvents.cjs.map +1 -0
  307. package/sdkEvents.d.ts +10 -5
  308. package/sdkEvents.js +0 -2
  309. package/sdkEvents.js.map +1 -1
  310. package/sourceLocation.cjs.map +1 -0
  311. package/sourceLocation.d.ts +7 -5
  312. package/sourceLocation.js +56 -57
  313. package/sourceLocation.js.map +1 -1
  314. package/tab.cjs.map +1 -0
  315. package/tab.d.ts +9 -7
  316. package/tab.js +93 -90
  317. package/tab.js.map +1 -1
  318. package/token/cachedTokenStore.cjs.map +1 -0
  319. package/token/cachedTokenStore.d.ts +8 -3
  320. package/token/cachedTokenStore.js +22 -24
  321. package/token/cachedTokenStore.js.map +1 -1
  322. package/token/inMemoryTokenStore.cjs.map +1 -0
  323. package/token/inMemoryTokenStore.d.ts +7 -2
  324. package/token/inMemoryTokenStore.js +12 -13
  325. package/token/inMemoryTokenStore.js.map +1 -1
  326. package/token/index.cjs.map +1 -0
  327. package/token/index.d.ts +7 -4
  328. package/token/index.js +9 -11
  329. package/token/index.js.map +1 -1
  330. package/token/replicatedTokenStore.cjs.map +1 -0
  331. package/token/replicatedTokenStore.d.ts +7 -2
  332. package/token/replicatedTokenStore.js +14 -15
  333. package/token/replicatedTokenStore.js.map +1 -1
  334. package/token/token.cjs.map +1 -0
  335. package/token/token.d.ts +11 -8
  336. package/token/token.js +212 -195
  337. package/token/token.js.map +1 -1
  338. package/tracker.cjs.map +1 -0
  339. package/tracker.d.ts +20 -13
  340. package/tracker.js +307 -307
  341. package/tracker.js.map +1 -1
  342. package/trackingEvents.cjs.map +1 -0
  343. package/trackingEvents.d.ts +65 -62
  344. package/trackingEvents.js +57 -56
  345. package/trackingEvents.js.map +1 -1
  346. package/transformer.cjs.map +1 -0
  347. package/transformer.d.ts +4 -2
  348. package/transformer.js +5 -6
  349. package/transformer.js.map +1 -1
  350. package/utilityTypes.cjs.map +1 -0
  351. package/utilityTypes.d.ts +4 -2
  352. package/utilityTypes.js +0 -2
  353. package/utilityTypes.js.map +1 -1
  354. package/uuid.cjs.map +1 -0
  355. package/uuid.d.ts +3 -1
  356. package/uuid.js +27 -32
  357. package/uuid.js.map +1 -1
  358. package/validation/arrayType.cjs.map +1 -0
  359. package/validation/arrayType.d.ts +5 -3
  360. package/validation/arrayType.js +45 -41
  361. package/validation/arrayType.js.map +1 -1
  362. package/validation/booleanType.cjs.map +1 -0
  363. package/validation/booleanType.d.ts +5 -2
  364. package/validation/booleanType.js +19 -16
  365. package/validation/booleanType.js.map +1 -1
  366. package/validation/functionType.cjs.map +1 -0
  367. package/validation/functionType.d.ts +5 -2
  368. package/validation/functionType.js +19 -16
  369. package/validation/functionType.js.map +1 -1
  370. package/validation/index.cjs.map +1 -0
  371. package/validation/index.d.ts +12 -12
  372. package/validation/index.js +27 -29
  373. package/validation/index.js.map +1 -1
  374. package/validation/jsonType.cjs.map +1 -0
  375. package/validation/jsonType.d.ts +8 -6
  376. package/validation/jsonType.js +89 -82
  377. package/validation/jsonType.js.map +1 -1
  378. package/validation/mixedSchema.cjs.map +1 -0
  379. package/validation/mixedSchema.d.ts +5 -2
  380. package/validation/mixedSchema.js +5 -7
  381. package/validation/mixedSchema.js.map +1 -1
  382. package/validation/nullType.cjs.map +1 -0
  383. package/validation/nullType.d.ts +5 -2
  384. package/validation/nullType.js +19 -16
  385. package/validation/nullType.js.map +1 -1
  386. package/validation/numberType.cjs.map +1 -0
  387. package/validation/numberType.d.ts +5 -3
  388. package/validation/numberType.js +40 -32
  389. package/validation/numberType.js.map +1 -1
  390. package/validation/objectType.cjs.map +1 -0
  391. package/validation/objectType.d.ts +5 -3
  392. package/validation/objectType.js +84 -85
  393. package/validation/objectType.js.map +1 -1
  394. package/validation/schema.cjs.map +1 -0
  395. package/validation/schema.d.ts +5 -3
  396. package/validation/schema.js +8 -9
  397. package/validation/schema.js.map +1 -1
  398. package/validation/stringType.cjs.map +1 -0
  399. package/validation/stringType.d.ts +5 -3
  400. package/validation/stringType.js +74 -70
  401. package/validation/stringType.js.map +1 -1
  402. package/validation/unionType.cjs.map +1 -0
  403. package/validation/unionType.d.ts +5 -2
  404. package/validation/unionType.js +37 -35
  405. package/validation/unionType.js.map +1 -1
  406. package/validation/violation.cjs.map +1 -0
  407. package/validation/violation.d.ts +4 -2
  408. package/validation/violation.js +18 -18
  409. package/validation/violation.js.map +1 -1
@@ -1,63 +1,64 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RetryChannel = void 0;
4
- const channel_1 = require("./channel");
5
- const logging_1 = require("../logging");
1
+ import { MessageDeliveryError } from "./channel";
2
+ import { NullLogger } from "../logging";
6
3
  class RetryChannel {
7
- constructor({ channel, retryPolicy, logger }) {
8
- this.closed = false;
9
- this.channel = channel;
10
- this.retryPolicy = retryPolicy;
11
- this.logger = logger !== null && logger !== void 0 ? logger : new logging_1.NullLogger();
4
+ constructor({ channel, retryPolicy, logger }) {
5
+ this.closed = false;
6
+ this.channel = channel;
7
+ this.retryPolicy = retryPolicy;
8
+ this.logger = logger ?? new NullLogger();
9
+ }
10
+ publish(message) {
11
+ if (this.closed) {
12
+ return Promise.reject(MessageDeliveryError.nonRetryable("The channel is closed."));
12
13
  }
13
- publish(message) {
14
- if (this.closed) {
15
- return Promise.reject(channel_1.MessageDeliveryError.nonRetryable('The channel is closed.'));
16
- }
17
- return this.channel
18
- .publish(message)
19
- .catch(error => this.retry(message, error));
14
+ return this.channel.publish(message).catch((error) => this.retry(message, error));
15
+ }
16
+ async retry(message, error) {
17
+ if (error instanceof MessageDeliveryError && !error.retryable) {
18
+ throw error;
20
19
  }
21
- async retry(message, error) {
22
- if (error instanceof channel_1.MessageDeliveryError && !error.retryable) {
23
- throw error;
24
- }
25
- let attempt = 0;
26
- while (this.retryPolicy.shouldRetry(attempt, message, error)) {
27
- if (this.closed) {
28
- throw channel_1.MessageDeliveryError.retryable('Connection deliberately closed.');
29
- }
30
- const delay = this.retryPolicy.getDelay(attempt);
31
- this.logger.debug(`Retry attempt ${attempt + 1}`);
32
- if (delay > 0) {
33
- this.logger.debug(`Retry attempt delayed in ${delay}ms`);
34
- await new Promise((resolve, reject) => {
35
- const closeWatcher = window.setInterval(() => {
36
- if (this.closed) {
37
- // Cancel delay immediately when the channel is closed
38
- window.clearInterval(closeWatcher);
39
- reject(channel_1.MessageDeliveryError.retryable('Connection deliberately closed.'));
40
- }
41
- }, 0);
42
- window.setTimeout(() => {
43
- window.clearInterval(closeWatcher);
44
- resolve();
45
- }, delay);
46
- });
47
- }
48
- try {
49
- return await this.channel.publish(message);
50
- }
51
- catch {
52
- attempt += 1;
53
- }
54
- }
55
- throw channel_1.MessageDeliveryError.nonRetryable('Maximum retry attempts reached.');
56
- }
57
- close() {
58
- this.closed = true;
59
- return this.channel.close();
20
+ let attempt = 0;
21
+ while (this.retryPolicy.shouldRetry(attempt, message, error)) {
22
+ if (this.closed) {
23
+ throw MessageDeliveryError.retryable("Connection deliberately closed.");
24
+ }
25
+ const delay = this.retryPolicy.getDelay(attempt);
26
+ this.logger.debug(`Retry attempt ${attempt + 1}`);
27
+ if (delay > 0) {
28
+ this.logger.debug(`Retry attempt delayed in ${delay}ms`);
29
+ await new Promise((resolve, reject) => {
30
+ const closeWatcher = window.setInterval(
31
+ () => {
32
+ if (this.closed) {
33
+ window.clearInterval(closeWatcher);
34
+ reject(MessageDeliveryError.retryable("Connection deliberately closed."));
35
+ }
36
+ },
37
+ 0
38
+ );
39
+ window.setTimeout(
40
+ () => {
41
+ window.clearInterval(closeWatcher);
42
+ resolve();
43
+ },
44
+ delay
45
+ );
46
+ });
47
+ }
48
+ try {
49
+ return await this.channel.publish(message);
50
+ } catch {
51
+ attempt += 1;
52
+ }
60
53
  }
54
+ throw MessageDeliveryError.nonRetryable("Maximum retry attempts reached.");
55
+ }
56
+ close() {
57
+ this.closed = true;
58
+ return this.channel.close();
59
+ }
61
60
  }
62
- exports.RetryChannel = RetryChannel;
61
+ export {
62
+ RetryChannel
63
+ };
63
64
  //# sourceMappingURL=retryChannel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retryChannel.js","sourceRoot":"","sources":["../src/channel/retryChannel.ts"],"names":[],"mappings":";;;AAAA,uCAA8D;AAC9D,wCAA8C;AAS9C,MAAa,YAAY;IASrB,YAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAmB;QAF3D,WAAM,GAAG,KAAK,CAAC;QAGnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,oBAAU,EAAE,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,OAAU;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,MAAM,CAAC,8BAAoB,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO;aACd,OAAO,CAAC,OAAO,CAAC;aAChB,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAU,EAAE,KAAc;QACzC,IAAI,KAAK,YAAY,8BAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5D,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,8BAAoB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;YAElD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,IAAI,CAAC,CAAC;gBAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;oBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACnC,GAAG,EAAE;wBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BACd,sDAAsD;4BACtD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;4BAEnC,MAAM,CAAC,8BAAoB,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;wBAC9E,CAAC;oBACL,CAAC,EACD,CAAC,CACJ,CAAC;oBAEF,MAAM,CAAC,UAAU,CACb,GAAS,EAAE;wBACP,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;wBAEnC,OAAO,EAAE,CAAC;oBACd,CAAC,EACD,KAAK,CACR,CAAC;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,IAAI,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QAED,MAAM,8BAAoB,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACJ;AAnFD,oCAmFC"}
1
+ {"version":3,"sources":["../src/channel/retryChannel.ts"],"sourcesContent":["import {MessageDeliveryError, OutputChannel} from './channel';\nimport {Logger, NullLogger} from '../logging';\nimport {RetryPolicy} from '../retry';\n\ntype Configuration<T> = {\n channel: OutputChannel<T>,\n retryPolicy: RetryPolicy<T>,\n logger?: Logger,\n};\n\nexport class RetryChannel<T> implements OutputChannel<T> {\n private readonly channel: OutputChannel<T>;\n\n private readonly retryPolicy: RetryPolicy<T>;\n\n private readonly logger: Logger;\n\n private closed = false;\n\n public constructor({channel, retryPolicy, logger}: Configuration<T>) {\n this.channel = channel;\n this.retryPolicy = retryPolicy;\n this.logger = logger ?? new NullLogger();\n }\n\n public publish(message: T): Promise<void> {\n if (this.closed) {\n return Promise.reject(MessageDeliveryError.nonRetryable('The channel is closed.'));\n }\n\n return this.channel\n .publish(message)\n .catch(error => this.retry(message, error));\n }\n\n public async retry(message: T, error: unknown): Promise<void> {\n if (error instanceof MessageDeliveryError && !error.retryable) {\n throw error;\n }\n\n let attempt = 0;\n\n while (this.retryPolicy.shouldRetry(attempt, message, error)) {\n if (this.closed) {\n throw MessageDeliveryError.retryable('Connection deliberately closed.');\n }\n\n const delay = this.retryPolicy.getDelay(attempt);\n\n this.logger.debug(`Retry attempt ${attempt + 1}`);\n\n if (delay > 0) {\n this.logger.debug(`Retry attempt delayed in ${delay}ms`);\n\n await new Promise<void>((resolve, reject): void => {\n const closeWatcher = window.setInterval(\n () => {\n if (this.closed) {\n // Cancel delay immediately when the channel is closed\n window.clearInterval(closeWatcher);\n\n reject(MessageDeliveryError.retryable('Connection deliberately closed.'));\n }\n },\n 0,\n );\n\n window.setTimeout(\n (): void => {\n window.clearInterval(closeWatcher);\n\n resolve();\n },\n delay,\n );\n });\n }\n\n try {\n return await this.channel.publish(message);\n } catch {\n attempt += 1;\n }\n }\n\n throw MessageDeliveryError.nonRetryable('Maximum retry attempts reached.');\n }\n\n public close(): Promise<void> {\n this.closed = true;\n\n return this.channel.close();\n }\n}\n"],"mappings":"AAAA,SAAQ,4BAA0C;AAClD,SAAgB,kBAAiB;AAS1B,MAAM,aAA4C;AAAA,EAS9C,YAAY,EAAC,SAAS,aAAa,OAAM,GAAqB;AAFrE,SAAQ,SAAS;AAGb,SAAK,UAAU;AACf,SAAK,cAAc;AACnB,SAAK,SAAS,UAAU,IAAI,WAAW;AAAA,EAC3C;AAAA,EAEO,QAAQ,SAA2B;AACtC,QAAI,KAAK,QAAQ;AACb,aAAO,QAAQ,OAAO,qBAAqB,aAAa,wBAAwB,CAAC;AAAA,IACrF;AAEA,WAAO,KAAK,QACP,QAAQ,OAAO,EACf,MAAM,WAAS,KAAK,MAAM,SAAS,KAAK,CAAC;AAAA,EAClD;AAAA,EAEA,MAAa,MAAM,SAAY,OAA+B;AAC1D,QAAI,iBAAiB,wBAAwB,CAAC,MAAM,WAAW;AAC3D,YAAM;AAAA,IACV;AAEA,QAAI,UAAU;AAEd,WAAO,KAAK,YAAY,YAAY,SAAS,SAAS,KAAK,GAAG;AAC1D,UAAI,KAAK,QAAQ;AACb,cAAM,qBAAqB,UAAU,iCAAiC;AAAA,MAC1E;AAEA,YAAM,QAAQ,KAAK,YAAY,SAAS,OAAO;AAE/C,WAAK,OAAO,MAAM,iBAAiB,UAAU,CAAC,EAAE;AAEhD,UAAI,QAAQ,GAAG;AACX,aAAK,OAAO,MAAM,4BAA4B,KAAK,IAAI;AAEvD,cAAM,IAAI,QAAc,CAAC,SAAS,WAAiB;AAC/C,gBAAM,eAAe,OAAO;AAAA,YACxB,MAAM;AACF,kBAAI,KAAK,QAAQ;AAEb,uBAAO,cAAc,YAAY;AAEjC,uBAAO,qBAAqB,UAAU,iCAAiC,CAAC;AAAA,cAC5E;AAAA,YACJ;AAAA,YACA;AAAA,UACJ;AAEA,iBAAO;AAAA,YACH,MAAY;AACR,qBAAO,cAAc,YAAY;AAEjC,sBAAQ;AAAA,YACZ;AAAA,YACA;AAAA,UACJ;AAAA,QACJ,CAAC;AAAA,MACL;AAEA,UAAI;AACA,eAAO,MAAM,KAAK,QAAQ,QAAQ,OAAO;AAAA,MAC7C,QAAQ;AACJ,mBAAW;AAAA,MACf;AAAA,IACJ;AAEA,UAAM,qBAAqB,aAAa,iCAAiC;AAAA,EAC7E;AAAA,EAEO,QAAuB;AAC1B,SAAK,SAAS;AAEd,WAAO,KAAK,QAAQ,MAAM;AAAA,EAC9B;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/channel/sandboxChannel.ts"],"sourcesContent":["import {ChannelListener, DuplexChannel, MessageDeliveryError} from './channel';\n\nexport class SandboxChannel<I, O> implements DuplexChannel<I, O> {\n private readonly listeners: Array<ChannelListener<I>> = [];\n\n public readonly messages: O[] = [];\n\n private closed = false;\n\n public publish(message: O): Promise<void> {\n if (this.closed) {\n return Promise.reject(MessageDeliveryError.nonRetryable('Channel is closed.'));\n }\n\n this.messages.push(message);\n\n return Promise.resolve();\n }\n\n public notify(message: I): void {\n this.listeners.forEach(dispatch => dispatch(message));\n }\n\n public subscribe(listener: ChannelListener<I>): void {\n if (!this.listeners.includes(listener)) {\n this.listeners.push(listener);\n }\n }\n\n public unsubscribe(listener: ChannelListener<I>): void {\n const index = this.listeners.indexOf(listener);\n\n if (index >= 0) {\n this.listeners.splice(index, 1);\n }\n }\n\n public close(): Promise<void> {\n this.closed = true;\n\n return Promise.resolve();\n }\n\n public isClosed(): boolean {\n return this.closed;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAmE;AAE5D,MAAM,eAAoD;AAAA,EAA1D;AACH,SAAiB,YAAuC,CAAC;AAEzD,SAAgB,WAAgB,CAAC;AAEjC,SAAQ,SAAS;AAAA;AAAA,EAEV,QAAQ,SAA2B;AACtC,QAAI,KAAK,QAAQ;AACb,aAAO,QAAQ,OAAO,oCAAqB,aAAa,oBAAoB,CAAC;AAAA,IACjF;AAEA,SAAK,SAAS,KAAK,OAAO;AAE1B,WAAO,QAAQ,QAAQ;AAAA,EAC3B;AAAA,EAEO,OAAO,SAAkB;AAC5B,SAAK,UAAU,QAAQ,cAAY,SAAS,OAAO,CAAC;AAAA,EACxD;AAAA,EAEO,UAAU,UAAoC;AACjD,QAAI,CAAC,KAAK,UAAU,SAAS,QAAQ,GAAG;AACpC,WAAK,UAAU,KAAK,QAAQ;AAAA,IAChC;AAAA,EACJ;AAAA,EAEO,YAAY,UAAoC;AACnD,UAAM,QAAQ,KAAK,UAAU,QAAQ,QAAQ;AAE7C,QAAI,SAAS,GAAG;AACZ,WAAK,UAAU,OAAO,OAAO,CAAC;AAAA,IAClC;AAAA,EACJ;AAAA,EAEO,QAAuB;AAC1B,SAAK,SAAS;AAEd,WAAO,QAAQ,QAAQ;AAAA,EAC3B;AAAA,EAEO,WAAoB;AACvB,WAAO,KAAK;AAAA,EAChB;AACJ;","names":[]}
@@ -1,5 +1,6 @@
1
- import { ChannelListener, DuplexChannel } from './channel';
2
- export declare class SandboxChannel<I, O> implements DuplexChannel<I, O> {
1
+ import { DuplexChannel, ChannelListener } from './channel.js';
2
+
3
+ declare class SandboxChannel<I, O> implements DuplexChannel<I, O> {
3
4
  private readonly listeners;
4
5
  readonly messages: O[];
5
6
  private closed;
@@ -10,3 +11,5 @@ export declare class SandboxChannel<I, O> implements DuplexChannel<I, O> {
10
11
  close(): Promise<void>;
11
12
  isClosed(): boolean;
12
13
  }
14
+
15
+ export { SandboxChannel };
@@ -1,41 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SandboxChannel = void 0;
4
- const channel_1 = require("./channel");
1
+ import { MessageDeliveryError } from "./channel";
5
2
  class SandboxChannel {
6
- constructor() {
7
- this.listeners = [];
8
- this.messages = [];
9
- this.closed = false;
3
+ constructor() {
4
+ this.listeners = [];
5
+ this.messages = [];
6
+ this.closed = false;
7
+ }
8
+ publish(message) {
9
+ if (this.closed) {
10
+ return Promise.reject(MessageDeliveryError.nonRetryable("Channel is closed."));
10
11
  }
11
- publish(message) {
12
- if (this.closed) {
13
- return Promise.reject(channel_1.MessageDeliveryError.nonRetryable('Channel is closed.'));
14
- }
15
- this.messages.push(message);
16
- return Promise.resolve();
12
+ this.messages.push(message);
13
+ return Promise.resolve();
14
+ }
15
+ notify(message) {
16
+ this.listeners.forEach((dispatch) => dispatch(message));
17
+ }
18
+ subscribe(listener) {
19
+ if (!this.listeners.includes(listener)) {
20
+ this.listeners.push(listener);
17
21
  }
18
- notify(message) {
19
- this.listeners.forEach(dispatch => dispatch(message));
20
- }
21
- subscribe(listener) {
22
- if (!this.listeners.includes(listener)) {
23
- this.listeners.push(listener);
24
- }
25
- }
26
- unsubscribe(listener) {
27
- const index = this.listeners.indexOf(listener);
28
- if (index >= 0) {
29
- this.listeners.splice(index, 1);
30
- }
31
- }
32
- close() {
33
- this.closed = true;
34
- return Promise.resolve();
35
- }
36
- isClosed() {
37
- return this.closed;
22
+ }
23
+ unsubscribe(listener) {
24
+ const index = this.listeners.indexOf(listener);
25
+ if (index >= 0) {
26
+ this.listeners.splice(index, 1);
38
27
  }
28
+ }
29
+ close() {
30
+ this.closed = true;
31
+ return Promise.resolve();
32
+ }
33
+ isClosed() {
34
+ return this.closed;
35
+ }
39
36
  }
40
- exports.SandboxChannel = SandboxChannel;
37
+ export {
38
+ SandboxChannel
39
+ };
41
40
  //# sourceMappingURL=sandboxChannel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxChannel.js","sourceRoot":"","sources":["../src/channel/sandboxChannel.ts"],"names":[],"mappings":";;;AAAA,uCAA+E;AAE/E,MAAa,cAAc;IAA3B;QACqB,cAAS,GAA8B,EAAE,CAAC;QAE3C,aAAQ,GAAQ,EAAE,CAAC;QAE3B,WAAM,GAAG,KAAK,CAAC;IAuC3B,CAAC;IArCU,OAAO,CAAC,OAAU;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,MAAM,CAAC,8BAAoB,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,OAAU;QACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,SAAS,CAAC,QAA4B;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,QAA4B;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AA5CD,wCA4CC"}
1
+ {"version":3,"sources":["../src/channel/sandboxChannel.ts"],"sourcesContent":["import {ChannelListener, DuplexChannel, MessageDeliveryError} from './channel';\n\nexport class SandboxChannel<I, O> implements DuplexChannel<I, O> {\n private readonly listeners: Array<ChannelListener<I>> = [];\n\n public readonly messages: O[] = [];\n\n private closed = false;\n\n public publish(message: O): Promise<void> {\n if (this.closed) {\n return Promise.reject(MessageDeliveryError.nonRetryable('Channel is closed.'));\n }\n\n this.messages.push(message);\n\n return Promise.resolve();\n }\n\n public notify(message: I): void {\n this.listeners.forEach(dispatch => dispatch(message));\n }\n\n public subscribe(listener: ChannelListener<I>): void {\n if (!this.listeners.includes(listener)) {\n this.listeners.push(listener);\n }\n }\n\n public unsubscribe(listener: ChannelListener<I>): void {\n const index = this.listeners.indexOf(listener);\n\n if (index >= 0) {\n this.listeners.splice(index, 1);\n }\n }\n\n public close(): Promise<void> {\n this.closed = true;\n\n return Promise.resolve();\n }\n\n public isClosed(): boolean {\n return this.closed;\n }\n}\n"],"mappings":"AAAA,SAAwC,4BAA2B;AAE5D,MAAM,eAAoD;AAAA,EAA1D;AACH,SAAiB,YAAuC,CAAC;AAEzD,SAAgB,WAAgB,CAAC;AAEjC,SAAQ,SAAS;AAAA;AAAA,EAEV,QAAQ,SAA2B;AACtC,QAAI,KAAK,QAAQ;AACb,aAAO,QAAQ,OAAO,qBAAqB,aAAa,oBAAoB,CAAC;AAAA,IACjF;AAEA,SAAK,SAAS,KAAK,OAAO;AAE1B,WAAO,QAAQ,QAAQ;AAAA,EAC3B;AAAA,EAEO,OAAO,SAAkB;AAC5B,SAAK,UAAU,QAAQ,cAAY,SAAS,OAAO,CAAC;AAAA,EACxD;AAAA,EAEO,UAAU,UAAoC;AACjD,QAAI,CAAC,KAAK,UAAU,SAAS,QAAQ,GAAG;AACpC,WAAK,UAAU,KAAK,QAAQ;AAAA,IAChC;AAAA,EACJ;AAAA,EAEO,YAAY,UAAoC;AACnD,UAAM,QAAQ,KAAK,UAAU,QAAQ,QAAQ;AAE7C,QAAI,SAAS,GAAG;AACZ,WAAK,UAAU,OAAO,OAAO,CAAC;AAAA,IAClC;AAAA,EACJ;AAAA,EAEO,QAAuB;AAC1B,SAAK,SAAS;AAEd,WAAO,QAAQ,QAAQ;AAAA,EAC3B;AAAA,EAEO,WAAoB;AACvB,WAAO,KAAK;AAAA,EAChB;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cid/assigner.ts"],"sourcesContent":["export interface CidAssigner {\n assignCid(currentCid?: string): Promise<string>;\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/cid/assigner.d.ts CHANGED
@@ -1,3 +1,5 @@
1
- export interface CidAssigner {
1
+ interface CidAssigner {
2
2
  assignCid(currentCid?: string): Promise<string>;
3
3
  }
4
+
5
+ export type { CidAssigner };
package/cid/assigner.js CHANGED
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=assigner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assigner.js","sourceRoot":"","sources":["../src/cid/assigner.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cid/cachedAssigner.ts"],"sourcesContent":["import {Logger, NullLogger} from '../logging';\nimport {Cache} from '../cache';\nimport {CidAssigner} from './assigner';\n\ntype CachedAssignerOptions = {\n logger?: Logger,\n mirror?: boolean,\n};\n\nexport class CachedAssigner implements CidAssigner {\n private readonly assigner: CidAssigner;\n\n private readonly cache: Cache;\n\n private readonly options: Required<CachedAssignerOptions>;\n\n public constructor(assigner: CidAssigner, cache: Cache, options: CachedAssignerOptions = {}) {\n this.assigner = assigner;\n this.cache = cache;\n this.options = {\n logger: options.logger ?? new NullLogger(),\n mirror: options.mirror ?? false,\n };\n }\n\n public async assignCid(currentCid?: string): Promise<string> {\n const cachedCid = this.cache.get();\n const previousCid = currentCid ?? cachedCid ?? null;\n const {logger, mirror} = this.options;\n\n if (previousCid === null) {\n const newCid = await this.assigner.assignCid();\n\n this.cache.put(newCid);\n\n logger.debug('New CID stored into cache');\n\n return newCid;\n }\n\n logger.debug('Using existing CID');\n\n if (cachedCid !== previousCid) {\n logger.debug('The cached CID is stale, updating cache...');\n\n this.cache.put(previousCid);\n }\n\n if (mirror) {\n logger.debug('Mirroring CID');\n\n this.assigner\n .assignCid(previousCid)\n .then(newCid => {\n if (newCid !== previousCid) {\n logger.warn('The CID has changed, updating cache...');\n\n this.cache.put(newCid);\n }\n })\n .catch(() => {\n logger.error('Failed to mirror CID');\n });\n }\n\n return previousCid;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAiC;AAS1B,MAAM,eAAsC;AAAA,EAOxC,YAAY,UAAuB,OAAc,UAAiC,CAAC,GAAG;AACzF,SAAK,WAAW;AAChB,SAAK,QAAQ;AACb,SAAK,UAAU;AAAA,MACX,QAAQ,QAAQ,UAAU,IAAI,0BAAW;AAAA,MACzC,QAAQ,QAAQ,UAAU;AAAA,IAC9B;AAAA,EACJ;AAAA,EAEA,MAAa,UAAU,YAAsC;AACzD,UAAM,YAAY,KAAK,MAAM,IAAI;AACjC,UAAM,cAAc,cAAc,aAAa;AAC/C,UAAM,EAAC,QAAQ,OAAM,IAAI,KAAK;AAE9B,QAAI,gBAAgB,MAAM;AACtB,YAAM,SAAS,MAAM,KAAK,SAAS,UAAU;AAE7C,WAAK,MAAM,IAAI,MAAM;AAErB,aAAO,MAAM,2BAA2B;AAExC,aAAO;AAAA,IACX;AAEA,WAAO,MAAM,oBAAoB;AAEjC,QAAI,cAAc,aAAa;AAC3B,aAAO,MAAM,4CAA4C;AAEzD,WAAK,MAAM,IAAI,WAAW;AAAA,IAC9B;AAEA,QAAI,QAAQ;AACR,aAAO,MAAM,eAAe;AAE5B,WAAK,SACA,UAAU,WAAW,EACrB,KAAK,YAAU;AACZ,YAAI,WAAW,aAAa;AACxB,iBAAO,KAAK,wCAAwC;AAEpD,eAAK,MAAM,IAAI,MAAM;AAAA,QACzB;AAAA,MACJ,CAAC,EACA,MAAM,MAAM;AACT,eAAO,MAAM,sBAAsB;AAAA,MACvC,CAAC;AAAA,IACT;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -1,15 +1,17 @@
1
- import { Logger } from '../logging';
2
- import { Cache } from '../cache';
3
- import { CidAssigner } from './assigner';
1
+ import { Logger } from '../logging/logger.js';
2
+ import { Cache } from '../cache/cache.js';
3
+ import { CidAssigner } from './assigner.js';
4
+
4
5
  type CachedAssignerOptions = {
5
6
  logger?: Logger;
6
7
  mirror?: boolean;
7
8
  };
8
- export declare class CachedAssigner implements CidAssigner {
9
+ declare class CachedAssigner implements CidAssigner {
9
10
  private readonly assigner;
10
11
  private readonly cache;
11
12
  private readonly options;
12
13
  constructor(assigner: CidAssigner, cache: Cache, options?: CachedAssignerOptions);
13
14
  assignCid(currentCid?: string): Promise<string>;
14
15
  }
15
- export {};
16
+
17
+ export { CachedAssigner };
@@ -1,49 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CachedAssigner = void 0;
4
- const logging_1 = require("../logging");
1
+ import { NullLogger } from "../logging";
5
2
  class CachedAssigner {
6
- constructor(assigner, cache, options = {}) {
7
- var _a, _b;
8
- this.assigner = assigner;
9
- this.cache = cache;
10
- this.options = {
11
- logger: (_a = options.logger) !== null && _a !== void 0 ? _a : new logging_1.NullLogger(),
12
- mirror: (_b = options.mirror) !== null && _b !== void 0 ? _b : false,
13
- };
3
+ constructor(assigner, cache, options = {}) {
4
+ this.assigner = assigner;
5
+ this.cache = cache;
6
+ this.options = {
7
+ logger: options.logger ?? new NullLogger(),
8
+ mirror: options.mirror ?? false
9
+ };
10
+ }
11
+ async assignCid(currentCid) {
12
+ const cachedCid = this.cache.get();
13
+ const previousCid = currentCid ?? cachedCid ?? null;
14
+ const { logger, mirror } = this.options;
15
+ if (previousCid === null) {
16
+ const newCid = await this.assigner.assignCid();
17
+ this.cache.put(newCid);
18
+ logger.debug("New CID stored into cache");
19
+ return newCid;
14
20
  }
15
- async assignCid(currentCid) {
16
- var _a;
17
- const cachedCid = this.cache.get();
18
- const previousCid = (_a = currentCid !== null && currentCid !== void 0 ? currentCid : cachedCid) !== null && _a !== void 0 ? _a : null;
19
- const { logger, mirror } = this.options;
20
- if (previousCid === null) {
21
- const newCid = await this.assigner.assignCid();
22
- this.cache.put(newCid);
23
- logger.debug('New CID stored into cache');
24
- return newCid;
25
- }
26
- logger.debug('Using existing CID');
27
- if (cachedCid !== previousCid) {
28
- logger.debug('The cached CID is stale, updating cache...');
29
- this.cache.put(previousCid);
30
- }
31
- if (mirror) {
32
- logger.debug('Mirroring CID');
33
- this.assigner
34
- .assignCid(previousCid)
35
- .then(newCid => {
36
- if (newCid !== previousCid) {
37
- logger.warn('The CID has changed, updating cache...');
38
- this.cache.put(newCid);
39
- }
40
- })
41
- .catch(() => {
42
- logger.error('Failed to mirror CID');
43
- });
21
+ logger.debug("Using existing CID");
22
+ if (cachedCid !== previousCid) {
23
+ logger.debug("The cached CID is stale, updating cache...");
24
+ this.cache.put(previousCid);
25
+ }
26
+ if (mirror) {
27
+ logger.debug("Mirroring CID");
28
+ this.assigner.assignCid(previousCid).then((newCid) => {
29
+ if (newCid !== previousCid) {
30
+ logger.warn("The CID has changed, updating cache...");
31
+ this.cache.put(newCid);
44
32
  }
45
- return previousCid;
33
+ }).catch(() => {
34
+ logger.error("Failed to mirror CID");
35
+ });
46
36
  }
37
+ return previousCid;
38
+ }
47
39
  }
48
- exports.CachedAssigner = CachedAssigner;
40
+ export {
41
+ CachedAssigner
42
+ };
49
43
  //# sourceMappingURL=cachedAssigner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cachedAssigner.js","sourceRoot":"","sources":["../src/cid/cachedAssigner.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAS9C,MAAa,cAAc;IAOvB,YAAmB,QAAqB,EAAE,KAAY,EAAE,UAAiC,EAAE;;QACvF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG;YACX,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAI,oBAAU,EAAE;YAC1C,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,KAAK;SAClC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAmB;;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,MAAA,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,SAAS,mCAAI,IAAI,CAAC;QACpD,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAEtC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAE/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEvB,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAE1C,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEnC,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAE3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAE9B,IAAI,CAAC,QAAQ;iBACR,SAAS,CAAC,WAAW,CAAC;iBACtB,IAAI,CAAC,MAAM,CAAC,EAAE;gBACX,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;oBAEtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACR,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACX,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AA1DD,wCA0DC"}
1
+ {"version":3,"sources":["../src/cid/cachedAssigner.ts"],"sourcesContent":["import {Logger, NullLogger} from '../logging';\nimport {Cache} from '../cache';\nimport {CidAssigner} from './assigner';\n\ntype CachedAssignerOptions = {\n logger?: Logger,\n mirror?: boolean,\n};\n\nexport class CachedAssigner implements CidAssigner {\n private readonly assigner: CidAssigner;\n\n private readonly cache: Cache;\n\n private readonly options: Required<CachedAssignerOptions>;\n\n public constructor(assigner: CidAssigner, cache: Cache, options: CachedAssignerOptions = {}) {\n this.assigner = assigner;\n this.cache = cache;\n this.options = {\n logger: options.logger ?? new NullLogger(),\n mirror: options.mirror ?? false,\n };\n }\n\n public async assignCid(currentCid?: string): Promise<string> {\n const cachedCid = this.cache.get();\n const previousCid = currentCid ?? cachedCid ?? null;\n const {logger, mirror} = this.options;\n\n if (previousCid === null) {\n const newCid = await this.assigner.assignCid();\n\n this.cache.put(newCid);\n\n logger.debug('New CID stored into cache');\n\n return newCid;\n }\n\n logger.debug('Using existing CID');\n\n if (cachedCid !== previousCid) {\n logger.debug('The cached CID is stale, updating cache...');\n\n this.cache.put(previousCid);\n }\n\n if (mirror) {\n logger.debug('Mirroring CID');\n\n this.assigner\n .assignCid(previousCid)\n .then(newCid => {\n if (newCid !== previousCid) {\n logger.warn('The CID has changed, updating cache...');\n\n this.cache.put(newCid);\n }\n })\n .catch(() => {\n logger.error('Failed to mirror CID');\n });\n }\n\n return previousCid;\n }\n}\n"],"mappings":"AAAA,SAAgB,kBAAiB;AAS1B,MAAM,eAAsC;AAAA,EAOxC,YAAY,UAAuB,OAAc,UAAiC,CAAC,GAAG;AACzF,SAAK,WAAW;AAChB,SAAK,QAAQ;AACb,SAAK,UAAU;AAAA,MACX,QAAQ,QAAQ,UAAU,IAAI,WAAW;AAAA,MACzC,QAAQ,QAAQ,UAAU;AAAA,IAC9B;AAAA,EACJ;AAAA,EAEA,MAAa,UAAU,YAAsC;AACzD,UAAM,YAAY,KAAK,MAAM,IAAI;AACjC,UAAM,cAAc,cAAc,aAAa;AAC/C,UAAM,EAAC,QAAQ,OAAM,IAAI,KAAK;AAE9B,QAAI,gBAAgB,MAAM;AACtB,YAAM,SAAS,MAAM,KAAK,SAAS,UAAU;AAE7C,WAAK,MAAM,IAAI,MAAM;AAErB,aAAO,MAAM,2BAA2B;AAExC,aAAO;AAAA,IACX;AAEA,WAAO,MAAM,oBAAoB;AAEjC,QAAI,cAAc,aAAa;AAC3B,aAAO,MAAM,4CAA4C;AAEzD,WAAK,MAAM,IAAI,WAAW;AAAA,IAC9B;AAEA,QAAI,QAAQ;AACR,aAAO,MAAM,eAAe;AAE5B,WAAK,SACA,UAAU,WAAW,EACrB,KAAK,YAAU;AACZ,YAAI,WAAW,aAAa;AACxB,iBAAO,KAAK,wCAAwC;AAEpD,eAAK,MAAM,IAAI,MAAM;AAAA,QACzB;AAAA,MACJ,CAAC,EACA,MAAM,MAAM;AACT,eAAO,MAAM,sBAAsB;AAAA,MACvC,CAAC;AAAA,IACT;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cid/fixedAssigner.ts"],"sourcesContent":["import {CidAssigner} from './assigner';\n\nexport class FixedAssigner implements CidAssigner {\n private readonly cid: string;\n\n public constructor(cid: string) {\n this.cid = cid;\n }\n\n public assignCid(): Promise<string> {\n return Promise.resolve(this.cid);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,cAAqC;AAAA,EAGvC,YAAY,KAAa;AAC5B,SAAK,MAAM;AAAA,EACf;AAAA,EAEO,YAA6B;AAChC,WAAO,QAAQ,QAAQ,KAAK,GAAG;AAAA,EACnC;AACJ;","names":[]}
@@ -1,6 +1,9 @@
1
- import { CidAssigner } from './assigner';
2
- export declare class FixedAssigner implements CidAssigner {
1
+ import { CidAssigner } from './assigner.js';
2
+
3
+ declare class FixedAssigner implements CidAssigner {
3
4
  private readonly cid;
4
5
  constructor(cid: string);
5
6
  assignCid(): Promise<string>;
6
7
  }
8
+
9
+ export { FixedAssigner };
@@ -1,13 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FixedAssigner = void 0;
4
1
  class FixedAssigner {
5
- constructor(cid) {
6
- this.cid = cid;
7
- }
8
- assignCid() {
9
- return Promise.resolve(this.cid);
10
- }
2
+ constructor(cid) {
3
+ this.cid = cid;
4
+ }
5
+ assignCid() {
6
+ return Promise.resolve(this.cid);
7
+ }
11
8
  }
12
- exports.FixedAssigner = FixedAssigner;
9
+ export {
10
+ FixedAssigner
11
+ };
13
12
  //# sourceMappingURL=fixedAssigner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixedAssigner.js","sourceRoot":"","sources":["../src/cid/fixedAssigner.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAGtB,YAAmB,GAAW;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAEM,SAAS;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;CACJ;AAVD,sCAUC"}
1
+ {"version":3,"sources":["../src/cid/fixedAssigner.ts"],"sourcesContent":["import {CidAssigner} from './assigner';\n\nexport class FixedAssigner implements CidAssigner {\n private readonly cid: string;\n\n public constructor(cid: string) {\n this.cid = cid;\n }\n\n public assignCid(): Promise<string> {\n return Promise.resolve(this.cid);\n }\n}\n"],"mappings":"AAEO,MAAM,cAAqC;AAAA,EAGvC,YAAY,KAAa;AAC5B,SAAK,MAAM;AAAA,EACf;AAAA,EAEO,YAA6B;AAChC,WAAO,QAAQ,QAAQ,KAAK,GAAG;AAAA,EACnC;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cid/index.ts"],"sourcesContent":["export * from './assigner';\nexport {CachedAssigner} from './cachedAssigner';\nexport {FixedAssigner} from './fixedAssigner';\nexport {RemoteAssigner} from './remoteAssigner';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAc,uBAAd;AACA,4BAA6B;AAC7B,2BAA4B;AAC5B,4BAA6B;","names":[]}
package/cid/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export * from './assigner';
2
- export { CachedAssigner } from './cachedAssigner';
3
- export { FixedAssigner } from './fixedAssigner';
4
- export { RemoteAssigner } from './remoteAssigner';
1
+ export { CidAssigner } from './assigner.js';
2
+ export { CachedAssigner } from './cachedAssigner.js';
3
+ export { FixedAssigner } from './fixedAssigner.js';
4
+ export { RemoteAssigner } from './remoteAssigner.js';
5
+ import '../logging/logger.js';
6
+ import '../cache/cache.js';
package/cid/index.js CHANGED
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteAssigner = exports.FixedAssigner = exports.CachedAssigner = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./assigner"), exports);
6
- var cachedAssigner_1 = require("./cachedAssigner");
7
- Object.defineProperty(exports, "CachedAssigner", { enumerable: true, get: function () { return cachedAssigner_1.CachedAssigner; } });
8
- var fixedAssigner_1 = require("./fixedAssigner");
9
- Object.defineProperty(exports, "FixedAssigner", { enumerable: true, get: function () { return fixedAssigner_1.FixedAssigner; } });
10
- var remoteAssigner_1 = require("./remoteAssigner");
11
- Object.defineProperty(exports, "RemoteAssigner", { enumerable: true, get: function () { return remoteAssigner_1.RemoteAssigner; } });
1
+ export * from "./assigner";
2
+ import { CachedAssigner } from "./cachedAssigner";
3
+ import { FixedAssigner } from "./fixedAssigner";
4
+ import { RemoteAssigner } from "./remoteAssigner";
5
+ export {
6
+ CachedAssigner,
7
+ FixedAssigner,
8
+ RemoteAssigner
9
+ };
12
10
  //# sourceMappingURL=index.js.map
package/cid/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/cid/index.ts"],"names":[],"mappings":";;;;AAAA,qDAA2B;AAC3B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA"}
1
+ {"version":3,"sources":["../src/cid/index.ts"],"sourcesContent":["export * from './assigner';\nexport {CachedAssigner} from './cachedAssigner';\nexport {FixedAssigner} from './fixedAssigner';\nexport {RemoteAssigner} from './remoteAssigner';\n"],"mappings":"AAAA,cAAc;AACd,SAAQ,sBAAqB;AAC7B,SAAQ,qBAAoB;AAC5B,SAAQ,sBAAqB;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cid/remoteAssigner.ts"],"sourcesContent":["import {Logger, NullLogger} from '../logging';\nimport {formatCause} from '../error';\nimport {CidAssigner} from './assigner';\nimport {CLIENT_LIBRARY} from '../constants';\n\nexport class RemoteAssigner implements CidAssigner {\n private readonly logger: Logger;\n\n private readonly endpoint: string;\n\n private pending?: Promise<string>;\n\n public constructor(endpoint: string, logger?: Logger) {\n this.endpoint = endpoint;\n this.logger = logger ?? new NullLogger();\n }\n\n public assignCid(currentCid?: string): Promise<string> {\n if (this.pending === undefined) {\n this.pending = this.fetchCid(currentCid).finally(() => {\n this.pending = undefined;\n });\n }\n\n return this.pending;\n }\n\n private async fetchCid(currentCid?: string): Promise<string> {\n const options: RequestInit = {\n method: 'GET',\n credentials: 'include',\n headers: {\n 'X-Client-Library': CLIENT_LIBRARY,\n },\n };\n\n const endpoint = new URL(this.endpoint);\n\n if (currentCid !== undefined) {\n endpoint.searchParams.set('cid', currentCid);\n }\n\n const response = await fetch(endpoint, options);\n\n if (!response.ok) {\n const error = new Error(`Failed to assign CID: ${formatCause(response.statusText)}`);\n\n this.logger.error(error.message);\n\n throw error;\n }\n\n this.logger.debug('New CID successfully assigned');\n\n return response.text();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAiC;AACjC,mBAA0B;AAE1B,uBAA6B;AAEtB,MAAM,eAAsC;AAAA,EAOxC,YAAY,UAAkB,QAAiB;AAClD,SAAK,WAAW;AAChB,SAAK,SAAS,UAAU,IAAI,0BAAW;AAAA,EAC3C;AAAA,EAEO,UAAU,YAAsC;AACnD,QAAI,KAAK,YAAY,QAAW;AAC5B,WAAK,UAAU,KAAK,SAAS,UAAU,EAAE,QAAQ,MAAM;AACnD,aAAK,UAAU;AAAA,MACnB,CAAC;AAAA,IACL;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAc,SAAS,YAAsC;AACzD,UAAM,UAAuB;AAAA,MACzB,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS;AAAA,QACL,oBAAoB;AAAA,MACxB;AAAA,IACJ;AAEA,UAAM,WAAW,IAAI,IAAI,KAAK,QAAQ;AAEtC,QAAI,eAAe,QAAW;AAC1B,eAAS,aAAa,IAAI,OAAO,UAAU;AAAA,IAC/C;AAEA,UAAM,WAAW,MAAM,MAAM,UAAU,OAAO;AAE9C,QAAI,CAAC,SAAS,IAAI;AACd,YAAM,QAAQ,IAAI,MAAM,6BAAyB,0BAAY,SAAS,UAAU,CAAC,EAAE;AAEnF,WAAK,OAAO,MAAM,MAAM,OAAO;AAE/B,YAAM;AAAA,IACV;AAEA,SAAK,OAAO,MAAM,+BAA+B;AAEjD,WAAO,SAAS,KAAK;AAAA,EACzB;AACJ;","names":[]}
@@ -1,6 +1,7 @@
1
- import { Logger } from '../logging';
2
- import { CidAssigner } from './assigner';
3
- export declare class RemoteAssigner implements CidAssigner {
1
+ import { Logger } from '../logging/logger.js';
2
+ import { CidAssigner } from './assigner.js';
3
+
4
+ declare class RemoteAssigner implements CidAssigner {
4
5
  private readonly logger;
5
6
  private readonly endpoint;
6
7
  private pending?;
@@ -8,3 +9,5 @@ export declare class RemoteAssigner implements CidAssigner {
8
9
  assignCid(currentCid?: string): Promise<string>;
9
10
  private fetchCid;
10
11
  }
12
+
13
+ export { RemoteAssigner };
@@ -1,43 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteAssigner = void 0;
4
- const logging_1 = require("../logging");
5
- const error_1 = require("../error");
6
- const constants_1 = require("../constants");
1
+ import { NullLogger } from "../logging";
2
+ import { formatCause } from "../error";
3
+ import { CLIENT_LIBRARY } from "../constants";
7
4
  class RemoteAssigner {
8
- constructor(endpoint, logger) {
9
- this.endpoint = endpoint;
10
- this.logger = logger !== null && logger !== void 0 ? logger : new logging_1.NullLogger();
5
+ constructor(endpoint, logger) {
6
+ this.endpoint = endpoint;
7
+ this.logger = logger ?? new NullLogger();
8
+ }
9
+ assignCid(currentCid) {
10
+ if (this.pending === void 0) {
11
+ this.pending = this.fetchCid(currentCid).finally(() => {
12
+ this.pending = void 0;
13
+ });
11
14
  }
12
- assignCid(currentCid) {
13
- if (this.pending === undefined) {
14
- this.pending = this.fetchCid(currentCid).finally(() => {
15
- this.pending = undefined;
16
- });
17
- }
18
- return this.pending;
15
+ return this.pending;
16
+ }
17
+ async fetchCid(currentCid) {
18
+ const options = {
19
+ method: "GET",
20
+ credentials: "include",
21
+ headers: {
22
+ "X-Client-Library": CLIENT_LIBRARY
23
+ }
24
+ };
25
+ const endpoint = new URL(this.endpoint);
26
+ if (currentCid !== void 0) {
27
+ endpoint.searchParams.set("cid", currentCid);
19
28
  }
20
- async fetchCid(currentCid) {
21
- const options = {
22
- method: 'GET',
23
- credentials: 'include',
24
- headers: {
25
- 'X-Client-Library': constants_1.CLIENT_LIBRARY,
26
- },
27
- };
28
- const endpoint = new URL(this.endpoint);
29
- if (currentCid !== undefined) {
30
- endpoint.searchParams.set('cid', currentCid);
31
- }
32
- const response = await fetch(endpoint, options);
33
- if (!response.ok) {
34
- const error = new Error(`Failed to assign CID: ${(0, error_1.formatCause)(response.statusText)}`);
35
- this.logger.error(error.message);
36
- throw error;
37
- }
38
- this.logger.debug('New CID successfully assigned');
39
- return response.text();
29
+ const response = await fetch(endpoint, options);
30
+ if (!response.ok) {
31
+ const error = new Error(`Failed to assign CID: ${formatCause(response.statusText)}`);
32
+ this.logger.error(error.message);
33
+ throw error;
40
34
  }
35
+ this.logger.debug("New CID successfully assigned");
36
+ return response.text();
37
+ }
41
38
  }
42
- exports.RemoteAssigner = RemoteAssigner;
39
+ export {
40
+ RemoteAssigner
41
+ };
43
42
  //# sourceMappingURL=remoteAssigner.js.map