@daiso-tech/core 0.26.1 → 0.28.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 (289) hide show
  1. package/README.md +13 -3
  2. package/dist/async/utilities/delay/delay.d.ts +1 -12
  3. package/dist/async/utilities/delay/delay.js +1 -12
  4. package/dist/async/utilities/delay/delay.js.map +1 -1
  5. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +143 -71
  6. package/dist/async/utilities/lazy-promise/lazy-promise.js +223 -142
  7. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  8. package/dist/async/utilities/retry/retry-or-fail.d.ts +2 -0
  9. package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
  10. package/dist/cache/contracts/_module-exports.d.ts +1 -0
  11. package/dist/cache/contracts/_module-exports.js +1 -0
  12. package/dist/cache/contracts/_module-exports.js.map +1 -1
  13. package/dist/cache/contracts/cache-adapter.contract.d.ts +19 -21
  14. package/dist/cache/contracts/cache-adapter.contract.js +1 -4
  15. package/dist/cache/contracts/cache-adapter.contract.js.map +1 -1
  16. package/dist/cache/contracts/cache-factory.contract.d.ts +1 -1
  17. package/dist/cache/contracts/cache.contract.d.ts +144 -96
  18. package/dist/cache/contracts/cache.contract.js +1 -2
  19. package/dist/cache/contracts/cache.contract.js.map +1 -1
  20. package/dist/cache/contracts/cache.errors.js +2 -5
  21. package/dist/cache/contracts/cache.errors.js.map +1 -1
  22. package/dist/cache/contracts/cache.events.d.ts +10 -10
  23. package/dist/cache/contracts/cache.events.js +2 -5
  24. package/dist/cache/contracts/cache.events.js.map +1 -1
  25. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +89 -0
  26. package/dist/cache/contracts/database-cache-adapter.contract.js +5 -0
  27. package/dist/cache/contracts/database-cache-adapter.contract.js.map +1 -0
  28. package/dist/cache/implementations/adapters/{kysely-sqlite-cache-adapter → kysely-cache-adapter}/_module.d.ts +1 -1
  29. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js +2 -0
  30. package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js.map +1 -0
  31. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +73 -0
  32. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +224 -0
  33. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -0
  34. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +29 -39
  35. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +45 -54
  36. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  37. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +17 -33
  38. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +43 -52
  39. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  40. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.d.ts +13 -0
  41. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +38 -0
  42. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -0
  43. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +27 -33
  44. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +145 -197
  45. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  46. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +14 -13
  47. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +19 -17
  48. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
  49. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.d.ts +13 -0
  50. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +39 -0
  51. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -0
  52. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +16 -22
  53. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +51 -132
  54. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  55. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.d.ts +13 -0
  56. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js +69 -0
  57. package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js.map +1 -0
  58. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +29 -41
  59. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +46 -55
  60. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  61. package/dist/cache/implementations/derivables/_module-exports.d.ts +1 -1
  62. package/dist/cache/implementations/derivables/_module-exports.js +1 -1
  63. package/dist/cache/implementations/derivables/_module-exports.js.map +1 -1
  64. package/dist/cache/implementations/derivables/cache/_module.d.ts +1 -0
  65. package/dist/cache/implementations/derivables/cache/_module.js +1 -0
  66. package/dist/cache/implementations/derivables/cache/_module.js.map +1 -1
  67. package/dist/cache/implementations/derivables/cache/cache.d.ts +269 -507
  68. package/dist/cache/implementations/derivables/cache/cache.js +538 -822
  69. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  70. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +21 -0
  71. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +110 -0
  72. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -0
  73. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.d.ts +9 -0
  74. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +20 -0
  75. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -0
  76. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +69 -105
  77. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +117 -87
  78. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  79. package/dist/cache/implementations/test-utilities/_module-exports.d.ts +1 -0
  80. package/dist/cache/implementations/test-utilities/_module-exports.js +1 -0
  81. package/dist/cache/implementations/test-utilities/_module-exports.js.map +1 -1
  82. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +9 -11
  83. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +246 -247
  84. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  85. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +16 -30
  86. package/dist/cache/implementations/test-utilities/cache.test-suite.js +271 -996
  87. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  88. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +60 -0
  89. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +698 -0
  90. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -0
  91. package/dist/collection/contracts/async-collection.contract.d.ts +2 -3
  92. package/dist/collection/contracts/async-collection.contract.js +1 -12
  93. package/dist/collection/contracts/async-collection.contract.js.map +1 -1
  94. package/dist/collection/contracts/collection.contract.d.ts +1 -1
  95. package/dist/collection/contracts/collection.errors.d.ts +1 -1
  96. package/dist/collection/contracts/collection.errors.js +3 -6
  97. package/dist/collection/contracts/collection.errors.js.map +1 -1
  98. package/dist/collection/implementations/_shared.d.ts +4 -4
  99. package/dist/collection/implementations/_shared.js +6 -9
  100. package/dist/collection/implementations/_shared.js.map +1 -1
  101. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +2 -2
  102. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -1
  103. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -21
  104. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +12 -8
  105. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  106. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
  107. package/dist/collection/implementations/iterable-collection/iterable-collection.js +1 -1
  108. package/dist/collection/implementations/list-collection/list-collection.d.ts +1 -1
  109. package/dist/collection/implementations/list-collection/list-collection.js +1 -1
  110. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +0 -9
  111. package/dist/event-bus/contracts/event-bus.contract.d.ts +5 -5
  112. package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
  113. package/dist/event-bus/contracts/event-bus.errors.js +2 -5
  114. package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
  115. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +9 -29
  116. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +14 -35
  117. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  118. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +2 -4
  119. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +2 -8
  120. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  121. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +8 -15
  122. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +15 -34
  123. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  124. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +85 -289
  125. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +128 -325
  126. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  127. package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +13 -0
  128. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +42 -0
  129. package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -0
  130. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +103 -86
  131. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +135 -77
  132. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  133. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -48
  134. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +31 -122
  135. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  136. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -50
  137. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +41 -89
  138. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  139. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +0 -9
  140. package/dist/lock/contracts/lock-adapter.contract.d.ts +0 -9
  141. package/dist/lock/contracts/lock-provider.contract.d.ts +20 -6
  142. package/dist/lock/contracts/lock.contract.d.ts +37 -8
  143. package/dist/lock/contracts/lock.errors.js +2 -5
  144. package/dist/lock/contracts/lock.errors.js.map +1 -1
  145. package/dist/lock/contracts/lock.events.js +2 -5
  146. package/dist/lock/contracts/lock.events.js.map +1 -1
  147. package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -0
  148. package/dist/lock/implementations/adapters/_module-exports.js +1 -0
  149. package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
  150. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +0 -5
  151. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -21
  152. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  153. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +11 -16
  154. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +11 -20
  155. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
  156. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +7 -26
  157. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +7 -35
  158. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  159. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +13 -20
  160. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +13 -37
  161. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  162. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.d.ts +1 -0
  163. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js +2 -0
  164. package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js.map +1 -0
  165. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +17 -0
  166. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +24 -0
  167. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -0
  168. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +4 -22
  169. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +4 -31
  170. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
  171. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +14 -20
  172. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +12 -21
  173. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
  174. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +0 -2
  175. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +2 -8
  176. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  177. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +1 -5
  178. package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
  179. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +181 -369
  180. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +259 -407
  181. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  182. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +15 -17
  183. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +42 -40
  184. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  185. package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +3 -3
  186. package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +1 -1
  187. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +194 -680
  188. package/dist/lock/implementations/derivables/lock-provider/lock.js +284 -744
  189. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  190. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +106 -143
  191. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +173 -101
  192. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  193. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +4 -5
  194. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +172 -247
  195. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  196. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +5 -8
  197. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +93 -98
  198. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  199. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -20
  200. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +295 -145
  201. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  202. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +1 -2
  203. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
  204. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +3 -2
  205. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +2 -1
  206. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js.map +1 -1
  207. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +1 -2
  208. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
  209. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +1 -2
  210. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
  211. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +2 -2
  212. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +2 -2
  213. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  214. package/dist/serde/implementations/derivables/serde.d.ts +14 -14
  215. package/dist/serde/implementations/derivables/serde.js +14 -15
  216. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  217. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +4 -4
  218. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +3 -3
  219. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +5 -5
  220. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +4 -4
  221. package/dist/utilities/_module-exports.d.ts +2 -3
  222. package/dist/utilities/_module-exports.js +2 -3
  223. package/dist/utilities/_module-exports.js.map +1 -1
  224. package/dist/utilities/classes/_module.d.ts +4 -0
  225. package/dist/utilities/classes/_module.js +5 -0
  226. package/dist/utilities/classes/_module.js.map +1 -0
  227. package/dist/utilities/classes/key-prefixer/_module.d.ts +2 -0
  228. package/dist/utilities/classes/key-prefixer/_module.js +3 -0
  229. package/dist/utilities/classes/key-prefixer/_module.js.map +1 -0
  230. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +28 -0
  231. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js +5 -0
  232. package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js.map +1 -0
  233. package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +73 -0
  234. package/dist/utilities/classes/key-prefixer/key-prefixer.js +135 -0
  235. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -0
  236. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.d.ts +1 -0
  237. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js +2 -0
  238. package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js.map +1 -0
  239. package/dist/utilities/classes/kysely-table-name-transformer-plugin/kysely-table-name-transformer-plugin.js.map +1 -0
  240. package/dist/utilities/classes/pipeline/_module.d.ts +1 -0
  241. package/dist/utilities/classes/pipeline/_module.js +2 -0
  242. package/dist/utilities/classes/pipeline/_module.js.map +1 -0
  243. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.d.ts +3 -2
  244. package/dist/utilities/{pipeline → classes/pipeline}/pipeline.js +3 -2
  245. package/dist/utilities/classes/pipeline/pipeline.js.map +1 -0
  246. package/dist/utilities/classes/time-span/_module.d.ts +1 -0
  247. package/dist/utilities/classes/time-span/_module.js +2 -0
  248. package/dist/utilities/classes/time-span/_module.js.map +1 -0
  249. package/dist/utilities/{time-span → classes/time-span}/time-span.d.ts +2 -1
  250. package/dist/utilities/{time-span → classes/time-span}/time-span.js +1 -0
  251. package/dist/utilities/classes/time-span/time-span.js.map +1 -0
  252. package/dist/utilities/{_constants.d.ts → constants.d.ts} +0 -3
  253. package/dist/utilities/constants.js +5 -0
  254. package/dist/utilities/constants.js.map +1 -0
  255. package/dist/utilities/contracts/_module.d.ts +3 -1
  256. package/dist/utilities/contracts/_module.js +3 -1
  257. package/dist/utilities/contracts/_module.js.map +1 -1
  258. package/dist/utilities/contracts/prunable.contract.d.ts +11 -0
  259. package/dist/utilities/contracts/prunable.contract.js +5 -0
  260. package/dist/utilities/contracts/prunable.contract.js.map +1 -0
  261. package/dist/utilities/contracts/sqlite-database.contract.d.ts +26 -0
  262. package/dist/utilities/contracts/sqlite-database.contract.js +5 -0
  263. package/dist/utilities/contracts/sqlite-database.contract.js.map +1 -0
  264. package/dist/utilities/functions.d.ts +34 -2
  265. package/dist/utilities/functions.js +72 -4
  266. package/dist/utilities/functions.js.map +1 -1
  267. package/dist/utilities/types.d.ts +49 -16
  268. package/package.json +14 -13
  269. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +0 -2
  270. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +0 -1
  271. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +0 -61
  272. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +0 -318
  273. package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +0 -1
  274. package/dist/utilities/_constants.js +0 -8
  275. package/dist/utilities/_constants.js.map +0 -1
  276. package/dist/utilities/kysely/_module.d.ts +0 -1
  277. package/dist/utilities/kysely/_module.js +0 -2
  278. package/dist/utilities/kysely/_module.js.map +0 -1
  279. package/dist/utilities/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
  280. package/dist/utilities/pipeline/_module.d.ts +0 -1
  281. package/dist/utilities/pipeline/_module.js +0 -2
  282. package/dist/utilities/pipeline/_module.js.map +0 -1
  283. package/dist/utilities/pipeline/pipeline.js.map +0 -1
  284. package/dist/utilities/time-span/_module.d.ts +0 -1
  285. package/dist/utilities/time-span/_module.js +0 -2
  286. package/dist/utilities/time-span/_module.js.map +0 -1
  287. package/dist/utilities/time-span/time-span.js.map +0 -1
  288. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.d.ts +0 -0
  289. /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.js +0 -0
@@ -5,150 +5,59 @@ import { describe, } from "vitest";
5
5
  import { BaseEvent } from "../../../event-bus/contracts/_module-exports.js";
6
6
  import {} from "../../../utilities/_module-exports.js";
7
7
  import { TimeSpan } from "../../../utilities/_module-exports.js";
8
- import { delay } from "../../../async/_module-exports.js";
8
+ import { LazyPromise } from "../../../async/_module-exports.js";
9
9
  import { Serde } from "../../../serde/implementations/derivables/_module-exports.js";
10
10
  import { NoOpSerdeAdapter } from "../../../serde/implementations/adapters/_module-exports.js";
11
11
  /**
12
12
  * The <i>eventBusAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IEventBusAdapter}</i> with vitest.
13
13
  *
14
- * IMPORT_PATH: ```"@daiso-tech/core/event-bus/implementations/test-utilities"```
14
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus/test-utilities"```
15
15
  * @group Test utilities
16
- * @example
17
- * ```ts
18
- * import { describe, test, beforeEach, expect, afterEach } from "vitest";
19
- * import type { StartedRedisContainer } from "@testcontainers/redis";
20
- * import { RedisContainer } from "@testcontainers/redis";
21
- * import Redis from "ioredis";
22
- * import { RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
23
- * import { Serde } from "@daiso-tech/core/serde/implementations/derivables";
24
- * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/implementations/adapters";
25
- * import { eventBusAdapterTestSuite } from "@daiso-tech/core/event-bus/implementations/test-utilities";
26
- *
27
- * const TIMEOUT = TimeSpan.fromMinutes(2);
28
- * describe("class: RedisPubSubEventBusAdapter", () => {
29
- * let dispatcherClient: Redis;
30
- * let listenerClient: Redis;
31
- * let startedContainer: StartedRedisContainer;
32
- * const serde = new Serde(new SuperJsonSerdeAdapter());
33
- *
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
- *
40
- * afterEach(async () => {
41
- * await dispatcherClient.quit();
42
- * await listenerClient.quit();
43
- * await startedContainer.stop();
44
- * }, TIMEOUT.toMilliseconds());
45
- *
46
- * eventBusAdapterTestSuite({
47
- * createAdapter: () =>
48
- * new RedisPubSubEventBusAdapter({
49
- * dispatcherClient,
50
- * listenerClient,
51
- * serde,
52
- * rootGroup: "@global"
53
- * }),
54
- * serde,
55
- * test,
56
- * beforeEach,
57
- * expect,
58
- * describe,
59
- * });
60
- * });
61
- * ```
62
16
  */
63
17
  export function eventBusAdapterTestSuite(settings) {
64
18
  const { expect, test, createAdapter, beforeEach, serde = new Serde(new NoOpSerdeAdapter()), } = settings;
65
- let eventBusAdapterA;
66
- let eventBusAdapterB;
19
+ let adapter;
67
20
  beforeEach(async () => {
68
- eventBusAdapterA = await createAdapter();
69
- eventBusAdapterB = eventBusAdapterA.withGroup("b");
21
+ adapter = await createAdapter();
70
22
  });
71
23
  const TTL = TimeSpan.fromMilliseconds(50);
72
24
  class TestEvent extends BaseEvent {
73
25
  }
74
26
  serde.registerEvent(TestEvent);
75
- describe("Api tests:", () => {
76
- describe("method: addListener, removeListener, dispatch", () => {
77
- test("Should be null when listener added and event is not triggered", async () => {
78
- let result = null;
79
- await eventBusAdapterA.addListener(TestEvent.name, (event) => {
80
- result = event;
81
- });
82
- expect(result).toBeNull();
83
- });
84
- test("Should be TestEvent when listener added and event is triggered", async () => {
85
- let result = null;
86
- await eventBusAdapterA.addListener(TestEvent.name, (event) => {
87
- result = event;
88
- });
89
- const event = new TestEvent({
90
- type: BaseEvent.name,
91
- });
92
- await eventBusAdapterA.dispatch(TestEvent.name, event);
93
- await delay(TTL);
94
- expect(result).toEqual(event);
95
- expect(result).toBeInstanceOf(TestEvent);
96
- });
97
- test("Should be null when listener removed and event is triggered", async () => {
98
- let result = null;
99
- const listener = (event) => {
100
- result = event;
101
- };
102
- await eventBusAdapterA.addListener(TestEvent.name, listener);
103
- await eventBusAdapterA.removeListener(TestEvent.name, listener);
104
- const event = new TestEvent({
105
- type: BaseEvent.name,
106
- });
107
- await eventBusAdapterA.dispatch(TestEvent.name, event);
108
- await delay(TTL);
109
- expect(result).toBeNull();
27
+ describe("method: addListener, removeListener, dispatch", () => {
28
+ test("Should be null when listener added and event is not triggered", async () => {
29
+ let result = null;
30
+ await adapter.addListener(TestEvent.name, (event) => {
31
+ result = event;
110
32
  });
33
+ expect(result).toBeNull();
111
34
  });
112
- });
113
- describe("Group tests:", () => {
114
- test("method: addListener / dispatch", async () => {
115
- const event = new TestEvent({
116
- type: "type",
117
- });
118
- let result_a = null;
119
- await eventBusAdapterA.addListener(TestEvent.name, (event) => {
120
- result_a = event;
35
+ test("Should be TestEvent when listener added and event is triggered", async () => {
36
+ let result = null;
37
+ await adapter.addListener(TestEvent.name, (event) => {
38
+ result = event;
121
39
  });
122
- let result_b = null;
123
- await eventBusAdapterB.addListener(TestEvent.name, (event) => {
124
- result_b = event;
40
+ const event = new TestEvent({
41
+ type: BaseEvent.name,
125
42
  });
126
- await eventBusAdapterA.dispatch(TestEvent.name, event);
127
- await delay(TTL);
128
- expect(result_a).toEqual(event);
129
- expect(result_a).toBeInstanceOf(TestEvent);
130
- expect(result_b).toBeNull();
43
+ await adapter.dispatch(TestEvent.name, event);
44
+ await LazyPromise.delay(TTL);
45
+ expect(result).toEqual(event);
46
+ expect(result).toBeInstanceOf(TestEvent);
131
47
  });
132
- test("method: removeListener / addListener / dispatch", async () => {
48
+ test("Should be null when listener removed and event is triggered", async () => {
49
+ let result = null;
50
+ const listener = (event) => {
51
+ result = event;
52
+ };
53
+ await adapter.addListener(TestEvent.name, listener);
54
+ await adapter.removeListener(TestEvent.name, listener);
133
55
  const event = new TestEvent({
134
- type: "type",
135
- });
136
- let result_a = null;
137
- await eventBusAdapterA.addListener(TestEvent.name, (event) => {
138
- result_a = event;
56
+ type: BaseEvent.name,
139
57
  });
140
- let result_b = null;
141
- const listenerB = (event) => {
142
- result_b = event;
143
- };
144
- await eventBusAdapterB.addListener(TestEvent.name, listenerB);
145
- await eventBusAdapterB.removeListener(TestEvent.name, listenerB);
146
- await eventBusAdapterA.dispatch(TestEvent.name, event);
147
- await eventBusAdapterB.dispatch(TestEvent.name, event);
148
- await delay(TTL);
149
- expect(result_a).toEqual(event);
150
- expect(result_a).toBeInstanceOf(TestEvent);
151
- expect(result_b).toBeNull();
58
+ await adapter.dispatch(TestEvent.name, event);
59
+ await LazyPromise.delay(TTL);
60
+ expect(result).toBeNull();
152
61
  });
153
62
  });
154
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-bus-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { type Promisable } from "../../../utilities/_module-exports.js";
7
7
  import type { IFlexibleSerde } from "../../../serde/contracts/_module-exports.js";
8
8
  /**
9
9
  *
10
- * IMPORT_PATH: ```"@daiso-tech/core/event-bus/implementations/test-utilities"```
10
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus/test-utilities"```
11
11
  * @group Test utilities
12
12
  */
13
13
  export type EventBusTestSuiteSettings = {
@@ -21,55 +21,7 @@ export type EventBusTestSuiteSettings = {
21
21
  /**
22
22
  * The <i>eventBusTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IEventBus}</i> with vitest.
23
23
  *
24
- * IMPORT_PATH: ```"@daiso-tech/core/event-bus/implementations/test-utilities"```
24
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus/test-utilities"```
25
25
  * @group Test utilities
26
- * @example
27
- * ```ts
28
- * import { describe, test, beforeEach, expect, afterEach } from "vitest";
29
- * import type { StartedRedisContainer } from "@testcontainers/redis";
30
- * import { RedisContainer } from "@testcontainers/redis";
31
- * import Redis from "ioredis";
32
- * import { RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
33
- * import { Serde } from "@daiso-tech/core/serde/implementations/derivables";
34
- * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/implementations/adapters";
35
- * import { eventBusTestSuite } from "@daiso-tech/core/event-bus/implementations/test-utilities";
36
- *
37
- * const TIMEOUT = TimeSpan.fromMinutes(2);
38
- * describe("class: EventBus", () => {
39
- * let dispatcherClient: Redis;
40
- * let listenerClient: Redis;
41
- * let startedContainer: StartedRedisContainer;
42
- * const serde = new Serde(new SuperJsonSerdeAdapter());
43
- *
44
- * beforeEach(async () => {
45
- * startedContainer = await new RedisContainer().start();
46
- * dispatcherClient = new Redis(startedContainer.getConnectionUrl());
47
- * listenerClient = new Redis(startedContainer.getConnectionUrl());
48
- * }, TIMEOUT.toMilliseconds());
49
- *
50
- * afterEach(async () => {
51
- * await dispatcherClient.quit();
52
- * await listenerClient.quit();
53
- * await startedContainer.stop();
54
- * }, TIMEOUT.toMilliseconds());
55
- *
56
- * eventBusTestSuite({
57
- * createEventBus: () =>
58
- * new EventBus(
59
- * new RedisPubSubEventBusAdapter({
60
- * dispatcherClient,
61
- * listenerClient,
62
- * serde,
63
- * rootGroup: "@global"
64
- * })
65
- * ),
66
- * serde,
67
- * test,
68
- * beforeEach,
69
- * expect,
70
- * describe,
71
- * });
72
- * });
73
- * ```
74
26
  */
75
27
  export declare function eventBusTestSuite(settings: EventBusTestSuiteSettings): void;
@@ -5,62 +5,14 @@ import {} from "vitest";
5
5
  import { BaseEvent, } from "../../../event-bus/contracts/_module-exports.js";
6
6
  import {} from "../../../utilities/_module-exports.js";
7
7
  import { TimeSpan } from "../../../utilities/_module-exports.js";
8
- import { delay } from "../../../async/_module-exports.js";
8
+ import { LazyPromise } from "../../../async/_module-exports.js";
9
9
  import { Serde } from "../../../serde/implementations/derivables/_module-exports.js";
10
10
  import { NoOpSerdeAdapter } from "../../../serde/implementations/adapters/_module-exports.js";
11
11
  /**
12
12
  * The <i>eventBusTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IEventBus}</i> with vitest.
13
13
  *
14
- * IMPORT_PATH: ```"@daiso-tech/core/event-bus/implementations/test-utilities"```
14
+ * IMPORT_PATH: ```"@daiso-tech/core/event-bus/test-utilities"```
15
15
  * @group Test utilities
16
- * @example
17
- * ```ts
18
- * import { describe, test, beforeEach, expect, afterEach } from "vitest";
19
- * import type { StartedRedisContainer } from "@testcontainers/redis";
20
- * import { RedisContainer } from "@testcontainers/redis";
21
- * import Redis from "ioredis";
22
- * import { RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
23
- * import { Serde } from "@daiso-tech/core/serde/implementations/derivables";
24
- * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/implementations/adapters";
25
- * import { eventBusTestSuite } from "@daiso-tech/core/event-bus/implementations/test-utilities";
26
- *
27
- * const TIMEOUT = TimeSpan.fromMinutes(2);
28
- * describe("class: EventBus", () => {
29
- * let dispatcherClient: Redis;
30
- * let listenerClient: Redis;
31
- * let startedContainer: StartedRedisContainer;
32
- * const serde = new Serde(new SuperJsonSerdeAdapter());
33
- *
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
- *
40
- * afterEach(async () => {
41
- * await dispatcherClient.quit();
42
- * await listenerClient.quit();
43
- * await startedContainer.stop();
44
- * }, TIMEOUT.toMilliseconds());
45
- *
46
- * eventBusTestSuite({
47
- * createEventBus: () =>
48
- * new EventBus(
49
- * new RedisPubSubEventBusAdapter({
50
- * dispatcherClient,
51
- * listenerClient,
52
- * serde,
53
- * rootGroup: "@global"
54
- * })
55
- * ),
56
- * serde,
57
- * test,
58
- * beforeEach,
59
- * expect,
60
- * describe,
61
- * });
62
- * });
63
- * ```
64
16
  */
65
17
  export function eventBusTestSuite(settings) {
66
18
  const { expect, serde = new Serde(new NoOpSerdeAdapter()), test, describe, createEventBus, beforeEach, } = settings;
@@ -127,7 +79,7 @@ export function eventBusTestSuite(settings) {
127
79
  b: 2,
128
80
  });
129
81
  await eventBusA.dispatch(event);
130
- await delay(TTL);
82
+ await LazyPromise.delay(TTL);
131
83
  expect(listener.result).toEqual(event);
132
84
  expect(listener.result).toBeInstanceOf(AddEvent);
133
85
  await eventBusA.removeListener(AddEvent, listener);
@@ -146,7 +98,7 @@ export function eventBusTestSuite(settings) {
146
98
  b: 2,
147
99
  });
148
100
  await eventBusA.dispatch(event);
149
- await delay(TTL);
101
+ await LazyPromise.delay(TTL);
150
102
  expect(listener.result).toEqual(event);
151
103
  expect(listener.result).toBeInstanceOf(AddEvent);
152
104
  await eventBusA.removeListener(AddEvent, listener);
@@ -162,7 +114,7 @@ export function eventBusTestSuite(settings) {
162
114
  b: 2,
163
115
  });
164
116
  await eventBusA.dispatch(event);
165
- await delay(TTL);
117
+ await LazyPromise.delay(TTL);
166
118
  expect(result).toEqual(event);
167
119
  expect(result).toBeInstanceOf(AddEvent);
168
120
  await eventBusA.removeListener(AddEvent, listener);
@@ -183,7 +135,7 @@ export function eventBusTestSuite(settings) {
183
135
  b: 2,
184
136
  });
185
137
  await eventBusA.dispatch(event);
186
- await delay(TTL);
138
+ await LazyPromise.delay(TTL);
187
139
  expect(listener.result).toBeNull();
188
140
  });
189
141
  test("Class instance listener", async () => {
@@ -201,7 +153,7 @@ export function eventBusTestSuite(settings) {
201
153
  b: 2,
202
154
  });
203
155
  await eventBusA.dispatch(event);
204
- await delay(TTL);
156
+ await LazyPromise.delay(TTL);
205
157
  expect(listener.result).toBeNull();
206
158
  });
207
159
  test("Function listener", async () => {
@@ -216,7 +168,7 @@ export function eventBusTestSuite(settings) {
216
168
  b: 2,
217
169
  });
218
170
  await eventBusA.dispatch(event);
219
- await delay(TTL);
171
+ await LazyPromise.delay(TTL);
220
172
  expect(result).toBeNull();
221
173
  });
222
174
  });
@@ -301,7 +253,7 @@ export function eventBusTestSuite(settings) {
301
253
  d: 2,
302
254
  });
303
255
  await eventBusA.dispatchMany([addEvent, subEvent]);
304
- await delay(TTL);
256
+ await LazyPromise.delay(TTL);
305
257
  expect(listener.resultA).toEqual(addEvent);
306
258
  expect(listener.resultA).toBeInstanceOf(AddEvent);
307
259
  expect(listener.resultB).toEqual(subEvent);
@@ -332,7 +284,7 @@ export function eventBusTestSuite(settings) {
332
284
  d: 2,
333
285
  });
334
286
  await eventBusA.dispatchMany([addEvent, subEvent]);
335
- await delay(TTL);
287
+ await LazyPromise.delay(TTL);
336
288
  expect(listener.resultA).toEqual(addEvent);
337
289
  expect(listener.resultA).toBeInstanceOf(AddEvent);
338
290
  expect(listener.resultB).toEqual(subEvent);
@@ -360,7 +312,7 @@ export function eventBusTestSuite(settings) {
360
312
  d: 2,
361
313
  });
362
314
  await eventBusA.dispatchMany([addEvent, subEvent]);
363
- await delay(TTL);
315
+ await LazyPromise.delay(TTL);
364
316
  expect(resultA).toEqual(addEvent);
365
317
  expect(resultA).toBeInstanceOf(AddEvent);
366
318
  expect(resultB).toEqual(subEvent);
@@ -393,7 +345,7 @@ export function eventBusTestSuite(settings) {
393
345
  d: 2,
394
346
  });
395
347
  await eventBusA.dispatchMany([addEvent, subEvent]);
396
- await delay(TTL);
348
+ await LazyPromise.delay(TTL);
397
349
  expect(listener.resultA).toBeNull();
398
350
  expect(listener.resultB).toBeNull();
399
351
  });
@@ -422,7 +374,7 @@ export function eventBusTestSuite(settings) {
422
374
  d: 2,
423
375
  });
424
376
  await eventBusA.dispatchMany([addEvent, subEvent]);
425
- await delay(TTL);
377
+ await LazyPromise.delay(TTL);
426
378
  expect(listener.resultA).toBeNull();
427
379
  expect(listener.resultB).toBeNull();
428
380
  });
@@ -448,7 +400,7 @@ export function eventBusTestSuite(settings) {
448
400
  d: 2,
449
401
  });
450
402
  await eventBusA.dispatchMany([addEvent, subEvent]);
451
- await delay(TTL);
403
+ await LazyPromise.delay(TTL);
452
404
  expect(resultA).toBeNull();
453
405
  expect(resultB).toBeNull();
454
406
  });
@@ -503,7 +455,7 @@ export function eventBusTestSuite(settings) {
503
455
  b: 2,
504
456
  });
505
457
  await eventBusA.dispatch(event);
506
- await delay(TTL);
458
+ await LazyPromise.delay(TTL);
507
459
  expect(listener.result).toEqual(event);
508
460
  expect(listener.result).toBeInstanceOf(AddEvent);
509
461
  await unsubscribe();
@@ -522,7 +474,7 @@ export function eventBusTestSuite(settings) {
522
474
  b: 2,
523
475
  });
524
476
  await eventBusA.dispatch(event);
525
- await delay(TTL);
477
+ await LazyPromise.delay(TTL);
526
478
  expect(listener.result).toEqual(event);
527
479
  expect(listener.result).toBeInstanceOf(AddEvent);
528
480
  await unsubscribe();
@@ -538,7 +490,7 @@ export function eventBusTestSuite(settings) {
538
490
  b: 2,
539
491
  });
540
492
  await eventBusA.dispatch(event);
541
- await delay(TTL);
493
+ await LazyPromise.delay(TTL);
542
494
  expect(result).toEqual(event);
543
495
  expect(result).toBeInstanceOf(AddEvent);
544
496
  await unsubscribe();
@@ -559,7 +511,7 @@ export function eventBusTestSuite(settings) {
559
511
  b: 2,
560
512
  });
561
513
  await eventBusA.dispatch(event);
562
- await delay(TTL);
514
+ await LazyPromise.delay(TTL);
563
515
  expect(listener.result).toBeNull();
564
516
  });
565
517
  test("Class instance listener", async () => {
@@ -577,7 +529,7 @@ export function eventBusTestSuite(settings) {
577
529
  b: 2,
578
530
  });
579
531
  await eventBusA.dispatch(event);
580
- await delay(TTL);
532
+ await LazyPromise.delay(TTL);
581
533
  expect(listener.result).toBeNull();
582
534
  });
583
535
  test("Function listener", async () => {
@@ -592,7 +544,7 @@ export function eventBusTestSuite(settings) {
592
544
  b: 2,
593
545
  });
594
546
  await eventBusA.dispatch(event);
595
- await delay(TTL);
547
+ await LazyPromise.delay(TTL);
596
548
  expect(result).toBeNull();
597
549
  });
598
550
  });
@@ -677,7 +629,7 @@ export function eventBusTestSuite(settings) {
677
629
  d: 2,
678
630
  });
679
631
  await eventBusA.dispatchMany([addEvent, subEvent]);
680
- await delay(TTL);
632
+ await LazyPromise.delay(TTL);
681
633
  expect(listener.resultA).toEqual(addEvent);
682
634
  expect(listener.resultA).toBeInstanceOf(AddEvent);
683
635
  expect(listener.resultB).toEqual(subEvent);
@@ -708,7 +660,7 @@ export function eventBusTestSuite(settings) {
708
660
  d: 2,
709
661
  });
710
662
  await eventBusA.dispatchMany([addEvent, subEvent]);
711
- await delay(TTL);
663
+ await LazyPromise.delay(TTL);
712
664
  expect(listener.resultA).toEqual(addEvent);
713
665
  expect(listener.resultA).toBeInstanceOf(AddEvent);
714
666
  expect(listener.resultB).toEqual(subEvent);
@@ -736,7 +688,7 @@ export function eventBusTestSuite(settings) {
736
688
  d: 2,
737
689
  });
738
690
  await eventBusA.dispatchMany([addEvent, subEvent]);
739
- await delay(TTL);
691
+ await LazyPromise.delay(TTL);
740
692
  expect(resultA).toEqual(addEvent);
741
693
  expect(resultA).toBeInstanceOf(AddEvent);
742
694
  expect(resultB).toEqual(subEvent);
@@ -769,7 +721,7 @@ export function eventBusTestSuite(settings) {
769
721
  d: 2,
770
722
  });
771
723
  await eventBusA.dispatchMany([addEvent, subEvent]);
772
- await delay(TTL);
724
+ await LazyPromise.delay(TTL);
773
725
  expect(listener.resultA).toBeNull();
774
726
  expect(listener.resultB).toBeNull();
775
727
  });
@@ -798,7 +750,7 @@ export function eventBusTestSuite(settings) {
798
750
  d: 2,
799
751
  });
800
752
  await eventBusA.dispatchMany([addEvent, subEvent]);
801
- await delay(TTL);
753
+ await LazyPromise.delay(TTL);
802
754
  expect(listener.resultA).toBeNull();
803
755
  expect(listener.resultB).toBeNull();
804
756
  });
@@ -824,7 +776,7 @@ export function eventBusTestSuite(settings) {
824
776
  d: 2,
825
777
  });
826
778
  await eventBusA.dispatchMany([addEvent, subEvent]);
827
- await delay(TTL);
779
+ await LazyPromise.delay(TTL);
828
780
  expect(resultA).toBeNull();
829
781
  expect(resultB).toBeNull();
830
782
  });
@@ -876,7 +828,7 @@ export function eventBusTestSuite(settings) {
876
828
  b: 2,
877
829
  });
878
830
  await eventBusA.dispatch(event);
879
- await delay(TTL);
831
+ await LazyPromise.delay(TTL);
880
832
  expect(listener.result).toEqual(event);
881
833
  expect(listener.result).toBeInstanceOf(AddEvent);
882
834
  });
@@ -894,7 +846,7 @@ export function eventBusTestSuite(settings) {
894
846
  b: 2,
895
847
  });
896
848
  await eventBusA.dispatch(event);
897
- await delay(TTL);
849
+ await LazyPromise.delay(TTL);
898
850
  expect(listener.result).toEqual(event);
899
851
  expect(listener.result).toBeInstanceOf(AddEvent);
900
852
  });
@@ -909,7 +861,7 @@ export function eventBusTestSuite(settings) {
909
861
  b: 2,
910
862
  });
911
863
  await eventBusA.dispatch(event);
912
- await delay(TTL);
864
+ await LazyPromise.delay(TTL);
913
865
  expect(result).toEqual(event);
914
866
  expect(result).toBeInstanceOf(AddEvent);
915
867
  });
@@ -929,7 +881,7 @@ export function eventBusTestSuite(settings) {
929
881
  });
930
882
  await eventBusA.dispatch(event);
931
883
  await eventBusA.dispatch(event);
932
- await delay(TTL);
884
+ await LazyPromise.delay(TTL);
933
885
  expect(listener.i).toBe(1);
934
886
  });
935
887
  test("Class instance listener", async () => {
@@ -947,7 +899,7 @@ export function eventBusTestSuite(settings) {
947
899
  });
948
900
  await eventBusA.dispatch(event);
949
901
  await eventBusA.dispatch(event);
950
- await delay(TTL);
902
+ await LazyPromise.delay(TTL);
951
903
  expect(listener.i).toBe(1);
952
904
  });
953
905
  test("Function listener", async () => {
@@ -962,7 +914,7 @@ export function eventBusTestSuite(settings) {
962
914
  });
963
915
  await eventBusA.dispatch(event);
964
916
  await eventBusA.dispatch(event);
965
- await delay(TTL);
917
+ await LazyPromise.delay(TTL);
966
918
  expect(i).toBe(1);
967
919
  });
968
920
  });
@@ -987,7 +939,7 @@ export function eventBusTestSuite(settings) {
987
939
  b: 2,
988
940
  });
989
941
  await eventBusA.dispatch(event);
990
- await delay(TTL);
942
+ await LazyPromise.delay(TTL);
991
943
  expect(result).toEqual(event);
992
944
  expect(result).toBeInstanceOf(AddEvent);
993
945
  });
@@ -1008,7 +960,7 @@ export function eventBusTestSuite(settings) {
1008
960
  b: 2,
1009
961
  });
1010
962
  await eventBusA.dispatch(event);
1011
- await delay(TTL);
963
+ await LazyPromise.delay(TTL);
1012
964
  expect(result_a).toEqual(event);
1013
965
  expect(result_a).toBeInstanceOf(AddEvent);
1014
966
  expect(result_b).toBeNull();
@@ -1027,7 +979,7 @@ export function eventBusTestSuite(settings) {
1027
979
  b: 2,
1028
980
  });
1029
981
  await eventBusA.dispatch(event);
1030
- await delay(TTL);
982
+ await LazyPromise.delay(TTL);
1031
983
  expect(result_a).toEqual(event);
1032
984
  expect(result_a).toBeInstanceOf(AddEvent);
1033
985
  expect(result_b).toBeNull();
@@ -1049,7 +1001,7 @@ export function eventBusTestSuite(settings) {
1049
1001
  });
1050
1002
  await eventBusA.dispatch(event);
1051
1003
  await eventBusB.dispatch(event);
1052
- await delay(TTL);
1004
+ await LazyPromise.delay(TTL);
1053
1005
  expect(result_a).toEqual(event);
1054
1006
  expect(result_a).toBeInstanceOf(AddEvent);
1055
1007
  expect(result_b).toBeNull();
@@ -1071,7 +1023,7 @@ export function eventBusTestSuite(settings) {
1071
1023
  });
1072
1024
  await eventBusA.dispatch(event);
1073
1025
  await eventBusB.dispatch(event);
1074
- await delay(TTL);
1026
+ await LazyPromise.delay(TTL);
1075
1027
  expect(result_a).toEqual(event);
1076
1028
  expect(result_a).toBeInstanceOf(AddEvent);
1077
1029
  expect(result_b).toBeNull();
@@ -1093,7 +1045,7 @@ export function eventBusTestSuite(settings) {
1093
1045
  });
1094
1046
  await eventBusA.dispatch(event);
1095
1047
  await eventBusB.dispatch(event);
1096
- await delay(TTL);
1048
+ await LazyPromise.delay(TTL);
1097
1049
  expect(result_a).toEqual(event);
1098
1050
  expect(result_a).toBeInstanceOf(AddEvent);
1099
1051
  expect(result_b).toBeNull();
@@ -1115,7 +1067,7 @@ export function eventBusTestSuite(settings) {
1115
1067
  });
1116
1068
  await eventBusA.dispatch(event);
1117
1069
  await eventBusB.dispatch(event);
1118
- await delay(TTL);
1070
+ await LazyPromise.delay(TTL);
1119
1071
  expect(result_a).toEqual(event);
1120
1072
  expect(result_a).toBeInstanceOf(AddEvent);
1121
1073
  expect(result_b).toBeNull();
@@ -1134,7 +1086,7 @@ export function eventBusTestSuite(settings) {
1134
1086
  b: 2,
1135
1087
  });
1136
1088
  await eventBusA.dispatch(event);
1137
- await delay(TTL);
1089
+ await LazyPromise.delay(TTL);
1138
1090
  expect(result_a).toEqual(event);
1139
1091
  expect(result_a).toBeInstanceOf(AddEvent);
1140
1092
  expect(result_b).toBeNull();
@@ -1153,7 +1105,7 @@ export function eventBusTestSuite(settings) {
1153
1105
  b: 2,
1154
1106
  });
1155
1107
  await eventBusA.dispatch(event);
1156
- await delay(TTL);
1108
+ await LazyPromise.delay(TTL);
1157
1109
  expect(result_a).toEqual(event);
1158
1110
  expect(result_a).toBeInstanceOf(AddEvent);
1159
1111
  expect(result_b).toBeNull();