@daiso-tech/core 0.15.0 → 0.16.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 (304) hide show
  1. package/dist/cjs/_module.js +2 -2
  2. package/dist/cjs/_module.js.map +1 -1
  3. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +15 -0
  4. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  5. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +256 -177
  6. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  7. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +23 -2
  8. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  9. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +59 -18
  10. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  11. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +15 -5
  12. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  13. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +58 -39
  14. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  15. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +63 -26
  16. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  17. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +10 -1
  18. package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  19. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +44 -19
  20. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  21. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +15 -5
  22. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  23. package/dist/cjs/cache/implementations/derivables/_module.js +0 -1
  24. package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -1
  25. package/dist/cjs/cache/implementations/derivables/cache-factory.js +1 -4
  26. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
  27. package/dist/cjs/cache/implementations/derivables/cache.js +297 -53
  28. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
  29. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js +14 -7
  30. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js.map +1 -1
  31. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +51 -39
  32. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  33. package/dist/cjs/collection/implementations/iterable-collection/_shared/merge-iterable.js +6 -7
  34. package/dist/cjs/collection/implementations/iterable-collection/_shared/merge-iterable.js.map +1 -1
  35. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js +11 -2
  36. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  37. package/dist/cjs/collection/implementations/list-collection/list-collection.js +13 -0
  38. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  39. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +76 -32
  40. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  41. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +63 -27
  42. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  43. package/dist/cjs/event-bus/implementations/adapters/_module.js +1 -1
  44. package/dist/cjs/event-bus/implementations/adapters/_module.js.map +1 -1
  45. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +19 -9
  46. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  47. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +7 -1
  48. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  49. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -0
  50. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +52 -0
  51. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -0
  52. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +3 -4
  53. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  54. package/dist/cjs/event-bus/implementations/derivables/event-bus.js +82 -25
  55. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
  56. package/dist/cjs/{serializer/implementations/_shared/test-utilities → serde/contracts}/_module.js +2 -1
  57. package/dist/cjs/serde/contracts/_module.js.map +1 -0
  58. package/dist/cjs/{serializer/contracts/serializer.contract.js → serde/contracts/serde.contract.js} +1 -1
  59. package/dist/cjs/serde/contracts/serde.contract.js.map +1 -0
  60. package/dist/cjs/{serializer/contracts/serializer.errors.js → serde/contracts/serde.errors.js} +7 -7
  61. package/dist/cjs/serde/contracts/serde.errors.js.map +1 -0
  62. package/dist/cjs/{serializer/contracts → serde/implementations}/_module.js +5 -2
  63. package/dist/cjs/serde/implementations/_module.js.map +1 -0
  64. package/dist/cjs/{serializer/implementations/mongodb-serializer → serde/implementations/_shared/test-utilities}/_module.js +1 -1
  65. package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js.map +1 -0
  66. package/dist/{esm/serializer/implementations/_shared/test-utilities/serializer.test-suite.js → cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js} +65 -62
  67. package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -0
  68. package/dist/cjs/{serializer/implementations/sql-serializer → serde/implementations/mongodb-serde}/_module.js +1 -1
  69. package/dist/cjs/serde/implementations/mongodb-serde/_module.js.map +1 -0
  70. package/dist/cjs/serde/implementations/mongodb-serde/mongodb-serde.js +36 -0
  71. package/dist/cjs/serde/implementations/mongodb-serde/mongodb-serde.js.map +1 -0
  72. package/dist/cjs/{serializer/implementations/redis-serializer → serde/implementations/redis-serde}/_module.js +1 -1
  73. package/dist/cjs/serde/implementations/redis-serde/_module.js.map +1 -0
  74. package/dist/cjs/serde/implementations/redis-serde/redis-serde.js +37 -0
  75. package/dist/cjs/serde/implementations/redis-serde/redis-serde.js.map +1 -0
  76. package/dist/cjs/serde/implementations/sql-serde/_module.js +18 -0
  77. package/dist/cjs/serde/implementations/sql-serde/_module.js.map +1 -0
  78. package/dist/cjs/serde/implementations/sql-serde/sql-serde.js +37 -0
  79. package/dist/cjs/serde/implementations/sql-serde/sql-serde.js.map +1 -0
  80. package/dist/cjs/serde/implementations/super-json-serde/_module.js +18 -0
  81. package/dist/cjs/serde/implementations/super-json-serde/_module.js.map +1 -0
  82. package/dist/cjs/{serializer/implementations/super-json-serializer/super-json-serializer.js → serde/implementations/super-json-serde/super-json-serde.js} +74 -100
  83. package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -0
  84. package/dist/cjs/utilities/functions.js +5 -5
  85. package/dist/cjs/utilities/functions.js.map +1 -1
  86. package/dist/cjs/utilities/time-span/time-span.js +8 -0
  87. package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
  88. package/dist/esm/_module.js +2 -2
  89. package/dist/esm/_module.js.map +1 -1
  90. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +15 -0
  91. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  92. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +256 -177
  93. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  94. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +23 -2
  95. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  96. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +60 -19
  97. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  98. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +15 -5
  99. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  100. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +58 -39
  101. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  102. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +63 -23
  103. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  104. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +10 -1
  105. package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  106. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +44 -19
  107. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  108. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +15 -5
  109. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  110. package/dist/esm/cache/implementations/derivables/_module.js +0 -1
  111. package/dist/esm/cache/implementations/derivables/_module.js.map +1 -1
  112. package/dist/esm/cache/implementations/derivables/cache-factory.js +1 -4
  113. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
  114. package/dist/esm/cache/implementations/derivables/cache.js +296 -52
  115. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
  116. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js +14 -7
  117. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js.map +1 -1
  118. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +51 -39
  119. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  120. package/dist/esm/collection/implementations/iterable-collection/_shared/merge-iterable.js +6 -7
  121. package/dist/esm/collection/implementations/iterable-collection/_shared/merge-iterable.js.map +1 -1
  122. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js +11 -2
  123. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  124. package/dist/esm/collection/implementations/list-collection/list-collection.js +13 -0
  125. package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
  126. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +76 -32
  127. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  128. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +63 -27
  129. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  130. package/dist/esm/event-bus/implementations/adapters/_module.js +1 -1
  131. package/dist/esm/event-bus/implementations/adapters/_module.js.map +1 -1
  132. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +19 -9
  133. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  134. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +7 -1
  135. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  136. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -0
  137. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +48 -0
  138. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -0
  139. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +3 -4
  140. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  141. package/dist/esm/event-bus/implementations/derivables/event-bus.js +83 -26
  142. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
  143. package/dist/esm/serde/contracts/_module.js +3 -0
  144. package/dist/esm/serde/contracts/_module.js.map +1 -0
  145. package/dist/esm/serde/contracts/serde.contract.js +1 -0
  146. package/dist/esm/serde/contracts/serde.contract.js.map +1 -0
  147. package/dist/esm/{serializer/contracts/serializer.errors.js → serde/contracts/serde.errors.js} +5 -5
  148. package/dist/esm/serde/contracts/serde.errors.js.map +1 -0
  149. package/dist/esm/serde/implementations/_module.js +6 -0
  150. package/dist/esm/serde/implementations/_module.js.map +1 -0
  151. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js +2 -0
  152. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js.map +1 -0
  153. package/dist/{cjs/serializer/implementations/_shared/test-utilities/serializer.test-suite.js → esm/serde/implementations/_shared/test-utilities/serde.test-suite.js} +62 -65
  154. package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -0
  155. package/dist/esm/serde/implementations/mongodb-serde/_module.js +2 -0
  156. package/dist/esm/serde/implementations/mongodb-serde/_module.js.map +1 -0
  157. package/dist/esm/{serializer/implementations/mongodb-serializer/mongodb-serializer.js → serde/implementations/mongodb-serde/mongodb-serde.js} +10 -10
  158. package/dist/esm/serde/implementations/mongodb-serde/mongodb-serde.js.map +1 -0
  159. package/dist/esm/serde/implementations/redis-serde/_module.js +2 -0
  160. package/dist/esm/serde/implementations/redis-serde/_module.js.map +1 -0
  161. package/dist/esm/{serializer/implementations/sql-serializer/sql-serializer.js → serde/implementations/redis-serde/redis-serde.js} +10 -10
  162. package/dist/esm/serde/implementations/redis-serde/redis-serde.js.map +1 -0
  163. package/dist/esm/serde/implementations/sql-serde/_module.js +2 -0
  164. package/dist/esm/serde/implementations/sql-serde/_module.js.map +1 -0
  165. package/dist/esm/{serializer/implementations/redis-serializer/redis-serializer.js → serde/implementations/sql-serde/sql-serde.js} +10 -10
  166. package/dist/esm/serde/implementations/sql-serde/sql-serde.js.map +1 -0
  167. package/dist/esm/serde/implementations/super-json-serde/_module.js +2 -0
  168. package/dist/esm/serde/implementations/super-json-serde/_module.js.map +1 -0
  169. package/dist/esm/{serializer/implementations/super-json-serializer/super-json-serializer.js → serde/implementations/super-json-serde/super-json-serde.js} +52 -55
  170. package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -0
  171. package/dist/esm/utilities/functions.js +4 -4
  172. package/dist/esm/utilities/functions.js.map +1 -1
  173. package/dist/esm/utilities/time-span/time-span.js +8 -0
  174. package/dist/esm/utilities/time-span/time-span.js.map +1 -1
  175. package/dist/types/_module.d.ts +2 -2
  176. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +38 -1
  177. package/dist/types/cache/contracts/cache-adapter.contract.d.ts +20 -6
  178. package/dist/types/cache/contracts/cache-factory.contract.d.ts +4 -4
  179. package/dist/types/cache/contracts/cache.contract.d.ts +19 -16
  180. package/dist/types/cache/contracts/cache.events.d.ts +17 -21
  181. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +12 -5
  182. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +6 -6
  183. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +11 -5
  184. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +17 -11
  185. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +12 -6
  186. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +21 -10
  187. package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +5 -2
  188. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +20 -13
  189. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +16 -8
  190. package/dist/types/cache/implementations/derivables/_module.d.ts +0 -1
  191. package/dist/types/cache/implementations/derivables/cache-factory.d.ts +5 -11
  192. package/dist/types/cache/implementations/derivables/cache.d.ts +35 -43
  193. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.d.ts +4 -5
  194. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +7 -2
  195. package/dist/types/collection/implementations/iterable-collection/_shared/merge-iterable.d.ts +4 -5
  196. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +3 -0
  197. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +3 -0
  198. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +8 -5
  199. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +3 -3
  200. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +36 -13
  201. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +16 -7
  202. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +9 -9
  203. package/dist/types/event-bus/implementations/adapters/_module.d.ts +1 -1
  204. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +10 -5
  205. package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +4 -1
  206. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +50 -0
  207. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +5 -6
  208. package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +16 -42
  209. package/dist/types/serde/contracts/_module.d.ts +2 -0
  210. package/dist/types/serde/contracts/serde.contract.d.ts +41 -0
  211. package/dist/types/{serializer/contracts/serializer.errors.d.ts → serde/contracts/serde.errors.d.ts} +4 -4
  212. package/dist/types/serde/implementations/_module.d.ts +5 -0
  213. package/dist/types/serde/implementations/_shared/test-utilities/_module.d.ts +1 -0
  214. package/dist/types/serde/implementations/_shared/test-utilities/serde.test-suite.d.ts +18 -0
  215. package/dist/types/serde/implementations/mongodb-serde/_module.d.ts +1 -0
  216. package/dist/types/serde/implementations/mongodb-serde/mongodb-serde.d.ts +13 -0
  217. package/dist/types/serde/implementations/redis-serde/_module.d.ts +1 -0
  218. package/dist/types/serde/implementations/redis-serde/redis-serde.d.ts +13 -0
  219. package/dist/types/serde/implementations/sql-serde/_module.d.ts +1 -0
  220. package/dist/types/serde/implementations/sql-serde/sql-serde.d.ts +13 -0
  221. package/dist/types/serde/implementations/super-json-serde/_module.d.ts +1 -0
  222. package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +25 -0
  223. package/dist/types/utilities/functions.d.ts +1 -1
  224. package/dist/types/utilities/time-span/time-span.d.ts +11 -2
  225. package/package.json +3 -9
  226. package/dist/cjs/cache/implementations/derivables/base-cache.js +0 -270
  227. package/dist/cjs/cache/implementations/derivables/base-cache.js.map +0 -1
  228. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +0 -1
  229. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +0 -44
  230. package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  231. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js +0 -47
  232. package/dist/cjs/event-bus/implementations/derivables/base-event-bus.js.map +0 -1
  233. package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js +0 -42
  234. package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +0 -1
  235. package/dist/cjs/serializer/contracts/_module.js.map +0 -1
  236. package/dist/cjs/serializer/contracts/serializer.contract.js.map +0 -1
  237. package/dist/cjs/serializer/contracts/serializer.errors.js.map +0 -1
  238. package/dist/cjs/serializer/implementations/_module.js +0 -22
  239. package/dist/cjs/serializer/implementations/_module.js.map +0 -1
  240. package/dist/cjs/serializer/implementations/_shared/test-utilities/_module.js.map +0 -1
  241. package/dist/cjs/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +0 -1
  242. package/dist/cjs/serializer/implementations/mongodb-serializer/_module.js.map +0 -1
  243. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js +0 -36
  244. package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +0 -1
  245. package/dist/cjs/serializer/implementations/redis-serializer/_module.js.map +0 -1
  246. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js +0 -37
  247. package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js.map +0 -1
  248. package/dist/cjs/serializer/implementations/sql-serializer/_module.js.map +0 -1
  249. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js +0 -37
  250. package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js.map +0 -1
  251. package/dist/cjs/serializer/implementations/super-json-serializer/_module.js +0 -18
  252. package/dist/cjs/serializer/implementations/super-json-serializer/_module.js.map +0 -1
  253. package/dist/cjs/serializer/implementations/super-json-serializer/super-json-serializer.js.map +0 -1
  254. package/dist/esm/cache/implementations/derivables/base-cache.js +0 -266
  255. package/dist/esm/cache/implementations/derivables/base-cache.js.map +0 -1
  256. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +0 -1
  257. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js +0 -40
  258. package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
  259. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js +0 -43
  260. package/dist/esm/event-bus/implementations/derivables/base-event-bus.js.map +0 -1
  261. package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js +0 -38
  262. package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +0 -1
  263. package/dist/esm/serializer/contracts/_module.js +0 -3
  264. package/dist/esm/serializer/contracts/_module.js.map +0 -1
  265. package/dist/esm/serializer/contracts/serializer.contract.js +0 -1
  266. package/dist/esm/serializer/contracts/serializer.contract.js.map +0 -1
  267. package/dist/esm/serializer/contracts/serializer.errors.js.map +0 -1
  268. package/dist/esm/serializer/implementations/_module.js +0 -6
  269. package/dist/esm/serializer/implementations/_module.js.map +0 -1
  270. package/dist/esm/serializer/implementations/_shared/test-utilities/_module.js +0 -2
  271. package/dist/esm/serializer/implementations/_shared/test-utilities/_module.js.map +0 -1
  272. package/dist/esm/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +0 -1
  273. package/dist/esm/serializer/implementations/mongodb-serializer/_module.js +0 -2
  274. package/dist/esm/serializer/implementations/mongodb-serializer/_module.js.map +0 -1
  275. package/dist/esm/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +0 -1
  276. package/dist/esm/serializer/implementations/redis-serializer/_module.js +0 -2
  277. package/dist/esm/serializer/implementations/redis-serializer/_module.js.map +0 -1
  278. package/dist/esm/serializer/implementations/redis-serializer/redis-serializer.js.map +0 -1
  279. package/dist/esm/serializer/implementations/sql-serializer/_module.js +0 -2
  280. package/dist/esm/serializer/implementations/sql-serializer/_module.js.map +0 -1
  281. package/dist/esm/serializer/implementations/sql-serializer/sql-serializer.js.map +0 -1
  282. package/dist/esm/serializer/implementations/super-json-serializer/_module.js +0 -2
  283. package/dist/esm/serializer/implementations/super-json-serializer/_module.js.map +0 -1
  284. package/dist/esm/serializer/implementations/super-json-serializer/super-json-serializer.js.map +0 -1
  285. package/dist/types/cache/implementations/derivables/base-cache.d.ts +0 -58
  286. package/dist/types/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.d.ts +0 -43
  287. package/dist/types/event-bus/implementations/derivables/base-event-bus.d.ts +0 -23
  288. package/dist/types/event-bus/implementations/derivables/with-namespace-event-bus-adapter.d.ts +0 -16
  289. package/dist/types/serializer/contracts/_module.d.ts +0 -2
  290. package/dist/types/serializer/contracts/serializer.contract.d.ts +0 -16
  291. package/dist/types/serializer/implementations/_module.d.ts +0 -5
  292. package/dist/types/serializer/implementations/_shared/test-utilities/_module.d.ts +0 -1
  293. package/dist/types/serializer/implementations/_shared/test-utilities/serializer.test-suite.d.ts +0 -18
  294. package/dist/types/serializer/implementations/mongodb-serializer/_module.d.ts +0 -1
  295. package/dist/types/serializer/implementations/mongodb-serializer/mongodb-serializer.d.ts +0 -13
  296. package/dist/types/serializer/implementations/redis-serializer/_module.d.ts +0 -1
  297. package/dist/types/serializer/implementations/redis-serializer/redis-serializer.d.ts +0 -13
  298. package/dist/types/serializer/implementations/sql-serializer/_module.d.ts +0 -1
  299. package/dist/types/serializer/implementations/sql-serializer/sql-serializer.d.ts +0 -13
  300. package/dist/types/serializer/implementations/super-json-serializer/_module.d.ts +0 -1
  301. package/dist/types/serializer/implementations/super-json-serializer/super-json-serializer.d.ts +0 -37
  302. /package/dist/cjs/event-bus/implementations/adapters/{redis-event-bus-adapter → redis-pub-sub-event-bus-adapter}/_module.js +0 -0
  303. /package/dist/esm/event-bus/implementations/adapters/{redis-event-bus-adapter → redis-pub-sub-event-bus-adapter}/_module.js +0 -0
  304. /package/dist/types/event-bus/implementations/adapters/{redis-event-bus-adapter → redis-pub-sub-event-bus-adapter}/_module.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
+ import type { OneOrMore } from "../../../../utilities/_module";
4
5
  import type { Listener, IBaseEvent } from "../../../../event-bus/contracts/_module";
5
6
  import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module";
6
7
  /**
@@ -8,7 +9,9 @@ import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module";
8
9
  * @group Adapters
9
10
  */
10
11
  export declare class NoOpEventBusAdapter implements IEventBusAdapter {
12
+ getGroup(): string;
13
+ withGroup(_group: OneOrMore<string>): IEventBusAdapter;
11
14
  addListener(_event: string, _listener: Listener<IBaseEvent>): Promise<void>;
12
15
  removeListener(_event: string, _listener: Listener<IBaseEvent>): Promise<void>;
13
- dispatch(_events: IBaseEvent[]): Promise<void>;
16
+ dispatch(_event: IBaseEvent): Promise<void>;
14
17
  }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @module EventBus
3
+ */
4
+ import { type ISerde } from "../../../../serde/contracts/_module";
5
+ import type { IBaseEvent, IEventBusAdapter, Listener } from "../../../../event-bus/contracts/_module";
6
+ import type Redis from "ioredis";
7
+ import type { OneOrMore } from "../../../../utilities/_module";
8
+ /**
9
+ * @group Adapters
10
+ */
11
+ export type RedisPubSubEventBusAdapterSettings = {
12
+ dispatcherClient: Redis;
13
+ listenerClient: Redis;
14
+ serde: ISerde<string>;
15
+ rootGroup: OneOrMore<string>;
16
+ };
17
+ /**
18
+ * To utilize the <i>RedisPubSubEventBusAdapter</i>, you must install the <i>"ioredis"</i> package and supply a <i>{@link ISerde | string serde}</i>, such as <i>{@link SuperJsonSerde}</i>.
19
+ * @group Adapters
20
+ * @example
21
+ * ```ts
22
+ * import { RedisPubSubEventBusAdapter, SuperJsonSerde } from "@daiso-tech/core";
23
+ * import Redis from "ioredis";
24
+ *
25
+ * const dispatcherClient = new Redis("YOUR_REDIS_CONNECTION_STRING");
26
+ * const listenerClient = new Redis("YOUR_REDIS_CONNECTION_STRING");
27
+ * const serde = new SuperJsonSerde();
28
+ * const eventBusAdapter = new RedisPubSubEventBusAdapter({
29
+ * dispatcherClient,
30
+ * listenerClient,
31
+ * serde,
32
+ * });
33
+ * ```
34
+ */
35
+ export declare class RedisPubSubEventBusAdapter implements IEventBusAdapter {
36
+ private readonly group;
37
+ private readonly serde;
38
+ private readonly redisSerde;
39
+ private readonly dispatcherClient;
40
+ private readonly listenerClient;
41
+ private readonly eventEmitter;
42
+ constructor({ dispatcherClient, listenerClient, serde, rootGroup, }: RedisPubSubEventBusAdapterSettings);
43
+ getGroup(): string;
44
+ withGroup(group: OneOrMore<string>): IEventBusAdapter;
45
+ private withPrefix;
46
+ private redisListener;
47
+ addListener(eventName: string, listener: Listener<IBaseEvent>): Promise<void>;
48
+ removeListener(eventName: string, listener: Listener<IBaseEvent>): Promise<void>;
49
+ dispatch(event: IBaseEvent): Promise<void>;
50
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
- import type { INamespacedEventBus, IEventBusAdapter, IEventBusFactory, BaseEvents } from "../../../event-bus/contracts/_module";
4
+ import type { IGroupableEventBus, IEventBusAdapter, IEventBusFactory, BaseEvents } from "../../../event-bus/contracts/_module";
5
5
  /**
6
6
  * @group Derivables
7
7
  */
@@ -12,7 +12,7 @@ export type EventBusDrivers<TAdapters extends string = string> = Partial<Record<
12
12
  export type EventBusFactorySettings<TAdapters extends string = string> = {
13
13
  drivers: EventBusDrivers<TAdapters>;
14
14
  defaultDriver?: NoInfer<TAdapters>;
15
- rootNamespace?: string;
15
+ rootGroup?: string;
16
16
  };
17
17
  /**
18
18
  * @group Derivables
@@ -24,21 +24,20 @@ export type EventBusFactorySettings<TAdapters extends string = string> = {
24
24
  * const eventBusFactory = new EventBusFactory({
25
25
  * drivers: {
26
26
  * memory: new MemoryEventBusAdapter(),
27
- * redis: new RedisEventBusAdapter({
27
+ * redis: new RedisPubSubEventBusAdapter({
28
28
  * dispatcherClient: new Redis(),
29
29
  * listenerClient: new Redis(),
30
30
  * }),
31
31
  * },
32
32
  * defaultDriver: "memory",
33
- * rootNamespace: "@events"
34
33
  * });
35
34
  * ```
36
35
  */
37
36
  export declare class EventBusFactory<TAdapters extends string = string, TEvents extends BaseEvents = BaseEvents> implements IEventBusFactory<TAdapters, TEvents> {
38
37
  private readonly drivers;
39
38
  private readonly defaultDriver?;
40
- private readonly rootNamespace?;
39
+ private readonly lazyPromiseSettings?;
41
40
  constructor(settings: EventBusFactorySettings<TAdapters>);
42
- use(driverName?: TAdapters | undefined): INamespacedEventBus<TEvents>;
41
+ use(driverName?: TAdapters | undefined): IGroupableEventBus<TEvents>;
43
42
  withType<TOutput extends BaseEvents = TEvents>(): IEventBusFactory<TAdapters, TOutput>;
44
43
  }
@@ -1,61 +1,35 @@
1
1
  /**
2
2
  * @module EventBus
3
3
  */
4
+ import type { LazyPromiseSettings } from "../../../async/_module";
4
5
  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";
6
+ import type { SelectEvent, AllEvents, BaseEvents, Unsubscribe } from "../../../event-bus/contracts/_module";
7
+ import { type IEventBus, type IGroupableEventBus, type IEventBusAdapter, type Listener } from "../../../event-bus/contracts/_module";
7
8
  import type { OneOrMore } from "../../../utilities/_module";
8
- import { BaseEventBus } from "../../../event-bus/implementations/derivables/base-event-bus";
9
9
  /**
10
10
  * @group Derivables
11
11
  */
12
12
  export type EventBusSettings = {
13
- /**
14
- * You can prefix all keys with a given <i>namespace</i>.
15
- * This useful if you want to add multitenancy but still use the same database.
16
- * @default {""}
17
- * @example
18
- * ```ts
19
- * import { EventBus, MemoryEventBusAdapter } from "@daiso-tech/core";
20
- *
21
- * const memoryEventBusAdapter = new MemoryEventBusAdapter();
22
- * const eventBusA = new EventBus(memoryEventBusAdapter, {
23
- * rootNamespace: "@a"
24
- * });
25
- * const eventBusB = new EventBus(memoryEventBusAdapter, {
26
- * rootNamespace: "@b"
27
- * });
28
- *
29
- * (async () => {
30
- * eventBusB.addListener("add", event => {
31
- * // This will never be logged because eventBusB has different namespace
32
- * console.log("eventBusB:", event);
33
- * });
34
- *
35
- * eventBusB.addListener("add", event => {
36
- * // This will be logged
37
- * console.log("eventBusB:", event);
38
- * });
39
- *
40
- * await eventBusA.dispatch([
41
- * { type: "add", a: 1, b: 2 }
42
- * ]);
43
- * })();
44
- * ```
45
- */
46
- rootNamespace?: OneOrMore<string>;
13
+ lazyPromiseSettings?: LazyPromiseSettings;
47
14
  };
48
15
  /**
49
16
  * <i>EventBus</i> class can be derived from any <i>{@link IEventBusAdapter}</i>.
50
17
  * @group Derivables
51
18
  */
52
- export declare class EventBus<TEvents extends BaseEvents = BaseEvents> extends BaseEventBus<TEvents> implements INamespacedEventBus<TEvents> {
19
+ export declare class EventBus<TEvents extends BaseEvents = BaseEvents> implements IGroupableEventBus<TEvents> {
53
20
  private readonly eventBusAdapter;
54
- private readonly namespace;
21
+ private readonly lazyPromiseSettings?;
55
22
  constructor(eventBusAdapter: IEventBusAdapter, settings?: EventBusSettings);
56
- withNamespace(namespace: OneOrMore<string>): IEventBus<TEvents>;
57
- getNamespace(): string;
23
+ private createLayPromise;
24
+ withGroup(group: OneOrMore<string>): IEventBus<TEvents>;
25
+ getGroup(): string;
58
26
  addListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
59
27
  removeListener<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
60
- dispatch(events: OneOrMore<AllEvents<TEvents>>): LazyPromise<void>;
28
+ dispatchMany(events: AllEvents<TEvents>[]): LazyPromise<void>;
29
+ dispatch(event: AllEvents<TEvents>): LazyPromise<void>;
30
+ addListenerMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
31
+ removeListenerMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
32
+ listenOnce<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<void>;
33
+ subscribe<TEventName extends keyof TEvents>(eventName: TEventName, listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<Unsubscribe>;
34
+ subscribeMany<TEventName extends keyof TEvents>(eventNames: TEventName[], listener: Listener<SelectEvent<TEvents, TEventName>>): LazyPromise<Unsubscribe>;
61
35
  }
@@ -0,0 +1,2 @@
1
+ export * from "../../serde/contracts/serde.contract";
2
+ export * from "../../serde/contracts/serde.errors";
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @group Contracts
3
+ */
4
+ export type ISerializer<TSerializedValue = unknown> = {
5
+ /**
6
+ * @throws {SerializationError} {@link SerializationError}
7
+ */
8
+ serialize<TValue>(value: TValue): TSerializedValue;
9
+ };
10
+ /**
11
+ * @group Contracts
12
+ */
13
+ export type IDeserde<TSerializedValue = unknown> = {
14
+ /**
15
+ * @throws {DeserializationError} {@link DeserializationError}
16
+ */
17
+ deserialize<TValue>(serializedValue: TSerializedValue): TValue;
18
+ };
19
+ /**
20
+ * @group Contracts
21
+ */
22
+ export type ISerde<TSerializedValue = unknown> = ISerializer<TSerializedValue> & IDeserde<TSerializedValue>;
23
+ /**
24
+ * @group Contracts
25
+ */
26
+ export type ISerializable<TSerializedValue> = {
27
+ serialize(): TSerializedValue;
28
+ };
29
+ /**
30
+ * @group Contracts
31
+ */
32
+ export type SerializableClass<TSerializedValue> = {
33
+ new (...arguments_: any[]): ISerializable<TSerializedValue>;
34
+ deserialize(serializedValue: TSerializedValue): ISerializable<TSerializedValue>;
35
+ };
36
+ /**
37
+ * @group Contracts
38
+ */
39
+ export type IFlexibleSerde<TSerializedValue = unknown> = ISerde<TSerializedValue> & {
40
+ registerClass<TSerializedValue>(class_: SerializableClass<TSerializedValue>): void;
41
+ };
@@ -1,21 +1,21 @@
1
1
  /**
2
- * @module Serializer
2
+ * @module Serde
3
3
  */
4
4
  /**
5
5
  * @group Errors
6
6
  */
7
- export declare class SerializerError extends Error {
7
+ export declare class SerdeError extends Error {
8
8
  constructor(message: string, cause?: unknown);
9
9
  }
10
10
  /**
11
11
  * @group Errors
12
12
  */
13
- export declare class SerializationError extends SerializerError {
13
+ export declare class SerializationError extends SerdeError {
14
14
  constructor(message: string, cause?: unknown);
15
15
  }
16
16
  /**
17
17
  * @group Errors
18
18
  */
19
- export declare class DeserializationError extends SerializerError {
19
+ export declare class DeserializationError extends SerdeError {
20
20
  constructor(message: string, cause?: unknown);
21
21
  }
@@ -0,0 +1,5 @@
1
+ export * from "../../serde/implementations/_shared/test-utilities/_module";
2
+ export * from "../../serde/implementations/mongodb-serde/_module";
3
+ export * from "../../serde/implementations/redis-serde/_module";
4
+ export * from "../../serde/implementations/sql-serde/_module";
5
+ export * from "../../serde/implementations/super-json-serde/_module";
@@ -0,0 +1 @@
1
+ export * from "../../../../serde/implementations/_shared/test-utilities/serde.test-suite";
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @module Serde
3
+ */
4
+ import { type TestAPI, type ExpectStatic } from "vitest";
5
+ import { type ISerde } from "../../../../serde/contracts/_module";
6
+ import { type Promisable } from "../../../../utilities/_module";
7
+ /**
8
+ * @group Utilities
9
+ */
10
+ export type SerdeSuiteSettings = {
11
+ expect: ExpectStatic;
12
+ test: TestAPI;
13
+ createAdapter: () => Promisable<ISerde>;
14
+ };
15
+ /**
16
+ * @group Utilities
17
+ */
18
+ export declare function serdeTestSuite(settings: SerdeSuiteSettings): void;
@@ -0,0 +1 @@
1
+ export * from "../../../serde/implementations/mongodb-serde/mongodb-serde";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module Serde
3
+ */
4
+ import { type ISerde } from "../../../serde/contracts/_module";
5
+ /**
6
+ * @internal
7
+ */
8
+ export declare class MongodbSerde implements ISerde<string | number> {
9
+ private readonly serde;
10
+ constructor(serde: ISerde<string>);
11
+ serialize<TValue>(value: TValue): string | number;
12
+ deserialize<TValue>(value: string | number): TValue;
13
+ }
@@ -0,0 +1 @@
1
+ export * from "../../../serde/implementations/redis-serde/redis-serde";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module Serde
3
+ */
4
+ import { type ISerde } from "../../../serde/contracts/_module";
5
+ /**
6
+ * @internal
7
+ */
8
+ export declare class RedisSerde implements ISerde<string> {
9
+ private readonly serde;
10
+ constructor(serde: ISerde<string>);
11
+ serialize<TValue>(value: TValue): string;
12
+ deserialize<TValue>(value: string): TValue;
13
+ }
@@ -0,0 +1 @@
1
+ export * from "../../../serde/implementations/sql-serde/sql-serde";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @module Serde
3
+ */
4
+ import { type ISerde } from "../../../serde/contracts/_module";
5
+ /**
6
+ * @internal
7
+ */
8
+ export declare class SqlSerde implements ISerde<string> {
9
+ private readonly serde;
10
+ constructor(serde: ISerde<string>);
11
+ serialize<TValue>(value: TValue): string;
12
+ deserialize<TValue>(value: string): TValue;
13
+ }
@@ -0,0 +1 @@
1
+ export * from "../../../serde/implementations/super-json-serde/super-json-serde";
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @module Serde
3
+ */
4
+ import type { SerializableClass } from "../../../serde/contracts/_module";
5
+ import { type IFlexibleSerde } from "../../../serde/contracts/_module";
6
+ /**
7
+ * @group Adapters
8
+ */
9
+ export declare class SuperJsonSerde implements IFlexibleSerde<string> {
10
+ private readonly superJson;
11
+ constructor();
12
+ private registerBuffer;
13
+ private registerUint8Array;
14
+ private registerInt8Array;
15
+ private registerUint16Array;
16
+ private registerInt16Array;
17
+ private registerUint32Array;
18
+ private registerInt32Array;
19
+ private registerFloat32Array;
20
+ private registerFloat64Array;
21
+ private registerAll;
22
+ registerClass<TSerializedValue>(class_: SerializableClass<TSerializedValue>): void;
23
+ serialize<TValue>(value: TValue): string;
24
+ deserialize<TValue>(value: string): TValue;
25
+ }
@@ -22,4 +22,4 @@ export declare function isObjectEmpty(object: Record<string | number | symbol, a
22
22
  /**
23
23
  * @internal
24
24
  */
25
- export declare function simplifyNamespace(namepsace: OneOrMore<string>): string;
25
+ export declare function simplifyGroupName(name: OneOrMore<string>): string;
@@ -1,18 +1,27 @@
1
1
  /**
2
2
  * @module Utilities
3
3
  */
4
+ import type { ISerializable } from "../../_module";
5
+ /**
6
+ * @group Time utilities
7
+ */
8
+ export type ISerializedTimeSpan = {
9
+ timeInMs: number;
10
+ };
4
11
  /**
5
12
  * The <i>TimeSpan</i> class is used for representing time interval that is the difference between two times measured in a number of days, hours, minutes, and seconds.
6
13
  * <i>TimeSpan</i> cannot be negative.
7
14
  * @group Time utilities
8
15
  */
9
- export declare class TimeSpan {
16
+ export declare class TimeSpan implements ISerializable<ISerializedTimeSpan> {
10
17
  private readonly milliseconds;
11
18
  private static secondInMilliseconds;
12
19
  private static minuteInMilliseconds;
13
20
  private static hourInMilliseconds;
14
21
  private static dayInMilliseconds;
15
- private constructor();
22
+ static deserialize(serializedValue: ISerializedTimeSpan): TimeSpan;
23
+ constructor(milliseconds?: number);
24
+ serialize(): ISerializedTimeSpan;
16
25
  static fromMilliseconds(milliseconds: number): TimeSpan;
17
26
  static fromSeconds(seconds: number): TimeSpan;
18
27
  static fromMinutes(minutes: number): TimeSpan;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@daiso-tech/core",
3
3
  "private": false,
4
- "version": "0.15.0",
4
+ "version": "0.16.0",
5
5
  "author": "Yousif Abdulkarim",
6
6
  "license": "Apache-2.0",
7
7
  "main": "./dist/cjs/_module.js",
@@ -74,8 +74,7 @@
74
74
  "typedoc-plugin-merge-modules": "^6.0.0",
75
75
  "typescript": "^5.5.4",
76
76
  "vite-tsconfig-paths": "^4.3.2",
77
- "vitest": "^2.0.5",
78
- "zod": "^3.24.1"
77
+ "vitest": "^3.0.2"
79
78
  },
80
79
  "peerDependencies": {
81
80
  "@libsql/client": "^0.4.1",
@@ -95,16 +94,11 @@
95
94
  },
96
95
  "@libsql/client": {
97
96
  "optional": true
98
- },
99
- "zod": {
100
- "optional": true
101
97
  }
102
98
  },
103
99
  "dependencies": {
104
100
  "@libsql/kysely-libsql": "^0.4.0",
105
- "escape-string-regexp": "^5.0.0",
106
101
  "kysely": "^0.27.0",
107
- "superjson": "^2.2.0",
108
- "zod": "^3.24.0"
102
+ "superjson-cjs": "^2.2.3"
109
103
  }
110
104
  }