@bgord/bun 0.30.1 → 1.0.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 (503) hide show
  1. package/dist/antivirus-clamav.adapter.d.ts.map +1 -1
  2. package/dist/antivirus-clamav.adapter.js +6 -6
  3. package/dist/antivirus-clamav.adapter.js.map +1 -1
  4. package/dist/antivirus.port.d.ts +3 -6
  5. package/dist/antivirus.port.d.ts.map +1 -1
  6. package/dist/antivirus.port.js +1 -12
  7. package/dist/antivirus.port.js.map +1 -1
  8. package/dist/api-version.middleware.d.ts +4 -2
  9. package/dist/api-version.middleware.d.ts.map +1 -1
  10. package/dist/api-version.middleware.js.map +1 -1
  11. package/dist/basic-auth-password.vo.d.ts +9 -0
  12. package/dist/basic-auth-password.vo.d.ts.map +1 -0
  13. package/dist/basic-auth-password.vo.js +12 -0
  14. package/dist/basic-auth-password.vo.js.map +1 -0
  15. package/dist/basic-auth-username.vo.d.ts +9 -0
  16. package/dist/basic-auth-username.vo.d.ts.map +1 -0
  17. package/dist/basic-auth-username.vo.js +12 -0
  18. package/dist/basic-auth-username.vo.js.map +1 -0
  19. package/dist/basic-auth.service.d.ts +5 -22
  20. package/dist/basic-auth.service.d.ts.map +1 -1
  21. package/dist/basic-auth.service.js +0 -15
  22. package/dist/basic-auth.service.js.map +1 -1
  23. package/dist/better-auth-logger.service.d.ts.map +1 -1
  24. package/dist/better-auth-logger.service.js +4 -2
  25. package/dist/better-auth-logger.service.js.map +1 -1
  26. package/dist/binary.vo.d.ts +10 -0
  27. package/dist/binary.vo.d.ts.map +1 -0
  28. package/dist/binary.vo.js +16 -0
  29. package/dist/binary.vo.js.map +1 -0
  30. package/dist/build-info-repository.service.d.ts +2 -1
  31. package/dist/build-info-repository.service.d.ts.map +1 -1
  32. package/dist/build-info-repository.service.js +2 -5
  33. package/dist/build-info-repository.service.js.map +1 -1
  34. package/dist/cache-file.service.d.ts.map +1 -1
  35. package/dist/cache-file.service.js +1 -1
  36. package/dist/cache-file.service.js.map +1 -1
  37. package/dist/cache-response.middleware.d.ts.map +1 -1
  38. package/dist/cache-response.middleware.js.map +1 -1
  39. package/dist/certificate-inspector-tls.adapter.d.ts +1 -1
  40. package/dist/certificate-inspector-tls.adapter.d.ts.map +1 -1
  41. package/dist/certificate-inspector-tls.adapter.js +2 -2
  42. package/dist/certificate-inspector-tls.adapter.js.map +1 -1
  43. package/dist/client-from-hono.adapter.d.ts +1 -1
  44. package/dist/client-from-hono.adapter.d.ts.map +1 -1
  45. package/dist/client-from-hono.adapter.js +1 -1
  46. package/dist/client-from-hono.adapter.js.map +1 -1
  47. package/dist/clock-system.adapter.d.ts.map +1 -1
  48. package/dist/clock-system.adapter.js +1 -2
  49. package/dist/clock-system.adapter.js.map +1 -1
  50. package/dist/clock.port.d.ts.map +1 -1
  51. package/dist/context.middleware.d.ts.map +1 -1
  52. package/dist/context.middleware.js.map +1 -1
  53. package/dist/correlation-id.vo.d.ts.map +1 -1
  54. package/dist/correlation-storage.service.d.ts +3 -0
  55. package/dist/correlation-storage.service.d.ts.map +1 -1
  56. package/dist/correlation-storage.service.js +2 -1
  57. package/dist/correlation-storage.service.js.map +1 -1
  58. package/dist/env-validator.service.d.ts +3 -1
  59. package/dist/env-validator.service.d.ts.map +1 -1
  60. package/dist/env-validator.service.js +2 -2
  61. package/dist/env-validator.service.js.map +1 -1
  62. package/dist/etag-extractor.middleware.js +2 -2
  63. package/dist/etag-extractor.middleware.js.map +1 -1
  64. package/dist/event-store-like.types.d.ts.map +1 -1
  65. package/dist/event-stream.vo.d.ts +4 -2
  66. package/dist/event-stream.vo.d.ts.map +1 -1
  67. package/dist/event-stream.vo.js +8 -4
  68. package/dist/event-stream.vo.js.map +1 -1
  69. package/dist/file-cleaner-bun-forgiving.adapter.d.ts +6 -0
  70. package/dist/file-cleaner-bun-forgiving.adapter.d.ts.map +1 -0
  71. package/dist/file-cleaner-bun-forgiving.adapter.js +9 -0
  72. package/dist/file-cleaner-bun-forgiving.adapter.js.map +1 -0
  73. package/dist/file-cleaner-bun.adapter.d.ts +6 -0
  74. package/dist/file-cleaner-bun.adapter.d.ts.map +1 -0
  75. package/dist/file-cleaner-bun.adapter.js +6 -0
  76. package/dist/file-cleaner-bun.adapter.js.map +1 -0
  77. package/dist/file-cleaner-noop.adapter.d.ts +6 -0
  78. package/dist/file-cleaner-noop.adapter.d.ts.map +1 -0
  79. package/dist/file-cleaner-noop.adapter.js +4 -0
  80. package/dist/file-cleaner-noop.adapter.js.map +1 -0
  81. package/dist/file-cleaner.port.d.ts +5 -0
  82. package/dist/file-cleaner.port.d.ts.map +1 -0
  83. package/dist/file-cleaner.port.js +2 -0
  84. package/dist/file-cleaner.port.js.map +1 -0
  85. package/dist/file-draft.service.js +2 -2
  86. package/dist/file-draft.service.js.map +1 -1
  87. package/dist/file-renamer-fs-forgiving.adapter.d.ts +6 -0
  88. package/dist/file-renamer-fs-forgiving.adapter.d.ts.map +1 -0
  89. package/dist/file-renamer-fs-forgiving.adapter.js +12 -0
  90. package/dist/file-renamer-fs-forgiving.adapter.js.map +1 -0
  91. package/dist/file-renamer-fs.adapter.d.ts +6 -0
  92. package/dist/file-renamer-fs.adapter.d.ts.map +1 -0
  93. package/dist/file-renamer-fs.adapter.js +9 -0
  94. package/dist/file-renamer-fs.adapter.js.map +1 -0
  95. package/dist/file-renamer-noop.adapter.d.ts +6 -0
  96. package/dist/file-renamer-noop.adapter.d.ts.map +1 -0
  97. package/dist/file-renamer-noop.adapter.js +4 -0
  98. package/dist/file-renamer-noop.adapter.js.map +1 -0
  99. package/dist/file-renamer.port.d.ts +5 -0
  100. package/dist/file-renamer.port.d.ts.map +1 -0
  101. package/dist/file-renamer.port.js +2 -0
  102. package/dist/file-renamer.port.js.map +1 -0
  103. package/dist/graceful-shutdown.service.d.ts.map +1 -1
  104. package/dist/graceful-shutdown.service.js +1 -3
  105. package/dist/graceful-shutdown.service.js.map +1 -1
  106. package/dist/hcaptcha-secret-key.vo.d.ts +8 -0
  107. package/dist/hcaptcha-secret-key.vo.d.ts.map +1 -0
  108. package/dist/hcaptcha-secret-key.vo.js +10 -0
  109. package/dist/hcaptcha-secret-key.vo.js.map +1 -0
  110. package/dist/hcaptcha-site-key.vo.d.ts +8 -0
  111. package/dist/hcaptcha-site-key.vo.d.ts.map +1 -0
  112. package/dist/hcaptcha-site-key.vo.js +10 -0
  113. package/dist/hcaptcha-site-key.vo.js.map +1 -0
  114. package/dist/healthcheck.service.d.ts +4 -0
  115. package/dist/healthcheck.service.d.ts.map +1 -1
  116. package/dist/healthcheck.service.js +3 -3
  117. package/dist/healthcheck.service.js.map +1 -1
  118. package/dist/http-logger.middleware.d.ts.map +1 -1
  119. package/dist/http-logger.middleware.js +9 -9
  120. package/dist/http-logger.middleware.js.map +1 -1
  121. package/dist/i18n.service.d.ts +10 -3
  122. package/dist/i18n.service.d.ts.map +1 -1
  123. package/dist/i18n.service.js +7 -11
  124. package/dist/i18n.service.js.map +1 -1
  125. package/dist/id-provider-deterministic.adapter.d.ts +3 -0
  126. package/dist/id-provider-deterministic.adapter.d.ts.map +1 -1
  127. package/dist/id-provider-deterministic.adapter.js +4 -1
  128. package/dist/id-provider-deterministic.adapter.js.map +1 -1
  129. package/dist/image-alpha-noop.adapter.d.ts +1 -1
  130. package/dist/image-alpha-sharp.adapter.d.ts +8 -1
  131. package/dist/image-alpha-sharp.adapter.d.ts.map +1 -1
  132. package/dist/image-alpha-sharp.adapter.js +6 -3
  133. package/dist/image-alpha-sharp.adapter.js.map +1 -1
  134. package/dist/image-blur-noop.adapter.d.ts +1 -1
  135. package/dist/image-blur-sharp.adapter.d.ts +8 -1
  136. package/dist/image-blur-sharp.adapter.d.ts.map +1 -1
  137. package/dist/image-blur-sharp.adapter.js +6 -3
  138. package/dist/image-blur-sharp.adapter.js.map +1 -1
  139. package/dist/image-compressor-noop.adapter.d.ts +1 -1
  140. package/dist/image-compressor-sharp.adapter.d.ts +8 -1
  141. package/dist/image-compressor-sharp.adapter.d.ts.map +1 -1
  142. package/dist/image-compressor-sharp.adapter.js +5 -2
  143. package/dist/image-compressor-sharp.adapter.js.map +1 -1
  144. package/dist/image-exif-clear-noop.adapter.d.ts +1 -1
  145. package/dist/image-exif-clear-sharp.adapter.d.ts +8 -1
  146. package/dist/image-exif-clear-sharp.adapter.d.ts.map +1 -1
  147. package/dist/image-exif-clear-sharp.adapter.js +5 -2
  148. package/dist/image-exif-clear-sharp.adapter.js.map +1 -1
  149. package/dist/image-formatter-sharp.adapter.d.ts +10 -1
  150. package/dist/image-formatter-sharp.adapter.d.ts.map +1 -1
  151. package/dist/image-formatter-sharp.adapter.js +8 -5
  152. package/dist/image-formatter-sharp.adapter.js.map +1 -1
  153. package/dist/image-info-noop.adapter.d.ts +2 -2
  154. package/dist/image-info-sharp.adapter.d.ts +2 -2
  155. package/dist/image-info-sharp.adapter.d.ts.map +1 -1
  156. package/dist/image-info-sharp.adapter.js +5 -9
  157. package/dist/image-info-sharp.adapter.js.map +1 -1
  158. package/dist/image-processor-sharp.adapter.d.ts +9 -0
  159. package/dist/image-processor-sharp.adapter.d.ts.map +1 -1
  160. package/dist/image-processor-sharp.adapter.js +8 -5
  161. package/dist/image-processor-sharp.adapter.js.map +1 -1
  162. package/dist/image-resizer-noop.adapter.d.ts +1 -1
  163. package/dist/image-resizer-sharp.adapter.d.ts +8 -1
  164. package/dist/image-resizer-sharp.adapter.d.ts.map +1 -1
  165. package/dist/image-resizer-sharp.adapter.js +5 -2
  166. package/dist/image-resizer-sharp.adapter.js.map +1 -1
  167. package/dist/index.d.ts +25 -5
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +25 -5
  170. package/dist/index.js.map +1 -1
  171. package/dist/json-file-reader-bun-forgiving.adapter.d.ts +6 -0
  172. package/dist/json-file-reader-bun-forgiving.adapter.d.ts.map +1 -0
  173. package/dist/json-file-reader-bun-forgiving.adapter.js +11 -0
  174. package/dist/json-file-reader-bun-forgiving.adapter.js.map +1 -0
  175. package/dist/json-file-reader-bun.adapter.d.ts +6 -0
  176. package/dist/json-file-reader-bun.adapter.d.ts.map +1 -0
  177. package/dist/json-file-reader-bun.adapter.js +6 -0
  178. package/dist/json-file-reader-bun.adapter.js.map +1 -0
  179. package/dist/json-file-reader-noop.adapter.d.ts +8 -0
  180. package/dist/json-file-reader-noop.adapter.d.ts.map +1 -0
  181. package/dist/json-file-reader-noop.adapter.js +10 -0
  182. package/dist/json-file-reader-noop.adapter.js.map +1 -0
  183. package/dist/json-file-reader.port.d.ts +5 -0
  184. package/dist/json-file-reader.port.d.ts.map +1 -0
  185. package/dist/json-file-reader.port.js +2 -0
  186. package/dist/json-file-reader.port.js.map +1 -0
  187. package/dist/logger-format-error.service.d.ts +1 -1
  188. package/dist/logger-format-error.service.d.ts.map +1 -1
  189. package/dist/logger-format-error.service.js +9 -9
  190. package/dist/logger-format-error.service.js.map +1 -1
  191. package/dist/logger.port.d.ts +0 -4
  192. package/dist/logger.port.d.ts.map +1 -1
  193. package/dist/mailer-smtp-with-logger.adapter.d.ts.map +1 -1
  194. package/dist/mailer-smtp-with-logger.adapter.js.map +1 -1
  195. package/dist/mailer-smtp.adapter.d.ts +2 -23
  196. package/dist/mailer-smtp.adapter.d.ts.map +1 -1
  197. package/dist/mailer-smtp.adapter.js +0 -10
  198. package/dist/mailer-smtp.adapter.js.map +1 -1
  199. package/dist/mailer.vo.d.ts +34 -0
  200. package/dist/mailer.vo.d.ts.map +1 -0
  201. package/dist/mailer.vo.js +21 -0
  202. package/dist/mailer.vo.js.map +1 -0
  203. package/dist/modules/history/event-handlers/onHistoryPopulatedEvent.d.ts.map +1 -1
  204. package/dist/modules/history/event-handlers/onHistoryPopulatedEvent.js.map +1 -1
  205. package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts +4 -4
  206. package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts.map +1 -1
  207. package/dist/modules/history/events/HISTORY_CLEARED_EVENT.js +2 -8
  208. package/dist/modules/history/events/HISTORY_CLEARED_EVENT.js.map +1 -1
  209. package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts +6 -6
  210. package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts.map +1 -1
  211. package/dist/modules/history/events/HISTORY_POPULATED_EVENT.js +2 -8
  212. package/dist/modules/history/events/HISTORY_POPULATED_EVENT.js.map +1 -1
  213. package/dist/modules/history/ports/history-writer.d.ts.map +1 -1
  214. package/dist/modules/history/value-objects/history-subject.d.ts.map +1 -1
  215. package/dist/modules/preferences/open-host-queries/user-language.d.ts.map +1 -1
  216. package/dist/modules/preferences/open-host-queries/user-language.js.map +1 -1
  217. package/dist/modules/preferences/ports/user-language-resolver.d.ts +3 -3
  218. package/dist/modules/preferences/ports/user-language-resolver.d.ts.map +1 -1
  219. package/dist/modules/preferences/ports/user-language-resolver.js +2 -7
  220. package/dist/modules/preferences/ports/user-language-resolver.js.map +1 -1
  221. package/dist/modules/preferences/value-objects/supported-languages-set.d.ts +3 -3
  222. package/dist/modules/preferences/value-objects/supported-languages-set.d.ts.map +1 -1
  223. package/dist/modules/preferences/value-objects/supported-languages-set.js +2 -7
  224. package/dist/modules/preferences/value-objects/supported-languages-set.js.map +1 -1
  225. package/dist/pdf-generator-noop.adapter.d.ts +1 -1
  226. package/dist/pdf-generator-noop.adapter.d.ts.map +1 -1
  227. package/dist/pdf-generator-noop.adapter.js +1 -1
  228. package/dist/pdf-generator-noop.adapter.js.map +1 -1
  229. package/dist/port.vo.d.ts +4 -0
  230. package/dist/port.vo.d.ts.map +1 -1
  231. package/dist/port.vo.js +7 -1
  232. package/dist/port.vo.js.map +1 -1
  233. package/dist/prerequisites/binary.d.ts +2 -5
  234. package/dist/prerequisites/binary.d.ts.map +1 -1
  235. package/dist/prerequisites/binary.js +1 -8
  236. package/dist/prerequisites/binary.js.map +1 -1
  237. package/dist/prerequisites/dependency-vulnerabilities.js +3 -3
  238. package/dist/prerequisites/dependency-vulnerabilities.js.map +1 -1
  239. package/dist/prerequisites/directory.d.ts.map +1 -1
  240. package/dist/prerequisites/directory.js.map +1 -1
  241. package/dist/prerequisites/jobs.d.ts.map +1 -1
  242. package/dist/prerequisites/jobs.js +1 -2
  243. package/dist/prerequisites/jobs.js.map +1 -1
  244. package/dist/prerequisites/log-file.d.ts.map +1 -1
  245. package/dist/prerequisites/log-file.js.map +1 -1
  246. package/dist/prerequisites/mailer.d.ts.map +1 -1
  247. package/dist/prerequisites/mailer.js.map +1 -1
  248. package/dist/prerequisites/memory.js +1 -1
  249. package/dist/prerequisites/memory.js.map +1 -1
  250. package/dist/prerequisites/node.d.ts.map +1 -1
  251. package/dist/prerequisites/node.js.map +1 -1
  252. package/dist/prerequisites/port.d.ts.map +1 -1
  253. package/dist/prerequisites/port.js.map +1 -1
  254. package/dist/prerequisites/ram.d.ts.map +1 -1
  255. package/dist/prerequisites/ram.js +1 -1
  256. package/dist/prerequisites/ram.js.map +1 -1
  257. package/dist/prerequisites/running-user.d.ts.map +1 -1
  258. package/dist/prerequisites/running-user.js.map +1 -1
  259. package/dist/prerequisites/space.d.ts.map +1 -1
  260. package/dist/prerequisites/space.js +1 -1
  261. package/dist/prerequisites/space.js.map +1 -1
  262. package/dist/prerequisites/sqlite.d.ts.map +1 -1
  263. package/dist/prerequisites/sqlite.js +1 -1
  264. package/dist/prerequisites/sqlite.js.map +1 -1
  265. package/dist/prerequisites/ssl-certificate-expiry.js +1 -1
  266. package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
  267. package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
  268. package/dist/prerequisites/timezone-utc.js.map +1 -1
  269. package/dist/prerequisites/translations.d.ts +10 -3
  270. package/dist/prerequisites/translations.d.ts.map +1 -1
  271. package/dist/prerequisites/translations.js +15 -10
  272. package/dist/prerequisites/translations.js.map +1 -1
  273. package/dist/prerequisites.service.d.ts +3 -0
  274. package/dist/prerequisites.service.d.ts.map +1 -1
  275. package/dist/prerequisites.service.js +3 -3
  276. package/dist/prerequisites.service.js.map +1 -1
  277. package/dist/rate-limit-store-node-cache.adapter.d.ts +2 -2
  278. package/dist/rate-limit-store-node-cache.adapter.d.ts.map +1 -1
  279. package/dist/rate-limit-store-node-cache.adapter.js +1 -1
  280. package/dist/rate-limit-store-node-cache.adapter.js.map +1 -1
  281. package/dist/rate-limit-store.port.d.ts +1 -1
  282. package/dist/rate-limit-store.port.d.ts.map +1 -1
  283. package/dist/recaptcha-secret-key.vo.d.ts +8 -0
  284. package/dist/recaptcha-secret-key.vo.d.ts.map +1 -0
  285. package/dist/recaptcha-secret-key.vo.js +10 -0
  286. package/dist/recaptcha-secret-key.vo.js.map +1 -0
  287. package/dist/recaptcha-site-key.vo.d.ts +8 -0
  288. package/dist/recaptcha-site-key.vo.d.ts.map +1 -0
  289. package/dist/recaptcha-site-key.vo.js +10 -0
  290. package/dist/recaptcha-site-key.vo.js.map +1 -0
  291. package/dist/redactor-encrypt.adapter.js +2 -2
  292. package/dist/redactor-encrypt.adapter.js.map +1 -1
  293. package/dist/redactor-mask.adapter.d.ts.map +1 -1
  294. package/dist/redactor-mask.adapter.js +0 -3
  295. package/dist/redactor-mask.adapter.js.map +1 -1
  296. package/dist/remote-file-storage-disk.adapter.d.ts +9 -2
  297. package/dist/remote-file-storage-disk.adapter.d.ts.map +1 -1
  298. package/dist/remote-file-storage-disk.adapter.js +7 -9
  299. package/dist/remote-file-storage-disk.adapter.js.map +1 -1
  300. package/dist/safe-parse-body.service.d.ts.map +1 -1
  301. package/dist/safe-parse-body.service.js +1 -1
  302. package/dist/safe-parse-body.service.js.map +1 -1
  303. package/dist/setup.service.d.ts +3 -1
  304. package/dist/setup.service.d.ts.map +1 -1
  305. package/dist/setup.service.js +1 -1
  306. package/dist/setup.service.js.map +1 -1
  307. package/dist/shield-api-key.middleware.d.ts.map +1 -1
  308. package/dist/shield-api-key.middleware.js +1 -2
  309. package/dist/shield-api-key.middleware.js.map +1 -1
  310. package/dist/shield-auth.middleware.d.ts.map +1 -1
  311. package/dist/shield-auth.middleware.js +1 -3
  312. package/dist/shield-auth.middleware.js.map +1 -1
  313. package/dist/shield-captcha-hcaptcha-local.adapter.d.ts +2 -2
  314. package/dist/shield-captcha-hcaptcha-local.adapter.d.ts.map +1 -1
  315. package/dist/shield-captcha-hcaptcha-local.adapter.js +2 -2
  316. package/dist/shield-captcha-hcaptcha-local.adapter.js.map +1 -1
  317. package/dist/shield-captcha-hcaptcha.adapter.d.ts +2 -8
  318. package/dist/shield-captcha-hcaptcha.adapter.d.ts.map +1 -1
  319. package/dist/shield-captcha-hcaptcha.adapter.js +2 -6
  320. package/dist/shield-captcha-hcaptcha.adapter.js.map +1 -1
  321. package/dist/shield-captcha-noop.adapter.d.ts +1 -1
  322. package/dist/shield-captcha-noop.adapter.d.ts.map +1 -1
  323. package/dist/shield-captcha-noop.adapter.js +1 -1
  324. package/dist/shield-captcha-noop.adapter.js.map +1 -1
  325. package/dist/shield-captcha-recaptcha.adapter.d.ts +3 -7
  326. package/dist/shield-captcha-recaptcha.adapter.d.ts.map +1 -1
  327. package/dist/shield-captcha-recaptcha.adapter.js +12 -17
  328. package/dist/shield-captcha-recaptcha.adapter.js.map +1 -1
  329. package/dist/shield-rate-limit.middleware.d.ts +2 -2
  330. package/dist/shield-rate-limit.middleware.d.ts.map +1 -1
  331. package/dist/slower.middleware.d.ts.map +1 -1
  332. package/dist/slower.middleware.js.map +1 -1
  333. package/dist/temporary-file-absolute.adapter.d.ts +11 -3
  334. package/dist/temporary-file-absolute.adapter.d.ts.map +1 -1
  335. package/dist/temporary-file-absolute.adapter.js +11 -14
  336. package/dist/temporary-file-absolute.adapter.js.map +1 -1
  337. package/dist/temporary-file-noop.adapter.d.ts +1 -1
  338. package/dist/temporary-file-noop.adapter.d.ts.map +1 -1
  339. package/dist/temporary-file-noop.adapter.js +1 -1
  340. package/dist/temporary-file-noop.adapter.js.map +1 -1
  341. package/dist/temporary-file.port.d.ts +1 -1
  342. package/dist/temporary-file.port.d.ts.map +1 -1
  343. package/dist/time-zone-offset.middleware.d.ts.map +1 -1
  344. package/dist/time-zone-offset.middleware.js +2 -2
  345. package/dist/time-zone-offset.middleware.js.map +1 -1
  346. package/dist/translations.service.d.ts +8 -1
  347. package/dist/translations.service.d.ts.map +1 -1
  348. package/dist/translations.service.js +2 -2
  349. package/dist/translations.service.js.map +1 -1
  350. package/dist/tsconfig.tsbuildinfo +1 -1
  351. package/dist/uptime.service.js +3 -3
  352. package/dist/uptime.service.js.map +1 -1
  353. package/dist/uuid.vo.d.ts +3 -0
  354. package/dist/uuid.vo.d.ts.map +1 -1
  355. package/dist/uuid.vo.js +2 -1
  356. package/dist/uuid.vo.js.map +1 -1
  357. package/dist/visitor-id-hash-hono.adapter.d.ts +1 -1
  358. package/dist/visitor-id-hash-hono.adapter.d.ts.map +1 -1
  359. package/dist/visitor-id-hash-hono.adapter.js +4 -4
  360. package/dist/visitor-id-hash-hono.adapter.js.map +1 -1
  361. package/dist/visitor-id-hash.adapter.d.ts +1 -1
  362. package/dist/visitor-id-hash.adapter.d.ts.map +1 -1
  363. package/dist/visitor-id-hash.adapter.js +3 -3
  364. package/dist/visitor-id-hash.adapter.js.map +1 -1
  365. package/dist/weak-etag-extractor.middleware.js +2 -2
  366. package/dist/weak-etag-extractor.middleware.js.map +1 -1
  367. package/package.json +7 -7
  368. package/readme.md +20 -5
  369. package/src/antivirus-clamav.adapter.ts +7 -12
  370. package/src/antivirus.port.ts +1 -13
  371. package/src/api-version.middleware.ts +4 -4
  372. package/src/basic-auth-password.vo.ts +15 -0
  373. package/src/basic-auth-username.vo.ts +15 -0
  374. package/src/basic-auth.service.ts +3 -22
  375. package/src/better-auth-logger.service.ts +4 -3
  376. package/src/binary.vo.ts +20 -0
  377. package/src/build-info-repository.service.ts +5 -7
  378. package/src/cache-file.service.ts +2 -1
  379. package/src/cache-response.middleware.ts +3 -0
  380. package/src/certificate-inspector-tls.adapter.ts +3 -2
  381. package/src/client-from-hono.adapter.ts +1 -1
  382. package/src/clock-system.adapter.ts +2 -2
  383. package/src/clock.port.ts +1 -0
  384. package/src/context.middleware.ts +1 -0
  385. package/src/correlation-id.vo.ts +1 -0
  386. package/src/correlation-storage.service.ts +4 -1
  387. package/src/env-validator.service.ts +2 -2
  388. package/src/etag-extractor.middleware.ts +2 -2
  389. package/src/event-store-like.types.ts +1 -0
  390. package/src/event-stream.vo.ts +9 -4
  391. package/src/file-cleaner-bun-forgiving.adapter.ts +10 -0
  392. package/src/file-cleaner-bun.adapter.ts +8 -0
  393. package/src/file-cleaner-noop.adapter.ts +6 -0
  394. package/src/file-cleaner.port.ts +5 -0
  395. package/src/file-draft.service.ts +2 -2
  396. package/src/file-renamer-fs-forgiving.adapter.ts +17 -0
  397. package/src/file-renamer-fs.adapter.ts +15 -0
  398. package/src/file-renamer-noop.adapter.ts +9 -0
  399. package/src/file-renamer.port.ts +8 -0
  400. package/src/graceful-shutdown.service.ts +1 -3
  401. package/src/hcaptcha-secret-key.vo.ts +13 -0
  402. package/src/hcaptcha-site-key.vo.ts +13 -0
  403. package/src/healthcheck.service.ts +6 -4
  404. package/src/http-logger.middleware.ts +9 -10
  405. package/src/i18n.service.ts +14 -11
  406. package/src/id-provider-deterministic.adapter.ts +5 -1
  407. package/src/image-alpha-sharp.adapter.ts +7 -4
  408. package/src/image-blur-sharp.adapter.ts +7 -4
  409. package/src/image-compressor-sharp.adapter.ts +6 -2
  410. package/src/image-exif-clear-sharp.adapter.ts +6 -2
  411. package/src/image-formatter-sharp.adapter.ts +10 -5
  412. package/src/image-info-sharp.adapter.ts +5 -11
  413. package/src/image-processor-sharp.adapter.ts +10 -5
  414. package/src/image-resizer-sharp.adapter.ts +6 -3
  415. package/src/index.ts +25 -5
  416. package/src/json-file-reader-bun-forgiving.adapter.ts +12 -0
  417. package/src/json-file-reader-bun.adapter.ts +8 -0
  418. package/src/json-file-reader-noop.adapter.ts +10 -0
  419. package/src/json-file-reader.port.ts +5 -0
  420. package/src/logger-format-error.service.ts +10 -9
  421. package/src/logger.port.ts +0 -4
  422. package/src/mailer-smtp-with-logger.adapter.ts +2 -0
  423. package/src/mailer-smtp.adapter.ts +2 -31
  424. package/src/mailer.vo.ts +38 -0
  425. package/src/modules/history/event-handlers/onHistoryPopulatedEvent.ts +1 -0
  426. package/src/modules/history/events/HISTORY_CLEARED_EVENT.ts +2 -8
  427. package/src/modules/history/events/HISTORY_POPULATED_EVENT.ts +2 -8
  428. package/src/modules/history/ports/history-writer.ts +1 -0
  429. package/src/modules/history/value-objects/history-subject.ts +1 -0
  430. package/src/modules/preferences/open-host-queries/user-language.ts +1 -0
  431. package/src/modules/preferences/ports/user-language-resolver.ts +2 -7
  432. package/src/modules/preferences/value-objects/supported-languages-set.ts +2 -8
  433. package/src/pdf-generator-noop.adapter.ts +1 -1
  434. package/src/port.vo.ts +9 -1
  435. package/src/prerequisites/binary.ts +4 -14
  436. package/src/prerequisites/dependency-vulnerabilities.ts +3 -3
  437. package/src/prerequisites/directory.ts +1 -0
  438. package/src/prerequisites/jobs.ts +2 -4
  439. package/src/prerequisites/log-file.ts +1 -0
  440. package/src/prerequisites/mailer.ts +1 -0
  441. package/src/prerequisites/memory.ts +1 -1
  442. package/src/prerequisites/node.ts +1 -0
  443. package/src/prerequisites/port.ts +1 -0
  444. package/src/prerequisites/ram.ts +2 -1
  445. package/src/prerequisites/running-user.ts +1 -0
  446. package/src/prerequisites/space.ts +2 -1
  447. package/src/prerequisites/sqlite.ts +1 -2
  448. package/src/prerequisites/ssl-certificate-expiry.ts +1 -1
  449. package/src/prerequisites/timezone-utc.ts +1 -0
  450. package/src/prerequisites/translations.ts +29 -17
  451. package/src/prerequisites.service.ts +4 -4
  452. package/src/rate-limit-store-node-cache.adapter.ts +2 -2
  453. package/src/rate-limit-store.port.ts +1 -1
  454. package/src/recaptcha-secret-key.vo.ts +13 -0
  455. package/src/recaptcha-site-key.vo.ts +13 -0
  456. package/src/redactor-encrypt.adapter.ts +2 -2
  457. package/src/redactor-mask.adapter.ts +0 -3
  458. package/src/remote-file-storage-disk.adapter.ts +13 -14
  459. package/src/safe-parse-body.service.ts +2 -1
  460. package/src/setup.service.ts +3 -1
  461. package/src/shield-api-key.middleware.ts +1 -3
  462. package/src/shield-auth.middleware.ts +5 -3
  463. package/src/shield-captcha-hcaptcha-local.adapter.ts +4 -3
  464. package/src/shield-captcha-hcaptcha.adapter.ts +5 -13
  465. package/src/shield-captcha-noop.adapter.ts +1 -1
  466. package/src/shield-captcha-recaptcha.adapter.ts +15 -25
  467. package/src/shield-rate-limit.middleware.ts +2 -2
  468. package/src/slower.middleware.ts +1 -0
  469. package/src/temporary-file-absolute.adapter.ts +16 -14
  470. package/src/temporary-file-noop.adapter.ts +1 -1
  471. package/src/temporary-file.port.ts +2 -1
  472. package/src/time-zone-offset.middleware.ts +2 -5
  473. package/src/translations.service.ts +7 -4
  474. package/src/uptime.service.ts +3 -3
  475. package/src/uuid.vo.ts +4 -1
  476. package/src/visitor-id-hash-hono.adapter.ts +5 -5
  477. package/src/visitor-id-hash.adapter.ts +3 -3
  478. package/src/weak-etag-extractor.middleware.ts +2 -2
  479. package/dist/encryption.service.d.ts +0 -25
  480. package/dist/encryption.service.d.ts.map +0 -1
  481. package/dist/encryption.service.js +0 -35
  482. package/dist/encryption.service.js.map +0 -1
  483. package/dist/gzip.service.d.ts +0 -13
  484. package/dist/gzip.service.d.ts.map +0 -1
  485. package/dist/gzip.service.js +0 -18
  486. package/dist/gzip.service.js.map +0 -1
  487. package/dist/open-graph.service.d.ts +0 -104
  488. package/dist/open-graph.service.d.ts.map +0 -1
  489. package/dist/open-graph.service.js +0 -159
  490. package/dist/open-graph.service.js.map +0 -1
  491. package/dist/sitemap.service.d.ts +0 -28
  492. package/dist/sitemap.service.d.ts.map +0 -1
  493. package/dist/sitemap.service.js +0 -57
  494. package/dist/sitemap.service.js.map +0 -1
  495. package/dist/url-wo-trailing-slash.vo.d.ts +0 -4
  496. package/dist/url-wo-trailing-slash.vo.d.ts.map +0 -1
  497. package/dist/url-wo-trailing-slash.vo.js +0 -8
  498. package/dist/url-wo-trailing-slash.vo.js.map +0 -1
  499. package/src/encryption.service.ts +0 -45
  500. package/src/gzip.service.ts +0 -23
  501. package/src/open-graph.service.ts +0 -242
  502. package/src/sitemap.service.ts +0 -91
  503. package/src/url-wo-trailing-slash.vo.ts +0 -9
package/src/uuid.vo.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import { z } from "zod/v4";
2
2
 
3
- export const UUID = z.uuid();
3
+ export const UUIDError = { Type: "uuid.type" } as const;
4
+
5
+ export const UUID = z.uuid(UUIDError.Type);
6
+
4
7
  export type UUIDType = z.infer<typeof UUID>;
@@ -1,13 +1,13 @@
1
1
  import type { Context } from "hono";
2
- import { ClientFromHono } from "./client-from-hono.adapter";
2
+ import { ClientFromHonoAdapter } from "./client-from-hono.adapter";
3
3
  import type { VisitorIdPort } from "./visitor-id.port";
4
- import { VisitorIdHash } from "./visitor-id-hash.adapter";
4
+ import { VisitorIdHashAdapter } from "./visitor-id-hash.adapter";
5
5
 
6
- export class VisitorIdHashHono implements VisitorIdPort {
7
- private readonly delegate: VisitorIdHash;
6
+ export class VisitorIdHashHonoAdapter implements VisitorIdPort {
7
+ private readonly delegate: VisitorIdHashAdapter;
8
8
 
9
9
  constructor(context: Context) {
10
- this.delegate = new VisitorIdHash(ClientFromHono.extract(context));
10
+ this.delegate = new VisitorIdHashAdapter(ClientFromHonoAdapter.extract(context));
11
11
  }
12
12
 
13
13
  async get() {
@@ -1,14 +1,14 @@
1
1
  import type { Client } from "./client.vo";
2
2
  import type { VisitorIdPort } from "./visitor-id.port";
3
3
 
4
- export class VisitorIdHash implements VisitorIdPort {
4
+ export class VisitorIdHashAdapter implements VisitorIdPort {
5
5
  constructor(private readonly client: Client) {}
6
6
 
7
7
  async get() {
8
8
  const { ip, ua } = this.client.toJSON();
9
9
 
10
- const prepared = `${ip}|${ua}`;
11
- const buffer = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(prepared));
10
+ const value = `${ip}|${ua}`;
11
+ const buffer = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(value));
12
12
 
13
13
  return Array.from(new Uint8Array(buffer))
14
14
  .slice(0, 8)
@@ -5,11 +5,11 @@ import type { EtagVariables } from "./etag-extractor.middleware";
5
5
  export class WeakETagExtractor {
6
6
  static attach = createMiddleware<{ Variables: EtagVariables }>(async (c, next) => {
7
7
  try {
8
- const header = String(c.req.header(tools.WeakETag.IF_MATCH_HEADER_NAME));
8
+ const header = c.req.header(tools.WeakETag.IF_MATCH_HEADER_NAME);
9
9
 
10
10
  if (!header || header === "undefined") c.set("WeakETag", null);
11
11
  else c.set("WeakETag", tools.WeakETag.fromHeader(header));
12
- } catch (_error) {
12
+ } catch {
13
13
  c.set("WeakETag", null);
14
14
  }
15
15
 
@@ -1,25 +0,0 @@
1
- import * as crypto from "node:crypto";
2
- import * as fs from "node:fs";
3
- import { z } from "zod/v4";
4
- export declare const EncryptionIV: z.ZodPipe<z.ZodString, z.ZodTransform<Buffer<ArrayBuffer>, string>>;
5
- export type EncryptionIVType = z.infer<typeof EncryptionIV>;
6
- export declare const EncryptionSecret: z.ZodString;
7
- export type EncryptionSecretType = z.infer<typeof EncryptionSecret>;
8
- export type EncryptionConfig = {
9
- secret: EncryptionSecretType;
10
- iv: EncryptionIVType;
11
- };
12
- export type EncryptionOperationConfig = {
13
- input: fs.PathLike;
14
- output: fs.PathLike;
15
- };
16
- export declare class Encryption {
17
- private readonly config;
18
- private readonly algorithm;
19
- constructor(config: EncryptionConfig);
20
- createEncrypt(): Promise<crypto.Cipheriv>;
21
- createDecrypt(): Promise<crypto.Decipheriv>;
22
- encrypt(config: EncryptionOperationConfig): Promise<void>;
23
- decrypt(config: EncryptionOperationConfig): Promise<void>;
24
- }
25
- //# sourceMappingURL=encryption.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encryption.service.d.ts","sourceRoot":"","sources":["../src/encryption.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,YAAY,qEAGyC,CAAC;AACnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB,aAAwB,CAAC;AACtD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,EAAE,EAAE,gBAAgB,CAAA;CAAE,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG;IAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC;IAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAA;CAAE,CAAC;AAIpF,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;gBAEd,MAAM,EAAE,gBAAgB;IAE/C,aAAa;IAKb,aAAa;IAKb,OAAO,CAAC,MAAM,EAAE,yBAAyB;IAKzC,OAAO,CAAC,MAAM,EAAE,yBAAyB;CAIhD"}
@@ -1,35 +0,0 @@
1
- import * as crypto from "node:crypto";
2
- import * as fs from "node:fs";
3
- import { pipeline } from "node:stream/promises";
4
- import * as util from "node:util";
5
- import { z } from "zod/v4";
6
- export const EncryptionIV = z
7
- .string()
8
- .min(1)
9
- .transform((value) => Buffer.from(value.split(",").map(Number)));
10
- export const EncryptionSecret = z.string().length(64);
11
- const scrypt = util.promisify(crypto.scrypt);
12
- export class Encryption {
13
- config;
14
- algorithm = "aes-192-cbc";
15
- constructor(config) {
16
- this.config = config;
17
- }
18
- async createEncrypt() {
19
- const key = (await scrypt(this.config.secret, "salt", 24));
20
- return crypto.createCipheriv(this.algorithm, key, this.config.iv);
21
- }
22
- async createDecrypt() {
23
- const key = (await scrypt(this.config.secret, "salt", 24));
24
- return crypto.createDecipheriv(this.algorithm, key, this.config.iv);
25
- }
26
- async encrypt(config) {
27
- const encrypt = await this.createEncrypt();
28
- return pipeline(fs.createReadStream(config.input), encrypt, fs.createWriteStream(config.output));
29
- }
30
- async decrypt(config) {
31
- const decrypt = await this.createDecrypt();
32
- return pipeline(fs.createReadStream(config.input), decrypt, fs.createWriteStream(config.output));
33
- }
34
- }
35
- //# sourceMappingURL=encryption.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encryption.service.js","sourceRoot":"","sources":["../src/encryption.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAGnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAMtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAE7C,MAAM,OAAO,UAAU;IAGQ;IAFZ,SAAS,GAAG,aAAa,CAAC;IAE3C,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEzD,KAAK,CAAC,aAAa;QACjB,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAW,CAAC;QACrE,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAW,CAAC;QACrE,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAiC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAiC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACnG,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- import { type PathLike } from "node:fs";
2
- type GzipCompressConfigType = {
3
- input: PathLike;
4
- output: PathLike;
5
- };
6
- export declare class Gzip {
7
- static createCompress(): import("zlib").Gzip;
8
- static createDecompress(): import("zlib").Gunzip;
9
- static compress(config: GzipCompressConfigType): Promise<void>;
10
- static uncompress(config: GzipCompressConfigType): Promise<void>;
11
- }
12
- export {};
13
- //# sourceMappingURL=gzip.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gzip.service.d.ts","sourceRoot":"","sources":["../src/gzip.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI7E,KAAK,sBAAsB,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEpE,qBAAa,IAAI;IACf,MAAM,CAAC,cAAc;IAIrB,MAAM,CAAC,gBAAgB;WAIV,QAAQ,CAAC,MAAM,EAAE,sBAAsB;WAIvC,UAAU,CAAC,MAAM,EAAE,sBAAsB;CAGvD"}
@@ -1,18 +0,0 @@
1
- import { createReadStream, createWriteStream } from "node:fs";
2
- import { pipeline } from "node:stream/promises";
3
- import { createGunzip, createGzip } from "node:zlib";
4
- export class Gzip {
5
- static createCompress() {
6
- return createGzip();
7
- }
8
- static createDecompress() {
9
- return createGunzip();
10
- }
11
- static async compress(config) {
12
- return pipeline(createReadStream(config.input), createGzip(), createWriteStream(config.output));
13
- }
14
- static async uncompress(config) {
15
- return pipeline(createReadStream(config.input), createGunzip(), createWriteStream(config.output));
16
- }
17
- }
18
- //# sourceMappingURL=gzip.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gzip.service.js","sourceRoot":"","sources":["../src/gzip.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAiB,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIrD,MAAM,OAAO,IAAI;IACf,MAAM,CAAC,cAAc;QACnB,OAAO,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAA8B;QAClD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA8B;QACpD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpG,CAAC;CACF"}
@@ -1,104 +0,0 @@
1
- import { z } from "zod/v4";
2
- export declare const OpenGraphTitleValue: z.ZodString;
3
- export type OpenGraphTitleValueType = z.infer<typeof OpenGraphTitleValue>;
4
- export declare const OpenGraphDescriptionValue: z.ZodString;
5
- export type OpenGraphDescriptionValueType = z.infer<typeof OpenGraphDescriptionValue>;
6
- export declare const OpenGraphUrlValue: z.ZodString;
7
- export type OpenGraphUrlValueType = z.infer<typeof OpenGraphUrlValue>;
8
- export declare const OpenGraphTypeValue: z.ZodUnion<readonly [z.ZodLiteral<"website">, z.ZodLiteral<"article">]>;
9
- export type OpenGraphTypeValueType = z.infer<typeof OpenGraphTypeValue>;
10
- export declare const OpenGraphImageUrlValue: z.ZodURL;
11
- export type OpenGraphImageUrlValueType = z.infer<typeof OpenGraphImageUrlValue>;
12
- export declare const OpenGraphImageTypeValue: z.ZodString;
13
- export type OpenGraphImageTypeValueType = z.infer<typeof OpenGraphImageTypeValue>;
14
- export declare const OpenGraphImageWidthValue: z.ZodNumber;
15
- export type OpenGraphImageWidthValueType = z.infer<typeof OpenGraphImageWidthValue>;
16
- export declare const OpenGraphImageHeightValue: z.ZodNumber;
17
- export type OpenGraphImageHeightValueType = z.infer<typeof OpenGraphImageHeightValue>;
18
- declare class OpenGraphTitle {
19
- private readonly value;
20
- constructor(value: OpenGraphTitleValueType);
21
- toMetatag(): string;
22
- toMeta(): string;
23
- }
24
- declare class OpenGraphDescription {
25
- private readonly value;
26
- constructor(value: OpenGraphDescriptionValueType);
27
- toMetatag(): string;
28
- toMeta(): string;
29
- }
30
- declare class OpenGraphUrl {
31
- private readonly value;
32
- constructor(value: OpenGraphUrlValueType);
33
- toMetatag(): string;
34
- toMeta(): string;
35
- }
36
- declare class OpenGraphType {
37
- private readonly value;
38
- constructor(value: OpenGraphTypeValueType);
39
- toMetatag(): string;
40
- toMeta(): string;
41
- }
42
- declare class OpenGraphImageUrl {
43
- private readonly value;
44
- constructor(path: string);
45
- toMetatag(): string;
46
- toMeta(): string;
47
- }
48
- declare class OpenGraphImageType {
49
- private readonly value;
50
- constructor(value: OpenGraphImageTypeValueType);
51
- toMetatag(): string;
52
- toMeta(): string;
53
- }
54
- declare class OpenGraphImageWidth {
55
- private readonly value;
56
- constructor(value: OpenGraphImageWidthValueType);
57
- toMetatag(): string;
58
- toMeta(): string;
59
- }
60
- declare class OpenGraphImageHeight {
61
- private readonly value;
62
- constructor(value: OpenGraphImageHeightValueType);
63
- toMetatag(): string;
64
- toMeta(): string;
65
- }
66
- export type OpenGraphImageConfigType = {
67
- url: OpenGraphImageUrl;
68
- width: OpenGraphImageWidth;
69
- height: OpenGraphImageHeight;
70
- type: OpenGraphImageType;
71
- };
72
- export declare class OpenGraphImage {
73
- private readonly value;
74
- constructor(value: OpenGraphImageConfigType);
75
- toString(): string;
76
- }
77
- declare class OpenGraphImageGenerator {
78
- }
79
- type OpenGraphConfigType = {
80
- title: OpenGraphTitle;
81
- description: OpenGraphDescription;
82
- url: OpenGraphUrl;
83
- type: OpenGraphType;
84
- image?: OpenGraphImage;
85
- };
86
- declare class OpenGraphGenerator {
87
- static toString(config: OpenGraphConfigType): string;
88
- }
89
- export declare const OpenGraph: {
90
- generator: typeof OpenGraphGenerator;
91
- title: typeof OpenGraphTitle;
92
- description: typeof OpenGraphDescription;
93
- url: typeof OpenGraphUrl;
94
- type: typeof OpenGraphType;
95
- image: {
96
- generator: typeof OpenGraphImageGenerator;
97
- url: typeof OpenGraphImageUrl;
98
- width: typeof OpenGraphImageWidth;
99
- height: typeof OpenGraphImageHeight;
100
- type: typeof OpenGraphImageType;
101
- };
102
- };
103
- export {};
104
- //# sourceMappingURL=open-graph.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"open-graph.service.d.ts","sourceRoot":"","sources":["../src/open-graph.service.ts"],"names":[],"mappings":"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"}
@@ -1,159 +0,0 @@
1
- import { z } from "zod/v4";
2
- // import { ImageEXIF } from "./image-exif.service";
3
- // import type { UrlWithoutTrailingSlashType } from "./url-wo-trailing-slash.vo";
4
- export const OpenGraphTitleValue = z.string().min(1);
5
- export const OpenGraphDescriptionValue = z.string().min(1);
6
- export const OpenGraphUrlValue = z.string().min(1);
7
- export const OpenGraphTypeValue = z.union([z.literal("website"), z.literal("article")]);
8
- export const OpenGraphImageUrlValue = z.url();
9
- export const OpenGraphImageTypeValue = z.string().min(1);
10
- export const OpenGraphImageWidthValue = z
11
- .number()
12
- .int()
13
- .positive()
14
- .refine((value) => value === 1200, { message: "open.graph.image.width.invalid" });
15
- export const OpenGraphImageHeightValue = z
16
- .number()
17
- .int()
18
- .positive()
19
- .refine((value) => value === 630, { message: "open.graph.image.height.invalid" });
20
- class OpenGraphTitle {
21
- value;
22
- constructor(value) {
23
- this.value = OpenGraphTitleValue.parse(value);
24
- }
25
- toMetatag() {
26
- return `<meta property="og:title" content="${this.value}" />`;
27
- }
28
- toMeta() {
29
- return `${this.toMetatag()}\n\t`;
30
- }
31
- }
32
- class OpenGraphDescription {
33
- value;
34
- constructor(value) {
35
- this.value = OpenGraphDescriptionValue.parse(value);
36
- }
37
- toMetatag() {
38
- return `<meta property="og:description" content="${this.value}" />`;
39
- }
40
- toMeta() {
41
- return `${this.toMetatag()}\n\t`;
42
- }
43
- }
44
- class OpenGraphUrl {
45
- value;
46
- constructor(value) {
47
- this.value = OpenGraphUrlValue.parse(value);
48
- }
49
- toMetatag() {
50
- return `<meta property="og:url" content="${this.value}" />`;
51
- }
52
- toMeta() {
53
- return `${this.toMetatag()}\n\t`;
54
- }
55
- }
56
- class OpenGraphType {
57
- value;
58
- constructor(value) {
59
- this.value = OpenGraphTypeValue.parse(value);
60
- }
61
- toMetatag() {
62
- return `<meta property="og:type" content="${this.value}" />`;
63
- }
64
- toMeta() {
65
- return `${this.toMetatag()}\n\t`;
66
- }
67
- }
68
- class OpenGraphImageUrl {
69
- value;
70
- constructor(path) {
71
- this.value = OpenGraphImageUrlValue.parse(path);
72
- }
73
- toMetatag() {
74
- return `<meta property="og:image" content="${this.value}" />`;
75
- }
76
- toMeta() {
77
- return `${this.toMetatag()}\n\t`;
78
- }
79
- }
80
- class OpenGraphImageType {
81
- value;
82
- constructor(value) {
83
- this.value = OpenGraphImageTypeValue.parse(value);
84
- }
85
- toMetatag() {
86
- return `<meta property="og:image:type" content="${this.value}" />`;
87
- }
88
- toMeta() {
89
- return `${this.toMetatag()}\n\t`;
90
- }
91
- }
92
- class OpenGraphImageWidth {
93
- value;
94
- constructor(value) {
95
- this.value = OpenGraphImageWidthValue.parse(value);
96
- }
97
- toMetatag() {
98
- return `<meta property="og:image:width" content="${this.value}" />`;
99
- }
100
- toMeta() {
101
- return `${this.toMetatag()}\n\t`;
102
- }
103
- }
104
- class OpenGraphImageHeight {
105
- value;
106
- constructor(value) {
107
- this.value = OpenGraphImageHeightValue.parse(value);
108
- }
109
- toMetatag() {
110
- return `<meta property="og:image:height" content="${this.value}" />`;
111
- }
112
- toMeta() {
113
- return `${this.toMetatag()}\n\t`;
114
- }
115
- }
116
- export class OpenGraphImage {
117
- value;
118
- constructor(value) {
119
- this.value = value;
120
- }
121
- toString() {
122
- let output = "";
123
- output += this.value.url.toMeta();
124
- output += this.value.width.toMeta();
125
- output += this.value.height.toMeta();
126
- output += this.value.type.toMeta();
127
- return output;
128
- }
129
- }
130
- class OpenGraphImageGenerator {
131
- }
132
- class OpenGraphGenerator {
133
- static toString(config) {
134
- let output = "";
135
- output += config.title.toMeta();
136
- output += config.description.toMeta();
137
- output += config.url.toMeta();
138
- output += config.type.toMeta();
139
- if (config.image) {
140
- output += config.image.toString();
141
- }
142
- return output;
143
- }
144
- }
145
- export const OpenGraph = {
146
- generator: OpenGraphGenerator,
147
- title: OpenGraphTitle,
148
- description: OpenGraphDescription,
149
- url: OpenGraphUrl,
150
- type: OpenGraphType,
151
- image: {
152
- generator: OpenGraphImageGenerator,
153
- url: OpenGraphImageUrl,
154
- width: OpenGraphImageWidth,
155
- height: OpenGraphImageHeight,
156
- type: OpenGraphImageType,
157
- },
158
- };
159
- //# sourceMappingURL=open-graph.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"open-graph.service.js","sourceRoot":"","sources":["../src/open-graph.service.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { z } from "zod/v4";
2
- import type { UrlWithoutTrailingSlashType } from "./url-wo-trailing-slash.vo";
3
- export declare const SitemapLoc: z.ZodString;
4
- export type SitemapLocType = z.infer<typeof SitemapLoc>;
5
- export declare const SitemapLastmod: z.ZodOptional<z.ZodString>;
6
- export type SitemapLastmodType = z.infer<typeof SitemapLastmod>;
7
- export declare const SitemapChangefreq: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"always">, z.ZodLiteral<"hourly">, z.ZodLiteral<"daily">, z.ZodLiteral<"weekly">, z.ZodLiteral<"monthly">, z.ZodLiteral<"yearly">, z.ZodLiteral<"never">]>>;
8
- export type SitemapChangefreqType = z.infer<typeof SitemapChangefreq>;
9
- export declare const SitemapPriority: z.ZodDefault<z.ZodNumber>;
10
- export type SitemapPriorityType = z.infer<typeof SitemapPriority>;
11
- export declare const SitemapEntry: z.ZodObject<{
12
- loc: z.ZodString;
13
- lastmod: z.ZodOptional<z.ZodString>;
14
- changefreq: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"always">, z.ZodLiteral<"hourly">, z.ZodLiteral<"daily">, z.ZodLiteral<"weekly">, z.ZodLiteral<"monthly">, z.ZodLiteral<"yearly">, z.ZodLiteral<"never">]>>;
15
- priority: z.ZodDefault<z.ZodNumber>;
16
- }, z.core.$strip>;
17
- export type SitemapEntryType = z.infer<typeof SitemapEntry>;
18
- export type SitemapConfigType = {
19
- path?: string;
20
- entries: SitemapEntryType[];
21
- BASE_URL: UrlWithoutTrailingSlashType;
22
- };
23
- export declare class Sitemap {
24
- static DEFAULT_PATH: string;
25
- static generate(config: SitemapConfigType): string;
26
- static save(config: SitemapConfigType): Promise<number>;
27
- }
28
- //# sourceMappingURL=sitemap.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sitemap.service.d.ts","sourceRoot":"","sources":["../src/sitemap.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAE9E,eAAO,MAAM,UAAU,aAAoB,CAAC;AAC5C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAExD,eAAO,MAAM,cAAc,4BAYd,CAAC;AACd,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB,6MAUjB,CAAC;AACd,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe,2BAAwC,CAAC;AACrE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,2BAA2B,CAAC;CACvC,CAAC;AAEF,qBAAa,OAAO;IAClB,MAAM,CAAC,YAAY,SAAwB;IAE3C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB;WA8B5B,IAAI,CAAC,MAAM,EAAE,iBAAiB;CAM5C"}
@@ -1,57 +0,0 @@
1
- import { z } from "zod/v4";
2
- export const SitemapLoc = z.string().min(1);
3
- export const SitemapLastmod = z
4
- .string()
5
- .refine((value) => {
6
- const [year, month, day] = value.split("-");
7
- return (Number.isInteger(Number(year)) && Number.isInteger(Number(month)) && Number.isInteger(Number(day)));
8
- }, { message: "sitemap.lastmod.invalid" })
9
- .optional();
10
- export const SitemapChangefreq = z
11
- .union([
12
- z.literal("always"),
13
- z.literal("hourly"),
14
- z.literal("daily"),
15
- z.literal("weekly"),
16
- z.literal("monthly"),
17
- z.literal("yearly"),
18
- z.literal("never"),
19
- ])
20
- .optional();
21
- export const SitemapPriority = z.number().min(0).max(1).default(0.5);
22
- export const SitemapEntry = z.object({
23
- loc: SitemapLoc,
24
- lastmod: SitemapLastmod,
25
- changefreq: SitemapChangefreq,
26
- priority: SitemapPriority,
27
- });
28
- export class Sitemap {
29
- static DEFAULT_PATH = "static/sitemap.xml";
30
- static generate(config) {
31
- let sitemap = `<?xml version="1.0" encoding="UTF-8"?>\n`;
32
- sitemap += `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n`;
33
- for (const entry of config.entries) {
34
- {
35
- let output = "<url>\n";
36
- output += `\t<loc>${config.BASE_URL}${entry.loc}</loc>\n`;
37
- if (entry.lastmod) {
38
- output += `\t<lastmod>${entry.lastmod}</lastmod>\n`;
39
- }
40
- if (entry.changefreq) {
41
- output += `\t<changefreq>${entry.changefreq}</changefreq>\n`;
42
- }
43
- output += `\t<priority>${entry.priority}</priority>\n`;
44
- output += "</url>\n";
45
- sitemap += output;
46
- }
47
- }
48
- sitemap += "</urlset>";
49
- return sitemap;
50
- }
51
- static async save(config) {
52
- const output = config.path ?? Sitemap.DEFAULT_PATH;
53
- const content = Sitemap.generate(config);
54
- return Bun.file(output).write(content);
55
- }
56
- }
57
- //# sourceMappingURL=sitemap.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sitemap.service.js","sourceRoot":"","sources":["../src/sitemap.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { z } from "zod/v4";
2
- export declare const UrlWithoutTrailingSlash: z.core.$ZodBranded<z.ZodURL, "UrlWithoutTrailingSlash">;
3
- export type UrlWithoutTrailingSlashType = z.infer<typeof UrlWithoutTrailingSlash>;
4
- //# sourceMappingURL=url-wo-trailing-slash.vo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-wo-trailing-slash.vo.d.ts","sourceRoot":"","sources":["../src/url-wo-trailing-slash.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,uBAAuB,yDAKD,CAAC;AACpC,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { z } from "zod/v4";
2
- export const UrlWithoutTrailingSlash = z
3
- .url()
4
- .trim()
5
- .min(1)
6
- .refine((value) => !value.endsWith("/"), { message: "url_cannot_end_with_trailing_slash" })
7
- .brand("UrlWithoutTrailingSlash");
8
- //# sourceMappingURL=url-wo-trailing-slash.vo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-wo-trailing-slash.vo.js","sourceRoot":"","sources":["../src/url-wo-trailing-slash.vo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,GAAG,EAAE;KACL,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;KAC1F,KAAK,CAAC,yBAAyB,CAAC,CAAC"}
@@ -1,45 +0,0 @@
1
- import * as crypto from "node:crypto";
2
- import * as fs from "node:fs";
3
- import { pipeline } from "node:stream/promises";
4
- import * as util from "node:util";
5
- import { z } from "zod/v4";
6
-
7
- export const EncryptionIV = z
8
- .string()
9
- .min(1)
10
- .transform((value) => Buffer.from(value.split(",").map(Number)));
11
- export type EncryptionIVType = z.infer<typeof EncryptionIV>;
12
-
13
- export const EncryptionSecret = z.string().length(64);
14
- export type EncryptionSecretType = z.infer<typeof EncryptionSecret>;
15
-
16
- export type EncryptionConfig = { secret: EncryptionSecretType; iv: EncryptionIVType };
17
- export type EncryptionOperationConfig = { input: fs.PathLike; output: fs.PathLike };
18
-
19
- const scrypt = util.promisify(crypto.scrypt);
20
-
21
- export class Encryption {
22
- private readonly algorithm = "aes-192-cbc";
23
-
24
- constructor(private readonly config: EncryptionConfig) {}
25
-
26
- async createEncrypt() {
27
- const key = (await scrypt(this.config.secret, "salt", 24)) as Buffer;
28
- return crypto.createCipheriv(this.algorithm, key, this.config.iv);
29
- }
30
-
31
- async createDecrypt() {
32
- const key = (await scrypt(this.config.secret, "salt", 24)) as Buffer;
33
- return crypto.createDecipheriv(this.algorithm, key, this.config.iv);
34
- }
35
-
36
- async encrypt(config: EncryptionOperationConfig) {
37
- const encrypt = await this.createEncrypt();
38
- return pipeline(fs.createReadStream(config.input), encrypt, fs.createWriteStream(config.output));
39
- }
40
-
41
- async decrypt(config: EncryptionOperationConfig) {
42
- const decrypt = await this.createDecrypt();
43
- return pipeline(fs.createReadStream(config.input), decrypt, fs.createWriteStream(config.output));
44
- }
45
- }
@@ -1,23 +0,0 @@
1
- import { createReadStream, createWriteStream, type PathLike } from "node:fs";
2
- import { pipeline } from "node:stream/promises";
3
- import { createGunzip, createGzip } from "node:zlib";
4
-
5
- type GzipCompressConfigType = { input: PathLike; output: PathLike };
6
-
7
- export class Gzip {
8
- static createCompress() {
9
- return createGzip();
10
- }
11
-
12
- static createDecompress() {
13
- return createGunzip();
14
- }
15
-
16
- static async compress(config: GzipCompressConfigType) {
17
- return pipeline(createReadStream(config.input), createGzip(), createWriteStream(config.output));
18
- }
19
-
20
- static async uncompress(config: GzipCompressConfigType) {
21
- return pipeline(createReadStream(config.input), createGunzip(), createWriteStream(config.output));
22
- }
23
- }