@daiso-tech/core 0.14.0 → 0.15.0

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 (499) hide show
  1. package/dist/cjs/_module.js +1 -0
  2. package/dist/cjs/_module.js.map +1 -1
  3. package/dist/cjs/async/_module.js +20 -0
  4. package/dist/cjs/async/_module.js.map +1 -0
  5. package/dist/cjs/{utilities/async/_shared.js → async/async.errors.js} +1 -1
  6. package/dist/cjs/async/async.errors.js.map +1 -0
  7. package/dist/cjs/{utilities → async}/backof-policies/_module.js +4 -4
  8. package/dist/cjs/async/backof-policies/_module.js.map +1 -0
  9. package/dist/cjs/async/backof-policies/_shared.js.map +1 -0
  10. package/dist/cjs/{utilities/async/delay-iterable → async/backof-policies/constant-backoff-policy}/_module.js +1 -1
  11. package/dist/cjs/async/backof-policies/constant-backoff-policy/_module.js.map +1 -0
  12. package/dist/cjs/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
  13. package/dist/cjs/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
  14. package/dist/cjs/async/backof-policies/exponential-backoff-policy/_module.js +18 -0
  15. package/dist/cjs/async/backof-policies/exponential-backoff-policy/_module.js.map +1 -0
  16. package/dist/cjs/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
  17. package/dist/cjs/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
  18. package/dist/cjs/{utilities/async/abortable → async/backof-policies/linear-backoff-policy}/_module.js +1 -1
  19. package/dist/cjs/async/backof-policies/linear-backoff-policy/_module.js.map +1 -0
  20. package/dist/cjs/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
  21. package/dist/cjs/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
  22. package/dist/cjs/{utilities/async/abortable-iterable → async/backof-policies/polynomial-backoff-policy}/_module.js +1 -1
  23. package/dist/cjs/async/backof-policies/polynomial-backoff-policy/_module.js.map +1 -0
  24. package/dist/cjs/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
  25. package/dist/cjs/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
  26. package/dist/cjs/{event-bus/implementations/_shared/test-utilities → async/utilities}/_module.js +2 -1
  27. package/dist/cjs/async/utilities/_module.js.map +1 -0
  28. package/dist/cjs/async/utilities/abort/_module.js +19 -0
  29. package/dist/cjs/async/utilities/abort/_module.js.map +1 -0
  30. package/dist/cjs/async/utilities/abort/abort-and-fail.js +45 -0
  31. package/dist/cjs/async/utilities/abort/abort-and-fail.js.map +1 -0
  32. package/dist/cjs/async/utilities/abort/abort.js +18 -0
  33. package/dist/cjs/async/utilities/abort/abort.js.map +1 -0
  34. package/dist/cjs/{utilities/async/retry → async/utilities/delay}/_module.js +1 -1
  35. package/dist/cjs/async/utilities/delay/_module.js.map +1 -0
  36. package/dist/cjs/async/utilities/delay/delay.js +20 -0
  37. package/dist/cjs/async/utilities/delay/delay.js.map +1 -0
  38. package/dist/cjs/{utilities/async → async/utilities}/lazy-promise/_module.js +1 -1
  39. package/dist/cjs/async/utilities/lazy-promise/_module.js.map +1 -0
  40. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +95 -0
  41. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -0
  42. package/dist/cjs/{utilities/async/delay → async/utilities/retry}/_module.js +2 -1
  43. package/dist/cjs/async/utilities/retry/_module.js.map +1 -0
  44. package/dist/cjs/async/utilities/retry/retry-or-fail.js +36 -0
  45. package/dist/cjs/async/utilities/retry/retry-or-fail.js.map +1 -0
  46. package/dist/cjs/async/utilities/retry/retry.js +18 -0
  47. package/dist/cjs/async/utilities/retry/retry.js.map +1 -0
  48. package/dist/cjs/{utilities/async → async/utilities}/timeout/_module.js +2 -1
  49. package/dist/cjs/async/utilities/timeout/_module.js.map +1 -0
  50. package/dist/cjs/async/utilities/timeout/timeout-and-fail.js +25 -0
  51. package/dist/cjs/async/utilities/timeout/timeout-and-fail.js.map +1 -0
  52. package/dist/cjs/async/utilities/timeout/timeout.js +18 -0
  53. package/dist/cjs/async/utilities/timeout/timeout.js.map +1 -0
  54. package/dist/cjs/cache/contracts/cache.events.js +0 -11
  55. package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
  56. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +12 -11
  57. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  58. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +36 -35
  59. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  60. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +1 -1
  61. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  62. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  63. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +2 -2
  64. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  65. package/dist/cjs/cache/implementations/derivables/base-cache.js +46 -38
  66. package/dist/cjs/cache/implementations/derivables/base-cache.js.map +1 -1
  67. package/dist/cjs/cache/implementations/derivables/cache-factory.js +3 -3
  68. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
  69. package/dist/cjs/cache/implementations/derivables/cache.js +21 -23
  70. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
  71. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/_module.js +4 -1
  72. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  73. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +27 -0
  74. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -0
  75. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +33 -0
  76. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -0
  77. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +36 -0
  78. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -0
  79. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +48 -0
  80. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -0
  81. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +48 -39
  82. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  83. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js +5 -5
  84. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  85. package/dist/cjs/collection/implementations/list-collection/list-collection.js +5 -5
  86. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  87. package/dist/cjs/event-bus/contracts/event-bus.errors.js +3 -3
  88. package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -1
  89. package/dist/cjs/event-bus/implementations/_module.js +1 -1
  90. package/dist/cjs/event-bus/implementations/_module.js.map +1 -1
  91. package/dist/cjs/event-bus/implementations/_shared/_module.js +19 -0
  92. package/dist/cjs/event-bus/implementations/_shared/_module.js.map +1 -0
  93. package/dist/cjs/event-bus/implementations/_shared/{test-utilities/event-bus-adapter.test-suite.js → event-bus-adapter.test-suite.js} +4 -3
  94. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -0
  95. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +299 -0
  96. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -0
  97. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +1 -2
  98. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -1
  99. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js +13 -13
  100. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js.map +1 -1
  101. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +3 -3
  102. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  103. package/dist/cjs/event-bus/implementations/derivables/event-bus.js +17 -11
  104. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
  105. package/dist/cjs/utilities/_module.js +5 -4
  106. package/dist/cjs/utilities/_module.js.map +1 -1
  107. package/dist/cjs/utilities/contracts/_module.js +19 -0
  108. package/dist/cjs/utilities/contracts/_module.js.map +1 -0
  109. package/dist/cjs/utilities/contracts/deinitizable.contract.js +3 -0
  110. package/dist/cjs/utilities/contracts/deinitizable.contract.js.map +1 -0
  111. package/dist/cjs/utilities/contracts/initizable.contract.js +3 -0
  112. package/dist/cjs/utilities/contracts/initizable.contract.js.map +1 -0
  113. package/dist/cjs/utilities/{global-errors.js → errors.js} +1 -1
  114. package/dist/cjs/utilities/errors.js.map +1 -0
  115. package/dist/cjs/{_shared/utilities.js → utilities/functions.js} +1 -1
  116. package/dist/cjs/utilities/functions.js.map +1 -0
  117. package/dist/cjs/{_shared → utilities}/kysely/_module.js +1 -1
  118. package/dist/cjs/utilities/kysely/_module.js.map +1 -0
  119. package/dist/cjs/utilities/kysely/kysely-table-name-transformer-plugin.js.map +1 -0
  120. package/dist/cjs/{_shared → utilities}/types.js.map +1 -1
  121. package/dist/esm/_module.js +1 -0
  122. package/dist/esm/_module.js.map +1 -1
  123. package/dist/esm/async/_module.js +4 -0
  124. package/dist/esm/async/_module.js.map +1 -0
  125. package/dist/esm/{utilities/async/_shared.js → async/async.errors.js} +1 -1
  126. package/dist/esm/async/async.errors.js.map +1 -0
  127. package/dist/esm/async/backof-policies/_module.js +5 -0
  128. package/dist/esm/async/backof-policies/_module.js.map +1 -0
  129. package/dist/esm/async/backof-policies/_shared.js.map +1 -0
  130. package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js +2 -0
  131. package/dist/esm/async/backof-policies/constant-backoff-policy/_module.js.map +1 -0
  132. package/dist/esm/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
  133. package/dist/esm/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
  134. package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js +2 -0
  135. package/dist/esm/async/backof-policies/exponential-backoff-policy/_module.js.map +1 -0
  136. package/dist/esm/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
  137. package/dist/esm/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
  138. package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js +2 -0
  139. package/dist/esm/async/backof-policies/linear-backoff-policy/_module.js.map +1 -0
  140. package/dist/esm/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
  141. package/dist/esm/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
  142. package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js +2 -0
  143. package/dist/esm/async/backof-policies/polynomial-backoff-policy/_module.js.map +1 -0
  144. package/dist/esm/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
  145. package/dist/esm/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
  146. package/dist/esm/async/utilities/_module.js +3 -0
  147. package/dist/esm/async/utilities/_module.js.map +1 -0
  148. package/dist/esm/async/utilities/abort/_module.js +3 -0
  149. package/dist/esm/async/utilities/abort/_module.js.map +1 -0
  150. package/dist/esm/{utilities/async/abortable/abortable.js → async/utilities/abort/abort-and-fail.js} +13 -16
  151. package/dist/esm/async/utilities/abort/abort-and-fail.js.map +1 -0
  152. package/dist/esm/async/utilities/abort/abort.js +15 -0
  153. package/dist/esm/async/utilities/abort/abort.js.map +1 -0
  154. package/dist/esm/async/utilities/delay/_module.js +2 -0
  155. package/dist/esm/async/utilities/delay/_module.js.map +1 -0
  156. package/dist/esm/async/utilities/delay/delay.js +17 -0
  157. package/dist/esm/async/utilities/delay/delay.js.map +1 -0
  158. package/dist/esm/async/utilities/lazy-promise/_module.js +2 -0
  159. package/dist/esm/async/utilities/lazy-promise/_module.js.map +1 -0
  160. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +91 -0
  161. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -0
  162. package/dist/esm/async/utilities/retry/_module.js +3 -0
  163. package/dist/esm/async/utilities/retry/_module.js.map +1 -0
  164. package/dist/esm/async/utilities/retry/retry-or-fail.js +33 -0
  165. package/dist/esm/async/utilities/retry/retry-or-fail.js.map +1 -0
  166. package/dist/esm/async/utilities/retry/retry.js +15 -0
  167. package/dist/esm/async/utilities/retry/retry.js.map +1 -0
  168. package/dist/esm/async/utilities/timeout/_module.js +3 -0
  169. package/dist/esm/async/utilities/timeout/_module.js.map +1 -0
  170. package/dist/esm/async/utilities/timeout/timeout-and-fail.js +22 -0
  171. package/dist/esm/async/utilities/timeout/timeout-and-fail.js.map +1 -0
  172. package/dist/esm/async/utilities/timeout/timeout.js +15 -0
  173. package/dist/esm/async/utilities/timeout/timeout.js.map +1 -0
  174. package/dist/esm/cache/contracts/cache.events.js +0 -10
  175. package/dist/esm/cache/contracts/cache.events.js.map +1 -1
  176. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +2 -1
  177. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  178. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +2 -1
  179. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  180. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +1 -1
  181. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  182. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  183. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +1 -1
  184. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  185. package/dist/esm/cache/implementations/derivables/base-cache.js +37 -29
  186. package/dist/esm/cache/implementations/derivables/base-cache.js.map +1 -1
  187. package/dist/esm/cache/implementations/derivables/cache-factory.js +1 -1
  188. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
  189. package/dist/esm/cache/implementations/derivables/cache.js +16 -18
  190. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
  191. package/dist/esm/collection/implementations/async-iterable-collection/_shared/_module.js +4 -1
  192. package/dist/esm/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  193. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +23 -0
  194. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -0
  195. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +29 -0
  196. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -0
  197. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +32 -0
  198. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -0
  199. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +44 -0
  200. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -0
  201. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +46 -37
  202. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  203. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js +1 -1
  204. package/dist/esm/collection/implementations/list-collection/list-collection.js +1 -1
  205. package/dist/esm/event-bus/contracts/event-bus.errors.js +3 -3
  206. package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -1
  207. package/dist/esm/event-bus/implementations/_module.js +1 -1
  208. package/dist/esm/event-bus/implementations/_module.js.map +1 -1
  209. package/dist/esm/event-bus/implementations/_shared/_module.js +3 -0
  210. package/dist/esm/event-bus/implementations/_shared/_module.js.map +1 -0
  211. package/dist/esm/event-bus/implementations/_shared/{test-utilities/event-bus-adapter.test-suite.js → event-bus-adapter.test-suite.js} +2 -1
  212. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -0
  213. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +296 -0
  214. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -0
  215. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +1 -2
  216. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -1
  217. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js +13 -13
  218. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js.map +1 -1
  219. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +1 -1
  220. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  221. package/dist/esm/event-bus/implementations/derivables/event-bus.js +15 -9
  222. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
  223. package/dist/esm/utilities/_module.js +5 -4
  224. package/dist/esm/utilities/_module.js.map +1 -1
  225. package/dist/esm/utilities/contracts/_module.js +3 -0
  226. package/dist/esm/utilities/contracts/_module.js.map +1 -0
  227. package/dist/esm/utilities/contracts/deinitizable.contract.js +1 -0
  228. package/dist/esm/utilities/contracts/deinitizable.contract.js.map +1 -0
  229. package/dist/esm/utilities/contracts/initizable.contract.js +1 -0
  230. package/dist/esm/utilities/contracts/initizable.contract.js.map +1 -0
  231. package/dist/esm/utilities/{global-errors.js → errors.js} +1 -1
  232. package/dist/esm/utilities/errors.js.map +1 -0
  233. package/dist/esm/{_shared/utilities.js → utilities/functions.js} +1 -1
  234. package/dist/esm/utilities/functions.js.map +1 -0
  235. package/dist/esm/utilities/kysely/_module.js +2 -0
  236. package/dist/esm/utilities/kysely/_module.js.map +1 -0
  237. package/dist/esm/utilities/kysely/kysely-table-name-transformer-plugin.js.map +1 -0
  238. package/dist/esm/{_shared → utilities}/types.js.map +1 -1
  239. package/dist/types/_module.d.ts +1 -0
  240. package/dist/types/async/_module.d.ts +3 -0
  241. package/dist/types/{utilities/async/_shared.d.ts → async/async.errors.d.ts} +6 -6
  242. package/dist/types/async/backof-policies/_module.d.ts +5 -0
  243. package/dist/types/{utilities → async}/backof-policies/_shared.d.ts +1 -1
  244. package/dist/types/async/backof-policies/constant-backoff-policy/_module.d.ts +1 -0
  245. package/dist/types/{utilities → async}/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
  246. package/dist/types/async/backof-policies/exponential-backoff-policy/_module.d.ts +1 -0
  247. package/dist/types/{utilities → async}/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
  248. package/dist/types/async/backof-policies/linear-backoff-policy/_module.d.ts +1 -0
  249. package/dist/types/{utilities → async}/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
  250. package/dist/types/async/backof-policies/polynomial-backoff-policy/_module.d.ts +1 -0
  251. package/dist/types/{utilities → async}/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
  252. package/dist/types/async/utilities/_module.d.ts +2 -0
  253. package/dist/types/async/utilities/abort/_module.d.ts +2 -0
  254. package/dist/types/async/utilities/abort/abort-and-fail.d.ts +4 -0
  255. package/dist/types/async/utilities/abort/abort.d.ts +9 -0
  256. package/dist/types/async/utilities/delay/_module.d.ts +1 -0
  257. package/dist/types/async/utilities/delay/delay.d.ts +19 -0
  258. package/dist/types/async/utilities/lazy-promise/_module.d.ts +1 -0
  259. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +185 -0
  260. package/dist/types/async/utilities/retry/_module.d.ts +2 -0
  261. package/dist/types/async/utilities/retry/retry-or-fail.d.ts +23 -0
  262. package/dist/types/async/utilities/retry/retry.d.ts +10 -0
  263. package/dist/types/async/utilities/timeout/_module.d.ts +2 -0
  264. package/dist/types/async/utilities/timeout/timeout-and-fail.d.ts +5 -0
  265. package/dist/types/async/utilities/timeout/timeout.d.ts +10 -0
  266. package/dist/types/cache/contracts/cache.contract.d.ts +6 -27
  267. package/dist/types/cache/contracts/cache.events.d.ts +30 -79
  268. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +26 -24
  269. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +54 -43
  270. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +1 -1
  271. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +14 -7
  272. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +4 -2
  273. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +7 -2
  274. package/dist/types/cache/implementations/derivables/base-cache.d.ts +14 -13
  275. package/dist/types/cache/implementations/derivables/cache.d.ts +7 -4
  276. package/dist/types/collection/contracts/async-collection.contract.d.ts +10 -6
  277. package/dist/types/collection/contracts/collection.contract.d.ts +1 -1
  278. package/dist/types/collection/implementations/async-iterable-collection/_shared/_module.d.ts +4 -1
  279. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-chunk-iterable.d.ts +1 -1
  280. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.d.ts +1 -1
  281. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.d.ts +1 -1
  282. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.d.ts +13 -0
  283. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.d.ts +1 -1
  284. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.d.ts +1 -1
  285. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.d.ts +1 -1
  286. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.d.ts +1 -1
  287. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.d.ts +1 -1
  288. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-pad-end-iterable.d.ts +1 -1
  289. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-pad-start-iterable.d.ts +1 -1
  290. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.d.ts +1 -1
  291. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-repeat-iterable.d.ts +1 -1
  292. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +13 -0
  293. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-reverse-iterable.d.ts +1 -1
  294. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-split-iterable.d.ts +1 -1
  295. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.d.ts +9 -0
  296. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.d.ts +13 -0
  297. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.d.ts +1 -1
  298. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +4 -3
  299. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
  300. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +1 -1
  301. package/dist/types/event-bus/contracts/_shared.d.ts +2 -5
  302. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +4 -1
  303. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +2 -3
  304. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +24 -16
  305. package/dist/types/event-bus/contracts/event-bus.errors.d.ts +3 -3
  306. package/dist/types/event-bus/implementations/_module.d.ts +1 -1
  307. package/dist/types/event-bus/implementations/_shared/_module.d.ts +2 -0
  308. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +59 -0
  309. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +72 -0
  310. package/dist/types/event-bus/implementations/derivables/base-event-bus.d.ts +12 -12
  311. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +4 -4
  312. package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +8 -8
  313. package/dist/types/serializer/implementations/_shared/test-utilities/serializer.test-suite.d.ts +1 -1
  314. package/dist/types/utilities/_module.d.ts +5 -4
  315. package/dist/types/utilities/contracts/_module.d.ts +2 -0
  316. package/dist/types/utilities/contracts/deinitizable.contract.d.ts +9 -0
  317. package/dist/types/utilities/contracts/initizable.contract.d.ts +9 -0
  318. package/dist/types/utilities/{global-errors.d.ts → errors.d.ts} +10 -1
  319. package/dist/types/{_shared/utilities.d.ts → utilities/functions.d.ts} +3 -3
  320. package/dist/types/utilities/kysely/_module.d.ts +1 -0
  321. package/dist/types/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.d.ts +1 -1
  322. package/dist/types/{_shared → utilities}/types.d.ts +3 -8
  323. package/package.json +1 -1
  324. package/dist/cjs/_shared/kysely/_module.js.map +0 -1
  325. package/dist/cjs/_shared/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  326. package/dist/cjs/_shared/redis/_module.js +0 -20
  327. package/dist/cjs/_shared/redis/_module.js.map +0 -1
  328. package/dist/cjs/_shared/redis/clear-iterable.js +0 -25
  329. package/dist/cjs/_shared/redis/clear-iterable.js.map +0 -1
  330. package/dist/cjs/_shared/redis/escape-redis-chars.js +0 -41
  331. package/dist/cjs/_shared/redis/escape-redis-chars.js.map +0 -1
  332. package/dist/cjs/_shared/redis/is-redis-type-error.js +0 -9
  333. package/dist/cjs/_shared/redis/is-redis-type-error.js.map +0 -1
  334. package/dist/cjs/_shared/utilities.js.map +0 -1
  335. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js +0 -31
  336. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +0 -1
  337. package/dist/cjs/event-bus/implementations/_shared/test-utilities/_module.js.map +0 -1
  338. package/dist/cjs/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js.map +0 -1
  339. package/dist/cjs/utilities/async/_module.js +0 -29
  340. package/dist/cjs/utilities/async/_module.js.map +0 -1
  341. package/dist/cjs/utilities/async/_shared.js.map +0 -1
  342. package/dist/cjs/utilities/async/abortable/_module.js.map +0 -1
  343. package/dist/cjs/utilities/async/abortable/abortable.js +0 -48
  344. package/dist/cjs/utilities/async/abortable/abortable.js.map +0 -1
  345. package/dist/cjs/utilities/async/abortable-iterable/_module.js.map +0 -1
  346. package/dist/cjs/utilities/async/abortable-iterable/abortable-iterable.js +0 -32
  347. package/dist/cjs/utilities/async/abortable-iterable/abortable-iterable.js.map +0 -1
  348. package/dist/cjs/utilities/async/delay/_module.js.map +0 -1
  349. package/dist/cjs/utilities/async/delay/delay.js +0 -24
  350. package/dist/cjs/utilities/async/delay/delay.js.map +0 -1
  351. package/dist/cjs/utilities/async/delay-iterable/_module.js.map +0 -1
  352. package/dist/cjs/utilities/async/delay-iterable/delay-iterable.js +0 -36
  353. package/dist/cjs/utilities/async/delay-iterable/delay-iterable.js.map +0 -1
  354. package/dist/cjs/utilities/async/lazy-promise/_module.js.map +0 -1
  355. package/dist/cjs/utilities/async/lazy-promise/lazy-promise.js +0 -22
  356. package/dist/cjs/utilities/async/lazy-promise/lazy-promise.js.map +0 -1
  357. package/dist/cjs/utilities/async/retry/_module.js.map +0 -1
  358. package/dist/cjs/utilities/async/retry/retry.js +0 -43
  359. package/dist/cjs/utilities/async/retry/retry.js.map +0 -1
  360. package/dist/cjs/utilities/async/retry-iterable/_module.js +0 -18
  361. package/dist/cjs/utilities/async/retry-iterable/_module.js.map +0 -1
  362. package/dist/cjs/utilities/async/retry-iterable/retry-iterable.js +0 -32
  363. package/dist/cjs/utilities/async/retry-iterable/retry-iterable.js.map +0 -1
  364. package/dist/cjs/utilities/async/timeout/_module.js.map +0 -1
  365. package/dist/cjs/utilities/async/timeout/timeout.js +0 -28
  366. package/dist/cjs/utilities/async/timeout/timeout.js.map +0 -1
  367. package/dist/cjs/utilities/async/timeout-iterable/_module.js +0 -18
  368. package/dist/cjs/utilities/async/timeout-iterable/_module.js.map +0 -1
  369. package/dist/cjs/utilities/async/timeout-iterable/timeout-iterable.js +0 -11
  370. package/dist/cjs/utilities/async/timeout-iterable/timeout-iterable.js.map +0 -1
  371. package/dist/cjs/utilities/backof-policies/_module.js.map +0 -1
  372. package/dist/cjs/utilities/backof-policies/_shared.js.map +0 -1
  373. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/_module.js +0 -18
  374. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  375. package/dist/cjs/utilities/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  376. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/_module.js +0 -18
  377. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  378. package/dist/cjs/utilities/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  379. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/_module.js +0 -18
  380. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  381. package/dist/cjs/utilities/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  382. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/_module.js +0 -18
  383. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  384. package/dist/cjs/utilities/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  385. package/dist/cjs/utilities/global-errors.js.map +0 -1
  386. package/dist/cjs/utilities/validation/_module.js +0 -22
  387. package/dist/cjs/utilities/validation/_module.js.map +0 -1
  388. package/dist/esm/_shared/kysely/_module.js +0 -2
  389. package/dist/esm/_shared/kysely/_module.js.map +0 -1
  390. package/dist/esm/_shared/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  391. package/dist/esm/_shared/redis/_module.js +0 -4
  392. package/dist/esm/_shared/redis/_module.js.map +0 -1
  393. package/dist/esm/_shared/redis/clear-iterable.js +0 -21
  394. package/dist/esm/_shared/redis/clear-iterable.js.map +0 -1
  395. package/dist/esm/_shared/redis/escape-redis-chars.js +0 -38
  396. package/dist/esm/_shared/redis/escape-redis-chars.js.map +0 -1
  397. package/dist/esm/_shared/redis/is-redis-type-error.js +0 -6
  398. package/dist/esm/_shared/redis/is-redis-type-error.js.map +0 -1
  399. package/dist/esm/_shared/utilities.js.map +0 -1
  400. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js +0 -27
  401. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +0 -1
  402. package/dist/esm/event-bus/implementations/_shared/test-utilities/_module.js +0 -2
  403. package/dist/esm/event-bus/implementations/_shared/test-utilities/_module.js.map +0 -1
  404. package/dist/esm/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.js.map +0 -1
  405. package/dist/esm/utilities/async/_module.js +0 -11
  406. package/dist/esm/utilities/async/_module.js.map +0 -1
  407. package/dist/esm/utilities/async/_shared.js.map +0 -1
  408. package/dist/esm/utilities/async/abortable/_module.js +0 -2
  409. package/dist/esm/utilities/async/abortable/_module.js.map +0 -1
  410. package/dist/esm/utilities/async/abortable/abortable.js.map +0 -1
  411. package/dist/esm/utilities/async/abortable-iterable/_module.js +0 -2
  412. package/dist/esm/utilities/async/abortable-iterable/_module.js.map +0 -1
  413. package/dist/esm/utilities/async/abortable-iterable/abortable-iterable.js +0 -29
  414. package/dist/esm/utilities/async/abortable-iterable/abortable-iterable.js.map +0 -1
  415. package/dist/esm/utilities/async/delay/_module.js +0 -2
  416. package/dist/esm/utilities/async/delay/_module.js.map +0 -1
  417. package/dist/esm/utilities/async/delay/delay.js +0 -21
  418. package/dist/esm/utilities/async/delay/delay.js.map +0 -1
  419. package/dist/esm/utilities/async/delay-iterable/_module.js +0 -2
  420. package/dist/esm/utilities/async/delay-iterable/_module.js.map +0 -1
  421. package/dist/esm/utilities/async/delay-iterable/delay-iterable.js +0 -33
  422. package/dist/esm/utilities/async/delay-iterable/delay-iterable.js.map +0 -1
  423. package/dist/esm/utilities/async/lazy-promise/_module.js +0 -2
  424. package/dist/esm/utilities/async/lazy-promise/_module.js.map +0 -1
  425. package/dist/esm/utilities/async/lazy-promise/lazy-promise.js +0 -17
  426. package/dist/esm/utilities/async/lazy-promise/lazy-promise.js.map +0 -1
  427. package/dist/esm/utilities/async/retry/_module.js +0 -2
  428. package/dist/esm/utilities/async/retry/_module.js.map +0 -1
  429. package/dist/esm/utilities/async/retry/retry.js +0 -40
  430. package/dist/esm/utilities/async/retry/retry.js.map +0 -1
  431. package/dist/esm/utilities/async/retry-iterable/_module.js +0 -2
  432. package/dist/esm/utilities/async/retry-iterable/_module.js.map +0 -1
  433. package/dist/esm/utilities/async/retry-iterable/retry-iterable.js +0 -29
  434. package/dist/esm/utilities/async/retry-iterable/retry-iterable.js.map +0 -1
  435. package/dist/esm/utilities/async/timeout/_module.js +0 -2
  436. package/dist/esm/utilities/async/timeout/_module.js.map +0 -1
  437. package/dist/esm/utilities/async/timeout/timeout.js +0 -25
  438. package/dist/esm/utilities/async/timeout/timeout.js.map +0 -1
  439. package/dist/esm/utilities/async/timeout-iterable/_module.js +0 -2
  440. package/dist/esm/utilities/async/timeout-iterable/_module.js.map +0 -1
  441. package/dist/esm/utilities/async/timeout-iterable/timeout-iterable.js +0 -8
  442. package/dist/esm/utilities/async/timeout-iterable/timeout-iterable.js.map +0 -1
  443. package/dist/esm/utilities/backof-policies/_module.js +0 -5
  444. package/dist/esm/utilities/backof-policies/_module.js.map +0 -1
  445. package/dist/esm/utilities/backof-policies/_shared.js.map +0 -1
  446. package/dist/esm/utilities/backof-policies/constant-backoff-policy/_module.js +0 -2
  447. package/dist/esm/utilities/backof-policies/constant-backoff-policy/_module.js.map +0 -1
  448. package/dist/esm/utilities/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
  449. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/_module.js +0 -2
  450. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
  451. package/dist/esm/utilities/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
  452. package/dist/esm/utilities/backof-policies/linear-backoff-policy/_module.js +0 -2
  453. package/dist/esm/utilities/backof-policies/linear-backoff-policy/_module.js.map +0 -1
  454. package/dist/esm/utilities/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
  455. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/_module.js +0 -2
  456. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
  457. package/dist/esm/utilities/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
  458. package/dist/esm/utilities/global-errors.js.map +0 -1
  459. package/dist/esm/utilities/validation/_module.js +0 -17
  460. package/dist/esm/utilities/validation/_module.js.map +0 -1
  461. package/dist/types/_shared/kysely/_module.d.ts +0 -1
  462. package/dist/types/_shared/redis/_module.d.ts +0 -3
  463. package/dist/types/_shared/redis/clear-iterable.d.ts +0 -13
  464. package/dist/types/_shared/redis/escape-redis-chars.d.ts +0 -7
  465. package/dist/types/_shared/redis/is-redis-type-error.d.ts +0 -7
  466. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.d.ts +0 -12
  467. package/dist/types/event-bus/implementations/_shared/test-utilities/_module.d.ts +0 -1
  468. package/dist/types/event-bus/implementations/_shared/test-utilities/event-bus-adapter.test-suite.d.ts +0 -36
  469. package/dist/types/utilities/async/_module.d.ts +0 -10
  470. package/dist/types/utilities/async/abortable/_module.d.ts +0 -1
  471. package/dist/types/utilities/async/abortable/abortable.d.ts +0 -39
  472. package/dist/types/utilities/async/abortable-iterable/_module.d.ts +0 -1
  473. package/dist/types/utilities/async/abortable-iterable/abortable-iterable.d.ts +0 -36
  474. package/dist/types/utilities/async/delay/_module.d.ts +0 -1
  475. package/dist/types/utilities/async/delay/delay.d.ts +0 -38
  476. package/dist/types/utilities/async/delay-iterable/_module.d.ts +0 -1
  477. package/dist/types/utilities/async/delay-iterable/delay-iterable.d.ts +0 -57
  478. package/dist/types/utilities/async/lazy-promise/_module.d.ts +0 -1
  479. package/dist/types/utilities/async/lazy-promise/lazy-promise.d.ts +0 -28
  480. package/dist/types/utilities/async/retry/_module.d.ts +0 -1
  481. package/dist/types/utilities/async/retry/retry.d.ts +0 -89
  482. package/dist/types/utilities/async/retry-iterable/_module.d.ts +0 -1
  483. package/dist/types/utilities/async/retry-iterable/retry-iterable.d.ts +0 -86
  484. package/dist/types/utilities/async/timeout/_module.d.ts +0 -1
  485. package/dist/types/utilities/async/timeout/timeout.d.ts +0 -40
  486. package/dist/types/utilities/async/timeout-iterable/_module.d.ts +0 -1
  487. package/dist/types/utilities/async/timeout-iterable/timeout-iterable.d.ts +0 -64
  488. package/dist/types/utilities/backof-policies/_module.d.ts +0 -5
  489. package/dist/types/utilities/backof-policies/constant-backoff-policy/_module.d.ts +0 -1
  490. package/dist/types/utilities/backof-policies/exponential-backoff-policy/_module.d.ts +0 -1
  491. package/dist/types/utilities/backof-policies/linear-backoff-policy/_module.d.ts +0 -1
  492. package/dist/types/utilities/backof-policies/polynomial-backoff-policy/_module.d.ts +0 -1
  493. package/dist/types/utilities/validation/_module.d.ts +0 -32
  494. /package/dist/cjs/{utilities → async}/backof-policies/_shared.js +0 -0
  495. /package/dist/cjs/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.js +0 -0
  496. /package/dist/cjs/{_shared → utilities}/types.js +0 -0
  497. /package/dist/esm/{utilities → async}/backof-policies/_shared.js +0 -0
  498. /package/dist/esm/{_shared → utilities}/kysely/kysely-table-name-transformer-plugin.js +0 -0
  499. /package/dist/esm/{_shared → utilities}/types.js +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Collection
3
3
  */
4
- import { type AsyncIterableValue } from "../../../../_shared/types";
4
+ import { type AsyncIterableValue } from "../../../../utilities/_module";
5
5
  /**
6
6
  * @internal
7
7
  */
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import type { EnsureMap, EnsureRecord } from "../../../collection/contracts/_module";
5
5
  import { type AsyncCollapse, type AsyncPredicate, type AsyncForEach, type AsyncMap, type AsyncModifier, type AsyncTap, type AsyncTransform, type Comparator, type IAsyncCollection, type AsyncReduce, type CrossJoinResult } from "../../../collection/contracts/_module";
6
- import { type AsyncIterableValue, type AsyncLazyable } from "../../../_shared/types";
6
+ import { type AsyncIterableValue, type AsyncLazyable } from "../../../utilities/_module";
7
7
  import type { TimeSpan } from "../../../utilities/_module";
8
- import { LazyPromise } from "../../../utilities/_module";
8
+ import { LazyPromise } from "../../../async/_module";
9
9
  /**
10
10
  * All methods that return <i>{@link IAsyncCollection}</i> are executed lazly.
11
11
  * The methods that return <i>{@link IAsyncCollection}</i> will only be executed when <i>forEach</i> method is called or <i>for await</i> loop.
@@ -14,6 +14,7 @@ import { LazyPromise } from "../../../utilities/_module";
14
14
  */
15
15
  export declare class AsyncIterableCollection<TInput> implements IAsyncCollection<TInput> {
16
16
  private readonly iterable;
17
+ private static createLazyPromise;
17
18
  private static DEFAULT_CHUNK_SIZE;
18
19
  private static makeCollection;
19
20
  /**
@@ -97,7 +98,7 @@ export declare class AsyncIterableCollection<TInput> implements IAsyncCollection
97
98
  nth(step: number): IAsyncCollection<TInput>;
98
99
  delay(time: TimeSpan): IAsyncCollection<TInput>;
99
100
  takeUntilAbort(abortSignal: AbortSignal): IAsyncCollection<TInput>;
100
- takeUntilTimeout(timeInMs: TimeSpan): IAsyncCollection<TInput>;
101
+ takeUntilTimeout(time: TimeSpan): IAsyncCollection<TInput>;
101
102
  count(predicateFn: AsyncPredicate<TInput, IAsyncCollection<TInput>>): LazyPromise<number>;
102
103
  size(): LazyPromise<number>;
103
104
  isEmpty(): LazyPromise<boolean>;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { EnsureMap, EnsureRecord } from "../../../collection/contracts/_module";
5
5
  import { type Collapse, type Comparator, type Predicate, type ForEach, type ICollection, type Map, type Modifier, type Tap, type Transform, type Reduce, type CrossJoinResult } from "../../../collection/contracts/_module";
6
- import { type Lazyable } from "../../../_shared/types";
6
+ import { type Lazyable } from "../../../utilities/_module";
7
7
  /**
8
8
  * All methods that return <i>{@link ICollection}</i> are executed lazly which means they will be executed when the <i>IterableCollection</i> is iterated with <i>forEach</i> method or "for of" loop.
9
9
  * The rest of the methods are executed eagerly.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { EnsureMap, EnsureRecord } from "../../../collection/contracts/_module";
5
5
  import { type Collapse, type Comparator, type Predicate, type ICollection, type Map, type Modifier, type Tap, type Transform, type Reduce, type ForEach, type CrossJoinResult } from "../../../collection/contracts/_module";
6
- import { type Lazyable } from "../../../_shared/types";
6
+ import { type Lazyable } from "../../../utilities/_module";
7
7
  /**
8
8
  * All methods in <i>ListCollection</i> are executed eagerly.
9
9
  * @group Adapters
@@ -1,8 +1,5 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import type { Promisable } from "../../_shared/types";
5
- export type IBaseEvent = {
6
- type: string;
7
- };
8
- export type Listener<TEvent extends IBaseEvent> = (event: TEvent) => Promisable<void>;
4
+ import type { Promisable } from "../../utilities/_module";
5
+ export type Listener<TEvent> = (event: TEvent) => Promisable<void>;
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import type { IBaseEvent, Listener } from "../../event-bus/contracts/_shared";
4
+ import type { Listener } from "../../event-bus/contracts/_shared";
5
+ export type IBaseEvent = {
6
+ type: string;
7
+ };
5
8
  /**
6
9
  * The <i>IEventBusAdapter</i> contract defines a way for dispatching and listening to events independent of underlying technology.
7
10
  * This interface is not meant to be used directly, instead you should use <i>IEventBus</i>
@@ -1,13 +1,12 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import type { INamespacedEventBus } from "../../event-bus/contracts/event-bus.contract";
5
- import type { IBaseEvent } from "../../event-bus/contracts/_shared";
4
+ import type { BaseEvents, INamespacedEventBus } from "../../event-bus/contracts/event-bus.contract";
6
5
  /**
7
6
  * The <i>IEventBusFactory</i> contract makes it easy to configure and switch between different <i>{@link INamespacedEventBus}</i> dynamically.
8
7
  * @group Contracts
9
8
  */
10
- export type IEventBusFactory<TDrivers extends string = string, TEvents extends IBaseEvent = IBaseEvent> = {
9
+ export type IEventBusFactory<TDrivers extends string = string, TEvents extends BaseEvents = BaseEvents> = {
11
10
  /**
12
11
  * The <i>use</i> method will throw an error if you provide it unregisted driver.
13
12
  * If no default driver is defined an error will be thrown by <i>use</i> method.
@@ -1,71 +1,79 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import type { LazyPromise } from "../../utilities/_module";
5
- import type { OneOrMore } from "../../_shared/types";
6
- import type { IBaseEvent, Listener } from "../../event-bus/contracts/_shared";
7
- export type SelectEvent<TEvents extends IBaseEvent, TEventType extends TEvents["type"]> = Extract<TEvents, {
8
- type: IBaseEvent extends TEvents ? string : TEventType;
4
+ import type { OneOrMore, Values } from "../../utilities/_module";
5
+ import type { LazyPromise } from "../../async/_module";
6
+ import type { Listener } from "../../event-bus/contracts/_shared";
7
+ export type BaseEvents = Record<string, Record<string, unknown>>;
8
+ export type AllEvents<TEvents extends BaseEvents> = Values<{
9
+ [TEventName in keyof TEvents]: TEvents[TEventName] & {
10
+ type: TEventName;
11
+ };
9
12
  }>;
13
+ export type SelectEvent<TEvents extends BaseEvents, TEventName extends keyof TEvents> = {
14
+ [TEventName in keyof TEvents]: TEvents[TEventName] & {
15
+ type: TEventName;
16
+ };
17
+ }[TEventName];
10
18
  export type Unsubscribe = () => LazyPromise<void>;
11
19
  /**
12
20
  * The <i>IListenable</i> contract defines a way listening to events independent of underlying technology
13
21
  * @group Contracts
14
22
  */
15
- export type IListenable<TEvents extends IBaseEvent = IBaseEvent> = {
23
+ export type IListenable<TEvents extends BaseEvents = BaseEvents> = {
16
24
  /**
17
25
  * The <i>addListener</i> method is used for adding <i>{@link Listener | listener}</i> for certain <i>event</i>.
18
26
  * A listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
19
27
  * @throws {AddListenerEventBusError} {@link AddListenerEventBusError}
20
28
  */
21
- addListener<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
29
+ addListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
22
30
  /**
23
31
  * The <i>addListenerMany</i> method is used for adding multiple <i>{@link Listener | listeners}</i> for certain <i>events</i>.
24
32
  * A listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
25
33
  * @throws {AddListenerEventBusError} {@link AddListenerEventBusError}
26
34
  */
27
- addListenerMany<TEventType extends TEvents["type"]>(events: TEventType[], listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
35
+ addListenerMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
28
36
  /**
29
37
  * The <i>removeListener</i> method is used for removing <i>{@link Listener | listener}</i> for certain <i>event</i>.
30
38
  * Removing unadded listener will have no effect and nothing will occur.
31
39
  * @throws {RemoveListenerEventBusError} {@link RemoveListenerEventBusError}
32
40
  */
33
- removeListener<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
41
+ removeListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
34
42
  /**
35
43
  * The <i>removeListener</i> method is used for removing multiple <i>{@link Listener | listeners}</i> for certain <i>event</i>.
36
44
  * Removing unadded listener will have no effect and nothing will occur.
37
45
  * @throws {RemoveListenerEventBusError} {@link RemoveListenerEventBusError}
38
46
  */
39
- removeListenerMany<TEventType extends TEvents["type"]>(events: TEventType[], listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
47
+ removeListenerMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
40
48
  /**
41
49
  * The <i>subscribe</i> method is used for adding <i>{@link Listener | listener}</i> for certain <i>event</i>.
42
50
  * A listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
43
51
  */
44
- subscribe<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<Unsubscribe>;
52
+ subscribe<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<Unsubscribe>;
45
53
  /**
46
54
  * The <i>subscribeMany</i> method is used for adding <i>{@link Listener | listener}</i> for multiple <i>events</i>.
47
55
  * A listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
48
56
  */
49
- subscribeMany<TEventType extends TEvents["type"]>(events: TEventType[], listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<Unsubscribe>;
57
+ subscribeMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<Unsubscribe>;
50
58
  };
51
59
  /**
52
60
  * The <i>IDispatcher</i> contract defines a way for dispatching to events independent of underlying technology.
53
61
  * @group Contracts
54
62
  */
55
- export type IDispatcher<TEvents extends IBaseEvent = IBaseEvent> = {
63
+ export type IDispatcher<TEvents extends BaseEvents = BaseEvents> = {
56
64
  /**
57
65
  * The <i>dispatch</i> method is used for dispatching one or multiple <i>events</i>.
58
66
 
59
67
  * @throws {DispatchEventBusError} {@link DispatchEventBusError}
60
68
  */
61
- dispatch(events: OneOrMore<TEvents>): LazyPromise<void>;
69
+ dispatch(events: OneOrMore<AllEvents<TEvents>>): LazyPromise<void>;
62
70
  };
63
71
  /**
64
72
  * The <i>IEventBus</i> contract defines a way for dispatching and listening to events independent of underlying technology.
65
73
  * It commes with more convient methods compared to <i>IEventBusAdapter</i>.
66
74
  * @group Contracts
67
75
  */
68
- export type IEventBus<TEvents extends IBaseEvent = IBaseEvent> = IListenable<TEvents> & IDispatcher<TEvents> & {
76
+ export type IEventBus<TEvents extends BaseEvents = BaseEvents> = IListenable<TEvents> & IDispatcher<TEvents> & {
69
77
  /**
70
78
  * The <i>getNamespace</i> method returns the complete namespace.
71
79
  * @example
@@ -90,7 +98,7 @@ export type IEventBus<TEvents extends IBaseEvent = IBaseEvent> = IListenable<TEv
90
98
  * It commes with one extra method which is useful for multitennat applications compared to <i>IEventBus</i>.
91
99
  * @group Contracts
92
100
  */
93
- export type INamespacedEventBus<TEvents extends IBaseEvent = IBaseEvent> = IEventBus<TEvents> & {
101
+ export type INamespacedEventBus<TEvents extends BaseEvents = BaseEvents> = IEventBus<TEvents> & {
94
102
  /**
95
103
  * The <i>withNamespace</i> method returns new instance of <i>{@link IEventBus}</i> where all the events names will be prefixed with a given <i>namespace</i>.
96
104
  * This useful for multitennat applications.
@@ -16,18 +16,18 @@ export declare class UnexpectedEventBusError extends EventBusError {
16
16
  /**
17
17
  * @group Errors
18
18
  */
19
- export declare class RemoveListenerEventBusError extends Error {
19
+ export declare class RemoveListenerEventBusError extends UnexpectedEventBusError {
20
20
  constructor(message: string, cause?: unknown);
21
21
  }
22
22
  /**
23
23
  * @group Errors
24
24
  */
25
- export declare class AddListenerEventBusError extends Error {
25
+ export declare class AddListenerEventBusError extends UnexpectedEventBusError {
26
26
  constructor(message: string, cause?: unknown);
27
27
  }
28
28
  /**
29
29
  * @group Errors
30
30
  */
31
- export declare class DispatchEventBusError extends Error {
31
+ export declare class DispatchEventBusError extends UnexpectedEventBusError {
32
32
  constructor(message: string, cause?: unknown);
33
33
  }
@@ -1,3 +1,3 @@
1
- export * from "../../event-bus/implementations/_shared/test-utilities/_module";
1
+ export * from "../../event-bus/implementations/_shared/_module";
2
2
  export * from "../../event-bus/implementations/derivables/_module";
3
3
  export * from "../../event-bus/implementations/adapters/_module";
@@ -0,0 +1,2 @@
1
+ export * from "../../../event-bus/implementations/_shared/event-bus-adapter.test-suite";
2
+ export * from "../../../event-bus/implementations/_shared/event-bus.test-suite";
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @module EventBus
3
+ */
4
+ import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
5
+ import type { IEventBusAdapter } from "../../../event-bus/contracts/_module";
6
+ import { type Promisable } from "../../../utilities/_module";
7
+ /**
8
+ * @group Utilities
9
+ */
10
+ export type EventBusAdapterTestSuiteSettings = {
11
+ expect: ExpectStatic;
12
+ test: TestAPI;
13
+ describe: SuiteAPI;
14
+ beforeEach: typeof beforeEach;
15
+ createAdapter: () => Promisable<IEventBusAdapter>;
16
+ };
17
+ /**
18
+ * The <i>eventBusAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IEventBusAdapter}</i> with vitest.
19
+ * @group Utilities
20
+ * @example
21
+ * ```ts
22
+ * import { describe, test, beforeEach, expect, afterEach } from "vitest";
23
+ * import type { StartedRedisContainer } from "@testcontainers/redis";
24
+ * import { RedisContainer } from "@testcontainers/redis";
25
+ * import Redis from "ioredis";
26
+ * import { SuperJsonSerializer, TimeSpan, RedisEventBusAdapter, eventBusAdapterTestSuite } from "@daiso-tech/core";
27
+ *
28
+ * const timeout = TimeSpan.fromMinutes(2);
29
+ * describe("class: RedisEventBusAdapter", () => {
30
+ * let dispatcherClient: Redis;
31
+ * let listenerClient: Redis;
32
+ * let startedContainer: StartedRedisContainer;
33
+ * const serializer = new SuperJsonSerializer();
34
+ * beforeEach(async () => {
35
+ * startedContainer = await new RedisContainer().start();
36
+ * dispatcherClient = new Redis(startedContainer.getConnectionUrl());
37
+ * listenerClient = new Redis(startedContainer.getConnectionUrl());
38
+ * }, timeout.toMilliseconds());
39
+ * afterEach(async () => {
40
+ * await dispatcherClient.quit();
41
+ * await listenerClient.quit();
42
+ * await startedContainer.stop();
43
+ * }, timeout.toMilliseconds());
44
+ * eventBusAdapterTestSuite({
45
+ * createAdapter: () =>
46
+ * new RedisEventBusAdapter({
47
+ * dispatcherClient,
48
+ * listenerClient,
49
+ * serializer,
50
+ * }),
51
+ * test,
52
+ * beforeEach,
53
+ * expect,
54
+ * describe,
55
+ * });
56
+ * });
57
+ * ```
58
+ */
59
+ export declare function eventBusAdapterTestSuite(settings: EventBusAdapterTestSuiteSettings): void;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @module EventBus
3
+ */
4
+ import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
5
+ import type { IEventBus } from "../../../event-bus/contracts/_module";
6
+ import { type Promisable } from "../../../utilities/_module";
7
+ /**
8
+ * @group Utilities
9
+ */
10
+ export type EventBusTestSuiteSettings = {
11
+ expect: ExpectStatic;
12
+ test: TestAPI;
13
+ describe: SuiteAPI;
14
+ beforeEach: typeof beforeEach;
15
+ createEventBusA: () => Promisable<IEventBus>;
16
+ createEventBusB: () => Promisable<IEventBus>;
17
+ };
18
+ /**
19
+ * The <i>eventBusTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IEventBus}</i> with vitest.
20
+ * @group Utilities
21
+ * @example
22
+ * ```ts
23
+ * import { describe, test, beforeEach, expect, afterEach } from "vitest";
24
+ * import type { StartedRedisContainer } from "@testcontainers/redis";
25
+ * import { RedisContainer } from "@testcontainers/redis";
26
+ * import Redis from "ioredis";
27
+ * import { SuperJsonSerializer, TimeSpan, RedisEventBusAdapter, eventBusTestSuite } from "@daiso-tech/core";
28
+ *
29
+ * const timeout = TimeSpan.fromMinutes(2);
30
+ * describe("class: EventBus", () => {
31
+ * let dispatcherClient: Redis;
32
+ * let listenerClient: Redis;
33
+ * let startedContainer: StartedRedisContainer;
34
+ * const serializer = new SuperJsonSerializer();
35
+ * beforeEach(async () => {
36
+ * startedContainer = await new RedisContainer().start();
37
+ * dispatcherClient = new Redis(startedContainer.getConnectionUrl());
38
+ * listenerClient = new Redis(startedContainer.getConnectionUrl());
39
+ * }, timeout.toMilliseconds());
40
+ * afterEach(async () => {
41
+ * await dispatcherClient.quit();
42
+ * await listenerClient.quit();
43
+ * await startedContainer.stop();
44
+ * }, timeout.toMilliseconds());
45
+ * eventBusTestSuite({
46
+ * createEventBusA: () =>
47
+ * new EventBus(
48
+ * new RedisEventBusAdapter({
49
+ * dispatcherClient,
50
+ * listenerClient,
51
+ * serializer,
52
+ * }),
53
+ * { rootNamespace: "@a" }
54
+ * ),
55
+ * createEventBusB: () =>
56
+ * new EventBus(
57
+ * new RedisEventBusAdapter({
58
+ * dispatcherClient,
59
+ * listenerClient,
60
+ * serializer,
61
+ * }),
62
+ * { rootNamespace: "@b" }
63
+ * ),
64
+ * test,
65
+ * beforeEach,
66
+ * expect,
67
+ * describe,
68
+ * });
69
+ * });
70
+ * ```
71
+ */
72
+ export declare function eventBusTestSuite(settings: EventBusTestSuiteSettings): void;
@@ -1,23 +1,23 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import { LazyPromise } from "../../../utilities/_module";
5
- import type { SelectEvent, Unsubscribe } from "../../../event-bus/contracts/_module";
6
- import { type IEventBus, type INamespacedEventBus, type Listener, type IBaseEvent } from "../../../event-bus/contracts/_module";
7
- import type { OneOrMore } from "../../../_shared/types";
4
+ import { LazyPromise } from "../../../async/_module";
5
+ import type { SelectEvent, BaseEvents, Unsubscribe, AllEvents } from "../../../event-bus/contracts/_module";
6
+ import { type IEventBus, type INamespacedEventBus, type Listener } from "../../../event-bus/contracts/_module";
7
+ import type { OneOrMore } from "../../../utilities/_module";
8
8
  /**
9
9
  * The BaseEventBus class serves as an abstract base class that provides implementations for redundant methods.
10
10
  * It simplifies implementing the {@link INamespacedEventBus} interface without using an {@link IEventBusAdapter}.
11
11
  * @group Derivables
12
12
  */
13
- export declare abstract class BaseEventBus<TEvents extends IBaseEvent> implements INamespacedEventBus<TEvents> {
13
+ export declare abstract class BaseEventBus<TEvents extends BaseEvents = BaseEvents> implements INamespacedEventBus<TEvents> {
14
14
  abstract withNamespace(namespace: OneOrMore<string>): IEventBus<TEvents>;
15
15
  abstract getNamespace(): string;
16
- abstract addListener<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
17
- addListenerMany<TEventType extends TEvents["type"]>(events: TEventType[], listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
18
- abstract removeListener<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
19
- removeListenerMany<TEventType extends TEvents["type"]>(events: TEventType[], listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
20
- subscribe<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<Unsubscribe>;
21
- subscribeMany<TEventType extends TEvents["type"]>(events: TEventType[], listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<Unsubscribe>;
22
- abstract dispatch(events: OneOrMore<TEvents>): LazyPromise<void>;
16
+ abstract addListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
17
+ addListenerMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
18
+ abstract removeListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
19
+ removeListenerMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
20
+ subscribe<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<Unsubscribe>;
21
+ subscribeMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<Unsubscribe>;
22
+ abstract dispatch(events: OneOrMore<AllEvents<TEvents>>): LazyPromise<void>;
23
23
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import type { INamespacedEventBus, IEventBusAdapter, IBaseEvent, IEventBusFactory } from "../../../event-bus/contracts/_module";
4
+ import type { INamespacedEventBus, IEventBusAdapter, IEventBusFactory, BaseEvents } from "../../../event-bus/contracts/_module";
5
5
  /**
6
6
  * @group Derivables
7
7
  */
@@ -34,11 +34,11 @@ export type EventBusFactorySettings<TAdapters extends string = string> = {
34
34
  * });
35
35
  * ```
36
36
  */
37
- export declare class EventBusFactory<TAdapters extends string = string, TEvent extends IBaseEvent = IBaseEvent> implements IEventBusFactory<TAdapters> {
37
+ export declare class EventBusFactory<TAdapters extends string = string, TEvents extends BaseEvents = BaseEvents> implements IEventBusFactory<TAdapters, TEvents> {
38
38
  private readonly drivers;
39
39
  private readonly defaultDriver?;
40
40
  private readonly rootNamespace?;
41
41
  constructor(settings: EventBusFactorySettings<TAdapters>);
42
- use(driverName?: TAdapters | undefined): INamespacedEventBus<TEvent>;
43
- withType<TOutput extends IBaseEvent = IBaseEvent>(): IEventBusFactory<TAdapters, TOutput>;
42
+ use(driverName?: TAdapters | undefined): INamespacedEventBus<TEvents>;
43
+ withType<TOutput extends BaseEvents = TEvents>(): IEventBusFactory<TAdapters, TOutput>;
44
44
  }
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import { LazyPromise } from "../../../utilities/_module";
5
- import type { SelectEvent } from "../../../event-bus/contracts/_module";
6
- import { type IEventBus, type INamespacedEventBus, type IEventBusAdapter, type Listener, type IBaseEvent } from "../../../event-bus/contracts/_module";
7
- import type { OneOrMore } from "../../../_shared/types";
4
+ import { LazyPromise } from "../../../async/_module";
5
+ import type { SelectEvent, AllEvents, BaseEvents } from "../../../event-bus/contracts/_module";
6
+ import { type IEventBus, type INamespacedEventBus, type IEventBusAdapter, type Listener } from "../../../event-bus/contracts/_module";
7
+ import type { OneOrMore } from "../../../utilities/_module";
8
8
  import { BaseEventBus } from "../../../event-bus/implementations/derivables/base-event-bus";
9
9
  /**
10
10
  * @group Derivables
@@ -49,13 +49,13 @@ export type EventBusSettings = {
49
49
  * <i>EventBus</i> class can be derived from any <i>{@link IEventBusAdapter}</i>.
50
50
  * @group Derivables
51
51
  */
52
- export declare class EventBus<TEvents extends IBaseEvent = IBaseEvent> extends BaseEventBus<TEvents> implements INamespacedEventBus<TEvents> {
52
+ export declare class EventBus<TEvents extends BaseEvents = BaseEvents> extends BaseEventBus<TEvents> implements INamespacedEventBus<TEvents> {
53
53
  private readonly eventBusAdapter;
54
54
  private readonly namespace;
55
55
  constructor(eventBusAdapter: IEventBusAdapter, settings?: EventBusSettings);
56
56
  withNamespace(namespace: OneOrMore<string>): IEventBus<TEvents>;
57
57
  getNamespace(): string;
58
- addListener<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
59
- removeListener<TEventType extends TEvents["type"]>(event: TEventType, listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<void>;
60
- dispatch(events: OneOrMore<TEvents>): LazyPromise<void>;
58
+ addListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
59
+ removeListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
60
+ dispatch(events: OneOrMore<AllEvents<TEvents>>): LazyPromise<void>;
61
61
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { type TestAPI, type ExpectStatic } from "vitest";
5
5
  import { type ISerializer } from "../../../../serializer/contracts/_module";
6
- import { type Promisable } from "../../../../_shared/types";
6
+ import { type Promisable } from "../../../../utilities/_module";
7
7
  /**
8
8
  * @group Utilities
9
9
  */
@@ -1,5 +1,6 @@
1
- export * from "../utilities/async/_module";
2
- export * from "../utilities/backof-policies/_module";
1
+ export * from "../utilities/contracts/_module";
2
+ export * from "../utilities/kysely/_module";
3
3
  export * from "../utilities/time-span/_module";
4
- export * from "../utilities/validation/_module";
5
- export * from "../utilities/global-errors";
4
+ export * from "../utilities/errors";
5
+ export * from "../utilities/types";
6
+ export * from "../utilities/functions";
@@ -0,0 +1,2 @@
1
+ export * from "../../utilities/contracts/deinitizable.contract";
2
+ export * from "../../utilities/contracts/initizable.contract";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @module Utilities
3
+ */
4
+ /**
5
+ * @group Contracts
6
+ */
7
+ export type IDeinitizable = {
8
+ deInit(): PromiseLike<void>;
9
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @module Utilities
3
+ */
4
+ /**
5
+ * @group Contracts
6
+ */
7
+ export type IInitizable = {
8
+ init(): PromiseLike<void>;
9
+ };
@@ -1,12 +1,21 @@
1
1
  /**
2
- * @module Global Errors
2
+ * @module Utilities
3
+ */
4
+ /**
5
+ * @group Errors
3
6
  */
4
7
  export declare class FactoryError extends Error {
5
8
  constructor(message: string, cause?: unknown);
6
9
  }
10
+ /**
11
+ * @group Errors
12
+ */
7
13
  export declare class DefaultDriverNotDefinedError extends FactoryError {
8
14
  constructor(factoryName: string);
9
15
  }
16
+ /**
17
+ * @group Errors
18
+ */
10
19
  export declare class UnregisteredDriverError extends FactoryError {
11
20
  constructor(driverName: string);
12
21
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @module Shared
2
+ * @module Utilities
3
3
  */
4
- import type { Lazyable, OneOrMore } from "../_shared/types";
5
- import { type AsyncLazyable } from "../_shared/types";
4
+ import type { Lazyable, OneOrMore } from "../utilities/types";
5
+ import { type AsyncLazyable } from "../utilities/types";
6
6
  /**
7
7
  * @internal
8
8
  */
@@ -0,0 +1 @@
1
+ export * from "../../utilities/kysely/kysely-table-name-transformer-plugin";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @module Shared
2
+ * @module Utilities
3
3
  */
4
4
  import type { KyselyPlugin, PluginTransformQueryArgs, PluginTransformResultArgs, QueryResult, RootOperationNode, UnknownRow } from "kysely";
5
5
  /**
@@ -1,18 +1,13 @@
1
1
  /**
2
- * @module Shared
2
+ * @module Utilities
3
3
  */
4
+ export type Values<TValue> = TValue[keyof TValue];
4
5
  export type OneOrMore<TItem> = TItem | TItem[];
5
6
  export type Lazyable<TValue> = TValue | (() => TValue);
6
7
  export type Promisable<TValue> = TValue | PromiseLike<TValue>;
7
8
  export type AsyncLazyable<TValue> = TValue | (() => Promisable<TValue>);
9
+ export type Result<TValue, TError> = [TValue, null] | [null, TError];
8
10
  export type AsyncIterableValue<TInput> = Iterable<TInput> | AsyncIterable<TInput>;
9
11
  export type AnyFunction = (...parameters: unknown[]) => unknown;
10
- export type IInitizable = {
11
- init(): PromiseLike<void>;
12
- };
13
- export type IDeinitizable = {
14
- deInit(): PromiseLike<void>;
15
- };
16
12
  export type Func<TArgs extends unknown[], TReturn> = (...args_: TArgs) => TReturn;
17
13
  export type GetOrAddValue<TValue> = Awaited<TValue extends AnyFunction ? ReturnType<TValue> : TValue>;
18
- export type Result<TValue> = [true, TValue] | [false];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@daiso-tech/core",
3
3
  "private": false,
4
- "version": "0.14.0",
4
+ "version": "0.15.0",
5
5
  "author": "Yousif Abdulkarim",
6
6
  "license": "Apache-2.0",
7
7
  "main": "./dist/cjs/_module.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/_shared/kysely/_module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wFAAsE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"kysely-table-name-transformer-plugin.js","sourceRoot":"","sources":["../../../../src/_shared/kysely/kysely-table-name-transformer-plugin.ts"],"names":[],"mappings":";;;AAaA,mCAAkD;AAKlD,MAAM,oBAAqB,SAAQ,iCAAwB;IAC1B;IAA7B,YAA6B,YAAoC;QAC7D,KAAK,EAAE,CAAC;QADiB,iBAAY,GAAZ,YAAY,CAAwB;IAEjE,CAAC;IAEkB,cAAc,CAAC,IAAe;QAC7C,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO;YACH,GAAG,eAAe;YAClB,KAAK,EAAE;gBACH,GAAG,eAAe,CAAC,KAAK;gBACxB,UAAU,EAAE;oBACR,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU;oBACnC,IAAI,EAAE,CAAC,GAAG,EAAE;wBACR,MAAM,YAAY,GACd,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;wBAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBACvD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BAC/B,MAAM,IAAI,KAAK,CACX,yBAAyB,YAAY,GAAG,CAC3C,CAAC;wBACN,CAAC;wBACD,OAAO,cAAc,CAAC;oBAC1B,CAAC,CAAC,EAAE;iBACP;aACJ;SACJ,CAAC;IACN,CAAC;CACJ;AAKD,MAAa,gCAAgC;IACxB,WAAW,CAAuB;IAEnD,YAAY,YAAoC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,IAA8B;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,eAAe,CACX,IAA+B;QAE/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;CACJ;AAhBD,4EAgBC"}