@daiso-tech/core 0.33.0 → 0.35.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 (365) hide show
  1. package/README.md +66 -45
  2. package/dist/async/_module-exports.d.ts +1 -1
  3. package/dist/async/_module-exports.js +1 -1
  4. package/dist/async/_module-exports.js.map +1 -1
  5. package/dist/async/async.errors.d.ts +27 -19
  6. package/dist/async/async.errors.js +33 -20
  7. package/dist/async/async.errors.js.map +1 -1
  8. package/dist/async/backof-policies/_shared.d.ts +6 -2
  9. package/dist/async/backof-policies/_shared.js +1 -0
  10. package/dist/async/backof-policies/_shared.js.map +1 -1
  11. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
  12. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
  13. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
  14. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
  15. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
  16. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
  17. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
  18. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
  19. package/dist/async/middlewares/_module.d.ts +8 -0
  20. package/dist/async/middlewares/_module.js +9 -0
  21. package/dist/async/middlewares/_module.js.map +1 -0
  22. package/dist/async/middlewares/_shared.d.ts +10 -0
  23. package/dist/async/middlewares/_shared.js +5 -0
  24. package/dist/async/middlewares/_shared.js.map +1 -0
  25. package/dist/async/middlewares/bulkhead/_module.d.ts +1 -0
  26. package/dist/async/middlewares/bulkhead/_module.js +2 -0
  27. package/dist/async/middlewares/bulkhead/_module.js.map +1 -0
  28. package/dist/async/middlewares/bulkhead/bulkhead.middleware.d.ts +80 -0
  29. package/dist/async/middlewares/bulkhead/bulkhead.middleware.js +46 -0
  30. package/dist/async/middlewares/bulkhead/bulkhead.middleware.js.map +1 -0
  31. package/dist/async/middlewares/dynamic/_module.d.ts +1 -0
  32. package/dist/async/middlewares/dynamic/_module.js +2 -0
  33. package/dist/async/middlewares/dynamic/_module.js.map +1 -0
  34. package/dist/async/middlewares/dynamic/dynamic.middleware.d.ts +34 -0
  35. package/dist/async/middlewares/dynamic/dynamic.middleware.js +36 -0
  36. package/dist/async/middlewares/dynamic/dynamic.middleware.js.map +1 -0
  37. package/dist/async/middlewares/fallback/_module.d.ts +1 -0
  38. package/dist/async/middlewares/fallback/_module.js +2 -0
  39. package/dist/async/middlewares/fallback/_module.js.map +1 -0
  40. package/dist/async/middlewares/fallback/fallback.middleware.d.ts +78 -0
  41. package/dist/async/middlewares/fallback/fallback.middleware.js +52 -0
  42. package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -0
  43. package/dist/async/middlewares/hedging/_module.d.ts +2 -0
  44. package/dist/async/middlewares/hedging/_module.js +3 -0
  45. package/dist/async/middlewares/hedging/_module.js.map +1 -0
  46. package/dist/async/middlewares/hedging/_shared.d.ts +93 -0
  47. package/dist/async/middlewares/hedging/_shared.js +5 -0
  48. package/dist/async/middlewares/hedging/_shared.js.map +1 -0
  49. package/dist/async/middlewares/hedging/concurrent-hedging/_module.d.ts +1 -0
  50. package/dist/async/middlewares/hedging/concurrent-hedging/_module.js +2 -0
  51. package/dist/async/middlewares/hedging/concurrent-hedging/_module.js.map +1 -0
  52. package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.d.ts +51 -0
  53. package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +138 -0
  54. package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -0
  55. package/dist/async/middlewares/hedging/sequential-hedging/_module.d.ts +1 -0
  56. package/dist/async/middlewares/hedging/sequential-hedging/_module.js +2 -0
  57. package/dist/async/middlewares/hedging/sequential-hedging/_module.js.map +1 -0
  58. package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.d.ts +51 -0
  59. package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +104 -0
  60. package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +1 -0
  61. package/dist/async/middlewares/observe/_module.d.ts +1 -0
  62. package/dist/async/middlewares/observe/_module.js +2 -0
  63. package/dist/async/middlewares/observe/_module.js.map +1 -0
  64. package/dist/async/middlewares/observe/observe.middleware.d.ts +130 -0
  65. package/dist/async/middlewares/observe/observe.middleware.js +80 -0
  66. package/dist/async/middlewares/observe/observe.middleware.js.map +1 -0
  67. package/dist/async/middlewares/retry/_module.d.ts +1 -0
  68. package/dist/async/middlewares/retry/_module.js +2 -0
  69. package/dist/async/middlewares/retry/_module.js.map +1 -0
  70. package/dist/async/middlewares/retry/retry.middleware.d.ts +117 -0
  71. package/dist/async/middlewares/retry/retry.middleware.js +82 -0
  72. package/dist/async/middlewares/retry/retry.middleware.js.map +1 -0
  73. package/dist/async/middlewares/timeout/_module.d.ts +1 -0
  74. package/dist/async/middlewares/timeout/_module.js +2 -0
  75. package/dist/async/middlewares/timeout/_module.js.map +1 -0
  76. package/dist/async/middlewares/timeout/timeout.middleware.d.ts +83 -0
  77. package/dist/async/middlewares/timeout/timeout.middleware.js +60 -0
  78. package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -0
  79. package/dist/async/utilities/_module.d.ts +3 -4
  80. package/dist/async/utilities/_module.js +3 -4
  81. package/dist/async/utilities/_module.js.map +1 -1
  82. package/dist/async/utilities/abort-and-fail/_module.d.ts +1 -0
  83. package/dist/async/utilities/abort-and-fail/_module.js +2 -0
  84. package/dist/async/utilities/abort-and-fail/_module.js.map +1 -0
  85. package/dist/async/utilities/abort-and-fail/abort-and-fail.d.ts +7 -0
  86. package/dist/async/utilities/{abort → abort-and-fail}/abort-and-fail.js +6 -6
  87. package/dist/async/utilities/abort-and-fail/abort-and-fail.js.map +1 -0
  88. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +37 -194
  89. package/dist/async/utilities/lazy-promise/lazy-promise.js +62 -359
  90. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  91. package/dist/async/utilities/promise-queue/_module.d.ts +1 -0
  92. package/dist/async/utilities/promise-queue/_module.js +2 -0
  93. package/dist/async/utilities/promise-queue/_module.js.map +1 -0
  94. package/dist/async/utilities/promise-queue/promise-queue.d.ts +32 -0
  95. package/dist/async/utilities/promise-queue/promise-queue.js +107 -0
  96. package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -0
  97. package/dist/async/utilities/timeout-and-fail/_module.d.ts +1 -0
  98. package/dist/async/utilities/timeout-and-fail/_module.js +2 -0
  99. package/dist/async/utilities/timeout-and-fail/_module.js.map +1 -0
  100. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.d.ts +7 -0
  101. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js +19 -0
  102. package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js.map +1 -0
  103. package/dist/cache/contracts/cache-adapter.contract.d.ts +14 -14
  104. package/dist/cache/contracts/cache-factory.contract.d.ts +3 -3
  105. package/dist/cache/contracts/cache.contract.d.ts +73 -73
  106. package/dist/cache/contracts/cache.errors.d.ts +7 -7
  107. package/dist/cache/contracts/cache.errors.js +7 -7
  108. package/dist/cache/contracts/cache.events.d.ts +54 -58
  109. package/dist/cache/contracts/cache.events.js +6 -104
  110. package/dist/cache/contracts/cache.events.js.map +1 -1
  111. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +16 -16
  112. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +3 -3
  113. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +2 -2
  114. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +3 -9
  115. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -9
  116. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  117. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +4 -4
  118. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +3 -3
  119. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +2 -2
  120. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +2 -2
  121. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +3 -3
  122. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
  123. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +3 -3
  124. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +2 -2
  125. package/dist/cache/implementations/derivables/cache/cache.d.ts +26 -27
  126. package/dist/cache/implementations/derivables/cache/cache.js +102 -91
  127. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  128. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +5 -4
  129. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -1
  130. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  131. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +3 -3
  132. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +2 -2
  133. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +3 -3
  134. package/dist/cache/implementations/test-utilities/cache.test-suite.js +140 -149
  135. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  136. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +3 -3
  137. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +2 -2
  138. package/dist/collection/contracts/_shared/compartor.type.d.ts +1 -1
  139. package/dist/collection/contracts/_shared/cross-join-result.type.d.ts +1 -1
  140. package/dist/collection/contracts/_shared/ensure-map.type.d.ts +1 -1
  141. package/dist/collection/contracts/_shared/ensure-record.type.d.ts +1 -1
  142. package/dist/collection/contracts/_shared/foreach.type.d.ts +2 -2
  143. package/dist/collection/contracts/_shared/map.type.d.ts +2 -2
  144. package/dist/collection/contracts/_shared/modifier.type.d.ts +2 -2
  145. package/dist/collection/contracts/_shared/predicate.type.d.ts +7 -7
  146. package/dist/collection/contracts/_shared/reduce.type.d.ts +2 -2
  147. package/dist/collection/contracts/_shared/tap.type.d.ts +2 -2
  148. package/dist/collection/contracts/_shared/transform.type.d.ts +2 -2
  149. package/dist/collection/contracts/async-collection.contract.d.ts +109 -198
  150. package/dist/collection/contracts/collection.contract.d.ts +103 -103
  151. package/dist/collection/contracts/collection.errors.d.ts +11 -11
  152. package/dist/collection/contracts/collection.errors.js +11 -11
  153. package/dist/collection/implementations/_shared.d.ts +8 -8
  154. package/dist/collection/implementations/_shared.js +8 -8
  155. package/dist/collection/implementations/async-iterable-collection/_shared/_module.d.ts +0 -4
  156. package/dist/collection/implementations/async-iterable-collection/_shared/_module.js +0 -4
  157. package/dist/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  158. package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js +21 -19
  159. package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js.map +1 -1
  160. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +15 -19
  161. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +15 -30
  162. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  163. package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts +3 -3
  164. package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js +18 -20
  165. package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
  166. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +11 -12
  167. package/dist/collection/implementations/iterable-collection/iterable-collection.js +11 -12
  168. package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  169. package/dist/collection/implementations/list-collection/list-collection.d.ts +11 -11
  170. package/dist/collection/implementations/list-collection/list-collection.js +24 -30
  171. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  172. package/dist/event-bus/contracts/_module-exports.d.ts +0 -1
  173. package/dist/event-bus/contracts/_module-exports.js +0 -1
  174. package/dist/event-bus/contracts/_module-exports.js.map +1 -1
  175. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +13 -8
  176. package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +6 -7
  177. package/dist/event-bus/contracts/event-bus-factory.contract.js.map +1 -1
  178. package/dist/event-bus/contracts/event-bus.contract.d.ts +30 -41
  179. package/dist/event-bus/contracts/event-bus.errors.d.ts +8 -8
  180. package/dist/event-bus/contracts/event-bus.errors.js +8 -8
  181. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +3 -3
  182. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +3 -3
  183. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +2 -2
  184. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +2 -2
  185. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -3
  186. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +2 -2
  187. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +15 -15
  188. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +32 -32
  189. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  190. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +17 -10
  191. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +13 -6
  192. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  193. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +3 -5
  194. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +15 -22
  195. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  196. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +3 -5
  197. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +189 -209
  198. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  199. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +9 -9
  200. package/dist/lock/contracts/lock-adapter.contract.d.ts +7 -7
  201. package/dist/lock/contracts/lock-provider-factory.contract.d.ts +4 -4
  202. package/dist/lock/contracts/lock-provider.contract.d.ts +14 -14
  203. package/dist/lock/contracts/lock.contract.d.ts +22 -22
  204. package/dist/lock/contracts/lock.errors.d.ts +10 -10
  205. package/dist/lock/contracts/lock.errors.js +10 -10
  206. package/dist/lock/contracts/lock.events.d.ts +45 -54
  207. package/dist/lock/contracts/lock.events.js +9 -91
  208. package/dist/lock/contracts/lock.events.js.map +1 -1
  209. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +5 -5
  210. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +4 -4
  211. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +3 -3
  212. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +3 -3
  213. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +5 -5
  214. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +4 -4
  215. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +2 -2
  216. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +2 -2
  217. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +3 -3
  218. package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +3 -3
  219. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +5 -5
  220. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +4 -4
  221. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +33 -33
  222. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +30 -30
  223. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  224. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +2 -2
  225. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  226. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +3 -3
  227. package/dist/lock/implementations/derivables/lock-provider/lock.js +77 -58
  228. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  229. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +5 -4
  230. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -1
  231. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  232. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +3 -3
  233. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +2 -2
  234. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +3 -3
  235. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +2 -2
  236. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +3 -3
  237. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +214 -214
  238. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  239. package/dist/serde/contracts/deserializer.contract.d.ts +2 -2
  240. package/dist/serde/contracts/flexible-serde-adapter.contract.d.ts +4 -4
  241. package/dist/serde/contracts/flexible-serde.contract.d.ts +8 -19
  242. package/dist/serde/contracts/serde.contract.d.ts +2 -2
  243. package/dist/serde/contracts/serde.errors.d.ts +4 -4
  244. package/dist/serde/contracts/serde.errors.js +4 -4
  245. package/dist/serde/contracts/serializable.contract.d.ts +2 -2
  246. package/dist/serde/contracts/serializer.contract.d.ts +2 -2
  247. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +2 -2
  248. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +2 -2
  249. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +1 -1
  250. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +1 -1
  251. package/dist/serde/implementations/derivables/serde.d.ts +4 -35
  252. package/dist/serde/implementations/derivables/serde.js +2 -47
  253. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  254. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +3 -3
  255. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +2 -2
  256. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +3 -3
  257. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +2 -2
  258. package/dist/utilities/classes/_module.d.ts +1 -1
  259. package/dist/utilities/classes/_module.js +1 -1
  260. package/dist/utilities/classes/_module.js.map +1 -1
  261. package/dist/utilities/classes/hooks/_module.d.ts +3 -0
  262. package/dist/utilities/classes/hooks/_module.js +4 -0
  263. package/dist/utilities/classes/hooks/_module.js.map +1 -0
  264. package/dist/utilities/classes/hooks/async-hooks.d.ts +209 -0
  265. package/dist/utilities/classes/hooks/async-hooks.js +145 -0
  266. package/dist/utilities/classes/hooks/async-hooks.js.map +1 -0
  267. package/dist/utilities/classes/hooks/hooks.d.ts +139 -0
  268. package/dist/utilities/classes/hooks/hooks.js +116 -0
  269. package/dist/utilities/classes/hooks/hooks.js.map +1 -0
  270. package/dist/utilities/classes/hooks/types.d.ts +9 -0
  271. package/dist/utilities/classes/hooks/types.js +5 -0
  272. package/dist/utilities/classes/hooks/types.js.map +1 -0
  273. package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +3 -3
  274. package/dist/utilities/classes/key-prefixer/key-prefixer.js +4 -4
  275. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
  276. package/dist/utilities/classes/time-span/time-span.d.ts +5 -5
  277. package/dist/utilities/classes/time-span/time-span.js +5 -5
  278. package/dist/utilities/contracts/_module.d.ts +0 -1
  279. package/dist/utilities/contracts/_module.js +0 -1
  280. package/dist/utilities/contracts/_module.js.map +1 -1
  281. package/dist/utilities/contracts/deinitizable.contract.d.ts +1 -1
  282. package/dist/utilities/contracts/initizable.contract.d.ts +1 -1
  283. package/dist/utilities/contracts/prunable.contract.d.ts +1 -1
  284. package/dist/utilities/contracts/serialized-error.contract.d.ts +1 -1
  285. package/dist/utilities/contracts/sqlite-database.contract.d.ts +2 -2
  286. package/dist/utilities/errors.d.ts +5 -5
  287. package/dist/utilities/errors.js +5 -5
  288. package/dist/utilities/functions/factory.js +3 -3
  289. package/dist/utilities/functions/factory.js.map +1 -1
  290. package/dist/utilities/functions/invokable.d.ts +9 -5
  291. package/dist/utilities/functions/invokable.js +12 -2
  292. package/dist/utilities/functions/invokable.js.map +1 -1
  293. package/dist/utilities/functions/lazy.d.ts +5 -0
  294. package/dist/utilities/functions/lazy.js +12 -3
  295. package/dist/utilities/functions/lazy.js.map +1 -1
  296. package/dist/utilities/types/async-iterable-value.type.d.ts +1 -1
  297. package/dist/utilities/types/at-least-one.type.d.ts +1 -1
  298. package/dist/utilities/types/factory.type.d.ts +8 -8
  299. package/dist/utilities/types/invokable.type.d.ts +3 -3
  300. package/dist/utilities/types/items.type.d.ts +1 -1
  301. package/dist/utilities/types/lazy.type.d.ts +5 -5
  302. package/dist/utilities/types/none-func.type.d.ts +1 -1
  303. package/dist/utilities/types/one-or-more.type.d.ts +1 -1
  304. package/dist/utilities/types/promiseable.type.d.ts +1 -1
  305. package/dist/utilities/types/result.type.d.ts +1 -1
  306. package/package.json +22 -2
  307. package/dist/async/async.events.d.ts +0 -105
  308. package/dist/async/async.events.js +0 -82
  309. package/dist/async/async.events.js.map +0 -1
  310. package/dist/async/utilities/abort/_module.d.ts +0 -2
  311. package/dist/async/utilities/abort/_module.js +0 -3
  312. package/dist/async/utilities/abort/_module.js.map +0 -1
  313. package/dist/async/utilities/abort/abort-and-fail.d.ts +0 -4
  314. package/dist/async/utilities/abort/abort-and-fail.js.map +0 -1
  315. package/dist/async/utilities/abort/abort.d.ts +0 -9
  316. package/dist/async/utilities/abort/abort.js +0 -18
  317. package/dist/async/utilities/abort/abort.js.map +0 -1
  318. package/dist/async/utilities/delay/_module.d.ts +0 -1
  319. package/dist/async/utilities/delay/_module.js +0 -2
  320. package/dist/async/utilities/delay/_module.js.map +0 -1
  321. package/dist/async/utilities/delay/delay.d.ts +0 -10
  322. package/dist/async/utilities/delay/delay.js +0 -34
  323. package/dist/async/utilities/delay/delay.js.map +0 -1
  324. package/dist/async/utilities/retry/_module.d.ts +0 -2
  325. package/dist/async/utilities/retry/_module.js +0 -3
  326. package/dist/async/utilities/retry/_module.js.map +0 -1
  327. package/dist/async/utilities/retry/retry-or-fail.d.ts +0 -29
  328. package/dist/async/utilities/retry/retry-or-fail.js +0 -39
  329. package/dist/async/utilities/retry/retry-or-fail.js.map +0 -1
  330. package/dist/async/utilities/retry/retry.d.ts +0 -10
  331. package/dist/async/utilities/retry/retry.js +0 -21
  332. package/dist/async/utilities/retry/retry.js.map +0 -1
  333. package/dist/async/utilities/timeout/_module.d.ts +0 -2
  334. package/dist/async/utilities/timeout/_module.js +0 -3
  335. package/dist/async/utilities/timeout/_module.js.map +0 -1
  336. package/dist/async/utilities/timeout/timeout-and-fail.d.ts +0 -5
  337. package/dist/async/utilities/timeout/timeout-and-fail.js +0 -28
  338. package/dist/async/utilities/timeout/timeout-and-fail.js.map +0 -1
  339. package/dist/async/utilities/timeout/timeout.d.ts +0 -10
  340. package/dist/async/utilities/timeout/timeout.js +0 -21
  341. package/dist/async/utilities/timeout/timeout.js.map +0 -1
  342. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.d.ts +0 -13
  343. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +0 -30
  344. package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +0 -1
  345. package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +0 -13
  346. package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +0 -36
  347. package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +0 -1
  348. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.d.ts +0 -9
  349. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +0 -39
  350. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +0 -1
  351. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.d.ts +0 -13
  352. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +0 -52
  353. package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +0 -1
  354. package/dist/event-bus/contracts/_shared.d.ts +0 -12
  355. package/dist/event-bus/contracts/_shared.js +0 -15
  356. package/dist/event-bus/contracts/_shared.js.map +0 -1
  357. package/dist/utilities/classes/sync-event-bus/_module.d.ts +0 -1
  358. package/dist/utilities/classes/sync-event-bus/_module.js +0 -2
  359. package/dist/utilities/classes/sync-event-bus/_module.js.map +0 -1
  360. package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +0 -16
  361. package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +0 -53
  362. package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +0 -1
  363. package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +0 -13
  364. package/dist/utilities/contracts/sync-event-bus-listenable.js +0 -5
  365. package/dist/utilities/contracts/sync-event-bus-listenable.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lock-provider.test-suite.js","sourceRoot":"","sources":["../../../../src/lock/implementations/test-utilities/lock-provider.test-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock-provider.test-suite.js","sourceRoot":"","sources":["../../../../src/lock/implementations/test-utilities/lock-provider.test-suite.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
  * @module Serde
3
3
  */
4
4
  /**
5
- * The <i>IDeserializer</i> contract defines a standard way to deserialize plain data, excluding support for custom classes.
5
+ * The `IDeserializer` contract defines a standard way to deserialize plain data, excluding support for custom classes.
6
6
  *
7
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
7
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
8
8
  * @group Contracts
9
9
  */
10
10
  export type IDeserializer<TSerializedValue = unknown> = {
@@ -4,7 +4,7 @@
4
4
  import type { ISerde } from "../../serde/contracts/serde.contract.js";
5
5
  /**
6
6
  *
7
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
7
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
8
8
  * @group Contracts
9
9
  */
10
10
  export type ISerdeTransformerAdapter<TDeserializedValue, TSerializedValue> = {
@@ -14,14 +14,14 @@ export type ISerdeTransformerAdapter<TDeserializedValue, TSerializedValue> = {
14
14
  serialize(deserializedValue: TDeserializedValue): TSerializedValue;
15
15
  };
16
16
  /**
17
- * The <i>IFlexibleSerdeAdapter</i> contract defines a standard way to serialize and deserialize both plain data and custom classes.
17
+ * The `IFlexibleSerdeAdapter` contract defines a standard way to serialize and deserialize both plain data and custom classes.
18
18
  *
19
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
19
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
20
20
  * @group Contracts
21
21
  */
22
22
  export type IFlexibleSerdeAdapter<TSerializedValue = unknown> = ISerde<TSerializedValue> & {
23
23
  /**
24
- * The <i>registerCustom</i> method is used for registering custom values for serialization and deserialization.
24
+ * The `registerCustom` method is used for registering custom values for serialization and deserialization.
25
25
  */
26
26
  registerCustom<TCustomSerialized, TCustomDeserialized>(transformer: ISerdeTransformerAdapter<TCustomSerialized, TCustomDeserialized>): void;
27
27
  };
@@ -4,11 +4,10 @@
4
4
  import type { ISerializable } from "../../serde/contracts/serializable.contract.js";
5
5
  import type { ISerde } from "../../serde/contracts/serde.contract.js";
6
6
  import type { OneOrMore } from "../../utilities/_module-exports.js";
7
- import type { BaseEvent } from "../../event-bus/contracts/_module-exports.js";
8
7
  /**
9
- * The <i>SerializableClass</i> contract defines standard way to make a class instance serializable and deserializable.
8
+ * The `SerializableClass` contract defines standard way to make a class instance serializable and deserializable.
10
9
  *
11
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
10
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
12
11
  * @group Contracts
13
12
  */
14
13
  export type SerializableClass<TSerializedValue> = {
@@ -17,13 +16,7 @@ export type SerializableClass<TSerializedValue> = {
17
16
  };
18
17
  /**
19
18
  *
20
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
21
- * @group Contracts
22
- */
23
- export type SerializableEventClass<TFields extends Record<string, unknown>> = new (fields: any) => BaseEvent<TFields>;
24
- /**
25
- *
26
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
19
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
27
20
  * @group Contracts
28
21
  */
29
22
  export type ISerdeTransformer<TDeserializedValue, TSerializedValue> = {
@@ -33,23 +26,19 @@ export type ISerdeTransformer<TDeserializedValue, TSerializedValue> = {
33
26
  serialize(deserializedValue: TDeserializedValue): TSerializedValue;
34
27
  };
35
28
  /**
36
- * The <i>IFlexibleSerde</i> contract defines a standard way to serialize and deserialize both plain data and custom classes.
29
+ * The `IFlexibleSerde` contract defines a standard way to serialize and deserialize both plain data and custom classes.
37
30
  *
38
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
31
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
39
32
  * @group Contracts
40
33
  */
41
34
  export interface IFlexibleSerde<TSerializedValue = unknown> extends ISerde<TSerializedValue> {
42
35
  /**
43
- * The <i>registerEvent</i> method is used for registering custom <i>{@link BaseEvent}</i> for serialization and deserialization.
44
- */
45
- registerEvent<TFields extends Record<string, unknown>>(eventClass: SerializableEventClass<TFields>, prefix?: OneOrMore<string>): this;
46
- /**
47
- * The <i>registerClass</i> method is used for registering custom class for serialization and deserialization.
48
- * The <i>class_</i> parameter must be of type <i>{@link SerializableClass}</i>.
36
+ * The `registerClass` method is used for registering custom class for serialization and deserialization.
37
+ * The `class_` parameter must be of type {@link SerializableClass | `SerializableClass`}.
49
38
  */
50
39
  registerClass<TSerializedClassInstance>(class_: SerializableClass<TSerializedClassInstance>, prefix?: OneOrMore<string>): this;
51
40
  /**
52
- * The <i>registerCustom</i> method is used for registering custom values for serialization and deserialization.
41
+ * The `registerCustom` method is used for registering custom values for serialization and deserialization.
53
42
  */
54
43
  registerCustom<TCustomDeserialized, TCustomSerialized>(transformer: ISerdeTransformer<TCustomDeserialized, TCustomSerialized>, prefix?: OneOrMore<string>): this;
55
44
  }
@@ -4,9 +4,9 @@
4
4
  import type { ISerializer } from "../../serde/contracts/serializer.contract.js";
5
5
  import type { IDeserializer } from "../../serde/contracts/deserializer.contract.js";
6
6
  /**
7
- * The <i>ISerde</i> contract defines a standard way to serialize and deserialize plain data, excluding support for custom classes.
7
+ * The `ISerde` contract defines a standard way to serialize and deserialize plain data, excluding support for custom classes.
8
8
  *
9
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
9
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
10
10
  * @group Contracts
11
11
  */
12
12
  export type ISerde<TSerializedValue = unknown> = ISerializer<TSerializedValue> & IDeserializer<TSerializedValue>;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  /**
5
5
  *
6
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
6
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
7
7
  * @group Errors
8
8
  */
9
9
  export declare class SerdeError extends Error {
@@ -12,7 +12,7 @@ export declare class SerdeError extends Error {
12
12
  /**
13
13
  * The error occurs when a value is unable to be serialized.
14
14
  *
15
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
15
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
16
16
  * @group Errors
17
17
  */
18
18
  export declare class SerializationSerdeError extends SerdeError {
@@ -21,7 +21,7 @@ export declare class SerializationSerdeError extends SerdeError {
21
21
  /**
22
22
  * The error occurs when a value is unable to be deserialized.
23
23
  *
24
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
24
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
25
25
  * @group Errors
26
26
  */
27
27
  export declare class DeserializationSerdeError extends SerdeError {
@@ -29,7 +29,7 @@ export declare class DeserializationSerdeError extends SerdeError {
29
29
  }
30
30
  /**
31
31
  *
32
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
32
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
33
33
  * @group Errors
34
34
  */
35
35
  export declare const SERDE_ERRORS: {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  /**
5
5
  *
6
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
6
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
7
7
  * @group Errors
8
8
  */
9
9
  export class SerdeError extends Error {
@@ -15,7 +15,7 @@ export class SerdeError extends Error {
15
15
  /**
16
16
  * The error occurs when a value is unable to be serialized.
17
17
  *
18
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
18
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
19
19
  * @group Errors
20
20
  */
21
21
  export class SerializationSerdeError extends SerdeError {
@@ -27,7 +27,7 @@ export class SerializationSerdeError extends SerdeError {
27
27
  /**
28
28
  * The error occurs when a value is unable to be deserialized.
29
29
  *
30
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
30
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
31
31
  * @group Errors
32
32
  */
33
33
  export class DeserializationSerdeError extends SerdeError {
@@ -38,7 +38,7 @@ export class DeserializationSerdeError extends SerdeError {
38
38
  }
39
39
  /**
40
40
  *
41
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
41
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
42
42
  * @group Errors
43
43
  */
44
44
  export const SERDE_ERRORS = {
@@ -2,9 +2,9 @@
2
2
  * @module Serde
3
3
  */
4
4
  /**
5
- * The <i>ISerializable</i> contract defines standard way to make a class instance serializable.
5
+ * The `ISerializable` contract defines standard way to make a class instance serializable.
6
6
  *
7
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
7
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
8
8
  * @group Contracts
9
9
  */
10
10
  export type ISerializable<TSerializedValue> = {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * The <i>ISerializer</i> contract defines a standard way to serialize plain data, excluding support for custom classes.
2
+ * The `ISerializer` contract defines a standard way to serialize plain data, excluding support for custom classes.
3
3
  *
4
- * IMPORT_PATH: ```"@daiso-tech/core/serde/contracts"```
4
+ * IMPORT_PATH: `"@daiso-tech/core/serde/contracts"`
5
5
  * @group Contracts
6
6
  */
7
7
  export type ISerializer<TSerializedValue = unknown> = {
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import type { IFlexibleSerdeAdapter, ISerdeTransformerAdapter } from "../../../../serde/contracts/_module-exports.js";
5
5
  /**
6
- * This <i>NoOpSerdeAdapter</i> will do nothing and is used for easily mocking <i>{@link IFlexibleSerde}</i> for testing.
6
+ * This `NoOpSerdeAdapter` will do nothing and is used for easily mocking {@link IFlexibleSerde | `IFlexibleSerde`} for testing.
7
7
  *
8
- * IMPORT_PATH: ```"@daiso-tech/core/serde/adapters"```
8
+ * IMPORT_PATH: `"@daiso-tech/core/serde/adapters"`
9
9
  * @group Adapters
10
10
  */
11
11
  export declare class NoOpSerdeAdapter<TSerializedValue> implements IFlexibleSerdeAdapter<TSerializedValue> {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * This <i>NoOpSerdeAdapter</i> will do nothing and is used for easily mocking <i>{@link IFlexibleSerde}</i> for testing.
2
+ * This `NoOpSerdeAdapter` will do nothing and is used for easily mocking {@link IFlexibleSerde | `IFlexibleSerde`} for testing.
3
3
  *
4
- * IMPORT_PATH: ```"@daiso-tech/core/serde/adapters"```
4
+ * IMPORT_PATH: `"@daiso-tech/core/serde/adapters"`
5
5
  * @group Adapters
6
6
  */
7
7
  export class NoOpSerdeAdapter {
@@ -4,7 +4,7 @@
4
4
  import { type ISerdeTransformerAdapter, type IFlexibleSerdeAdapter } from "../../../../serde/contracts/_module-exports.js";
5
5
  /**
6
6
  *
7
- * IMPORT_PATH: ```"@daiso-tech/core/serde/adapters"```
7
+ * IMPORT_PATH: `"@daiso-tech/core/serde/adapters"`
8
8
  * @group Adapters
9
9
  */
10
10
  export declare class SuperJsonSerdeAdapter implements IFlexibleSerdeAdapter<string> {
@@ -5,7 +5,7 @@ import { DeserializationSerdeError, SerializationSerdeError, } from "../../../..
5
5
  import { SuperJSON } from "superjson-cjs";
6
6
  /**
7
7
  *
8
- * IMPORT_PATH: ```"@daiso-tech/core/serde/adapters"```
8
+ * IMPORT_PATH: `"@daiso-tech/core/serde/adapters"`
9
9
  * @group Adapters
10
10
  */
11
11
  export class SuperJsonSerdeAdapter {