@daiso-tech/core 0.11.0 → 0.13.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 (320) hide show
  1. package/dist/cjs/_module.js +2 -2
  2. package/dist/cjs/_module.js.map +1 -1
  3. package/dist/cjs/{storage/implementations/adapters/sqlite/libsql-storage-adapter → cache/contracts}/_module.js +5 -1
  4. package/dist/cjs/cache/contracts/_module.js.map +1 -0
  5. package/dist/cjs/{storage/contracts/storage-factory.contract.js → cache/contracts/cache-adapter.contract.js} +1 -1
  6. package/dist/cjs/cache/contracts/cache-adapter.contract.js.map +1 -0
  7. package/dist/cjs/{storage/contracts/storage-adapter.contract.js → cache/contracts/cache-factory.contract.js} +1 -1
  8. package/dist/cjs/cache/contracts/cache-factory.contract.js.map +1 -0
  9. package/dist/cjs/{storage/contracts/storage.contract.js → cache/contracts/cache.contract.js} +1 -1
  10. package/dist/cjs/cache/contracts/cache.contract.js.map +1 -0
  11. package/dist/cjs/cache/contracts/cache.errors.js +32 -0
  12. package/dist/cjs/cache/contracts/cache.errors.js.map +1 -0
  13. package/dist/cjs/{storage/contracts/storage.events.js → cache/contracts/cache.events.js} +3 -3
  14. package/dist/cjs/cache/contracts/cache.events.js.map +1 -0
  15. package/dist/cjs/{storage → cache}/implementations/_module.js +3 -3
  16. package/dist/cjs/cache/implementations/_module.js.map +1 -0
  17. package/dist/cjs/{storage/implementations/_shared/test-utilities → cache/implementations/_shared}/_module.js +1 -1
  18. package/dist/cjs/cache/implementations/_shared/_module.js.map +1 -0
  19. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +192 -0
  20. package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -0
  21. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +1009 -0
  22. package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -0
  23. package/dist/cjs/{storage/contracts → cache/implementations/adapters}/_module.js +5 -5
  24. package/dist/cjs/cache/implementations/adapters/_module.js.map +1 -0
  25. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +18 -0
  26. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +1 -0
  27. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +291 -0
  28. package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -0
  29. package/dist/cjs/{storage/implementations/adapters/redis-storage-adapter → cache/implementations/adapters/libsql-cache-adapter}/_module.js +1 -1
  30. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -0
  31. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +61 -0
  32. package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -0
  33. package/dist/cjs/{storage/implementations/adapters/memory-storage-adapter → cache/implementations/adapters/memory-cache-adapter}/_module.js +1 -1
  34. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
  35. package/dist/{esm/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js → cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js} +24 -6
  36. package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -0
  37. package/dist/cjs/{storage/implementations/adapters/sqlite/_shared → cache/implementations/adapters/mongodb-cache-adapter}/_module.js +1 -1
  38. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -0
  39. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +262 -0
  40. package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -0
  41. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +18 -0
  42. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -0
  43. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +147 -0
  44. package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -0
  45. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +18 -0
  46. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -0
  47. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +60 -0
  48. package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -0
  49. package/dist/cjs/cache/implementations/derivables/_module.js +20 -0
  50. package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -0
  51. package/dist/cjs/{storage/implementations/derivables/storage.js → cache/implementations/derivables/base-cache.js} +30 -197
  52. package/dist/cjs/cache/implementations/derivables/base-cache.js.map +1 -0
  53. package/dist/cjs/{storage/implementations/derivables/storage-factory.js → cache/implementations/derivables/cache-factory.js} +11 -14
  54. package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -0
  55. package/dist/cjs/cache/implementations/derivables/cache.js +191 -0
  56. package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -0
  57. package/dist/cjs/collection/contracts/_module.js +1 -0
  58. package/dist/cjs/collection/contracts/_module.js.map +1 -1
  59. package/dist/cjs/collection/contracts/_shared.js +0 -43
  60. package/dist/cjs/collection/contracts/_shared.js.map +1 -1
  61. package/dist/cjs/collection/contracts/collection.errors.js +46 -0
  62. package/dist/cjs/collection/contracts/collection.errors.js.map +1 -0
  63. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js.map +1 -1
  64. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.js.map +1 -1
  65. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +1 -1
  66. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js +3 -3
  67. package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.js.map +1 -1
  68. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js +38 -1
  69. package/dist/cjs/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  70. package/dist/cjs/collection/implementations/iterable-collection/_shared/count-by-iterable.js.map +1 -1
  71. package/dist/cjs/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
  72. package/dist/cjs/collection/implementations/iterable-collection/_shared/entries-iterable.js.map +1 -1
  73. package/dist/cjs/collection/implementations/iterable-collection/_shared/group-by-iterable.js.map +1 -1
  74. package/dist/cjs/collection/implementations/iterable-collection/_shared/update-iterable.js +3 -3
  75. package/dist/cjs/collection/implementations/iterable-collection/_shared/zip-iterable.js.map +1 -1
  76. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js +34 -1
  77. package/dist/cjs/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  78. package/dist/cjs/collection/implementations/list-collection/list-collection.js +34 -1
  79. package/dist/cjs/collection/implementations/list-collection/list-collection.js.map +1 -1
  80. package/dist/cjs/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +1 -1
  81. package/dist/esm/_module.js +2 -2
  82. package/dist/esm/_module.js.map +1 -1
  83. package/dist/esm/cache/contracts/_module.js +6 -0
  84. package/dist/esm/cache/contracts/_module.js.map +1 -0
  85. package/dist/esm/cache/contracts/cache-adapter.contract.js +1 -0
  86. package/dist/esm/cache/contracts/cache-adapter.contract.js.map +1 -0
  87. package/dist/esm/cache/contracts/cache-factory.contract.js +1 -0
  88. package/dist/esm/cache/contracts/cache-factory.contract.js.map +1 -0
  89. package/dist/esm/cache/contracts/cache.contract.js +1 -0
  90. package/dist/esm/cache/contracts/cache.contract.js.map +1 -0
  91. package/dist/esm/cache/contracts/cache.errors.js +25 -0
  92. package/dist/esm/cache/contracts/cache.errors.js.map +1 -0
  93. package/dist/esm/{storage/contracts/storage.events.js → cache/contracts/cache.events.js} +2 -2
  94. package/dist/esm/cache/contracts/cache.events.js.map +1 -0
  95. package/dist/esm/cache/implementations/_module.js +4 -0
  96. package/dist/esm/cache/implementations/_module.js.map +1 -0
  97. package/dist/esm/cache/implementations/_shared/_module.js +2 -0
  98. package/dist/esm/cache/implementations/_shared/_module.js.map +1 -0
  99. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +189 -0
  100. package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -0
  101. package/dist/esm/cache/implementations/_shared/cache.test-suite.js +1006 -0
  102. package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -0
  103. package/dist/esm/cache/implementations/adapters/_module.js +6 -0
  104. package/dist/esm/cache/implementations/adapters/_module.js.map +1 -0
  105. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +2 -0
  106. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +1 -0
  107. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +287 -0
  108. package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -0
  109. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -0
  110. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -0
  111. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +57 -0
  112. package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -0
  113. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +2 -0
  114. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
  115. package/dist/{cjs/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js → esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js} +20 -10
  116. package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -0
  117. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -0
  118. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -0
  119. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +255 -0
  120. package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -0
  121. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +2 -0
  122. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -0
  123. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +143 -0
  124. package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -0
  125. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +2 -0
  126. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -0
  127. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +56 -0
  128. package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -0
  129. package/dist/esm/cache/implementations/derivables/_module.js +4 -0
  130. package/dist/esm/cache/implementations/derivables/_module.js.map +1 -0
  131. package/dist/esm/cache/implementations/derivables/base-cache.js +258 -0
  132. package/dist/esm/cache/implementations/derivables/base-cache.js.map +1 -0
  133. package/dist/esm/{storage/implementations/derivables/storage-factory.js → cache/implementations/derivables/cache-factory.js} +9 -12
  134. package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -0
  135. package/dist/esm/cache/implementations/derivables/cache.js +187 -0
  136. package/dist/esm/cache/implementations/derivables/cache.js.map +1 -0
  137. package/dist/esm/collection/contracts/_module.js +1 -0
  138. package/dist/esm/collection/contracts/_module.js.map +1 -1
  139. package/dist/esm/collection/contracts/_shared.js +0 -36
  140. package/dist/esm/collection/contracts/_shared.js.map +1 -1
  141. package/dist/esm/collection/contracts/collection.errors.js +37 -0
  142. package/dist/esm/collection/contracts/collection.errors.js.map +1 -0
  143. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js.map +1 -1
  144. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.js.map +1 -1
  145. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +1 -1
  146. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js +1 -1
  147. package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.js.map +1 -1
  148. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js +39 -2
  149. package/dist/esm/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  150. package/dist/esm/collection/implementations/iterable-collection/_shared/count-by-iterable.js.map +1 -1
  151. package/dist/esm/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
  152. package/dist/esm/collection/implementations/iterable-collection/_shared/entries-iterable.js.map +1 -1
  153. package/dist/esm/collection/implementations/iterable-collection/_shared/group-by-iterable.js.map +1 -1
  154. package/dist/esm/collection/implementations/iterable-collection/_shared/update-iterable.js +1 -1
  155. package/dist/esm/collection/implementations/iterable-collection/_shared/zip-iterable.js.map +1 -1
  156. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js +35 -2
  157. package/dist/esm/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  158. package/dist/esm/collection/implementations/list-collection/list-collection.js +34 -1
  159. package/dist/esm/collection/implementations/list-collection/list-collection.js.map +1 -1
  160. package/dist/esm/serializer/implementations/_shared/test-utilities/serializer.test-suite.js.map +1 -1
  161. package/dist/types/_module.d.ts +2 -2
  162. package/dist/types/_shared/types.d.ts +0 -1
  163. package/dist/types/cache/contracts/_module.d.ts +5 -0
  164. package/dist/types/{storage/contracts/storage-adapter.contract.d.ts → cache/contracts/cache-adapter.contract.d.ts} +10 -7
  165. package/dist/types/cache/contracts/cache-factory.contract.d.ts +48 -0
  166. package/dist/types/{storage/contracts/storage.contract.d.ts → cache/contracts/cache.contract.d.ts} +69 -56
  167. package/dist/types/{storage/contracts/storage.errors.d.ts → cache/contracts/cache.errors.d.ts} +5 -5
  168. package/dist/types/cache/contracts/cache.events.d.ts +96 -0
  169. package/dist/types/cache/implementations/_module.d.ts +3 -0
  170. package/dist/types/cache/implementations/_shared/_module.d.ts +1 -0
  171. package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +51 -0
  172. package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +60 -0
  173. package/dist/types/cache/implementations/adapters/_module.d.ts +5 -0
  174. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.d.ts +1 -0
  175. package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +55 -0
  176. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +1 -0
  177. package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +35 -0
  178. package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
  179. package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +20 -0
  180. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +1 -0
  181. package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +41 -0
  182. package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
  183. package/dist/types/{storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.d.ts → cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts} +11 -11
  184. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +1 -0
  185. package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +35 -0
  186. package/dist/types/cache/implementations/derivables/_module.d.ts +3 -0
  187. package/dist/types/cache/implementations/derivables/base-cache.d.ts +57 -0
  188. package/dist/types/cache/implementations/derivables/cache-factory.d.ts +56 -0
  189. package/dist/types/cache/implementations/derivables/cache.d.ts +88 -0
  190. package/dist/types/collection/contracts/_module.d.ts +1 -0
  191. package/dist/types/collection/contracts/_shared.d.ts +2 -36
  192. package/dist/types/collection/contracts/async-collection.contract.d.ts +39 -60
  193. package/dist/types/collection/contracts/collection.contract.d.ts +36 -55
  194. package/dist/types/collection/contracts/collection.errors.d.ts +39 -0
  195. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.d.ts +2 -3
  196. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.d.ts +2 -3
  197. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.d.ts +3 -0
  198. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.d.ts +6 -3
  199. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-update-iterable.d.ts +1 -1
  200. package/dist/types/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.d.ts +2 -3
  201. package/dist/types/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +8 -6
  202. package/dist/types/collection/implementations/iterable-collection/_shared/count-by-iterable.d.ts +2 -3
  203. package/dist/types/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts +3 -0
  204. package/dist/types/collection/implementations/iterable-collection/_shared/entries-iterable.d.ts +2 -3
  205. package/dist/types/collection/implementations/iterable-collection/_shared/group-by-iterable.d.ts +2 -3
  206. package/dist/types/collection/implementations/iterable-collection/_shared/update-iterable.d.ts +1 -1
  207. package/dist/types/collection/implementations/iterable-collection/_shared/zip-iterable.d.ts +2 -3
  208. package/dist/types/collection/implementations/iterable-collection/iterable-collection.d.ts +8 -6
  209. package/dist/types/collection/implementations/list-collection/list-collection.d.ts +7 -5
  210. package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +1 -1
  211. package/package.json +1 -1
  212. package/dist/cjs/storage/contracts/_module.js.map +0 -1
  213. package/dist/cjs/storage/contracts/storage-adapter.contract.js.map +0 -1
  214. package/dist/cjs/storage/contracts/storage-factory.contract.js.map +0 -1
  215. package/dist/cjs/storage/contracts/storage.contract.js.map +0 -1
  216. package/dist/cjs/storage/contracts/storage.errors.js +0 -32
  217. package/dist/cjs/storage/contracts/storage.errors.js.map +0 -1
  218. package/dist/cjs/storage/contracts/storage.events.js.map +0 -1
  219. package/dist/cjs/storage/implementations/_module.js.map +0 -1
  220. package/dist/cjs/storage/implementations/_shared/test-utilities/_module.js.map +0 -1
  221. package/dist/cjs/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js +0 -130
  222. package/dist/cjs/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
  223. package/dist/cjs/storage/implementations/adapters/_module.js +0 -21
  224. package/dist/cjs/storage/implementations/adapters/_module.js.map +0 -1
  225. package/dist/cjs/storage/implementations/adapters/memory-storage-adapter/_module.js.map +0 -1
  226. package/dist/cjs/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
  227. package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/_module.js +0 -6
  228. package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/_module.js.map +0 -1
  229. package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -132
  230. package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
  231. package/dist/cjs/storage/implementations/adapters/redis-storage-adapter/_module.js.map +0 -1
  232. package/dist/cjs/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js +0 -89
  233. package/dist/cjs/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
  234. package/dist/cjs/storage/implementations/adapters/sqlite/_module.js +0 -19
  235. package/dist/cjs/storage/implementations/adapters/sqlite/_module.js.map +0 -1
  236. package/dist/cjs/storage/implementations/adapters/sqlite/_shared/_module.js.map +0 -1
  237. package/dist/cjs/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js +0 -119
  238. package/dist/cjs/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
  239. package/dist/cjs/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.js.map +0 -1
  240. package/dist/cjs/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -53
  241. package/dist/cjs/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
  242. package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js +0 -18
  243. package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
  244. package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -52
  245. package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
  246. package/dist/cjs/storage/implementations/derivables/_module.js +0 -19
  247. package/dist/cjs/storage/implementations/derivables/_module.js.map +0 -1
  248. package/dist/cjs/storage/implementations/derivables/storage-factory.js.map +0 -1
  249. package/dist/cjs/storage/implementations/derivables/storage.js.map +0 -1
  250. package/dist/esm/storage/contracts/_module.js +0 -6
  251. package/dist/esm/storage/contracts/_module.js.map +0 -1
  252. package/dist/esm/storage/contracts/storage-adapter.contract.js +0 -1
  253. package/dist/esm/storage/contracts/storage-adapter.contract.js.map +0 -1
  254. package/dist/esm/storage/contracts/storage-factory.contract.js +0 -1
  255. package/dist/esm/storage/contracts/storage-factory.contract.js.map +0 -1
  256. package/dist/esm/storage/contracts/storage.contract.js +0 -1
  257. package/dist/esm/storage/contracts/storage.contract.js.map +0 -1
  258. package/dist/esm/storage/contracts/storage.errors.js +0 -25
  259. package/dist/esm/storage/contracts/storage.errors.js.map +0 -1
  260. package/dist/esm/storage/contracts/storage.events.js.map +0 -1
  261. package/dist/esm/storage/implementations/_module.js +0 -4
  262. package/dist/esm/storage/implementations/_module.js.map +0 -1
  263. package/dist/esm/storage/implementations/_shared/test-utilities/_module.js +0 -2
  264. package/dist/esm/storage/implementations/_shared/test-utilities/_module.js.map +0 -1
  265. package/dist/esm/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js +0 -127
  266. package/dist/esm/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
  267. package/dist/esm/storage/implementations/adapters/_module.js +0 -5
  268. package/dist/esm/storage/implementations/adapters/_module.js.map +0 -1
  269. package/dist/esm/storage/implementations/adapters/memory-storage-adapter/_module.js +0 -2
  270. package/dist/esm/storage/implementations/adapters/memory-storage-adapter/_module.js.map +0 -1
  271. package/dist/esm/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
  272. package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/_module.js +0 -2
  273. package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/_module.js.map +0 -1
  274. package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -125
  275. package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
  276. package/dist/esm/storage/implementations/adapters/redis-storage-adapter/_module.js +0 -2
  277. package/dist/esm/storage/implementations/adapters/redis-storage-adapter/_module.js.map +0 -1
  278. package/dist/esm/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js +0 -85
  279. package/dist/esm/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
  280. package/dist/esm/storage/implementations/adapters/sqlite/_module.js +0 -3
  281. package/dist/esm/storage/implementations/adapters/sqlite/_module.js.map +0 -1
  282. package/dist/esm/storage/implementations/adapters/sqlite/_shared/_module.js +0 -2
  283. package/dist/esm/storage/implementations/adapters/sqlite/_shared/_module.js.map +0 -1
  284. package/dist/esm/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js +0 -115
  285. package/dist/esm/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
  286. package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.js +0 -2
  287. package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.js.map +0 -1
  288. package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -49
  289. package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
  290. package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js +0 -2
  291. package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
  292. package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -48
  293. package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
  294. package/dist/esm/storage/implementations/derivables/_module.js +0 -3
  295. package/dist/esm/storage/implementations/derivables/_module.js.map +0 -1
  296. package/dist/esm/storage/implementations/derivables/storage-factory.js.map +0 -1
  297. package/dist/esm/storage/implementations/derivables/storage.js +0 -425
  298. package/dist/esm/storage/implementations/derivables/storage.js.map +0 -1
  299. package/dist/types/storage/contracts/_module.d.ts +0 -5
  300. package/dist/types/storage/contracts/storage-factory.contract.d.ts +0 -67
  301. package/dist/types/storage/contracts/storage.events.d.ts +0 -94
  302. package/dist/types/storage/implementations/_module.d.ts +0 -3
  303. package/dist/types/storage/implementations/_shared/test-utilities/_module.d.ts +0 -1
  304. package/dist/types/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.d.ts +0 -36
  305. package/dist/types/storage/implementations/adapters/_module.d.ts +0 -4
  306. package/dist/types/storage/implementations/adapters/memory-storage-adapter/_module.d.ts +0 -1
  307. package/dist/types/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.d.ts +0 -18
  308. package/dist/types/storage/implementations/adapters/mongodb-storage-adapter/_module.d.ts +0 -1
  309. package/dist/types/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.d.ts +0 -40
  310. package/dist/types/storage/implementations/adapters/redis-storage-adapter/_module.d.ts +0 -1
  311. package/dist/types/storage/implementations/adapters/sqlite/_module.d.ts +0 -2
  312. package/dist/types/storage/implementations/adapters/sqlite/_shared/_module.d.ts +0 -1
  313. package/dist/types/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.d.ts +0 -45
  314. package/dist/types/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.d.ts +0 -1
  315. package/dist/types/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.d.ts +0 -37
  316. package/dist/types/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.d.ts +0 -1
  317. package/dist/types/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.d.ts +0 -37
  318. package/dist/types/storage/implementations/derivables/_module.d.ts +0 -2
  319. package/dist/types/storage/implementations/derivables/storage-factory.d.ts +0 -47
  320. package/dist/types/storage/implementations/derivables/storage.d.ts +0 -119
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * @module Collection
3
3
  */
4
+ import type { EnsureMap, EnsureRecord } from "../../../collection/contracts/_module";
4
5
  import { type Collapse, type Comparator, type Predicate, type ForEach, type ICollection, type Map, type Modifier, type Tap, type Transform, type Reduce, type CrossJoinResult } from "../../../collection/contracts/_module";
5
6
  import { type Lazyable } from "../../../_shared/types";
6
- import { type RecordItem } from "../../../_shared/types";
7
7
  /**
8
8
  * All methods that return <i>{@link ICollection}</i> are executed lazly which means they will be executed when the <i>IterableCollection</i> is iterated with <i>forEach</i> method or "for of" loop.
9
9
  * The rest of the methods are executed eagerly.
10
10
  * @group Adapters
11
11
  */
12
12
  export declare class IterableCollection<TInput> implements ICollection<TInput> {
13
- private iterable;
13
+ private readonly iterable;
14
14
  private static DEFAULT_CHUNK_SIZE;
15
15
  private static makeCollection;
16
16
  /**
@@ -19,7 +19,7 @@ export declare class IterableCollection<TInput> implements ICollection<TInput> {
19
19
  constructor(iterable: Iterable<TInput>);
20
20
  [Symbol.iterator](): Iterator<TInput>;
21
21
  toIterator(): Iterator<TInput, void>;
22
- entries(): ICollection<RecordItem<number, TInput>>;
22
+ entries(): ICollection<[number, TInput]>;
23
23
  keys(): ICollection<number>;
24
24
  values(): ICollection<TInput>;
25
25
  filter<TOutput extends TInput>(predicateFn: Predicate<TInput, ICollection<TInput>, TOutput>): ICollection<TOutput>;
@@ -61,8 +61,8 @@ export declare class IterableCollection<TInput> implements ICollection<TInput> {
61
61
  split(chunkAmount: number): ICollection<ICollection<TInput>>;
62
62
  partition(predicateFn: Predicate<TInput, ICollection<TInput>>): ICollection<ICollection<TInput>>;
63
63
  sliding(chunkSize: number, step?: number): ICollection<ICollection<TInput>>;
64
- groupBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<RecordItem<TOutput, ICollection<TInput>>>;
65
- countBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<RecordItem<TOutput, number>>;
64
+ groupBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<[TOutput, ICollection<TInput>]>;
65
+ countBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<[TOutput, number]>;
66
66
  unique<TOutput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<TInput>;
67
67
  difference<TOutput = TInput>(iterable: Iterable<TInput>, mapFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<TInput>;
68
68
  repeat(amount: number): ICollection<TInput>;
@@ -74,7 +74,7 @@ export declare class IterableCollection<TInput> implements ICollection<TInput> {
74
74
  insertBefore<TExtended = TInput>(predicateFn: Predicate<TInput, ICollection<TInput>>, iterable: Iterable<TInput | TExtended>): ICollection<TInput | TExtended>;
75
75
  insertAfter<TExtended = TInput>(predicateFn: Predicate<TInput, ICollection<TInput>>, iterable: Iterable<TInput | TExtended>): ICollection<TInput | TExtended>;
76
76
  crossJoin<TExtended>(iterable: Iterable<TExtended>): ICollection<CrossJoinResult<TInput, TExtended>>;
77
- zip<TExtended>(iterable: Iterable<TExtended>): ICollection<RecordItem<TInput, TExtended>>;
77
+ zip<TExtended>(iterable: Iterable<TExtended>): ICollection<[TInput, TExtended]>;
78
78
  sort(comparator?: Comparator<TInput>): ICollection<TInput>;
79
79
  reverse(chunkSize?: number): ICollection<TInput>;
80
80
  shuffle(mathRandom?: () => number): ICollection<TInput>;
@@ -100,4 +100,6 @@ export declare class IterableCollection<TInput> implements ICollection<TInput> {
100
100
  searchLast(predicateFn: Predicate<TInput, ICollection<TInput>>): number;
101
101
  forEach(callback: ForEach<TInput, ICollection<TInput>>): void;
102
102
  toArray(): TInput[];
103
+ toRecord(): EnsureRecord<TInput>;
104
+ toMap(): EnsureMap<TInput>;
103
105
  }
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @module Collection
3
3
  */
4
+ import type { EnsureMap, EnsureRecord } from "../../../collection/contracts/_module";
4
5
  import { type Collapse, type Comparator, type Predicate, type ICollection, type Map, type Modifier, type Tap, type Transform, type Reduce, type ForEach, type CrossJoinResult } from "../../../collection/contracts/_module";
5
6
  import { type Lazyable } from "../../../_shared/types";
6
- import { type RecordItem } from "../../../_shared/types";
7
7
  /**
8
8
  * All methods in <i>ListCollection</i> are executed eagerly.
9
9
  * @group Adapters
@@ -16,7 +16,7 @@ export declare class ListCollection<TInput> implements ICollection<TInput> {
16
16
  constructor(iterable?: Iterable<TInput>);
17
17
  [Symbol.iterator](): Iterator<TInput>;
18
18
  toIterator(): Iterator<TInput, void>;
19
- entries(): ICollection<RecordItem<number, TInput>>;
19
+ entries(): ICollection<[number, TInput]>;
20
20
  keys(): ICollection<number>;
21
21
  values(): ICollection<TInput>;
22
22
  filter<TOutput extends TInput>(predicateFn: Predicate<TInput, ICollection<TInput>, TOutput>): ICollection<TOutput>;
@@ -58,8 +58,8 @@ export declare class ListCollection<TInput> implements ICollection<TInput> {
58
58
  split(chunkAmount: number): ICollection<ICollection<TInput>>;
59
59
  partition(predicateFn: Predicate<TInput, ICollection<TInput>>): ICollection<ICollection<TInput>>;
60
60
  sliding(chunkSize: number, step?: number): ICollection<ICollection<TInput>>;
61
- groupBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<RecordItem<TOutput, ICollection<TInput>>>;
62
- countBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<RecordItem<TOutput, number>>;
61
+ groupBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<[TOutput, ICollection<TInput>]>;
62
+ countBy<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<[TOutput, number]>;
63
63
  unique<TOutput = TInput>(selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<TInput>;
64
64
  difference<TOutput = TInput>(iterable: Iterable<TInput>, selectFn?: Map<TInput, ICollection<TInput>, TOutput>): ICollection<TInput>;
65
65
  repeat(amount: number): ICollection<TInput>;
@@ -71,7 +71,7 @@ export declare class ListCollection<TInput> implements ICollection<TInput> {
71
71
  insertBefore<TExtended = TInput>(predicateFn: Predicate<TInput, ICollection<TInput>>, iterable: Iterable<TInput | TExtended>): ICollection<TInput | TExtended>;
72
72
  insertAfter<TExtended = TInput>(predicateFn: Predicate<TInput, ICollection<TInput>>, iterable: Iterable<TInput | TExtended>): ICollection<TInput | TExtended>;
73
73
  crossJoin<TExtended>(iterable: Iterable<TExtended>): ICollection<CrossJoinResult<TInput, TExtended>>;
74
- zip<TExtended>(iterable: Iterable<TExtended>): ICollection<RecordItem<TInput, TExtended>>;
74
+ zip<TExtended>(iterable: Iterable<TExtended>): ICollection<[TInput, TExtended]>;
75
75
  sort(comparator?: Comparator<TInput>): ICollection<TInput>;
76
76
  reverse(_chunkSize?: number): ICollection<TInput>;
77
77
  shuffle(mathRandom?: () => number): ICollection<TInput>;
@@ -97,4 +97,6 @@ export declare class ListCollection<TInput> implements ICollection<TInput> {
97
97
  searchLast(predicateFn: Predicate<TInput, ICollection<TInput>>): number;
98
98
  forEach(callback: ForEach<TInput, ICollection<TInput>>): void;
99
99
  toArray(): TInput[];
100
+ toRecord(): EnsureRecord<TInput>;
101
+ toMap(): EnsureMap<TInput>;
100
102
  }
@@ -19,7 +19,7 @@ export type IEventBusFactory<TDrivers extends string = string, TEvents extends I
19
19
  * import { type IEventBusFactory } from "@daiso-tech/core";
20
20
  *
21
21
  * async function main(eventFactory: IEventBusFactory): Promise<void> {
22
- * // Will dispatch envent using the default driver which is the memory addapter
22
+ * // Will dispatch envent using the default driver
23
23
  * await eventBusFactory
24
24
  * .use()
25
25
  * .dispatch({ type: "add", a: 1, b: 2 });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@daiso-tech/core",
3
3
  "private": false,
4
- "version": "0.11.0",
4
+ "version": "0.13.0",
5
5
  "author": "Yousif Abdulkarim",
6
6
  "license": "Apache-2.0",
7
7
  "main": "./dist/cjs/_module.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/storage/contracts/_module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+EAA6D;AAC7D,+EAA6D;AAC7D,uEAAqD;AACrD,qEAAmD;AACnD,qEAAmD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-adapter.contract.js","sourceRoot":"","sources":["../../../../src/storage/contracts/storage-adapter.contract.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-factory.contract.js","sourceRoot":"","sources":["../../../../src/storage/contracts/storage-factory.contract.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.contract.js","sourceRoot":"","sources":["../../../../src/storage/contracts/storage.contract.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyNotFoundStorageError = exports.TypeStorageError = exports.UnexpectedStorageError = exports.StorageError = void 0;
4
- class StorageError extends Error {
5
- constructor(message, cause) {
6
- super(message, { cause });
7
- this.name = StorageError.name;
8
- }
9
- }
10
- exports.StorageError = StorageError;
11
- class UnexpectedStorageError extends StorageError {
12
- constructor(message, cause) {
13
- super(message, { cause });
14
- this.name = UnexpectedStorageError.name;
15
- }
16
- }
17
- exports.UnexpectedStorageError = UnexpectedStorageError;
18
- class TypeStorageError extends StorageError {
19
- constructor(message, cause) {
20
- super(message, { cause });
21
- this.name = TypeStorageError.name;
22
- }
23
- }
24
- exports.TypeStorageError = TypeStorageError;
25
- class KeyNotFoundStorageError extends StorageError {
26
- constructor(message, cause) {
27
- super(message, { cause });
28
- this.name = KeyNotFoundStorageError.name;
29
- }
30
- }
31
- exports.KeyNotFoundStorageError = KeyNotFoundStorageError;
32
- //# sourceMappingURL=storage.errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.errors.js","sourceRoot":"","sources":["../../../../src/storage/contracts/storage.errors.ts"],"names":[],"mappings":";;;AAOA,MAAa,YAAa,SAAQ,KAAK;IACnC,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;CACJ;AALD,oCAKC;AAKD,MAAa,sBAAuB,SAAQ,YAAY;IACpD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC;IAC5C,CAAC;CACJ;AALD,wDAKC;AAKD,MAAa,gBAAiB,SAAQ,YAAY;IAC9C,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AALD,4CAKC;AAKD,MAAa,uBAAwB,SAAQ,YAAY;IACrD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC;IAC7C,CAAC;CACJ;AALD,0DAKC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.events.js","sourceRoot":"","sources":["../../../../src/storage/contracts/storage.events.ts"],"names":[],"mappings":";;;AAYa,QAAA,cAAc,GAAG;IAC1B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../src/storage/implementations/_module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+EAA6D;AAC7D,6EAA2D;AAC3D,2FAAyE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/_shared/test-utilities/_module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8GAA4F"}
@@ -1,130 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storageAdapterTestSuite = storageAdapterTestSuite;
4
- const _module_1 = require("../../../../storage/contracts/_module");
5
- function storageAdapterTestSuite(settings) {
6
- const { expect, test, createAdapter, describe, beforeEach } = settings;
7
- let storageAdapter;
8
- beforeEach(async () => {
9
- storageAdapter = await createAdapter();
10
- });
11
- describe("method: get", () => {
12
- test("Should return the value when key exists", async () => {
13
- await storageAdapter.add("a", 1);
14
- expect(await storageAdapter.get("a")).toBe(1);
15
- });
16
- test("Should return null when keys doesnt exists", async () => {
17
- expect(await storageAdapter.get("a")).toBeNull();
18
- });
19
- });
20
- describe("method: add", () => {
21
- test("Should return true when key doesnt exists", async () => {
22
- expect(await storageAdapter.add("a", 1)).toBe(true);
23
- });
24
- test("Should persist values when all keys doesnt exist", async () => {
25
- await storageAdapter.add("a", 1);
26
- expect(await storageAdapter.get("a")).toBe(1);
27
- });
28
- test("Should return false when key exists", async () => {
29
- await storageAdapter.add("a", 1);
30
- expect(await storageAdapter.add("a", 1)).toBe(false);
31
- });
32
- test("Should not persist value when key exist", async () => {
33
- await storageAdapter.add("a", 1);
34
- await storageAdapter.add("a", 2);
35
- expect(await storageAdapter.get("a")).toBe(1);
36
- });
37
- });
38
- describe("method: update", () => {
39
- test("Should return true when key exists", async () => {
40
- await storageAdapter.add("a", 1);
41
- expect(await storageAdapter.update("a", -1)).toBe(true);
42
- });
43
- test("Should persist value when key exist", async () => {
44
- await storageAdapter.add("a", 1);
45
- await storageAdapter.update("a", -1);
46
- expect(await storageAdapter.get("a")).toBe(-1);
47
- });
48
- test("Should return false when key doesnt exists", async () => {
49
- expect(await storageAdapter.update("a", -1)).toBe(false);
50
- });
51
- test("Should not persist value when key doesnt exist", async () => {
52
- await storageAdapter.update("a", -1);
53
- expect(await storageAdapter.get("a")).toBeNull();
54
- });
55
- });
56
- describe("method: put", () => {
57
- test("Should return only true when key exists", async () => {
58
- await storageAdapter.add("a", 1);
59
- expect(await storageAdapter.put("a", -1)).toBe(true);
60
- });
61
- test("Should persist value when key exist", async () => {
62
- await storageAdapter.add("a", 1);
63
- await storageAdapter.put("a", -1);
64
- expect(await storageAdapter.get("a")).toBe(-1);
65
- });
66
- test("Should return false when key doesnt exists", async () => {
67
- expect(await storageAdapter.put("a", -1)).toBe(false);
68
- });
69
- test("Should persist values when key doesnt exist", async () => {
70
- await storageAdapter.put("a", -1);
71
- expect(await storageAdapter.get("a")).toBe(-1);
72
- });
73
- });
74
- describe("method: remove", () => {
75
- test("Should return only true when key exists", async () => {
76
- await storageAdapter.add("a", 1);
77
- expect(await storageAdapter.remove("a")).toBe(true);
78
- });
79
- test("Should persist value when key exist", async () => {
80
- await storageAdapter.add("a", 1);
81
- await storageAdapter.remove("a");
82
- expect(await storageAdapter.get("a")).toBeNull();
83
- });
84
- test("Should return false when key doesnt exists", async () => {
85
- expect(await storageAdapter.remove("a")).toBe(false);
86
- });
87
- });
88
- describe("method: increment", () => {
89
- test("Should return true when key exists", async () => {
90
- await storageAdapter.add("a", 1);
91
- expect(await storageAdapter.increment("a", 1)).toBe(true);
92
- });
93
- test("Should persist increment when key exists", async () => {
94
- await storageAdapter.add("a", 1);
95
- await storageAdapter.increment("a", 1);
96
- expect(await storageAdapter.get("a")).toBe(2);
97
- });
98
- test("Should return false when key doesnt exists", async () => {
99
- expect(await storageAdapter.increment("a", 1)).toBe(false);
100
- });
101
- test("Should not persist increment when key doesnt exists", async () => {
102
- await storageAdapter.increment("a", 1);
103
- expect(await storageAdapter.get("a")).toBeNull();
104
- });
105
- test("Should throw TypeStorageError key value is not number type", async () => {
106
- await storageAdapter.add("a", "str");
107
- await expect(storageAdapter.increment("a", 1)).rejects.toBeInstanceOf(_module_1.TypeStorageError);
108
- });
109
- });
110
- describe("method: clear", () => {
111
- test("Should remove all keys", async () => {
112
- await storageAdapter.add("@a/a", 1);
113
- await storageAdapter.add("@a/b", 2);
114
- await storageAdapter.add("@a/c", 3);
115
- await storageAdapter.add("@b/d", 4);
116
- await storageAdapter.add("@b/e", 5);
117
- await storageAdapter.add("@b/f", 6);
118
- await storageAdapter.clear("@a");
119
- expect([
120
- await storageAdapter.get("@a/a"),
121
- await storageAdapter.get("@a/b"),
122
- await storageAdapter.get("@a/c"),
123
- await storageAdapter.get("@b/d"),
124
- await storageAdapter.get("@b/e"),
125
- await storageAdapter.get("@b/f"),
126
- ]).toEqual([null, null, null, 4, 5, 6]);
127
- });
128
- });
129
- }
130
- //# sourceMappingURL=storage-adapter.test-suite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-adapter.test-suite.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("../../../storage/implementations/adapters/memory-storage-adapter/_module"), exports);
18
- __exportStar(require("../../../storage/implementations/adapters/mongodb-storage-adapter/_module"), exports);
19
- __exportStar(require("../../../storage/implementations/adapters/redis-storage-adapter/_module"), exports);
20
- __exportStar(require("../../../storage/implementations/adapters/sqlite/_module"), exports);
21
- //# sourceMappingURL=_module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../src/storage/implementations/adapters/_module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oGAAkF;AAClF,qGAAmF;AACnF,mGAAiF;AACjF,oFAAkE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/adapters/memory-storage-adapter/_module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mHAAiG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-storage-adapter.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.ts"],"names":[],"mappings":";;;AAIA,uEAAsE;AAMtE,MAAa,oBAAoB;IACA;IAA7B,YAA6B,MAA0B,IAAI,GAAG,EAAE;QAAnC,QAAG,GAAH,GAAG,CAAgC;IAAG,CAAC;IAGpE,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAY;QAC/B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAY;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAY;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAGD,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,KAAa;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,iCAAgB,CAAC,iBAAiB,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAU,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,KAAK,CAAC,KAAK,CAAC,MAAc;QACtB,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA9DD,oDA8DC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongodbStorageAdapter = void 0;
4
- var mongodb_storage_adapter_1 = require("../../../../storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter");
5
- Object.defineProperty(exports, "MongodbStorageAdapter", { enumerable: true, get: function () { return mongodb_storage_adapter_1.MongodbStorageAdapter; } });
6
- //# sourceMappingURL=_module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/adapters/mongodb-storage-adapter/_module.ts"],"names":[],"mappings":";;;AAAA,8HAG4F;AAFxF,gIAAA,qBAAqB,OAAA"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MongodbStorageAdapter = void 0;
7
- const _module_1 = require("../../../../serializer/implementations/_module");
8
- const _module_2 = require("../../../../storage/contracts/_module");
9
- const escape_string_regexp_1 = __importDefault(require("escape-string-regexp"));
10
- const mongodb_1 = require("mongodb");
11
- const mongodb_2 = require("mongodb");
12
- class MongodbStorageAdapter {
13
- collection;
14
- static isMongodbIncrementError(value) {
15
- return (value instanceof mongodb_2.MongoServerError &&
16
- value.code !== undefined &&
17
- (typeof value.code === "string" ||
18
- typeof value.code === "number") &&
19
- String(value.code) === "14");
20
- }
21
- static isMongoDuplicateError(value) {
22
- return (value instanceof mongodb_2.MongoServerError &&
23
- value.code !== undefined &&
24
- (typeof value.code === "string" ||
25
- typeof value.code === "number") &&
26
- String(value.code) === "11000");
27
- }
28
- serializer;
29
- constructor(collection, { serializer = new _module_1.SuperJsonSerializer(), } = {}) {
30
- this.collection = collection;
31
- this.serializer = new _module_1.MongodbSerializer(serializer);
32
- }
33
- async init() {
34
- await this.collection.createIndex("key", {
35
- unique: true,
36
- });
37
- }
38
- async get(key) {
39
- const document = await this.collection.findOne({ key }, {
40
- projection: {
41
- _id: 0,
42
- key: 0,
43
- },
44
- });
45
- if (document === null) {
46
- return null;
47
- }
48
- return this.serializer.deserialize(document.value);
49
- }
50
- async add(key, value) {
51
- try {
52
- await this.collection.insertOne({
53
- _id: new mongodb_1.ObjectId(),
54
- key,
55
- value: await this.serializer.serialize(value),
56
- });
57
- return true;
58
- }
59
- catch (error) {
60
- if (MongodbStorageAdapter.isMongoDuplicateError(error)) {
61
- return false;
62
- }
63
- throw error;
64
- }
65
- }
66
- async update(key, value) {
67
- const mongodbResult = await this.collection.updateOne({ key }, {
68
- $set: {
69
- value: await this.serializer.serialize(value),
70
- },
71
- });
72
- if (!mongodbResult.acknowledged) {
73
- throw new _module_2.UnexpectedStorageError("Mongodb update was not acknowledged");
74
- }
75
- return mongodbResult.matchedCount > 0;
76
- }
77
- async put(key, value) {
78
- const mongodbResult = await this.collection.updateOne({ key }, {
79
- $set: {
80
- value: await this.serializer.serialize(value),
81
- },
82
- }, { upsert: true });
83
- if (!mongodbResult.acknowledged) {
84
- throw new _module_2.UnexpectedStorageError("Mongodb update was not acknowledged");
85
- }
86
- return mongodbResult.upsertedCount <= 0;
87
- }
88
- async remove(key) {
89
- const mongodbResult = await this.collection.deleteOne({ key });
90
- if (!mongodbResult.acknowledged) {
91
- throw new _module_2.UnexpectedStorageError("Mongodb deletion was not acknowledged");
92
- }
93
- return mongodbResult.deletedCount > 0;
94
- }
95
- async increment(key, value) {
96
- try {
97
- const mongodbResult = await this.collection.updateOne({
98
- key,
99
- }, {
100
- $inc: {
101
- value,
102
- },
103
- });
104
- if (!mongodbResult.acknowledged) {
105
- throw new _module_2.UnexpectedStorageError("Mongodb update was not acknowledged");
106
- }
107
- return mongodbResult.matchedCount > 0;
108
- }
109
- catch (error) {
110
- if (MongodbStorageAdapter.isMongodbIncrementError(error)) {
111
- throw new _module_2.TypeStorageError(`Unable to increment or decrement none number type key "${key}"`);
112
- }
113
- throw error;
114
- }
115
- }
116
- async clear(prefix) {
117
- if (prefix === "") {
118
- await this.collection.deleteMany();
119
- return;
120
- }
121
- const mongodbResult = await this.collection.deleteMany({
122
- key: {
123
- $regex: new RegExp(`^${(0, escape_string_regexp_1.default)(prefix)}`),
124
- },
125
- });
126
- if (!mongodbResult.acknowledged) {
127
- throw new _module_2.UnexpectedStorageError("Mongodb deletion was not acknowledged");
128
- }
129
- }
130
- }
131
- exports.MongodbStorageAdapter = MongodbStorageAdapter;
132
- //# sourceMappingURL=mongodb-storage-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongodb-storage-adapter.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/adapters/redis-storage-adapter/_module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iHAA+F"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RedisStorageAdapter = void 0;
4
- const _module_1 = require("../../../../serializer/implementations/_module");
5
- const _module_2 = require("../../../../storage/contracts/_module");
6
- const _module_3 = require("../../../../_shared/redis/_module");
7
- const _module_4 = require("../../../../_shared/redis/_module");
8
- class RedisStorageAdapter {
9
- client;
10
- serializer;
11
- constructor(client, { serializer = new _module_1.SuperJsonSerializer(), } = {}) {
12
- this.client = client;
13
- this.serializer = new _module_1.RedisSerializer(serializer);
14
- this.initIncrementCommand();
15
- this.initPutCommand();
16
- }
17
- async get(key) {
18
- const value = await this.client.get(key);
19
- if (value === null) {
20
- return null;
21
- }
22
- return await this.serializer.deserialize(value);
23
- }
24
- async add(key, value) {
25
- const result = await this.client.set(key, await this.serializer.serialize(value), "NX");
26
- return result === "OK";
27
- }
28
- async update(key, value) {
29
- const result = await this.client.set(key, await this.serializer.serialize(value), "XX");
30
- return result === "OK";
31
- }
32
- initPutCommand() {
33
- if (typeof this.client.daiso_storage_put === "function") {
34
- return;
35
- }
36
- this.client.defineCommand("daiso_storage_put", {
37
- numberOfKeys: 1,
38
- lua: `
39
- local hasKey = redis.call("exists", KEYS[1])
40
- redis.call("set", KEYS[1], ARGV[1])
41
- return hasKey
42
- `,
43
- });
44
- }
45
- async put(key, value) {
46
- const result = await this.client.daiso_storage_put(key, await this.serializer.serialize(value));
47
- return Number(result) === 1;
48
- }
49
- async remove(key) {
50
- const result = await this.client.del(key);
51
- return result === 1;
52
- }
53
- initIncrementCommand() {
54
- if (typeof this.client.daiso_storage_increment === "function") {
55
- return;
56
- }
57
- this.client.defineCommand("daiso_storage_increment", {
58
- numberOfKeys: 1,
59
- lua: `
60
- local hasKey = redis.call("exists", KEYS[1])
61
-
62
- if hasKey == 1 then
63
- redis.call("incrbyfloat", KEYS[1], tonumber(ARGV[1]))
64
- end
65
-
66
- return hasKey
67
- `,
68
- });
69
- }
70
- async increment(key, value) {
71
- try {
72
- const redisResult = await this.client.daiso_storage_increment(key, await this.serializer.serialize(value));
73
- const keyExists = redisResult === 1;
74
- return keyExists;
75
- }
76
- catch (error) {
77
- if (!(0, _module_4.isRedisTypeError)(error)) {
78
- throw error;
79
- }
80
- throw new _module_2.TypeStorageError(`Unable to increment or decrement none number type key "${key}"`);
81
- }
82
- }
83
- async clear(prefix) {
84
- for await (const _ of new _module_3.ClearIterable(this.client, `${(0, _module_3.escapeRedisChars)(prefix)}*`)) {
85
- }
86
- }
87
- }
88
- exports.RedisStorageAdapter = RedisStorageAdapter;
89
- //# sourceMappingURL=redis-storage-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis-storage-adapter.js","sourceRoot":"","sources":["../../../../../../src/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.ts"],"names":[],"mappings":"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"}