@daiso-tech/core 0.48.5 → 0.49.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 (541) hide show
  1. package/dist/backoff-policies/_shared.d.ts +0 -3
  2. package/dist/backoff-policies/_shared.js.map +1 -1
  3. package/dist/backoff-policies/constant-backoff/constant-backoff.d.ts +0 -1
  4. package/dist/backoff-policies/constant-backoff/constant-backoff.js.map +1 -1
  5. package/dist/backoff-policies/exponential-backoff/exponential-backoff.d.ts +0 -1
  6. package/dist/backoff-policies/exponential-backoff/exponential-backoff.js.map +1 -1
  7. package/dist/backoff-policies/linear-backoff/linear-backoff.d.ts +0 -1
  8. package/dist/backoff-policies/linear-backoff/linear-backoff.js.map +1 -1
  9. package/dist/backoff-policies/polynomial-backoff/polynomial-backoff.d.ts +0 -1
  10. package/dist/backoff-policies/polynomial-backoff/polynomial-backoff.js.map +1 -1
  11. package/dist/cache/contracts/cache-adapter.contract.d.ts +6 -6
  12. package/dist/cache/contracts/cache.contract.d.ts +16 -9
  13. package/dist/cache/contracts/cache.errors.d.ts +1 -4
  14. package/dist/cache/contracts/cache.errors.js +1 -3
  15. package/dist/cache/contracts/cache.errors.js.map +1 -1
  16. package/dist/cache/contracts/cache.events.d.ts +11 -3
  17. package/dist/cache/contracts/cache.events.js +1 -1
  18. package/dist/cache/contracts/cache.events.js.map +1 -1
  19. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +0 -1
  20. package/dist/cache/contracts/types.d.ts +0 -2
  21. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +1 -2
  22. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  23. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
  24. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +17 -15
  25. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  26. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +0 -2
  27. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  28. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
  29. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +1 -1
  30. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +0 -1
  31. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  32. package/dist/cache/implementations/derivables/cache/cache.d.ts +2 -5
  33. package/dist/cache/implementations/derivables/cache/cache.js +10 -2
  34. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  35. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +1 -1
  36. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
  37. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +0 -2
  38. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  39. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +0 -1
  40. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +6 -2
  41. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  42. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +0 -1
  43. package/dist/cache/implementations/test-utilities/cache.test-suite.js +1772 -1735
  44. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  45. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +1 -1
  46. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
  47. package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.d.ts +0 -5
  48. package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.js +0 -1
  49. package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.js.map +1 -1
  50. package/dist/circuit-breaker/contracts/circuit-breaker-state.contract.d.ts +0 -2
  51. package/dist/circuit-breaker/contracts/circuit-breaker-state.contract.js +0 -1
  52. package/dist/circuit-breaker/contracts/circuit-breaker-state.contract.js.map +1 -1
  53. package/dist/circuit-breaker/contracts/circuit-breaker.contract.d.ts +3 -4
  54. package/dist/circuit-breaker/contracts/circuit-breaker.contract.js +2 -3
  55. package/dist/circuit-breaker/contracts/circuit-breaker.contract.js.map +1 -1
  56. package/dist/circuit-breaker/contracts/circuit-breaker.errors.d.ts +0 -3
  57. package/dist/circuit-breaker/contracts/circuit-breaker.errors.js +1 -3
  58. package/dist/circuit-breaker/contracts/circuit-breaker.errors.js.map +1 -1
  59. package/dist/circuit-breaker/contracts/circuit-breaker.events.d.ts +0 -2
  60. package/dist/circuit-breaker/contracts/circuit-breaker.events.js +0 -1
  61. package/dist/circuit-breaker/contracts/circuit-breaker.events.js.map +1 -1
  62. package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.d.ts +2 -2
  63. package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.js +2 -2
  64. package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.js.map +1 -1
  65. package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.d.ts +2 -3
  66. package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.js +8 -10
  67. package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.js.map +1 -1
  68. package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.d.ts +2 -2
  69. package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.js +2 -2
  70. package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.js.map +1 -1
  71. package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.d.ts +2 -0
  72. package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.js +2 -0
  73. package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.js.map +1 -1
  74. package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.d.ts +2 -0
  75. package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.js +2 -0
  76. package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.js.map +1 -1
  77. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.d.ts +2 -4
  78. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js.map +1 -1
  79. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.d.ts +1 -1
  80. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js +2 -2
  81. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js.map +1 -1
  82. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.d.ts +0 -2
  83. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js.map +1 -1
  84. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.d.ts +0 -2
  85. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js.map +1 -1
  86. package/dist/circuit-breaker/implementations/test-utilities/circuit-breaker-storage-adapter.test-suite.d.ts +0 -1
  87. package/dist/circuit-breaker/implementations/test-utilities/circuit-breaker-storage-adapter.test-suite.js +1 -1
  88. package/dist/circuit-breaker/implementations/test-utilities/circuit-breaker-storage-adapter.test-suite.js.map +1 -1
  89. package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.d.ts +0 -1
  90. package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js +1 -1
  91. package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js.map +1 -1
  92. package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.d.ts +0 -1
  93. package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js +1 -1
  94. package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js.map +1 -1
  95. package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.d.ts +0 -1
  96. package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js +1 -1
  97. package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js.map +1 -1
  98. package/dist/codec/contracts/_module-exports.d.ts +3 -0
  99. package/dist/codec/contracts/_module-exports.js +2 -0
  100. package/dist/codec/contracts/_module-exports.js.map +1 -0
  101. package/dist/codec/contracts/_module.d.ts +4 -0
  102. package/dist/codec/contracts/_module.js +2 -0
  103. package/dist/codec/contracts/_module.js.map +1 -0
  104. package/dist/codec/contracts/codec.contract.d.ts +12 -0
  105. package/dist/codec/contracts/codec.contract.js +6 -0
  106. package/dist/codec/contracts/codec.contract.js.map +1 -0
  107. package/dist/codec/contracts/codec.errors.d.ts +51 -0
  108. package/dist/codec/contracts/codec.errors.js +64 -0
  109. package/dist/codec/contracts/codec.errors.js.map +1 -0
  110. package/dist/codec/contracts/decoder.contract.d.ts +12 -0
  111. package/dist/codec/contracts/decoder.contract.js +6 -0
  112. package/dist/codec/contracts/decoder.contract.js.map +1 -0
  113. package/dist/codec/contracts/encoder.contract.d.ts +12 -0
  114. package/dist/codec/contracts/encoder.contract.js +6 -0
  115. package/dist/codec/contracts/encoder.contract.js.map +1 -0
  116. package/dist/codec/implementations/base-64-codec/_module-exports.d.ts +1 -0
  117. package/dist/codec/implementations/base-64-codec/_module-exports.js +2 -0
  118. package/dist/codec/implementations/base-64-codec/_module-exports.js.map +1 -0
  119. package/dist/codec/implementations/base-64-codec/_module.d.ts +1 -0
  120. package/dist/codec/implementations/base-64-codec/_module.js +2 -0
  121. package/dist/codec/implementations/base-64-codec/_module.js.map +1 -0
  122. package/dist/codec/implementations/base-64-codec/base-64-codec.d.ts +12 -0
  123. package/dist/codec/implementations/base-64-codec/base-64-codec.js +27 -0
  124. package/dist/codec/implementations/base-64-codec/base-64-codec.js.map +1 -0
  125. package/dist/collection/contracts/_shared/compartor.type.d.ts +0 -1
  126. package/dist/collection/contracts/_shared/cross-join-result.type.d.ts +0 -1
  127. package/dist/collection/contracts/_shared/ensure-map.type.d.ts +0 -1
  128. package/dist/collection/contracts/_shared/ensure-record.type.d.ts +0 -1
  129. package/dist/collection/contracts/_shared/foreach.type.d.ts +0 -2
  130. package/dist/collection/contracts/_shared/map.type.d.ts +0 -2
  131. package/dist/collection/contracts/_shared/modifier.type.d.ts +0 -2
  132. package/dist/collection/contracts/_shared/predicate.type.d.ts +0 -7
  133. package/dist/collection/contracts/_shared/reduce.type.d.ts +0 -2
  134. package/dist/collection/contracts/_shared/tap.type.d.ts +0 -2
  135. package/dist/collection/contracts/_shared/transform.type.d.ts +0 -2
  136. package/dist/collection/contracts/async-collection.contract.d.ts +0 -1
  137. package/dist/collection/contracts/collection.contract.d.ts +0 -2
  138. package/dist/collection/contracts/collection.errors.d.ts +0 -1
  139. package/dist/collection/contracts/collection.errors.js +0 -1
  140. package/dist/collection/contracts/collection.errors.js.map +1 -1
  141. package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +0 -4
  142. package/dist/event-bus/contracts/event-bus.contract.d.ts +0 -4
  143. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -1
  144. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +7 -9
  145. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
  146. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +1 -1
  147. package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +1 -1
  148. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +0 -1
  149. package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
  150. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +2 -5
  151. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  152. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +0 -2
  153. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  154. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +0 -1
  155. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +1 -1
  156. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
  157. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +0 -1
  158. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +1 -1
  159. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
  160. package/dist/file-size/contracts/_module-exports.d.ts +1 -0
  161. package/dist/file-size/contracts/_module-exports.js +2 -0
  162. package/dist/file-size/contracts/_module-exports.js.map +1 -0
  163. package/dist/file-size/contracts/_module.d.ts +1 -0
  164. package/dist/file-size/contracts/_module.js +2 -0
  165. package/dist/file-size/contracts/_module.js.map +1 -0
  166. package/dist/file-size/contracts/file-size.contract.d.ts +17 -0
  167. package/dist/file-size/contracts/file-size.contract.js +9 -0
  168. package/dist/file-size/contracts/file-size.contract.js.map +1 -0
  169. package/dist/file-size/implementations/_module-exports.d.ts +1 -0
  170. package/dist/file-size/implementations/_module-exports.js +2 -0
  171. package/dist/file-size/implementations/_module-exports.js.map +1 -0
  172. package/dist/file-size/implementations/_module.d.ts +1 -0
  173. package/dist/file-size/implementations/_module.js +2 -0
  174. package/dist/file-size/implementations/_module.js.map +1 -0
  175. package/dist/file-size/implementations/file-size.d.ts +50 -0
  176. package/dist/file-size/implementations/file-size.js +89 -0
  177. package/dist/file-size/implementations/file-size.js.map +1 -0
  178. package/dist/file-storage/contracts/_module-exports.d.ts +7 -0
  179. package/dist/file-storage/contracts/_module-exports.js +4 -0
  180. package/dist/file-storage/contracts/_module-exports.js.map +1 -0
  181. package/dist/file-storage/contracts/_module.d.ts +7 -0
  182. package/dist/file-storage/contracts/_module.js +4 -0
  183. package/dist/file-storage/contracts/_module.js.map +1 -0
  184. package/dist/file-storage/contracts/file-storage-adapter.contract.d.ts +180 -0
  185. package/dist/file-storage/contracts/file-storage-adapter.contract.js +13 -0
  186. package/dist/file-storage/contracts/file-storage-adapter.contract.js.map +1 -0
  187. package/dist/file-storage/contracts/file-storage-factory.contract.d.ts +19 -0
  188. package/dist/file-storage/contracts/file-storage-factory.contract.js +10 -0
  189. package/dist/file-storage/contracts/file-storage-factory.contract.js.map +1 -0
  190. package/dist/file-storage/contracts/file-storage.contract.d.ts +37 -0
  191. package/dist/file-storage/contracts/file-storage.contract.js +8 -0
  192. package/dist/file-storage/contracts/file-storage.contract.js.map +1 -0
  193. package/dist/file-storage/contracts/file.contract.d.ts +224 -0
  194. package/dist/file-storage/contracts/file.contract.js +10 -0
  195. package/dist/file-storage/contracts/file.contract.js.map +1 -0
  196. package/dist/file-storage/contracts/file.errors.d.ts +68 -0
  197. package/dist/file-storage/contracts/file.errors.js +86 -0
  198. package/dist/file-storage/contracts/file.errors.js.map +1 -0
  199. package/dist/file-storage/contracts/file.events.d.ts +135 -0
  200. package/dist/file-storage/contracts/file.events.js +23 -0
  201. package/dist/file-storage/contracts/file.events.js.map +1 -0
  202. package/dist/file-storage/contracts/types.d.ts +9 -0
  203. package/dist/file-storage/contracts/types.js +5 -0
  204. package/dist/file-storage/contracts/types.js.map +1 -0
  205. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/_module-exports.d.ts +1 -0
  206. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/_module-exports.js +2 -0
  207. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/_module-exports.js.map +1 -0
  208. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/_module.d.ts +1 -0
  209. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/_module.js +2 -0
  210. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/_module.js.map +1 -0
  211. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/fs-file-storage-adapter.d.ts +82 -0
  212. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/fs-file-storage-adapter.js +302 -0
  213. package/dist/file-storage/implementations/adapters/fs-file-storage-adapter/fs-file-storage-adapter.js.map +1 -0
  214. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/_module-exports.d.ts +1 -0
  215. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/_module-exports.js +2 -0
  216. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/_module-exports.js.map +1 -0
  217. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/_module.d.ts +1 -0
  218. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/_module.js +2 -0
  219. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/_module.js.map +1 -0
  220. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/memory-file-storage-adapter.d.ts +58 -0
  221. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/memory-file-storage-adapter.js +254 -0
  222. package/dist/file-storage/implementations/adapters/memory-file-storage-adapter/memory-file-storage-adapter.js.map +1 -0
  223. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/_module-exports.d.ts +1 -0
  224. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/_module-exports.js +2 -0
  225. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/_module-exports.js.map +1 -0
  226. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/_module.d.ts +1 -0
  227. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/_module.js +2 -0
  228. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/_module.js.map +1 -0
  229. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/no-op-file-storage-adapter.d.ts +31 -0
  230. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/no-op-file-storage-adapter.js +70 -0
  231. package/dist/file-storage/implementations/adapters/no-op-file-storage-adapter/no-op-file-storage-adapter.js.map +1 -0
  232. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/_module-exports.d.ts +1 -0
  233. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/_module-exports.js +2 -0
  234. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/_module-exports.js.map +1 -0
  235. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/_module.d.ts +1 -0
  236. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/_module.js +2 -0
  237. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/_module.js.map +1 -0
  238. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/s3-file-storage-adapter.d.ts +137 -0
  239. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/s3-file-storage-adapter.js +512 -0
  240. package/dist/file-storage/implementations/adapters/s3-file-storage-adapter/s3-file-storage-adapter.js.map +1 -0
  241. package/dist/file-storage/implementations/derivables/_module-exports.d.ts +2 -0
  242. package/dist/file-storage/implementations/derivables/_module-exports.js +3 -0
  243. package/dist/file-storage/implementations/derivables/_module-exports.js.map +1 -0
  244. package/dist/file-storage/implementations/derivables/_module.d.ts +2 -0
  245. package/dist/file-storage/implementations/derivables/_module.js +3 -0
  246. package/dist/file-storage/implementations/derivables/_module.js.map +1 -0
  247. package/dist/file-storage/implementations/derivables/file-storage/_module.d.ts +1 -0
  248. package/dist/file-storage/implementations/derivables/file-storage/_module.js +2 -0
  249. package/dist/file-storage/implementations/derivables/file-storage/_module.js.map +1 -0
  250. package/dist/file-storage/implementations/derivables/file-storage/file-serde-transformer.d.ts +48 -0
  251. package/dist/file-storage/implementations/derivables/file-storage/file-serde-transformer.js +87 -0
  252. package/dist/file-storage/implementations/derivables/file-storage/file-serde-transformer.js.map +1 -0
  253. package/dist/file-storage/implementations/derivables/file-storage/file-storage.d.ts +163 -0
  254. package/dist/file-storage/implementations/derivables/file-storage/file-storage.js +185 -0
  255. package/dist/file-storage/implementations/derivables/file-storage/file-storage.js.map +1 -0
  256. package/dist/file-storage/implementations/derivables/file-storage/file.d.ts +114 -0
  257. package/dist/file-storage/implementations/derivables/file-storage/file.js +722 -0
  258. package/dist/file-storage/implementations/derivables/file-storage/file.js.map +1 -0
  259. package/dist/file-storage/implementations/derivables/file-storage/is-signed-file-storage-adapter.d.ts +8 -0
  260. package/dist/file-storage/implementations/derivables/file-storage/is-signed-file-storage-adapter.js +62 -0
  261. package/dist/file-storage/implementations/derivables/file-storage/is-signed-file-storage-adapter.js.map +1 -0
  262. package/dist/file-storage/implementations/derivables/file-storage/merged-file-url-adapter.d.ts +15 -0
  263. package/dist/file-storage/implementations/derivables/file-storage/merged-file-url-adapter.js +34 -0
  264. package/dist/file-storage/implementations/derivables/file-storage/merged-file-url-adapter.js.map +1 -0
  265. package/dist/file-storage/implementations/derivables/file-storage/no-op-file-url-adapter.d.ts +12 -0
  266. package/dist/file-storage/implementations/derivables/file-storage/no-op-file-url-adapter.js +19 -0
  267. package/dist/file-storage/implementations/derivables/file-storage/no-op-file-url-adapter.js.map +1 -0
  268. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-content.d.ts +8 -0
  269. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-content.js +18 -0
  270. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-content.js.map +1 -0
  271. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-storage-adapter.d.ts +8 -0
  272. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-storage-adapter.js +16 -0
  273. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-storage-adapter.js.map +1 -0
  274. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-stream.d.ts +12 -0
  275. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-stream.js +20 -0
  276. package/dist/file-storage/implementations/derivables/file-storage/resolve-file-stream.js.map +1 -0
  277. package/dist/file-storage/implementations/derivables/file-storage/signed-file-storage-adapter.d.ts +31 -0
  278. package/dist/file-storage/implementations/derivables/file-storage/signed-file-storage-adapter.js +74 -0
  279. package/dist/file-storage/implementations/derivables/file-storage/signed-file-storage-adapter.js.map +1 -0
  280. package/dist/file-storage/implementations/derivables/file-storage-factory/_module.d.ts +1 -0
  281. package/dist/file-storage/implementations/derivables/file-storage-factory/_module.js +2 -0
  282. package/dist/file-storage/implementations/derivables/file-storage-factory/_module.js.map +1 -0
  283. package/dist/file-storage/implementations/derivables/file-storage-factory/file-storage-factory.d.ts +59 -0
  284. package/dist/file-storage/implementations/derivables/file-storage-factory/file-storage-factory.js +113 -0
  285. package/dist/file-storage/implementations/derivables/file-storage-factory/file-storage-factory.js.map +1 -0
  286. package/dist/file-storage/implementations/test-utilities/_module-exports.d.ts +2 -0
  287. package/dist/file-storage/implementations/test-utilities/_module-exports.js +3 -0
  288. package/dist/file-storage/implementations/test-utilities/_module-exports.js.map +1 -0
  289. package/dist/file-storage/implementations/test-utilities/_module.d.ts +2 -0
  290. package/dist/file-storage/implementations/test-utilities/_module.js +3 -0
  291. package/dist/file-storage/implementations/test-utilities/_module.js.map +1 -0
  292. package/dist/file-storage/implementations/test-utilities/file-storage-adapter.test-suite.d.ts +28 -0
  293. package/dist/file-storage/implementations/test-utilities/file-storage-adapter.test-suite.js +1637 -0
  294. package/dist/file-storage/implementations/test-utilities/file-storage-adapter.test-suite.js.map +1 -0
  295. package/dist/file-storage/implementations/test-utilities/file-storage.test-suite.d.ts +36 -0
  296. package/dist/file-storage/implementations/test-utilities/file-storage.test-suite.js +3109 -0
  297. package/dist/file-storage/implementations/test-utilities/file-storage.test-suite.js.map +1 -0
  298. package/dist/hooks/async-hooks.d.ts +0 -8
  299. package/dist/hooks/async-hooks.js.map +1 -1
  300. package/dist/hooks/hooks.d.ts +0 -6
  301. package/dist/hooks/hooks.js.map +1 -1
  302. package/dist/hooks/types.d.ts +0 -1
  303. package/dist/lock/contracts/database-lock-adapter.contract.d.ts +0 -3
  304. package/dist/lock/contracts/lock-provider.contract.d.ts +0 -2
  305. package/dist/lock/contracts/lock-state.contract.d.ts +0 -6
  306. package/dist/lock/contracts/lock-state.contract.js +0 -1
  307. package/dist/lock/contracts/lock-state.contract.js.map +1 -1
  308. package/dist/lock/contracts/lock.contract.d.ts +3 -6
  309. package/dist/lock/contracts/lock.contract.js +2 -1
  310. package/dist/lock/contracts/lock.contract.js.map +1 -1
  311. package/dist/lock/contracts/lock.errors.d.ts +0 -3
  312. package/dist/lock/contracts/lock.errors.js +0 -2
  313. package/dist/lock/contracts/lock.errors.js.map +1 -1
  314. package/dist/lock/contracts/lock.events.d.ts +0 -3
  315. package/dist/lock/contracts/lock.events.js +0 -1
  316. package/dist/lock/contracts/lock.events.js.map +1 -1
  317. package/dist/lock/contracts/types.d.ts +0 -1
  318. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +0 -3
  319. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  320. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +1 -2
  321. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +19 -24
  322. package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
  323. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +0 -2
  324. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  325. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +1 -1
  326. package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +1 -1
  327. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +0 -1
  328. package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
  329. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +2 -4
  330. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  331. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -4
  332. package/dist/lock/implementations/derivables/lock-provider/lock.js +1 -1
  333. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  334. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +0 -2
  335. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  336. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +0 -1
  337. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +1 -1
  338. package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
  339. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +0 -1
  340. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +1 -1
  341. package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
  342. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +0 -1
  343. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +1 -1
  344. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  345. package/dist/namespace/contracts/namespace.contract.d.ts +19 -2
  346. package/dist/namespace/contracts/namespace.contract.js +1 -1
  347. package/dist/namespace/contracts/namespace.contract.js.map +1 -1
  348. package/dist/namespace/implementations/namespace.js +3 -0
  349. package/dist/namespace/implementations/namespace.js.map +1 -1
  350. package/dist/namespace/implementations/no-op-namespace.d.ts +1 -1
  351. package/dist/namespace/implementations/no-op-namespace.js +4 -1
  352. package/dist/namespace/implementations/no-op-namespace.js.map +1 -1
  353. package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.d.ts +0 -1
  354. package/dist/rate-limiter/contracts/rate-limiter-provider.contract.d.ts +0 -1
  355. package/dist/rate-limiter/contracts/rate-limiter-state.contract.d.ts +0 -6
  356. package/dist/rate-limiter/contracts/rate-limiter-state.contract.js +0 -1
  357. package/dist/rate-limiter/contracts/rate-limiter-state.contract.js.map +1 -1
  358. package/dist/rate-limiter/contracts/rate-limiter-storage-adapter.contract.d.ts +0 -1
  359. package/dist/rate-limiter/contracts/rate-limiter.contract.d.ts +3 -4
  360. package/dist/rate-limiter/contracts/rate-limiter.contract.js +2 -1
  361. package/dist/rate-limiter/contracts/rate-limiter.contract.js.map +1 -1
  362. package/dist/rate-limiter/contracts/rate-limiter.errors.d.ts +7 -3
  363. package/dist/rate-limiter/contracts/rate-limiter.errors.js +9 -2
  364. package/dist/rate-limiter/contracts/rate-limiter.errors.js.map +1 -1
  365. package/dist/rate-limiter/contracts/rate-limiter.events.d.ts +0 -2
  366. package/dist/rate-limiter/contracts/rate-limiter.events.js +0 -1
  367. package/dist/rate-limiter/contracts/rate-limiter.events.js.map +1 -1
  368. package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.d.ts +2 -1
  369. package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.js +13 -12
  370. package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.js.map +1 -1
  371. package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.d.ts +1 -1
  372. package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.js +1 -1
  373. package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.js.map +1 -1
  374. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.d.ts +2 -0
  375. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js +2 -0
  376. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js.map +1 -1
  377. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.d.ts +2 -0
  378. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.js +2 -0
  379. package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.js.map +1 -1
  380. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.d.ts +2 -4
  381. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js.map +1 -1
  382. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.d.ts +1 -1
  383. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js +6 -6
  384. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js.map +1 -1
  385. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.d.ts +0 -2
  386. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js.map +1 -1
  387. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.d.ts +0 -2
  388. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js.map +1 -1
  389. package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.d.ts +0 -1
  390. package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js +1 -1
  391. package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js.map +1 -1
  392. package/dist/rate-limiter/implementations/test-utilities/rate-limiter-storage-adapter.test-suite.d.ts +0 -1
  393. package/dist/rate-limiter/implementations/test-utilities/rate-limiter-storage-adapter.test-suite.js +1 -1
  394. package/dist/rate-limiter/implementations/test-utilities/rate-limiter-storage-adapter.test-suite.js.map +1 -1
  395. package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.d.ts +0 -1
  396. package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.js +1 -1
  397. package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.js.map +1 -1
  398. package/dist/resilience/middlewares/fallback/fallback.types.d.ts +0 -4
  399. package/dist/resilience/middlewares/observe/observe.types.d.ts +0 -9
  400. package/dist/resilience/middlewares/retry/retry.types.d.ts +0 -6
  401. package/dist/resilience/middlewares/timeout/timeout.type.d.ts +0 -4
  402. package/dist/resilience/resilience.errors.d.ts +0 -5
  403. package/dist/resilience/resilience.errors.js +0 -4
  404. package/dist/resilience/resilience.errors.js.map +1 -1
  405. package/dist/semaphore/contracts/semaphore-adapter.contract.d.ts +0 -2
  406. package/dist/semaphore/contracts/semaphore-provider.contract.d.ts +0 -2
  407. package/dist/semaphore/contracts/semaphore-state.contract.d.ts +0 -7
  408. package/dist/semaphore/contracts/semaphore-state.contract.js +0 -1
  409. package/dist/semaphore/contracts/semaphore-state.contract.js.map +1 -1
  410. package/dist/semaphore/contracts/semaphore.contract.d.ts +3 -6
  411. package/dist/semaphore/contracts/semaphore.contract.js +2 -1
  412. package/dist/semaphore/contracts/semaphore.contract.js.map +1 -1
  413. package/dist/semaphore/contracts/semaphore.errors.d.ts +0 -3
  414. package/dist/semaphore/contracts/semaphore.errors.js +0 -2
  415. package/dist/semaphore/contracts/semaphore.errors.js.map +1 -1
  416. package/dist/semaphore/contracts/semaphore.events.d.ts +0 -3
  417. package/dist/semaphore/contracts/semaphore.events.js +0 -1
  418. package/dist/semaphore/contracts/semaphore.events.js.map +1 -1
  419. package/dist/semaphore/contracts/types.d.ts +0 -1
  420. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.d.ts +0 -4
  421. package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js.map +1 -1
  422. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.d.ts +1 -2
  423. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js +18 -23
  424. package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js.map +1 -1
  425. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.d.ts +0 -3
  426. package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js.map +1 -1
  427. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.d.ts +1 -1
  428. package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js +1 -1
  429. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +2 -4
  430. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -1
  431. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -1
  432. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +3 -3
  433. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +2 -2
  434. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -1
  435. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +0 -2
  436. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -1
  437. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.d.ts +0 -1
  438. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js +1 -1
  439. package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js.map +1 -1
  440. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.d.ts +0 -1
  441. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js +1 -1
  442. package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js.map +1 -1
  443. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.d.ts +0 -1
  444. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js +1 -1
  445. package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js.map +1 -1
  446. package/dist/serde/contracts/flexible-serde-adapter.contract.d.ts +0 -1
  447. package/dist/serde/contracts/flexible-serde.contract.d.ts +0 -2
  448. package/dist/serde/contracts/serde.errors.d.ts +1 -4
  449. package/dist/serde/contracts/serde.errors.js +0 -2
  450. package/dist/serde/contracts/serde.errors.js.map +1 -1
  451. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +1 -1
  452. package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +1 -1
  453. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +0 -1
  454. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +0 -1
  455. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  456. package/dist/serde/implementations/derivables/serde-transformers.d.ts +1 -0
  457. package/dist/serde/implementations/derivables/serde-transformers.js +1 -0
  458. package/dist/serde/implementations/derivables/serde-transformers.js.map +1 -1
  459. package/dist/serde/implementations/derivables/serde.d.ts +0 -2
  460. package/dist/serde/implementations/derivables/serde.js.map +1 -1
  461. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +0 -1
  462. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js.map +1 -1
  463. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +0 -1
  464. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +1 -0
  465. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js.map +1 -1
  466. package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.d.ts +0 -3
  467. package/dist/shared-lock/contracts/shared-lock-adapter.contract.d.ts +0 -1
  468. package/dist/shared-lock/contracts/shared-lock-provider.contract.d.ts +0 -2
  469. package/dist/shared-lock/contracts/shared-lock-state.contract.d.ts +0 -15
  470. package/dist/shared-lock/contracts/shared-lock-state.contract.js +0 -3
  471. package/dist/shared-lock/contracts/shared-lock-state.contract.js.map +1 -1
  472. package/dist/shared-lock/contracts/shared-lock.contract.d.ts +3 -8
  473. package/dist/shared-lock/contracts/shared-lock.contract.js +2 -1
  474. package/dist/shared-lock/contracts/shared-lock.contract.js.map +1 -1
  475. package/dist/shared-lock/contracts/shared-lock.errors.d.ts +0 -9
  476. package/dist/shared-lock/contracts/shared-lock.errors.js +0 -6
  477. package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -1
  478. package/dist/shared-lock/contracts/shared-lock.events.d.ts +0 -7
  479. package/dist/shared-lock/contracts/shared-lock.events.js +0 -3
  480. package/dist/shared-lock/contracts/shared-lock.events.js.map +1 -1
  481. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.d.ts +0 -5
  482. package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js.map +1 -1
  483. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.d.ts +1 -4
  484. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js +42 -52
  485. package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js.map +1 -1
  486. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.d.ts +0 -5
  487. package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js.map +1 -1
  488. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.d.ts +1 -1
  489. package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js +1 -1
  490. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +2 -4
  491. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -1
  492. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -1
  493. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +5 -5
  494. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +12 -12
  495. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -1
  496. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +0 -2
  497. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -1
  498. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.d.ts +0 -1
  499. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js +1 -1
  500. package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js.map +1 -1
  501. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.d.ts +0 -1
  502. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js +1 -1
  503. package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js.map +1 -1
  504. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.d.ts +0 -1
  505. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js +1 -1
  506. package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js.map +1 -1
  507. package/dist/task/implementations/task.js +0 -1
  508. package/dist/task/implementations/task.js.map +1 -1
  509. package/dist/time-span/contracts/time-span.contract.d.ts +0 -1
  510. package/dist/time-span/contracts/time-span.contract.js +0 -1
  511. package/dist/time-span/contracts/time-span.contract.js.map +1 -1
  512. package/dist/time-span/implementations/time-span.d.ts +1 -3
  513. package/dist/time-span/implementations/time-span.js +1 -1
  514. package/dist/time-span/implementations/time-span.js.map +1 -1
  515. package/dist/utilities/contracts/comparable.contract.d.ts +0 -6
  516. package/dist/utilities/contracts/deinitizable.contract.d.ts +0 -1
  517. package/dist/utilities/contracts/initizable.contract.d.ts +0 -1
  518. package/dist/utilities/contracts/prunable.contract.d.ts +0 -1
  519. package/dist/utilities/contracts/sqlite-database.contract.d.ts +0 -2
  520. package/dist/utilities/errors.d.ts +0 -1
  521. package/dist/utilities/errors.js +0 -1
  522. package/dist/utilities/errors.js.map +1 -1
  523. package/dist/utilities/functions/error-policy.d.ts +0 -2
  524. package/dist/utilities/functions/error-policy.js.map +1 -1
  525. package/dist/utilities/functions/invokable.d.ts +0 -4
  526. package/dist/utilities/functions/invokable.js.map +1 -1
  527. package/dist/utilities/functions/is-positive-nbr.d.ts +0 -1
  528. package/dist/utilities/functions/is-positive-nbr.js +0 -1
  529. package/dist/utilities/functions/is-positive-nbr.js.map +1 -1
  530. package/dist/utilities/functions/iterable-to-async-iterable.js +1 -2
  531. package/dist/utilities/functions/iterable-to-async-iterable.js.map +1 -1
  532. package/dist/utilities/functions/lazy.d.ts +0 -5
  533. package/dist/utilities/functions/lazy.js.map +1 -1
  534. package/dist/utilities/functions/object.js +2 -6
  535. package/dist/utilities/functions/object.js.map +1 -1
  536. package/dist/utilities/functions/resolve-one-or-more.d.ts +0 -1
  537. package/dist/utilities/functions/resolve-one-or-more.js.map +1 -1
  538. package/dist/utilities/types/async-iterable-value.type.d.ts +0 -2
  539. package/dist/utilities/types/none-func.type.d.ts +0 -1
  540. package/dist/utilities/types/promiseable.type.d.ts +0 -1
  541. package/package.json +15 -1
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @module FileStorage
3
+ */
4
+ import {} from "../../../../event-bus/contracts/_module.js";
5
+ import {} from "../../../../file-storage/contracts/_module.js";
6
+ import { File, } from "../../../../file-storage/implementations/derivables/file-storage/file.js";
7
+ import {} from "../../../../namespace/contracts/_module.js";
8
+ import {} from "../../../../serde/contracts/_module.js";
9
+ import { getConstructorName, } from "../../../../utilities/_module.js";
10
+ /**
11
+ * @internal
12
+ */
13
+ export class FileSerdeTransformer {
14
+ onlyLowercase;
15
+ keyValidator;
16
+ originalAdapter;
17
+ adapter;
18
+ namespace;
19
+ eventBus;
20
+ serdeTransformerName;
21
+ defaultContentType;
22
+ defaultContentDisposition;
23
+ defaultContentEncoding;
24
+ defaultCacheControl;
25
+ defaultContentLanguage;
26
+ constructor(settings) {
27
+ const { onlyLowercase, keyValidator, adapter, namespace, eventBus, serdeTransformerName, defaultContentType, defaultCacheControl, defaultContentDisposition, defaultContentEncoding, defaultContentLanguage, originalAdapter, } = settings;
28
+ this.onlyLowercase = onlyLowercase;
29
+ this.keyValidator = keyValidator;
30
+ this.originalAdapter = originalAdapter;
31
+ this.adapter = adapter;
32
+ this.namespace = namespace;
33
+ this.eventBus = eventBus;
34
+ this.serdeTransformerName = serdeTransformerName;
35
+ this.defaultContentType = defaultContentType;
36
+ this.defaultCacheControl = defaultCacheControl;
37
+ this.defaultContentDisposition = defaultContentDisposition;
38
+ this.defaultContentEncoding = defaultContentEncoding;
39
+ this.defaultContentLanguage = defaultContentLanguage;
40
+ }
41
+ get name() {
42
+ return [
43
+ "file",
44
+ this.serdeTransformerName,
45
+ getConstructorName(this.originalAdapter),
46
+ this.namespace.toString(),
47
+ ].filter((str) => str !== "");
48
+ }
49
+ isApplicable(value) {
50
+ const isFile = value instanceof File && getConstructorName(value) === File.name;
51
+ if (!isFile) {
52
+ return false;
53
+ }
54
+ const isSerdTransformerNameMathcing = this.serdeTransformerName ===
55
+ value._internal_getSerdeTransformerName();
56
+ const isNamespaceMatching = this.namespace.toString() ===
57
+ value._internal_getNamespace().toString();
58
+ const isAdapterMatching = getConstructorName(this.originalAdapter) ===
59
+ getConstructorName(value._internal_getAdapter());
60
+ return (isSerdTransformerNameMathcing &&
61
+ isNamespaceMatching &&
62
+ isAdapterMatching);
63
+ }
64
+ deserialize(serializedValue) {
65
+ const { key } = serializedValue;
66
+ const keyObj = this.namespace.create(key);
67
+ return new File({
68
+ onlyLowercase: this.onlyLowercase,
69
+ keyValidator: this.keyValidator,
70
+ originalAdapter: this.originalAdapter,
71
+ defaultContentType: this.defaultContentType,
72
+ defaultCacheControl: this.defaultCacheControl,
73
+ defaultContentDisposition: this.defaultContentDisposition,
74
+ defaultContentEncoding: this.defaultContentEncoding,
75
+ defaultContentLanguage: this.defaultContentLanguage,
76
+ eventDispatcher: this.eventBus,
77
+ adapter: this.adapter,
78
+ key: keyObj,
79
+ serdeTransformerName: this.serdeTransformerName,
80
+ namespace: this.namespace,
81
+ });
82
+ }
83
+ serialize(deserializedValue) {
84
+ return File._internal_serialize(deserializedValue);
85
+ }
86
+ }
87
+ //# sourceMappingURL=file-serde-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-serde-transformer.js","sourceRoot":"","sources":["../../../../../src/file-storage/implementations/derivables/file-storage/file-serde-transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * @module FileStorage
3
+ */
4
+ import { type IEventBus } from "../../../../event-bus/contracts/_module.js";
5
+ import { type FileStorageAdapterVariants, type IFile, type IFileListenable, type IFileStorage, type IFileUrlAdapter } from "../../../../file-storage/contracts/_module.js";
6
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
7
+ import { type ISerderRegister } from "../../../../serde/contracts/_module.js";
8
+ import { type ITask } from "../../../../task/contracts/_module.js";
9
+ import { type InvokableFn, type OneOrMore } from "../../../../utilities/_module.js";
10
+ /**
11
+ * IMPORT_PATH: `"@daiso-tech/core/file-storage"`
12
+ * @group Derivables
13
+ */
14
+ export declare function defaultKeyValidator(key: string): string | null;
15
+ /**
16
+ * IMPORT_PATH: `"@daiso-tech/core/file-storage"`
17
+ * @group Derivables
18
+ */
19
+ export type FileKeyValidator = InvokableFn<[key: string], string | null>;
20
+ /**
21
+ * IMPORT_PATH: `"@daiso-tech/core/file-storage"`
22
+ * @group Derivables
23
+ */
24
+ export type FileStorageSettingsBase = {
25
+ /**
26
+ * The default content type to be used when it cannot be infered by file extension.
27
+ *
28
+ * @default "application/octet-stream"
29
+ */
30
+ defaultContentType?: string;
31
+ /**
32
+ * Note this setting is only used by cloud object storage services like aws s3, azure, or google cloud storage.
33
+ *
34
+ * @default "inline"
35
+ */
36
+ defaultContentDisposition?: string | null;
37
+ /**
38
+ * Note this setting is only used by cloud object storage services like aws s3, azure, or google cloud storage.
39
+ *
40
+ * @default null
41
+ */
42
+ defaultContentEncoding?: string | null;
43
+ /**
44
+ * Note this setting is only used by cloud object storage services like aws s3, azure, or google cloud storage.
45
+ *
46
+ * @default ""
47
+ */
48
+ defaultCacheControl?: string | null;
49
+ /**
50
+ * Note this setting is only used by cloud object storage services like aws s3, azure, or google cloud storage.
51
+ *
52
+ * @default null
53
+ */
54
+ defaultContentLanguage?: string | null;
55
+ /**
56
+ * @default true
57
+ */
58
+ onlyLowercase?: boolean;
59
+ /**
60
+ * You can pass a key validator. The method should return string error message if unvalid or null if valid.
61
+ * @default
62
+ * ```ts
63
+ * import { defaultKeyValidator } from "@daiso-tech/core/file-storage";
64
+ *
65
+ * defaultKeyValidator
66
+ * ```
67
+ */
68
+ keyValidator?: FileKeyValidator;
69
+ /**
70
+ * @default
71
+ * ```ts
72
+ * import { NoOpNamespace } from "@daiso-tech/core/namespace";
73
+ *
74
+ * new NoOpNamespace()
75
+ * ```
76
+ */
77
+ namespace?: INamespace;
78
+ /**
79
+ * You can pass partial {@link IFileUrlAdapter | `IFileUrlAdapter`} that can overide generating public url, signed upload and download url of the file storage adapter.
80
+ */
81
+ urlAdapter?: Partial<IFileUrlAdapter>;
82
+ /**
83
+ * @default
84
+ * ```ts
85
+ * import { EventBus } from "@daiso-tech/core/event-bus";
86
+ * import { NoOpEventBusAdapter } from "@daiso-tech/core/event-bus/no-op-event-bus-adapter";
87
+ *
88
+ * new EventBus({
89
+ * adapter: new NoOpEventBusAdapter()
90
+ * })
91
+ * ```
92
+ */
93
+ eventBus?: IEventBus;
94
+ /**
95
+ * @default
96
+ * ```ts
97
+ * import { Serde } from "@daiso-tech/serde";
98
+ * import { NoOpSerdeAdapter } from "@daiso-tech/serde/no-op-serde-adapter";
99
+ *
100
+ * new Serde(new NoOpSerdeAdapter())
101
+ * ```
102
+ */
103
+ serde?: OneOrMore<ISerderRegister>;
104
+ /**
105
+ * @default ""
106
+ */
107
+ serdeTransformerName?: string;
108
+ };
109
+ /**
110
+ * IMPORT_PATH: `"@daiso-tech/core/file-storage"`
111
+ * @group Derivables
112
+ */
113
+ export type FileStorageSettings = FileStorageSettingsBase & {
114
+ adapter: FileStorageAdapterVariants;
115
+ };
116
+ /**
117
+ * `FileStorage` class can be derived from any {@link ISignedFileStorageAdapter | `IFileStorageAdapter`}.
118
+ *
119
+ * Note the {@link IFile | `IFile`} instances created by the `FileStorage` class are serializable and deserializable,
120
+ * allowing them to be seamlessly transferred across different servers, processes, and databases.
121
+ * This can be done directly using {@link ISerderRegister | `ISerderRegister`} or indirectly through components that rely on {@link ISerderRegister | `ISerderRegister`} internally.
122
+ *
123
+ * IMPORT_PATH: `"@daiso-tech/core/file-storage"`
124
+ * @group Derivables
125
+ */
126
+ export declare class FileStorage implements IFileStorage {
127
+ private readonly eventBus;
128
+ private readonly originalAdapter;
129
+ private readonly adapter;
130
+ private readonly namespace;
131
+ private readonly serde;
132
+ private readonly serdeTransformerName;
133
+ private readonly defaultContentType;
134
+ private readonly defaultContentDisposition;
135
+ private readonly defaultContentEncoding;
136
+ private readonly defaultCacheControl;
137
+ private readonly defaultContentLanguage;
138
+ private readonly onlyLowercase;
139
+ private readonly keyValidator;
140
+ /**
141
+ * @example
142
+ * ```ts
143
+ * import { Serde } from "@daiso-tech/core/serde";
144
+ * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/super-json-serde-adapter"
145
+ * import { FileStorag } from "@daiso-tech/core/file-storage";
146
+ * import { FsFileStorageAdapter } from "@daiso-tech/core/file-storage/fs-file-storage-adapter";
147
+ *
148
+ * const serde = new Serde(new SuperJsonSerdeAdapter());
149
+ * const fileStorageAdapter = new FsFileStorageAdapter();
150
+ * const fileStorage = new FileStorage({
151
+ * serde,
152
+ * adapter: fileStorageAdapter,
153
+ * })
154
+ * ```
155
+ */
156
+ constructor(settings: FileStorageSettings);
157
+ private registerToSerde;
158
+ create(key: string): IFile;
159
+ private handleUnexpectedErrorEvent;
160
+ clear(): ITask<void>;
161
+ removeMany(files: Iterable<IFile>): ITask<boolean>;
162
+ get events(): IFileListenable;
163
+ }
@@ -0,0 +1,185 @@
1
+ /**
2
+ * @module FileStorage
3
+ */
4
+ import {} from "../../../../event-bus/contracts/_module.js";
5
+ import { NoOpEventBusAdapter } from "../../../../event-bus/implementations/adapters/_module.js";
6
+ import { EventBus } from "../../../../event-bus/implementations/derivables/_module.js";
7
+ import { FILE_EVENTS, isFileError, } from "../../../../file-storage/contracts/_module.js";
8
+ import { FileSerdeTransformer } from "../../../../file-storage/implementations/derivables/file-storage/file-serde-transformer.js";
9
+ import { File } from "../../../../file-storage/implementations/derivables/file-storage/file.js";
10
+ import { resolveFileStorageAdapter } from "../../../../file-storage/implementations/derivables/file-storage/resolve-file-storage-adapter.js";
11
+ import {} from "../../../../hooks/_module.js";
12
+ import {} from "../../../../namespace/contracts/_module.js";
13
+ import { NoOpNamespace } from "../../../../namespace/implementations/_module.js";
14
+ import {} from "../../../../serde/contracts/_module.js";
15
+ import { NoOpSerdeAdapter } from "../../../../serde/implementations/adapters/_module.js";
16
+ import { Serde } from "../../../../serde/implementations/derivables/_module.js";
17
+ import {} from "../../../../task/contracts/_module.js";
18
+ import { Task } from "../../../../task/implementations/_module.js";
19
+ import { CORE, resolveOneOrMore, } from "../../../../utilities/_module.js";
20
+ /**
21
+ * IMPORT_PATH: `"@daiso-tech/core/file-storage"`
22
+ * @group Derivables
23
+ */
24
+ export function defaultKeyValidator(key) {
25
+ if (key.includes("../")) {
26
+ return `The key cannot contain "../"`;
27
+ }
28
+ if (key.includes("\n")) {
29
+ return `The key cannot contain "\\n"`;
30
+ }
31
+ if (key.includes("\t")) {
32
+ return `The key cannot contain "\\t"`;
33
+ }
34
+ if (key.trim() === "") {
35
+ return "The key cannot contain only spaces or be an empty string";
36
+ }
37
+ return null;
38
+ }
39
+ /**
40
+ * `FileStorage` class can be derived from any {@link ISignedFileStorageAdapter | `IFileStorageAdapter`}.
41
+ *
42
+ * Note the {@link IFile | `IFile`} instances created by the `FileStorage` class are serializable and deserializable,
43
+ * allowing them to be seamlessly transferred across different servers, processes, and databases.
44
+ * This can be done directly using {@link ISerderRegister | `ISerderRegister`} or indirectly through components that rely on {@link ISerderRegister | `ISerderRegister`} internally.
45
+ *
46
+ * IMPORT_PATH: `"@daiso-tech/core/file-storage"`
47
+ * @group Derivables
48
+ */
49
+ export class FileStorage {
50
+ eventBus;
51
+ originalAdapter;
52
+ adapter;
53
+ namespace;
54
+ serde;
55
+ serdeTransformerName;
56
+ defaultContentType;
57
+ defaultContentDisposition;
58
+ defaultContentEncoding;
59
+ defaultCacheControl;
60
+ defaultContentLanguage;
61
+ onlyLowercase;
62
+ keyValidator;
63
+ /**
64
+ * @example
65
+ * ```ts
66
+ * import { Serde } from "@daiso-tech/core/serde";
67
+ * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/super-json-serde-adapter"
68
+ * import { FileStorag } from "@daiso-tech/core/file-storage";
69
+ * import { FsFileStorageAdapter } from "@daiso-tech/core/file-storage/fs-file-storage-adapter";
70
+ *
71
+ * const serde = new Serde(new SuperJsonSerdeAdapter());
72
+ * const fileStorageAdapter = new FsFileStorageAdapter();
73
+ * const fileStorage = new FileStorage({
74
+ * serde,
75
+ * adapter: fileStorageAdapter,
76
+ * })
77
+ * ```
78
+ */
79
+ constructor(settings) {
80
+ const { adapter, namespace = new NoOpNamespace(), eventBus = new EventBus({
81
+ adapter: new NoOpEventBusAdapter(),
82
+ }), onlyLowercase = false, keyValidator = defaultKeyValidator, serde = new Serde(new NoOpSerdeAdapter()), serdeTransformerName = "", defaultContentType = "application/octet-stream", defaultCacheControl = null, defaultContentDisposition = "inline", defaultContentEncoding = null, defaultContentLanguage = null, urlAdapter = {}, } = settings;
83
+ this.onlyLowercase = onlyLowercase;
84
+ this.keyValidator = keyValidator;
85
+ this.originalAdapter = adapter;
86
+ this.defaultContentType = defaultContentType;
87
+ this.defaultContentDisposition = defaultContentDisposition;
88
+ this.defaultContentEncoding = defaultContentEncoding;
89
+ this.defaultCacheControl = defaultCacheControl;
90
+ this.defaultContentLanguage = defaultContentLanguage;
91
+ this.adapter = resolveFileStorageAdapter(adapter, urlAdapter);
92
+ this.namespace = namespace;
93
+ this.eventBus = eventBus;
94
+ this.serde = serde;
95
+ this.serdeTransformerName = serdeTransformerName;
96
+ this.registerToSerde();
97
+ }
98
+ registerToSerde() {
99
+ const transformer = new FileSerdeTransformer({
100
+ onlyLowercase: this.onlyLowercase,
101
+ keyValidator: this.keyValidator,
102
+ originalAdapter: this.originalAdapter,
103
+ defaultContentType: this.defaultContentType,
104
+ defaultCacheControl: this.defaultCacheControl,
105
+ defaultContentDisposition: this.defaultContentDisposition,
106
+ defaultContentEncoding: this.defaultContentEncoding,
107
+ defaultContentLanguage: this.defaultContentLanguage,
108
+ adapter: this.adapter,
109
+ eventBus: this.eventBus,
110
+ namespace: this.namespace,
111
+ serdeTransformerName: this.serdeTransformerName,
112
+ });
113
+ for (const serde of resolveOneOrMore(this.serde)) {
114
+ serde.registerCustom(transformer, CORE);
115
+ }
116
+ }
117
+ create(key) {
118
+ return new File({
119
+ onlyLowercase: this.onlyLowercase,
120
+ keyValidator: this.keyValidator,
121
+ originalAdapter: this.originalAdapter,
122
+ defaultContentType: this.defaultContentType,
123
+ defaultCacheControl: this.defaultCacheControl,
124
+ defaultContentDisposition: this.defaultContentDisposition,
125
+ defaultContentEncoding: this.defaultContentEncoding,
126
+ defaultContentLanguage: this.defaultContentLanguage,
127
+ adapter: this.adapter,
128
+ key: this.namespace.create(key),
129
+ eventDispatcher: this.eventBus,
130
+ serdeTransformerName: this.serdeTransformerName,
131
+ namespace: this.namespace,
132
+ });
133
+ }
134
+ handleUnexpectedErrorEvent = () => {
135
+ return async (args, next) => {
136
+ try {
137
+ return await next(...args);
138
+ }
139
+ catch (error) {
140
+ if (isFileError(error)) {
141
+ throw error;
142
+ }
143
+ this.eventBus
144
+ .dispatch(FILE_EVENTS.UNEXPECTED_ERROR, {
145
+ error,
146
+ })
147
+ .detach();
148
+ throw error;
149
+ }
150
+ };
151
+ };
152
+ clear() {
153
+ return new Task(async () => {
154
+ await this.adapter.removeByPrefix(this.namespace.toString());
155
+ this.eventBus.dispatch(FILE_EVENTS.CLEARED, {}).detach();
156
+ }).pipe([this.handleUnexpectedErrorEvent()]);
157
+ }
158
+ removeMany(files) {
159
+ return new Task(async () => {
160
+ const namespacedKeys = [...files].map((file) => {
161
+ return file.key.toString();
162
+ });
163
+ const hasRemovedAtLeastOne = await this.adapter.removeMany(namespacedKeys);
164
+ if (hasRemovedAtLeastOne) {
165
+ for (const file of files) {
166
+ this.eventBus
167
+ .dispatch(FILE_EVENTS.REMOVED, { file })
168
+ .detach();
169
+ }
170
+ }
171
+ else {
172
+ for (const file of files) {
173
+ this.eventBus
174
+ .dispatch(FILE_EVENTS.NOT_FOUND, { file })
175
+ .detach();
176
+ }
177
+ }
178
+ return hasRemovedAtLeastOne;
179
+ }).pipe([this.handleUnexpectedErrorEvent()]);
180
+ }
181
+ get events() {
182
+ return this.eventBus;
183
+ }
184
+ }
185
+ //# sourceMappingURL=file-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../../../../src/file-storage/implementations/derivables/file-storage/file-storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * @module FileStorage
3
+ */
4
+ import { Buffer } from "node:buffer";
5
+ import { Readable } from "stream";
6
+ import { type IEventDispatcher } from "../../../../event-bus/contracts/_module.js";
7
+ import { type IFile, type ISignedFileStorageAdapter, type FileMetadata, type WritableFileStream, type FileEventMap, type FileDownloadUrlOptions, type WritableFileContent, type FileStorageAdapterVariants, type FileUploadUrlOptions } from "../../../../file-storage/contracts/_module.js";
8
+ import { type IKey, type INamespace } from "../../../../namespace/contracts/_module.js";
9
+ import { type ITask } from "../../../../task/contracts/_module.js";
10
+ import { type InvokableFn } from "../../../../utilities/_module.js";
11
+ /**
12
+ * @internal
13
+ */
14
+ export type FileSettings = {
15
+ onlyLowercase: boolean;
16
+ keyValidator: InvokableFn<[key: string], string | null>;
17
+ defaultContentType: string;
18
+ originalAdapter: FileStorageAdapterVariants;
19
+ adapter: ISignedFileStorageAdapter;
20
+ key: IKey;
21
+ eventDispatcher: IEventDispatcher<FileEventMap>;
22
+ serdeTransformerName: string;
23
+ namespace: INamespace;
24
+ defaultContentDisposition: string | null;
25
+ defaultContentEncoding: string | null;
26
+ defaultCacheControl: string | null;
27
+ defaultContentLanguage: string | null;
28
+ };
29
+ /**
30
+ * @internal
31
+ */
32
+ export type ISerializedFile = {
33
+ version: "1";
34
+ key: string;
35
+ };
36
+ /**
37
+ * @internal
38
+ */
39
+ export declare class File implements IFile {
40
+ /**
41
+ * @internal
42
+ */
43
+ static _internal_serialize(deserializedValue: File): ISerializedFile;
44
+ private readonly originalAdapter;
45
+ private readonly adapter;
46
+ private readonly _key;
47
+ private readonly eventDispatcher;
48
+ private readonly serdeTransformerName;
49
+ private readonly namespace;
50
+ private readonly defaultContentType;
51
+ private readonly defaultContentDisposition;
52
+ private readonly defaultContentEncoding;
53
+ private readonly defaultCacheControl;
54
+ private readonly defaultContentLanguage;
55
+ private readonly onlyLowercase;
56
+ private readonly keyValidator;
57
+ constructor(settings: FileSettings);
58
+ private handleKey;
59
+ _internal_getNamespace(): INamespace;
60
+ _internal_getSerdeTransformerName(): string;
61
+ _internal_getAdapter(): FileStorageAdapterVariants;
62
+ get key(): IKey;
63
+ private handleUnexpectedErrorEvent;
64
+ private handleNullableFoundEvent;
65
+ private handleBooleanFoundEvent;
66
+ getText(): ITask<string | null>;
67
+ getTextOrFail(): ITask<string>;
68
+ getBytes(): ITask<Uint8Array | null>;
69
+ getBytesOrFail(): ITask<Uint8Array>;
70
+ getBuffer(): ITask<Buffer | null>;
71
+ getBufferOrFail(): ITask<Buffer>;
72
+ getArrayBuffer(): ITask<ArrayBuffer | null>;
73
+ getArrayBufferOrFail(): ITask<ArrayBuffer>;
74
+ getReadable(): ITask<Readable | null>;
75
+ getReadableOrFail(): ITask<Readable>;
76
+ getReadableStream(): ITask<ReadableStream<Uint8Array> | null>;
77
+ getReadableStreamOrFail(): ITask<ReadableStream<Uint8Array>>;
78
+ getMetadata(): ITask<FileMetadata | null>;
79
+ getMetadataOrFail(): ITask<FileMetadata>;
80
+ exists(): ITask<boolean>;
81
+ missing(): ITask<boolean>;
82
+ private handleAddEvent;
83
+ add(content: WritableFileContent): ITask<boolean>;
84
+ addOrFail(content: WritableFileContent): ITask<void>;
85
+ private getContentType;
86
+ addStream(stream: WritableFileStream): ITask<boolean>;
87
+ addStreamOrFail(stream: WritableFileStream): ITask<void>;
88
+ private handleUpdateEvent;
89
+ update(content: WritableFileContent): ITask<boolean>;
90
+ updateOrFail(content: WritableFileContent): ITask<void>;
91
+ updateStream(stream: WritableFileStream): ITask<boolean>;
92
+ updateStreamOrFail(stream: WritableFileStream): ITask<void>;
93
+ private handlePutEvent;
94
+ put(content: WritableFileContent): ITask<boolean>;
95
+ putStream(stream: WritableFileStream): ITask<boolean>;
96
+ private handleRemoveEvent;
97
+ remove(): ITask<boolean>;
98
+ removeOrFail(): ITask<void>;
99
+ private _copy;
100
+ copy(destination: string): ITask<boolean>;
101
+ copyOrFail(destination: string): ITask<void>;
102
+ copyAndReplace(destination: string): ITask<boolean>;
103
+ copyAndReplaceOrFail(destination: string): ITask<void>;
104
+ private _move;
105
+ move(destination: string): ITask<boolean>;
106
+ moveOrFail(destination: string): ITask<void>;
107
+ moveAndReplace(destination: string): ITask<boolean>;
108
+ moveAndReplaceOrFail(destination: string): ITask<void>;
109
+ getPublicUrl(): ITask<string | null>;
110
+ getPublicUrlOrFail(): ITask<string>;
111
+ getSignedUploadUrl(options?: FileUploadUrlOptions): ITask<string>;
112
+ getSignedDownloadUrl(options?: FileDownloadUrlOptions): ITask<string | null>;
113
+ getSignedDownloadUrlOrFail(options?: FileDownloadUrlOptions): ITask<string>;
114
+ }