@daiso-tech/core 0.16.0 → 0.19.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 (354) hide show
  1. package/dist/cjs/async/_module.js +1 -1
  2. package/dist/cjs/async/_module.js.map +1 -1
  3. package/dist/cjs/async/backof-policies/_module.js +1 -0
  4. package/dist/cjs/async/backof-policies/_module.js.map +1 -1
  5. package/dist/cjs/async/utilities/_module.js +3 -0
  6. package/dist/cjs/async/utilities/_module.js.map +1 -1
  7. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +16 -22
  8. package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  9. package/dist/cjs/cache/contracts/cache.errors.js +19 -0
  10. package/dist/cjs/cache/contracts/cache.errors.js.map +1 -1
  11. package/dist/cjs/cache/contracts/cache.events.js +156 -0
  12. package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
  13. package/dist/cjs/cache/implementations/_shared/_module.js +1 -0
  14. package/dist/cjs/cache/implementations/_shared/_module.js.map +1 -1
  15. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  16. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  17. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +7 -5
  18. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  19. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
  20. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  21. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +56 -0
  22. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
  23. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +18 -14
  24. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  25. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
  26. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  27. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +26 -0
  28. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
  29. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +11 -3
  30. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  31. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
  32. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  33. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +44 -0
  34. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
  35. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +21 -8
  36. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  37. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
  38. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  39. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +32 -0
  40. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
  41. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +27 -20
  42. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  43. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
  44. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  45. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +56 -0
  46. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
  47. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +19 -15
  48. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  49. package/dist/cjs/cache/implementations/derivables/_module.js +3 -1
  50. package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -1
  51. package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js +83 -0
  52. package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
  53. package/dist/cjs/cache/implementations/derivables/cache-factory.js +52 -18
  54. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -1
  55. package/dist/cjs/cache/implementations/derivables/cache-settings.js +74 -0
  56. package/dist/cjs/cache/implementations/derivables/cache-settings.js.map +1 -0
  57. package/dist/cjs/cache/implementations/derivables/cache.js +167 -93
  58. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -1
  59. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
  60. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
  61. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
  62. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
  63. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
  64. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
  65. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +20 -11
  66. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  67. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  68. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  69. package/dist/cjs/event-bus/contracts/_module.js +2 -2
  70. package/dist/cjs/event-bus/contracts/_module.js.map +1 -1
  71. package/dist/cjs/event-bus/contracts/_shared.js +7 -0
  72. package/dist/cjs/event-bus/contracts/_shared.js.map +1 -1
  73. package/dist/cjs/event-bus/contracts/event-bus.errors.js +19 -0
  74. package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -1
  75. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +52 -36
  76. package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  77. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +156 -120
  78. package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  79. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
  80. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  81. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +26 -0
  82. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
  83. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +17 -9
  84. package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  85. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +3 -3
  86. package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  87. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +2 -1
  88. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
  89. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +38 -0
  90. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
  91. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +9 -5
  92. package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  93. package/dist/cjs/event-bus/implementations/derivables/_module.js +3 -1
  94. package/dist/cjs/event-bus/implementations/derivables/_module.js.map +1 -1
  95. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js +71 -0
  96. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
  97. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +47 -18
  98. package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  99. package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js +68 -0
  100. package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
  101. package/dist/cjs/event-bus/implementations/derivables/event-bus.js +102 -62
  102. package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -1
  103. package/dist/cjs/serde/contracts/_module.js +4 -0
  104. package/dist/cjs/serde/contracts/_module.js.map +1 -1
  105. package/dist/cjs/serde/contracts/deserializer.contract.js +3 -0
  106. package/dist/cjs/serde/contracts/deserializer.contract.js.map +1 -0
  107. package/dist/cjs/serde/contracts/flexible-serde.contract.js +3 -0
  108. package/dist/cjs/serde/contracts/flexible-serde.contract.js.map +1 -0
  109. package/dist/cjs/serde/contracts/serializable.contract.js +3 -0
  110. package/dist/cjs/serde/contracts/serializable.contract.js.map +1 -0
  111. package/dist/cjs/serde/contracts/serializer.contract.js +3 -0
  112. package/dist/cjs/serde/contracts/serializer.contract.js.map +1 -0
  113. package/dist/cjs/serde/implementations/_module.js +1 -0
  114. package/dist/cjs/serde/implementations/_module.js.map +1 -1
  115. package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js +1 -0
  116. package/dist/cjs/serde/implementations/_shared/test-utilities/_module.js.map +1 -1
  117. package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +69 -0
  118. package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
  119. package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js +35 -60
  120. package/dist/cjs/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -1
  121. package/dist/cjs/serde/implementations/no-op-serde/_module.js +18 -0
  122. package/dist/cjs/serde/implementations/no-op-serde/_module.js.map +1 -0
  123. package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js +19 -0
  124. package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
  125. package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js +57 -111
  126. package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
  127. package/dist/cjs/utilities/contracts/_module.js +2 -0
  128. package/dist/cjs/utilities/contracts/_module.js.map +1 -1
  129. package/dist/cjs/utilities/contracts/buildable.contract.js +3 -0
  130. package/dist/cjs/utilities/contracts/buildable.contract.js.map +1 -0
  131. package/dist/cjs/utilities/contracts/serialized-error.contract.js +3 -0
  132. package/dist/cjs/utilities/contracts/serialized-error.contract.js.map +1 -0
  133. package/dist/cjs/utilities/errors.js +10 -10
  134. package/dist/cjs/utilities/errors.js.map +1 -1
  135. package/dist/cjs/utilities/functions.js +4 -0
  136. package/dist/cjs/utilities/functions.js.map +1 -1
  137. package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
  138. package/dist/esm/async/_module.js +1 -1
  139. package/dist/esm/async/_module.js.map +1 -1
  140. package/dist/esm/async/backof-policies/_module.js +1 -0
  141. package/dist/esm/async/backof-policies/_module.js.map +1 -1
  142. package/dist/esm/async/utilities/_module.js +3 -0
  143. package/dist/esm/async/utilities/_module.js.map +1 -1
  144. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +16 -22
  145. package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  146. package/dist/esm/cache/contracts/cache.errors.js +19 -0
  147. package/dist/esm/cache/contracts/cache.errors.js.map +1 -1
  148. package/dist/esm/cache/contracts/cache.events.js +147 -0
  149. package/dist/esm/cache/contracts/cache.events.js.map +1 -1
  150. package/dist/esm/cache/implementations/_shared/_module.js +1 -0
  151. package/dist/esm/cache/implementations/_shared/_module.js.map +1 -1
  152. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
  153. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
  154. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +7 -5
  155. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
  156. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -1
  157. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
  158. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +52 -0
  159. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -0
  160. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +17 -13
  161. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
  162. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +1 -0
  163. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
  164. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +22 -0
  165. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -0
  166. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +11 -3
  167. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  168. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -1
  169. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
  170. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +40 -0
  171. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -0
  172. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +21 -8
  173. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  174. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +1 -0
  175. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
  176. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +28 -0
  177. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -0
  178. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +28 -21
  179. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  180. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +1 -0
  181. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
  182. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +52 -0
  183. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -0
  184. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +17 -13
  185. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
  186. package/dist/esm/cache/implementations/derivables/_module.js +3 -1
  187. package/dist/esm/cache/implementations/derivables/_module.js.map +1 -1
  188. package/dist/esm/cache/implementations/derivables/cache-factory-settings.js +79 -0
  189. package/dist/esm/cache/implementations/derivables/cache-factory-settings.js.map +1 -0
  190. package/dist/esm/cache/implementations/derivables/cache-factory.js +53 -19
  191. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -1
  192. package/dist/esm/cache/implementations/derivables/cache-settings.js +70 -0
  193. package/dist/esm/cache/implementations/derivables/cache-settings.js.map +1 -0
  194. package/dist/esm/cache/implementations/derivables/cache.js +146 -72
  195. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -1
  196. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +1 -1
  197. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +1 -1
  198. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +1 -1
  199. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +1 -1
  200. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +1 -1
  201. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +1 -1
  202. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +20 -11
  203. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  204. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  205. package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
  206. package/dist/esm/event-bus/contracts/_module.js +2 -2
  207. package/dist/esm/event-bus/contracts/_module.js.map +1 -1
  208. package/dist/esm/event-bus/contracts/_shared.js +5 -0
  209. package/dist/esm/event-bus/contracts/_shared.js.map +1 -1
  210. package/dist/esm/event-bus/contracts/event-bus.errors.js +19 -0
  211. package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -1
  212. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +45 -29
  213. package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
  214. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +143 -107
  215. package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
  216. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -1
  217. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
  218. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +22 -0
  219. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -0
  220. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +17 -9
  221. package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  222. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +3 -3
  223. package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
  224. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +2 -1
  225. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
  226. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +34 -0
  227. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -0
  228. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +10 -6
  229. package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  230. package/dist/esm/event-bus/implementations/derivables/_module.js +3 -1
  231. package/dist/esm/event-bus/implementations/derivables/_module.js.map +1 -1
  232. package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js +67 -0
  233. package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js.map +1 -0
  234. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +48 -19
  235. package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -1
  236. package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js +64 -0
  237. package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js.map +1 -0
  238. package/dist/esm/event-bus/implementations/derivables/event-bus.js +104 -64
  239. package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -1
  240. package/dist/esm/serde/contracts/_module.js +4 -0
  241. package/dist/esm/serde/contracts/_module.js.map +1 -1
  242. package/dist/esm/serde/contracts/deserializer.contract.js +1 -0
  243. package/dist/esm/serde/contracts/deserializer.contract.js.map +1 -0
  244. package/dist/esm/serde/contracts/flexible-serde.contract.js +1 -0
  245. package/dist/esm/serde/contracts/flexible-serde.contract.js.map +1 -0
  246. package/dist/esm/serde/contracts/serializable.contract.js +1 -0
  247. package/dist/esm/serde/contracts/serializable.contract.js.map +1 -0
  248. package/dist/esm/serde/contracts/serializer.contract.js +1 -0
  249. package/dist/esm/serde/contracts/serializer.contract.js.map +1 -0
  250. package/dist/esm/serde/implementations/_module.js +1 -0
  251. package/dist/esm/serde/implementations/_module.js.map +1 -1
  252. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js +1 -0
  253. package/dist/esm/serde/implementations/_shared/test-utilities/_module.js.map +1 -1
  254. package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +66 -0
  255. package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -0
  256. package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js +35 -60
  257. package/dist/esm/serde/implementations/_shared/test-utilities/serde.test-suite.js.map +1 -1
  258. package/dist/esm/serde/implementations/no-op-serde/_module.js +2 -0
  259. package/dist/esm/serde/implementations/no-op-serde/_module.js.map +1 -0
  260. package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js +15 -0
  261. package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js.map +1 -0
  262. package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js +57 -111
  263. package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
  264. package/dist/esm/utilities/contracts/_module.js +2 -0
  265. package/dist/esm/utilities/contracts/_module.js.map +1 -1
  266. package/dist/esm/utilities/contracts/buildable.contract.js +1 -0
  267. package/dist/esm/utilities/contracts/buildable.contract.js.map +1 -0
  268. package/dist/esm/utilities/contracts/serialized-error.contract.js +1 -0
  269. package/dist/esm/utilities/contracts/serialized-error.contract.js.map +1 -0
  270. package/dist/esm/utilities/errors.js +7 -7
  271. package/dist/esm/utilities/errors.js.map +1 -1
  272. package/dist/esm/utilities/functions.js +3 -0
  273. package/dist/esm/utilities/functions.js.map +1 -1
  274. package/dist/esm/utilities/time-span/time-span.js.map +1 -1
  275. package/dist/types/async/_module.d.ts +1 -1
  276. package/dist/types/async/backof-policies/_module.d.ts +1 -1
  277. package/dist/types/async/utilities/_module.d.ts +3 -0
  278. package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +36 -46
  279. package/dist/types/cache/contracts/cache-factory.contract.d.ts +10 -23
  280. package/dist/types/cache/contracts/cache.contract.d.ts +365 -8
  281. package/dist/types/cache/contracts/cache.errors.d.ts +11 -4
  282. package/dist/types/cache/contracts/cache.events.d.ts +150 -38
  283. package/dist/types/cache/implementations/_shared/_module.d.ts +1 -0
  284. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +10 -8
  285. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +15 -9
  286. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +4 -3
  287. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +2 -1
  288. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.d.ts +48 -0
  289. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +49 -37
  290. package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
  291. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.d.ts +27 -0
  292. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +41 -17
  293. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +2 -1
  294. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.d.ts +51 -0
  295. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +59 -45
  296. package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
  297. package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
  298. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.d.ts +32 -0
  299. package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +41 -26
  300. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +1 -0
  301. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.d.ts +48 -0
  302. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +49 -37
  303. package/dist/types/cache/implementations/derivables/_module.d.ts +3 -1
  304. package/dist/types/cache/implementations/derivables/cache-factory-settings.d.ts +108 -0
  305. package/dist/types/cache/implementations/derivables/cache-factory.d.ts +67 -39
  306. package/dist/types/cache/implementations/derivables/cache-settings.d.ts +100 -0
  307. package/dist/types/cache/implementations/derivables/cache.d.ts +95 -36
  308. package/dist/types/collection/contracts/async-collection.contract.d.ts +1247 -666
  309. package/dist/types/collection/contracts/collection.contract.d.ts +1195 -638
  310. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +1 -1
  311. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +190 -4
  312. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +138 -1
  313. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +138 -1
  314. package/dist/types/event-bus/contracts/_module.d.ts +2 -2
  315. package/dist/types/event-bus/contracts/_shared.d.ts +11 -0
  316. package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +4 -6
  317. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +37 -31
  318. package/dist/types/event-bus/contracts/event-bus.contract.d.ts +24 -32
  319. package/dist/types/event-bus/contracts/event-bus.errors.d.ts +8 -1
  320. package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +6 -3
  321. package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +10 -7
  322. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +2 -1
  323. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.d.ts +28 -0
  324. package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +48 -22
  325. package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +4 -4
  326. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.d.ts +2 -1
  327. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.d.ts +36 -0
  328. package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +43 -31
  329. package/dist/types/event-bus/implementations/derivables/_module.d.ts +3 -1
  330. package/dist/types/event-bus/implementations/derivables/event-bus-factory-settings.d.ts +92 -0
  331. package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +43 -22
  332. package/dist/types/event-bus/implementations/derivables/event-bus-settings.d.ts +80 -0
  333. package/dist/types/event-bus/implementations/derivables/event-bus.d.ts +46 -22
  334. package/dist/types/serde/contracts/_module.d.ts +4 -0
  335. package/dist/types/serde/contracts/deserializer.contract.d.ts +13 -0
  336. package/dist/types/serde/contracts/flexible-serde.contract.d.ts +120 -0
  337. package/dist/types/serde/contracts/serde.contract.d.ts +5 -36
  338. package/dist/types/serde/contracts/serializable.contract.d.ts +10 -0
  339. package/dist/types/serde/contracts/serializer.contract.d.ts +10 -0
  340. package/dist/types/serde/implementations/_module.d.ts +1 -0
  341. package/dist/types/serde/implementations/_shared/test-utilities/_module.d.ts +1 -0
  342. package/dist/types/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.d.ts +17 -0
  343. package/dist/types/serde/implementations/_shared/test-utilities/serde.test-suite.d.ts +2 -3
  344. package/dist/types/serde/implementations/no-op-serde/_module.d.ts +1 -0
  345. package/dist/types/serde/implementations/no-op-serde/no-op-serde.d.ts +14 -0
  346. package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +23 -2
  347. package/dist/types/utilities/contracts/_module.d.ts +2 -0
  348. package/dist/types/utilities/contracts/buildable.contract.d.ts +9 -0
  349. package/dist/types/utilities/contracts/serialized-error.contract.d.ts +11 -0
  350. package/dist/types/utilities/errors.d.ts +3 -3
  351. package/dist/types/utilities/functions.d.ts +4 -0
  352. package/dist/types/utilities/time-span/time-span.d.ts +2 -2
  353. package/dist/types/utilities/types.d.ts +1 -2
  354. package/package.json +1 -1
@@ -1,143 +1,125 @@
1
+ import { beforeEach } from "vitest";
1
2
  export function serdeTestSuite(settings) {
2
3
  const { expect, test, createAdapter } = settings;
3
- test("Should work with positive integer", async () => {
4
- const serde = await createAdapter();
4
+ let serde;
5
+ beforeEach(() => {
6
+ serde = createAdapter();
7
+ });
8
+ test("Should work with positive integer", () => {
5
9
  const value = 1;
6
10
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
7
11
  });
8
- test("Should work with negative integer", async () => {
9
- const serde = await createAdapter();
12
+ test("Should work with negative integer", () => {
10
13
  const value = -1;
11
14
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
12
15
  });
13
- test("Should work with positive decimal", async () => {
14
- const serde = await createAdapter();
16
+ test("Should work with positive decimal", () => {
15
17
  const value = 1.5;
16
18
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
17
19
  });
18
- test("Should work with negative decimal", async () => {
19
- const serde = await createAdapter();
20
+ test("Should work with negative decimal", () => {
20
21
  const value = -1.5;
21
22
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
22
23
  });
23
- test("Should work with NaN", async () => {
24
- const serde = await createAdapter();
24
+ test("Should work with NaN", () => {
25
25
  const value = NaN;
26
26
  const deserializedValue = serde.deserialize(serde.serialize(value));
27
27
  expect(deserializedValue).toBeNaN();
28
28
  });
29
- test("Should work with Infinity", async () => {
30
- const serde = await createAdapter();
29
+ test("Should work with Infinity", () => {
31
30
  const value = Infinity;
32
31
  const deserializedValue = serde.deserialize(serde.serialize(value));
33
32
  expect(isFinite(deserializedValue)).toBe(false);
34
33
  });
35
- test("Should work with Bigint", async () => {
36
- const serde = await createAdapter();
34
+ test("Should work with Bigint", () => {
37
35
  const value = 20n;
38
36
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
39
37
  });
40
- test("Should work with true", async () => {
41
- const serde = await createAdapter();
38
+ test("Should work with true", () => {
42
39
  const value = true;
43
40
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
44
41
  });
45
- test("Should work with false", async () => {
46
- const serde = await createAdapter();
42
+ test("Should work with false", () => {
47
43
  const value = false;
48
44
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
49
45
  });
50
- test("Should work with string", async () => {
51
- const serde = await createAdapter();
46
+ test("Should work with string", () => {
52
47
  const value = "str";
53
48
  expect(serde.deserialize(serde.serialize(value))).toBe(value);
54
49
  });
55
- test("Should work with Date", async () => {
56
- const serde = await createAdapter();
50
+ test("Should work with Date", () => {
57
51
  const value = new Date("2024-01-01");
58
52
  const deserializedValue = serde.deserialize(serde.serialize(value));
59
53
  expect(deserializedValue).toBeInstanceOf(Date);
60
54
  expect(deserializedValue).toEqual(value);
61
55
  });
62
- test("Should work with RegExp", async () => {
63
- const serde = await createAdapter();
56
+ test("Should work with RegExp", () => {
64
57
  const value = /test/;
65
58
  const deserializedValue = serde.deserialize(serde.serialize(value));
66
59
  expect(deserializedValue).toBeInstanceOf(RegExp);
67
60
  expect(deserializedValue).toEqual(value);
68
61
  });
69
- test("Should work with Buffer", async () => {
70
- const serde = await createAdapter();
62
+ test("Should work with Buffer", () => {
71
63
  const value = Buffer.from("asd");
72
64
  const deserializedValue = serde.deserialize(serde.serialize(value));
73
65
  expect(deserializedValue).toBeInstanceOf(Buffer);
74
66
  expect(deserializedValue.toString("base64")).toEqual(value.toString("base64"));
75
67
  });
76
- test("Should work with Uint8Array", async () => {
77
- const serde = await createAdapter();
68
+ test("Should work with Uint8Array", () => {
78
69
  const value = new Uint8Array(Buffer.from("asd"));
79
70
  const deserializedValue = serde.deserialize(serde.serialize(value));
80
71
  expect(deserializedValue).toBeInstanceOf(Uint8Array);
81
72
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
82
73
  });
83
- test("Should work with Int8Array", async () => {
84
- const serde = await createAdapter();
74
+ test("Should work with Int8Array", () => {
85
75
  const value = new Int8Array(Buffer.from("asd"));
86
76
  const deserializedValue = serde.deserialize(serde.serialize(value));
87
77
  expect(deserializedValue).toBeInstanceOf(Int8Array);
88
78
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
89
79
  });
90
- test("Should work with Uint16Array", async () => {
91
- const serde = await createAdapter();
80
+ test("Should work with Uint16Array", () => {
92
81
  const value = new Uint16Array(Buffer.from("asd"));
93
82
  const deserializedValue = serde.deserialize(serde.serialize(value));
94
83
  expect(deserializedValue).toBeInstanceOf(Uint16Array);
95
84
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
96
85
  });
97
- test("Should work with Int16Array", async () => {
98
- const serde = await createAdapter();
86
+ test("Should work with Int16Array", () => {
99
87
  const value = new Int16Array(Buffer.from("asd"));
100
88
  const deserializedValue = serde.deserialize(serde.serialize(value));
101
89
  expect(deserializedValue).toBeInstanceOf(Int16Array);
102
90
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
103
91
  });
104
- test("Should work with Uint32Array", async () => {
105
- const serde = await createAdapter();
92
+ test("Should work with Uint32Array", () => {
106
93
  const value = new Uint32Array(Buffer.from("asd"));
107
94
  const deserializedValue = serde.deserialize(serde.serialize(value));
108
95
  expect(deserializedValue).toBeInstanceOf(Uint32Array);
109
96
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
110
97
  });
111
- test("Should work with Int32Array", async () => {
112
- const serde = await createAdapter();
98
+ test("Should work with Int32Array", () => {
113
99
  const value = new Int32Array(Buffer.from("asd"));
114
100
  const deserializedValue = serde.deserialize(serde.serialize(value));
115
101
  expect(deserializedValue).toBeInstanceOf(Int32Array);
116
102
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
117
103
  });
118
- test("Should work with Float32Array", async () => {
119
- const serde = await createAdapter();
104
+ test("Should work with Float32Array", () => {
120
105
  const value = new Float32Array(Buffer.from("asd"));
121
106
  const deserializedValue = serde.deserialize(serde.serialize(value));
122
107
  expect(deserializedValue).toBeInstanceOf(Float32Array);
123
108
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
124
109
  });
125
- test("Should work with Float64Array", async () => {
126
- const serde = await createAdapter();
110
+ test("Should work with Float64Array", () => {
127
111
  const value = new Float64Array(Buffer.from("asd"));
128
112
  const deserializedValue = serde.deserialize(serde.serialize(value));
129
113
  expect(deserializedValue).toBeInstanceOf(Float64Array);
130
114
  expect(Buffer.from(deserializedValue).toString("base64")).toEqual(Buffer.from(value).toString("base64"));
131
115
  });
132
- test("Should work with Set", async () => {
133
- const serde = await createAdapter();
116
+ test("Should work with Set", () => {
134
117
  const value = new Set(["a", "b", "c"]);
135
118
  const deserializedValue = serde.deserialize(serde.serialize(value));
136
119
  expect(deserializedValue).toBeInstanceOf(Set);
137
120
  expect(deserializedValue).toEqual(value);
138
121
  });
139
- test("Should work with Set of number, boolean, string, Date, Set, Map, RegExp, Objects, Arrays", async () => {
140
- const serde = await createAdapter();
122
+ test("Should work with Set of number, boolean, string, Date, Set, Map, RegExp, Objects, Arrays", () => {
141
123
  const value = new Set([
142
124
  0,
143
125
  -1,
@@ -165,8 +147,7 @@ export function serdeTestSuite(settings) {
165
147
  expect(deserializedValue).toBeInstanceOf(Set);
166
148
  expect(deserializedValue).toEqual(value);
167
149
  });
168
- test("Should work with Map", async () => {
169
- const serde = await createAdapter();
150
+ test("Should work with Map", () => {
170
151
  const value = new Map([
171
152
  ["a", 1],
172
153
  ["b", 2],
@@ -176,8 +157,7 @@ export function serdeTestSuite(settings) {
176
157
  expect(deserializedValue).toBeInstanceOf(Map);
177
158
  expect(deserializedValue).toEqual(value);
178
159
  });
179
- test("Should work with Map of number, boolean, string, Date, Set, Map, RegExp, Objects, Arrays values", async () => {
180
- const serde = await createAdapter();
160
+ test("Should work with Map of number, boolean, string, Date, Set, Map, RegExp, Objects, Arrays values", () => {
181
161
  const value = new Map([
182
162
  ["a", 0],
183
163
  ["b", -1],
@@ -208,8 +188,7 @@ export function serdeTestSuite(settings) {
208
188
  expect(deserializedValue).toBeInstanceOf(Map);
209
189
  expect(deserializedValue).toEqual(value);
210
190
  });
211
- test("Should work with Map of number, boolean, string, Date, Set, Map, RegExp, Objects, Arrays keys", async () => {
212
- const serde = await createAdapter();
191
+ test("Should work with Map of number, boolean, string, Date, Set, Map, RegExp, Objects, Arrays keys", () => {
213
192
  const value = new Map([
214
193
  [0, "a"],
215
194
  [-1, "a"],
@@ -240,8 +219,7 @@ export function serdeTestSuite(settings) {
240
219
  expect(deserializedValue).toBeInstanceOf(Map);
241
220
  expect(deserializedValue).toEqual(value);
242
221
  });
243
- test("Should work with array of number, boolean, string, Date, Set, Map, RegExp", async () => {
244
- const serde = await createAdapter();
222
+ test("Should work with array of number, boolean, string, Date, Set, Map, RegExp", () => {
245
223
  const value = [
246
224
  0,
247
225
  -1,
@@ -266,8 +244,7 @@ export function serdeTestSuite(settings) {
266
244
  const deserializedValue = serde.deserialize(serde.serialize(value));
267
245
  expect(deserializedValue).toEqual(value);
268
246
  });
269
- test("Should work with array of objects", async () => {
270
- const serde = await createAdapter();
247
+ test("Should work with array of objects", () => {
271
248
  const value = [
272
249
  Object.fromEntries([
273
250
  ["a", 0],
@@ -297,8 +274,7 @@ export function serdeTestSuite(settings) {
297
274
  const deserializedValue = serde.deserialize(serde.serialize(value));
298
275
  expect(deserializedValue).toEqual(value);
299
276
  });
300
- test("Should work with object of number, boolean, string, Date, Set, Map, RegExp", async () => {
301
- const serde = await createAdapter();
277
+ test("Should work with object of number, boolean, string, Date, Set, Map, RegExp", () => {
302
278
  const value = Object.fromEntries([
303
279
  ["a", 0],
304
280
  ["b", -1],
@@ -326,8 +302,7 @@ export function serdeTestSuite(settings) {
326
302
  const deserializedValue = serde.deserialize(serde.serialize(value));
327
303
  expect(deserializedValue).toEqual(value);
328
304
  });
329
- test("Should work with object of arrays", async () => {
330
- const serde = await createAdapter();
305
+ test("Should work with object of arrays", () => {
331
306
  const value = {
332
307
  a: [
333
308
  0,
@@ -1 +1 @@
1
- {"version":3,"file":"serde.test-suite.js","sourceRoot":"","sources":["../../../../../../src/serde/implementations/_shared/test-utilities/serde.test-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serde.test-suite.js","sourceRoot":"","sources":["../../../../../../src/serde/implementations/_shared/test-utilities/serde.test-suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "../../../serde/implementations/no-op-serde/no-op-serde";
2
+ //# sourceMappingURL=_module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../src/serde/implementations/no-op-serde/_module.ts"],"names":[],"mappings":"AAAA,cAAc,iDAAiD,CAAC"}
@@ -0,0 +1,15 @@
1
+ export class NoOpSerde {
2
+ serialize(value) {
3
+ return value;
4
+ }
5
+ deserialize(serializedValue) {
6
+ return serializedValue;
7
+ }
8
+ registerClass(_class) {
9
+ return this;
10
+ }
11
+ registerCustom(_transformer) {
12
+ return this;
13
+ }
14
+ }
15
+ //# sourceMappingURL=no-op-serde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-op-serde.js","sourceRoot":"","sources":["../../../../../src/serde/implementations/no-op-serde/no-op-serde.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,SAAS;IAGlB,SAAS,CAAS,KAAa;QAE3B,OAAO,KAAY,CAAC;IACxB,CAAC;IAED,WAAW,CAAS,eAAiC;QAEjD,OAAO,eAAsB,CAAC;IAClC,CAAC;IAED,aAAa,CACT,MAAmD;QAEnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CACV,YAAuE;QAEvE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -1,3 +1,4 @@
1
+ import { getConstructorName } from "../../../utilities/_module";
1
2
  import { DeserializationError, SerializationError, } from "../../../serde/contracts/serde.errors";
2
3
  import { SuperJSON } from "superjson-cjs";
3
4
  export class SuperJsonSerde {
@@ -5,8 +6,22 @@ export class SuperJsonSerde {
5
6
  constructor() {
6
7
  this.registerAll();
7
8
  }
8
- registerBuffer() {
9
+ registerCustom(transformer) {
9
10
  this.superJson.registerCustom({
11
+ isApplicable(value) {
12
+ return transformer.isApplicable(value);
13
+ },
14
+ serialize(deserializedValue) {
15
+ return transformer.serialize(deserializedValue);
16
+ },
17
+ deserialize(serializedValue) {
18
+ return transformer.deserialize(serializedValue);
19
+ },
20
+ }, transformer.name);
21
+ return this;
22
+ }
23
+ registerBuffer() {
24
+ this.registerCustom({
10
25
  isApplicable(value) {
11
26
  return value instanceof Buffer;
12
27
  },
@@ -28,207 +43,136 @@ export class SuperJsonSerde {
28
43
  buffer: deserializedValue.toString("base64"),
29
44
  };
30
45
  },
31
- }, Buffer.name);
46
+ name: Buffer.name,
47
+ });
32
48
  }
33
49
  registerUint8Array() {
34
- this.superJson.registerCustom({
50
+ this.registerCustom({
35
51
  isApplicable(value) {
36
52
  return value instanceof Uint8Array;
37
53
  },
38
54
  deserialize(serializedValue) {
39
- const isObject = !Array.isArray(serializedValue) &&
40
- typeof serializedValue === "object" &&
41
- serializedValue !== null;
42
- if (!isObject) {
43
- throw new DeserializationError("Serialized value is not object");
44
- }
45
- const { buffer } = serializedValue;
46
- if (typeof buffer !== "string") {
47
- throw new DeserializationError("Serialized value is not a string");
48
- }
49
- return new Uint8Array(Buffer.from(buffer, "base64"));
55
+ return new Uint8Array(Buffer.from(serializedValue.buffer, "base64"));
50
56
  },
51
57
  serialize(deserializedValue) {
52
58
  return {
53
59
  buffer: Buffer.from(deserializedValue).toString("base64"),
54
60
  };
55
61
  },
56
- }, Uint8Array.name);
62
+ name: Uint8Array.name,
63
+ });
57
64
  }
58
65
  registerInt8Array() {
59
- this.superJson.registerCustom({
66
+ this.registerCustom({
60
67
  isApplicable(value) {
61
68
  return value instanceof Int8Array;
62
69
  },
63
70
  deserialize(serializedValue) {
64
- const isObject = !Array.isArray(serializedValue) &&
65
- typeof serializedValue === "object" &&
66
- serializedValue !== null;
67
- if (!isObject) {
68
- throw new DeserializationError("Serialized value is not object");
69
- }
70
- const { buffer } = serializedValue;
71
- if (typeof buffer !== "string") {
72
- throw new DeserializationError("Serialized value is not a string");
73
- }
74
- return new Int8Array(Buffer.from(buffer, "base64"));
71
+ return new Int8Array(Buffer.from(serializedValue.buffer, "base64"));
75
72
  },
76
73
  serialize(deserializedValue) {
77
74
  return {
78
75
  buffer: Buffer.from(deserializedValue).toString("base64"),
79
76
  };
80
77
  },
81
- }, Int8Array.name);
78
+ name: Int8Array.name,
79
+ });
82
80
  }
83
81
  registerUint16Array() {
84
- this.superJson.registerCustom({
82
+ this.registerCustom({
85
83
  isApplicable(value) {
86
84
  return value instanceof Uint16Array;
87
85
  },
88
86
  deserialize(serializedValue) {
89
- const isObject = !Array.isArray(serializedValue) &&
90
- typeof serializedValue === "object" &&
91
- serializedValue !== null;
92
- if (!isObject) {
93
- throw new DeserializationError("Serialized value is not object");
94
- }
95
- const { buffer } = serializedValue;
96
- if (typeof buffer !== "string") {
97
- throw new DeserializationError("Serialized value is not a string");
98
- }
99
- return new Uint16Array(Buffer.from(buffer, "base64"));
87
+ return new Uint16Array(Buffer.from(serializedValue.buffer, "base64"));
100
88
  },
101
89
  serialize(deserializedValue) {
102
90
  return {
103
91
  buffer: Buffer.from(deserializedValue).toString("base64"),
104
92
  };
105
93
  },
106
- }, Uint16Array.name);
94
+ name: Uint16Array.name,
95
+ });
107
96
  }
108
97
  registerInt16Array() {
109
- this.superJson.registerCustom({
98
+ this.registerCustom({
110
99
  isApplicable(value) {
111
100
  return value instanceof Int16Array;
112
101
  },
113
102
  deserialize(serializedValue) {
114
- const isObject = !Array.isArray(serializedValue) &&
115
- typeof serializedValue === "object" &&
116
- serializedValue !== null;
117
- if (!isObject) {
118
- throw new DeserializationError("Serialized value is not object");
119
- }
120
- const { buffer } = serializedValue;
121
- if (typeof buffer !== "string") {
122
- throw new DeserializationError("Serialized value is not a string");
123
- }
124
- return new Int16Array(Buffer.from(buffer, "base64"));
103
+ return new Int16Array(Buffer.from(serializedValue.buffer, "base64"));
125
104
  },
126
105
  serialize(deserializedValue) {
127
106
  return {
128
107
  buffer: Buffer.from(deserializedValue).toString("base64"),
129
108
  };
130
109
  },
131
- }, Int16Array.name);
110
+ name: Int16Array.name,
111
+ });
132
112
  }
133
113
  registerUint32Array() {
134
- this.superJson.registerCustom({
114
+ this.registerCustom({
135
115
  isApplicable(value) {
136
116
  return value instanceof Uint32Array;
137
117
  },
138
118
  deserialize(serializedValue) {
139
- const isObject = !Array.isArray(serializedValue) &&
140
- typeof serializedValue === "object" &&
141
- serializedValue !== null;
142
- if (!isObject) {
143
- throw new DeserializationError("Serialized value is not object");
144
- }
145
- const { buffer } = serializedValue;
146
- if (typeof buffer !== "string") {
147
- throw new DeserializationError("Serialized value is not a string");
148
- }
149
- return new Uint32Array(Buffer.from(buffer, "base64"));
119
+ return new Uint32Array(Buffer.from(serializedValue.buffer, "base64"));
150
120
  },
151
121
  serialize(deserializedValue) {
152
122
  return {
153
123
  buffer: Buffer.from(deserializedValue).toString("base64"),
154
124
  };
155
125
  },
156
- }, Uint32Array.name);
126
+ name: Uint32Array.name,
127
+ });
157
128
  }
158
129
  registerInt32Array() {
159
- this.superJson.registerCustom({
130
+ this.registerCustom({
160
131
  isApplicable(value) {
161
132
  return value instanceof Int32Array;
162
133
  },
163
134
  deserialize(serializedValue) {
164
- const isObject = !Array.isArray(serializedValue) &&
165
- typeof serializedValue === "object" &&
166
- serializedValue !== null;
167
- if (!isObject) {
168
- throw new DeserializationError("Serialized value is not object");
169
- }
170
- const { buffer } = serializedValue;
171
- if (typeof buffer !== "string") {
172
- throw new DeserializationError("Serialized value is not a string");
173
- }
174
- return new Int32Array(Buffer.from(buffer, "base64"));
135
+ return new Int32Array(Buffer.from(serializedValue.buffer, "base64"));
175
136
  },
176
137
  serialize(deserializedValue) {
177
138
  return {
178
139
  buffer: Buffer.from(deserializedValue).toString("base64"),
179
140
  };
180
141
  },
181
- }, Int32Array.name);
142
+ name: Int32Array.name,
143
+ });
182
144
  }
183
145
  registerFloat32Array() {
184
- this.superJson.registerCustom({
146
+ this.registerCustom({
185
147
  isApplicable(value) {
186
148
  return value instanceof Float32Array;
187
149
  },
188
150
  deserialize(serializedValue) {
189
- const isObject = !Array.isArray(serializedValue) &&
190
- typeof serializedValue === "object" &&
191
- serializedValue !== null;
192
- if (!isObject) {
193
- throw new DeserializationError("Serialized value is not object");
194
- }
195
- const { buffer } = serializedValue;
196
- if (typeof buffer !== "string") {
197
- throw new DeserializationError("Serialized value is not a string");
198
- }
199
- return new Float32Array(Buffer.from(buffer, "base64"));
151
+ return new Float32Array(Buffer.from(serializedValue.buffer, "base64"));
200
152
  },
201
153
  serialize(deserializedValue) {
202
154
  return {
203
155
  buffer: Buffer.from(deserializedValue).toString("base64"),
204
156
  };
205
157
  },
206
- }, Float32Array.name);
158
+ name: Float32Array.name,
159
+ });
207
160
  }
208
161
  registerFloat64Array() {
209
- this.superJson.registerCustom({
162
+ this.registerCustom({
210
163
  isApplicable(value) {
211
164
  return value instanceof Float64Array;
212
165
  },
213
166
  deserialize(serializedValue) {
214
- const isObject = !Array.isArray(serializedValue) &&
215
- typeof serializedValue === "object" &&
216
- serializedValue !== null;
217
- if (!isObject) {
218
- throw new DeserializationError("Serialized value is not object");
219
- }
220
- const { buffer } = serializedValue;
221
- if (typeof buffer !== "string") {
222
- throw new DeserializationError("Serialized value is not a string");
223
- }
224
- return new Float64Array(Buffer.from(buffer, "base64"));
167
+ return new Float64Array(Buffer.from(serializedValue.buffer, "base64"));
225
168
  },
226
169
  serialize(deserializedValue) {
227
170
  return {
228
171
  buffer: Buffer.from(deserializedValue).toString("base64"),
229
172
  };
230
173
  },
231
- }, Float64Array.name);
174
+ name: Float64Array.name,
175
+ });
232
176
  }
233
177
  registerAll() {
234
178
  this.registerBuffer();
@@ -242,17 +186,19 @@ export class SuperJsonSerde {
242
186
  this.registerFloat64Array();
243
187
  }
244
188
  registerClass(class_) {
245
- this.superJson.registerCustom({
189
+ return this.registerCustom({
246
190
  isApplicable(value) {
247
- return value instanceof class_;
191
+ return (value instanceof class_ &&
192
+ getConstructorName(value) === class_.name);
248
193
  },
249
194
  deserialize(serializedValue) {
250
195
  return class_.deserialize(serializedValue);
251
196
  },
252
- serialize(value) {
253
- return value.serialize();
197
+ serialize(deserializedValue) {
198
+ return deserializedValue.serialize();
254
199
  },
255
- }, Float64Array.name);
200
+ name: class_.name,
201
+ });
256
202
  }
257
203
  serialize(value) {
258
204
  try {