@croct/sdk 0.17.7 → 0.17.9

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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@croct/sdk",
3
- "version": "0.17.7",
3
+ "version": "0.17.9",
4
4
  "description": "Croct SDK for JavaScript.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -8,8 +8,59 @@
8
8
  "email": "sdk-js+lib@croct.com",
9
9
  "url": "https://croct.com"
10
10
  },
11
- "main": "./index.js",
12
- "types": "./index.d.ts",
11
+ "type": "module",
12
+ "main": "./index.mjs",
13
+ "types": "./index.d.mts",
14
+ "exports": {
15
+ "./*": {
16
+ "import": "./*.mjs",
17
+ "require": "./*.js"
18
+ },
19
+ "./cache": {
20
+ "import": "./cache/index.js",
21
+ "require": "./cache/index.cjs"
22
+ },
23
+ "./channel": {
24
+ "import": "./channel/index.js",
25
+ "require": "./channel/index.cjs"
26
+ },
27
+ "./cid": {
28
+ "import": "./cid/index.js",
29
+ "require": "./cid/index.cjs"
30
+ },
31
+ "./facade": {
32
+ "import": "./facade/index.js",
33
+ "require": "./facade/index.cjs"
34
+ },
35
+ ".": {
36
+ "import": "./index.js",
37
+ "require": "./index.cjs"
38
+ },
39
+ "./logging": {
40
+ "import": "./logging/index.js",
41
+ "require": "./logging/index.cjs"
42
+ },
43
+ "./queue": {
44
+ "import": "./queue/index.js",
45
+ "require": "./queue/index.cjs"
46
+ },
47
+ "./retry": {
48
+ "import": "./retry/index.js",
49
+ "require": "./retry/index.cjs"
50
+ },
51
+ "./schema": {
52
+ "import": "./schema/index.js",
53
+ "require": "./schema/index.cjs"
54
+ },
55
+ "./token": {
56
+ "import": "./token/index.js",
57
+ "require": "./token/index.cjs"
58
+ },
59
+ "./validation": {
60
+ "import": "./validation/index.js",
61
+ "require": "./validation/index.cjs"
62
+ }
63
+ },
13
64
  "engines": {
14
65
  "node": ">=10"
15
66
  },
@@ -23,9 +74,10 @@
23
74
  "homepage": "https://github.com/croct-tech/sdk-js#readme",
24
75
  "scripts": {
25
76
  "lint": "eslint 'src/**/*.ts' 'test/**/*.ts'",
26
- "test": "jest -c jest.config.js --coverage",
77
+ "test": "jest -c jest.config.mjs --coverage",
27
78
  "validate": "tsc --noEmit",
28
- "build": "tsc -p tsconfig.build.json"
79
+ "build": "tsup",
80
+ "postbuild": "./post-build.mjs"
29
81
  },
30
82
  "dependencies": {
31
83
  "@croct/json": "^2.0.1",
@@ -41,9 +93,11 @@
41
93
  "jest-extended": "^4.0.0",
42
94
  "node-fetch": "^2.6.7",
43
95
  "ts-jest": "^29.0.3",
96
+ "tsup": "^8.4.0",
44
97
  "typescript": "^5.0.0"
45
98
  },
46
99
  "files": [
100
+ "**/*.mjs",
47
101
  "**/*.js",
48
102
  "**/*.ts",
49
103
  "**/*.map"
@@ -51,4 +105,4 @@
51
105
  "browserslist": [
52
106
  "last 1 version"
53
107
  ]
54
- }
108
+ }
package/patch.cjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/patch.ts"],"sourcesContent":["import {JsonStructure, JsonValue} from '@croct/json';\n\ninterface AbstractOperation {\n type: string;\n path: string;\n}\n\ninterface UnsetOperation extends AbstractOperation {\n type: 'unset';\n}\n\ninterface ClearOperation extends AbstractOperation {\n type: 'clear';\n}\n\ninterface SetOperation extends AbstractOperation {\n type: 'set';\n value: JsonValue;\n}\n\ninterface AddOperation extends AbstractOperation {\n type: 'add';\n value: JsonValue;\n}\n\ninterface CombineOperation extends AbstractOperation {\n type: 'combine';\n value: JsonValue;\n}\n\ninterface MergeOperation extends AbstractOperation {\n type: 'merge';\n value: JsonStructure;\n}\n\ninterface IncrementOperation extends AbstractOperation {\n type: 'increment';\n value: JsonValue;\n}\n\ninterface DecrementOperation extends AbstractOperation {\n type: 'decrement';\n value: JsonValue;\n}\n\ninterface removeOperation extends AbstractOperation {\n type: 'remove';\n value: JsonValue;\n}\n\nexport type Operation =\n UnsetOperation\n | ClearOperation\n | AddOperation\n | SetOperation\n | CombineOperation\n | MergeOperation\n | IncrementOperation\n | DecrementOperation\n | removeOperation;\n\nexport interface Patch {\n operations: Operation[];\n}\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/patch.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { JsonStructure, JsonValue } from '@croct/json';
1
+ import { JsonValue, JsonStructure } from '@croct/json';
2
+
2
3
  interface AbstractOperation {
3
4
  type: string;
4
5
  path: string;
@@ -37,8 +38,9 @@ interface removeOperation extends AbstractOperation {
37
38
  type: 'remove';
38
39
  value: JsonValue;
39
40
  }
40
- export type Operation = UnsetOperation | ClearOperation | AddOperation | SetOperation | CombineOperation | MergeOperation | IncrementOperation | DecrementOperation | removeOperation;
41
- export interface Patch {
41
+ type Operation = UnsetOperation | ClearOperation | AddOperation | SetOperation | CombineOperation | MergeOperation | IncrementOperation | DecrementOperation | removeOperation;
42
+ interface Patch {
42
43
  operations: Operation[];
43
44
  }
44
- export {};
45
+
46
+ export type { Operation, Patch };
package/patch.js CHANGED
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=patch.js.map
package/patch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"patch.js","sourceRoot":"","sources":["src/patch.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queue/capacityRestrictedQueue.ts"],"sourcesContent":["import {Queue} from './queue';\n\nexport class CapacityRestrictedQueue<T> implements Queue<T> {\n private readonly queue: Queue<T>;\n\n private readonly capacity: number;\n\n public constructor(queue: Queue<T>, capacity: number) {\n this.queue = queue;\n this.capacity = capacity;\n }\n\n public all(): T[] {\n return this.queue.all();\n }\n\n public getCapacity(): number {\n return this.capacity;\n }\n\n public isEmpty(): boolean {\n return this.queue.isEmpty();\n }\n\n public length(): number {\n return Math.min(this.capacity, this.queue.length());\n }\n\n public peek(): T | null {\n return this.queue.peek();\n }\n\n public push(value: T): void {\n if (this.queue.length() >= this.capacity) {\n throw new Error('Maximum queue capacity reached.');\n }\n\n this.queue.push(value);\n }\n\n public shift(): T {\n return this.queue.shift();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,wBAA+C;AAAA,EAKjD,YAAY,OAAiB,UAAkB;AAClD,SAAK,QAAQ;AACb,SAAK,WAAW;AAAA,EACpB;AAAA,EAEO,MAAW;AACd,WAAO,KAAK,MAAM,IAAI;AAAA,EAC1B;AAAA,EAEO,cAAsB;AACzB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEO,UAAmB;AACtB,WAAO,KAAK,MAAM,QAAQ;AAAA,EAC9B;AAAA,EAEO,SAAiB;AACpB,WAAO,KAAK,IAAI,KAAK,UAAU,KAAK,MAAM,OAAO,CAAC;AAAA,EACtD;AAAA,EAEO,OAAiB;AACpB,WAAO,KAAK,MAAM,KAAK;AAAA,EAC3B;AAAA,EAEO,KAAK,OAAgB;AACxB,QAAI,KAAK,MAAM,OAAO,KAAK,KAAK,UAAU;AACtC,YAAM,IAAI,MAAM,iCAAiC;AAAA,IACrD;AAEA,SAAK,MAAM,KAAK,KAAK;AAAA,EACzB;AAAA,EAEO,QAAW;AACd,WAAO,KAAK,MAAM,MAAM;AAAA,EAC5B;AACJ;","names":[]}
@@ -1,5 +1,6 @@
1
- import { Queue } from './queue';
2
- export declare class CapacityRestrictedQueue<T> implements Queue<T> {
1
+ import { Queue } from './queue.js';
2
+
3
+ declare class CapacityRestrictedQueue<T> implements Queue<T> {
3
4
  private readonly queue;
4
5
  private readonly capacity;
5
6
  constructor(queue: Queue<T>, capacity: number);
@@ -11,3 +12,5 @@ export declare class CapacityRestrictedQueue<T> implements Queue<T> {
11
12
  push(value: T): void;
12
13
  shift(): T;
13
14
  }
15
+
16
+ export { CapacityRestrictedQueue };
@@ -1,35 +1,34 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CapacityRestrictedQueue = void 0;
4
1
  class CapacityRestrictedQueue {
5
- constructor(queue, capacity) {
6
- this.queue = queue;
7
- this.capacity = capacity;
8
- }
9
- all() {
10
- return this.queue.all();
11
- }
12
- getCapacity() {
13
- return this.capacity;
14
- }
15
- isEmpty() {
16
- return this.queue.isEmpty();
17
- }
18
- length() {
19
- return Math.min(this.capacity, this.queue.length());
20
- }
21
- peek() {
22
- return this.queue.peek();
23
- }
24
- push(value) {
25
- if (this.queue.length() >= this.capacity) {
26
- throw new Error('Maximum queue capacity reached.');
27
- }
28
- this.queue.push(value);
29
- }
30
- shift() {
31
- return this.queue.shift();
32
- }
2
+ constructor(queue, capacity) {
3
+ this.queue = queue;
4
+ this.capacity = capacity;
5
+ }
6
+ all() {
7
+ return this.queue.all();
8
+ }
9
+ getCapacity() {
10
+ return this.capacity;
11
+ }
12
+ isEmpty() {
13
+ return this.queue.isEmpty();
14
+ }
15
+ length() {
16
+ return Math.min(this.capacity, this.queue.length());
17
+ }
18
+ peek() {
19
+ return this.queue.peek();
20
+ }
21
+ push(value) {
22
+ if (this.queue.length() >= this.capacity) {
23
+ throw new Error("Maximum queue capacity reached.");
24
+ }
25
+ this.queue.push(value);
26
+ }
27
+ shift() {
28
+ return this.queue.shift();
29
+ }
33
30
  }
34
- exports.CapacityRestrictedQueue = CapacityRestrictedQueue;
31
+ export {
32
+ CapacityRestrictedQueue
33
+ };
35
34
  //# sourceMappingURL=capacityRestrictedQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacityRestrictedQueue.js","sourceRoot":"","sources":["../src/queue/capacityRestrictedQueue.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAuB;IAKhC,YAAmB,KAAe,EAAE,QAAgB;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,GAAG;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAEM,IAAI,CAAC,KAAQ;QAChB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACJ;AAzCD,0DAyCC"}
1
+ {"version":3,"sources":["../src/queue/capacityRestrictedQueue.ts"],"sourcesContent":["import {Queue} from './queue';\n\nexport class CapacityRestrictedQueue<T> implements Queue<T> {\n private readonly queue: Queue<T>;\n\n private readonly capacity: number;\n\n public constructor(queue: Queue<T>, capacity: number) {\n this.queue = queue;\n this.capacity = capacity;\n }\n\n public all(): T[] {\n return this.queue.all();\n }\n\n public getCapacity(): number {\n return this.capacity;\n }\n\n public isEmpty(): boolean {\n return this.queue.isEmpty();\n }\n\n public length(): number {\n return Math.min(this.capacity, this.queue.length());\n }\n\n public peek(): T | null {\n return this.queue.peek();\n }\n\n public push(value: T): void {\n if (this.queue.length() >= this.capacity) {\n throw new Error('Maximum queue capacity reached.');\n }\n\n this.queue.push(value);\n }\n\n public shift(): T {\n return this.queue.shift();\n }\n}\n"],"mappings":"AAEO,MAAM,wBAA+C;AAAA,EAKjD,YAAY,OAAiB,UAAkB;AAClD,SAAK,QAAQ;AACb,SAAK,WAAW;AAAA,EACpB;AAAA,EAEO,MAAW;AACd,WAAO,KAAK,MAAM,IAAI;AAAA,EAC1B;AAAA,EAEO,cAAsB;AACzB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEO,UAAmB;AACtB,WAAO,KAAK,MAAM,QAAQ;AAAA,EAC9B;AAAA,EAEO,SAAiB;AACpB,WAAO,KAAK,IAAI,KAAK,UAAU,KAAK,MAAM,OAAO,CAAC;AAAA,EACtD;AAAA,EAEO,OAAiB;AACpB,WAAO,KAAK,MAAM,KAAK;AAAA,EAC3B;AAAA,EAEO,KAAK,OAAgB;AACxB,QAAI,KAAK,MAAM,OAAO,KAAK,KAAK,UAAU;AACtC,YAAM,IAAI,MAAM,iCAAiC;AAAA,IACrD;AAEA,SAAK,MAAM,KAAK,KAAK;AAAA,EACzB;AAAA,EAEO,QAAW;AACd,WAAO,KAAK,MAAM,MAAM;AAAA,EAC5B;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queue/inMemoryQueue.ts"],"sourcesContent":["import {Queue} from './queue';\n\nexport class InMemoryQueue<T> implements Queue<T> {\n private queue: T[] = [];\n\n public constructor(...values: T[]) {\n this.queue.unshift(...values);\n }\n\n public all(): T[] {\n return this.queue.slice();\n }\n\n public getCapacity(): number {\n return Infinity;\n }\n\n public isEmpty(): boolean {\n return this.queue.length === 0;\n }\n\n public push(value: T): void {\n this.queue.push(value);\n }\n\n public peek(): T | null {\n return this.queue[0] ?? null;\n }\n\n public shift(): T {\n const value = this.queue.shift();\n\n if (value === undefined) {\n throw new Error('The queue is empty.');\n }\n\n return value;\n }\n\n public length(): number {\n return this.queue.length;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,cAAqC;AAAA,EAGvC,eAAe,QAAa;AAFnC,SAAQ,QAAa,CAAC;AAGlB,SAAK,MAAM,QAAQ,GAAG,MAAM;AAAA,EAChC;AAAA,EAEO,MAAW;AACd,WAAO,KAAK,MAAM,MAAM;AAAA,EAC5B;AAAA,EAEO,cAAsB;AACzB,WAAO;AAAA,EACX;AAAA,EAEO,UAAmB;AACtB,WAAO,KAAK,MAAM,WAAW;AAAA,EACjC;AAAA,EAEO,KAAK,OAAgB;AACxB,SAAK,MAAM,KAAK,KAAK;AAAA,EACzB;AAAA,EAEO,OAAiB;AACpB,WAAO,KAAK,MAAM,CAAC,KAAK;AAAA,EAC5B;AAAA,EAEO,QAAW;AACd,UAAM,QAAQ,KAAK,MAAM,MAAM;AAE/B,QAAI,UAAU,QAAW;AACrB,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,SAAiB;AACpB,WAAO,KAAK,MAAM;AAAA,EACtB;AACJ;","names":[]}
@@ -1,5 +1,6 @@
1
- import { Queue } from './queue';
2
- export declare class InMemoryQueue<T> implements Queue<T> {
1
+ import { Queue } from './queue.js';
2
+
3
+ declare class InMemoryQueue<T> implements Queue<T> {
3
4
  private queue;
4
5
  constructor(...values: T[]);
5
6
  all(): T[];
@@ -10,3 +11,5 @@ export declare class InMemoryQueue<T> implements Queue<T> {
10
11
  shift(): T;
11
12
  length(): number;
12
13
  }
14
+
15
+ export { InMemoryQueue };
@@ -1,37 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InMemoryQueue = void 0;
4
1
  class InMemoryQueue {
5
- constructor(...values) {
6
- this.queue = [];
7
- this.queue.unshift(...values);
8
- }
9
- all() {
10
- return this.queue.slice();
11
- }
12
- getCapacity() {
13
- return Infinity;
14
- }
15
- isEmpty() {
16
- return this.queue.length === 0;
17
- }
18
- push(value) {
19
- this.queue.push(value);
20
- }
21
- peek() {
22
- var _a;
23
- return (_a = this.queue[0]) !== null && _a !== void 0 ? _a : null;
24
- }
25
- shift() {
26
- const value = this.queue.shift();
27
- if (value === undefined) {
28
- throw new Error('The queue is empty.');
29
- }
30
- return value;
31
- }
32
- length() {
33
- return this.queue.length;
34
- }
2
+ constructor(...values) {
3
+ this.queue = [];
4
+ this.queue.unshift(...values);
5
+ }
6
+ all() {
7
+ return this.queue.slice();
8
+ }
9
+ getCapacity() {
10
+ return Infinity;
11
+ }
12
+ isEmpty() {
13
+ return this.queue.length === 0;
14
+ }
15
+ push(value) {
16
+ this.queue.push(value);
17
+ }
18
+ peek() {
19
+ return this.queue[0] ?? null;
20
+ }
21
+ shift() {
22
+ const value = this.queue.shift();
23
+ if (value === void 0) {
24
+ throw new Error("The queue is empty.");
25
+ }
26
+ return value;
27
+ }
28
+ length() {
29
+ return this.queue.length;
30
+ }
35
31
  }
36
- exports.InMemoryQueue = InMemoryQueue;
32
+ export {
33
+ InMemoryQueue
34
+ };
37
35
  //# sourceMappingURL=inMemoryQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inMemoryQueue.js","sourceRoot":"","sources":["../src/queue/inMemoryQueue.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAGtB,YAAmB,GAAG,MAAW;QAFzB,UAAK,GAAQ,EAAE,CAAC;QAGpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAClC,CAAC;IAEM,GAAG;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEM,WAAW;QACd,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI,CAAC,KAAQ;QAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,IAAI;;QACP,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;IACjC,CAAC;IAEM,KAAK;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;CACJ;AAxCD,sCAwCC"}
1
+ {"version":3,"sources":["../src/queue/inMemoryQueue.ts"],"sourcesContent":["import {Queue} from './queue';\n\nexport class InMemoryQueue<T> implements Queue<T> {\n private queue: T[] = [];\n\n public constructor(...values: T[]) {\n this.queue.unshift(...values);\n }\n\n public all(): T[] {\n return this.queue.slice();\n }\n\n public getCapacity(): number {\n return Infinity;\n }\n\n public isEmpty(): boolean {\n return this.queue.length === 0;\n }\n\n public push(value: T): void {\n this.queue.push(value);\n }\n\n public peek(): T | null {\n return this.queue[0] ?? null;\n }\n\n public shift(): T {\n const value = this.queue.shift();\n\n if (value === undefined) {\n throw new Error('The queue is empty.');\n }\n\n return value;\n }\n\n public length(): number {\n return this.queue.length;\n }\n}\n"],"mappings":"AAEO,MAAM,cAAqC;AAAA,EAGvC,eAAe,QAAa;AAFnC,SAAQ,QAAa,CAAC;AAGlB,SAAK,MAAM,QAAQ,GAAG,MAAM;AAAA,EAChC;AAAA,EAEO,MAAW;AACd,WAAO,KAAK,MAAM,MAAM;AAAA,EAC5B;AAAA,EAEO,cAAsB;AACzB,WAAO;AAAA,EACX;AAAA,EAEO,UAAmB;AACtB,WAAO,KAAK,MAAM,WAAW;AAAA,EACjC;AAAA,EAEO,KAAK,OAAgB;AACxB,SAAK,MAAM,KAAK,KAAK;AAAA,EACzB;AAAA,EAEO,OAAiB;AACpB,WAAO,KAAK,MAAM,CAAC,KAAK;AAAA,EAC5B;AAAA,EAEO,QAAW;AACd,UAAM,QAAQ,KAAK,MAAM,MAAM;AAE/B,QAAI,UAAU,QAAW;AACrB,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACzC;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,SAAiB;AACpB,WAAO,KAAK,MAAM;AAAA,EACtB;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queue/index.ts"],"sourcesContent":["export * from './queue';\nexport {CapacityRestrictedQueue} from './capacityRestrictedQueue';\nexport {InMemoryQueue} from './inMemoryQueue';\nexport {MonitoredQueue} from './monitoredQueue';\nexport {PersistentQueue} from './persistentQueue';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,oBAAd;AACA,qCAAsC;AACtC,2BAA4B;AAC5B,4BAA6B;AAC7B,6BAA8B;","names":[]}
package/queue/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- export * from './queue';
2
- export { CapacityRestrictedQueue } from './capacityRestrictedQueue';
3
- export { InMemoryQueue } from './inMemoryQueue';
4
- export { MonitoredQueue } from './monitoredQueue';
5
- export { PersistentQueue } from './persistentQueue';
1
+ export { Queue } from './queue.js';
2
+ export { CapacityRestrictedQueue } from './capacityRestrictedQueue.js';
3
+ export { InMemoryQueue } from './inMemoryQueue.js';
4
+ export { MonitoredQueue } from './monitoredQueue.js';
5
+ export { PersistentQueue } from './persistentQueue.js';
6
+ import '../logging/logger.js';
package/queue/index.js CHANGED
@@ -1,14 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PersistentQueue = exports.MonitoredQueue = exports.InMemoryQueue = exports.CapacityRestrictedQueue = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./queue"), exports);
6
- var capacityRestrictedQueue_1 = require("./capacityRestrictedQueue");
7
- Object.defineProperty(exports, "CapacityRestrictedQueue", { enumerable: true, get: function () { return capacityRestrictedQueue_1.CapacityRestrictedQueue; } });
8
- var inMemoryQueue_1 = require("./inMemoryQueue");
9
- Object.defineProperty(exports, "InMemoryQueue", { enumerable: true, get: function () { return inMemoryQueue_1.InMemoryQueue; } });
10
- var monitoredQueue_1 = require("./monitoredQueue");
11
- Object.defineProperty(exports, "MonitoredQueue", { enumerable: true, get: function () { return monitoredQueue_1.MonitoredQueue; } });
12
- var persistentQueue_1 = require("./persistentQueue");
13
- Object.defineProperty(exports, "PersistentQueue", { enumerable: true, get: function () { return persistentQueue_1.PersistentQueue; } });
1
+ export * from "./queue";
2
+ import { CapacityRestrictedQueue } from "./capacityRestrictedQueue";
3
+ import { InMemoryQueue } from "./inMemoryQueue";
4
+ import { MonitoredQueue } from "./monitoredQueue";
5
+ import { PersistentQueue } from "./persistentQueue";
6
+ export {
7
+ CapacityRestrictedQueue,
8
+ InMemoryQueue,
9
+ MonitoredQueue,
10
+ PersistentQueue
11
+ };
14
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/queue/index.ts"],"names":[],"mappings":";;;;AAAA,kDAAwB;AACxB,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA"}
1
+ {"version":3,"sources":["../src/queue/index.ts"],"sourcesContent":["export * from './queue';\nexport {CapacityRestrictedQueue} from './capacityRestrictedQueue';\nexport {InMemoryQueue} from './inMemoryQueue';\nexport {MonitoredQueue} from './monitoredQueue';\nexport {PersistentQueue} from './persistentQueue';\n"],"mappings":"AAAA,cAAc;AACd,SAAQ,+BAA8B;AACtC,SAAQ,qBAAoB;AAC5B,SAAQ,sBAAqB;AAC7B,SAAQ,uBAAsB;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queue/monitoredQueue.ts"],"sourcesContent":["import {Queue} from './queue';\nimport {Logger, NullLogger} from '../logging';\n\nexport type QueueStatus = 'halfEmpty' | 'almostEmpty' | 'empty' | 'halfFull' | 'almostFull' | 'full';\n\nexport type QueueCallback<T> = {\n (queue: Queue<T>): void,\n};\n\nexport class MonitoredQueue<T> implements Queue<T> {\n private readonly queue: Queue<T>;\n\n private readonly logger: Logger;\n\n private readonly callbacks: Partial<{[key in QueueStatus]: Array<QueueCallback<T>>}> = {};\n\n private status: QueueStatus;\n\n public constructor(queue: Queue<T>, logger?: Logger) {\n this.queue = queue;\n this.logger = logger ?? new NullLogger();\n\n this.updateStatus();\n }\n\n public all(): T[] {\n return this.queue.all();\n }\n\n public getCapacity(): number {\n return this.queue.getCapacity();\n }\n\n public addCallback(status: QueueStatus, callback: QueueCallback<T>): void {\n const callbacks = this.callbacks[status] ?? [];\n\n if (!callbacks.includes(callback)) {\n callbacks.push(callback);\n }\n\n this.callbacks[status] = callbacks;\n\n switch (this.status) {\n case status:\n callback(this);\n\n break;\n\n case 'empty':\n case 'almostEmpty':\n if (status === 'halfEmpty') {\n callback(this);\n }\n\n break;\n\n case 'full':\n case 'almostFull':\n if (status === 'halfFull') {\n callback(this);\n }\n\n break;\n }\n }\n\n public removeCallback(type: QueueStatus, callback: QueueCallback<T>): void {\n const callbacks = this.callbacks[type];\n\n if (callbacks == null) {\n return;\n }\n\n const index = callbacks.indexOf(callback);\n\n if (index >= 0) {\n callbacks.splice(index, 1);\n }\n }\n\n private setStatus(status: QueueStatus): void {\n if (this.status === status) {\n return;\n }\n\n this.logger.debug(`Queue status changed to \"${status}\"`);\n\n this.report(status);\n\n this.status = status;\n }\n\n private report(status: QueueStatus): void {\n const callbacks = this.callbacks[status];\n\n if (callbacks !== undefined) {\n callbacks.forEach(callback => callback(this));\n }\n\n switch (status) {\n case 'empty':\n case 'almostEmpty':\n this.report('halfEmpty');\n\n break;\n\n case 'full':\n case 'almostFull':\n this.report('halfFull');\n\n break;\n\n default:\n break;\n }\n }\n\n public isEmpty(): boolean {\n return this.queue.isEmpty();\n }\n\n public length(): number {\n return this.queue.length();\n }\n\n public peek(): T | null {\n return this.queue.peek();\n }\n\n public push(value: T): void {\n this.queue.push(value);\n\n this.updateStatus();\n }\n\n public shift(): T {\n const value = this.queue.shift();\n\n this.updateStatus();\n\n return value;\n }\n\n private updateStatus(): void {\n const length = this.queue.length();\n const capacity = this.getCapacity();\n\n if (length <= capacity * 0.5) {\n if (length === 0) {\n this.setStatus('empty');\n } else if (length <= capacity * 0.25) {\n this.setStatus('almostEmpty');\n } else {\n this.setStatus('halfEmpty');\n }\n\n return;\n }\n\n if (length >= capacity) {\n this.setStatus('full');\n } else if (length >= capacity * 0.75) {\n this.setStatus('almostFull');\n } else {\n this.setStatus('halfFull');\n }\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,10 +1,11 @@
1
- import { Queue } from './queue';
2
- import { Logger } from '../logging';
3
- export type QueueStatus = 'halfEmpty' | 'almostEmpty' | 'empty' | 'halfFull' | 'almostFull' | 'full';
4
- export type QueueCallback<T> = {
1
+ import { Queue } from './queue.js';
2
+ import { Logger } from '../logging/logger.js';
3
+
4
+ type QueueStatus = 'halfEmpty' | 'almostEmpty' | 'empty' | 'halfFull' | 'almostFull' | 'full';
5
+ type QueueCallback<T> = {
5
6
  (queue: Queue<T>): void;
6
7
  };
7
- export declare class MonitoredQueue<T> implements Queue<T> {
8
+ declare class MonitoredQueue<T> implements Queue<T> {
8
9
  private readonly queue;
9
10
  private readonly logger;
10
11
  private readonly callbacks;
@@ -23,3 +24,5 @@ export declare class MonitoredQueue<T> implements Queue<T> {
23
24
  shift(): T;
24
25
  private updateStatus;
25
26
  }
27
+
28
+ export { MonitoredQueue, type QueueCallback, type QueueStatus };