@bgord/bun 0.30.0 → 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 (505) 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 -0
  40. package/dist/certificate-inspector-tls.adapter.d.ts.map +1 -1
  41. package/dist/certificate-inspector-tls.adapter.js +5 -1
  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.d.ts +2 -2
  266. package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -1
  267. package/dist/prerequisites/ssl-certificate-expiry.js +4 -4
  268. package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
  269. package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
  270. package/dist/prerequisites/timezone-utc.js.map +1 -1
  271. package/dist/prerequisites/translations.d.ts +10 -3
  272. package/dist/prerequisites/translations.d.ts.map +1 -1
  273. package/dist/prerequisites/translations.js +15 -10
  274. package/dist/prerequisites/translations.js.map +1 -1
  275. package/dist/prerequisites.service.d.ts +3 -0
  276. package/dist/prerequisites.service.d.ts.map +1 -1
  277. package/dist/prerequisites.service.js +3 -3
  278. package/dist/prerequisites.service.js.map +1 -1
  279. package/dist/rate-limit-store-node-cache.adapter.d.ts +2 -2
  280. package/dist/rate-limit-store-node-cache.adapter.d.ts.map +1 -1
  281. package/dist/rate-limit-store-node-cache.adapter.js +1 -1
  282. package/dist/rate-limit-store-node-cache.adapter.js.map +1 -1
  283. package/dist/rate-limit-store.port.d.ts +1 -1
  284. package/dist/rate-limit-store.port.d.ts.map +1 -1
  285. package/dist/recaptcha-secret-key.vo.d.ts +8 -0
  286. package/dist/recaptcha-secret-key.vo.d.ts.map +1 -0
  287. package/dist/recaptcha-secret-key.vo.js +10 -0
  288. package/dist/recaptcha-secret-key.vo.js.map +1 -0
  289. package/dist/recaptcha-site-key.vo.d.ts +8 -0
  290. package/dist/recaptcha-site-key.vo.d.ts.map +1 -0
  291. package/dist/recaptcha-site-key.vo.js +10 -0
  292. package/dist/recaptcha-site-key.vo.js.map +1 -0
  293. package/dist/redactor-encrypt.adapter.js +2 -2
  294. package/dist/redactor-encrypt.adapter.js.map +1 -1
  295. package/dist/redactor-mask.adapter.d.ts.map +1 -1
  296. package/dist/redactor-mask.adapter.js +0 -3
  297. package/dist/redactor-mask.adapter.js.map +1 -1
  298. package/dist/remote-file-storage-disk.adapter.d.ts +9 -2
  299. package/dist/remote-file-storage-disk.adapter.d.ts.map +1 -1
  300. package/dist/remote-file-storage-disk.adapter.js +7 -9
  301. package/dist/remote-file-storage-disk.adapter.js.map +1 -1
  302. package/dist/safe-parse-body.service.d.ts.map +1 -1
  303. package/dist/safe-parse-body.service.js +1 -1
  304. package/dist/safe-parse-body.service.js.map +1 -1
  305. package/dist/setup.service.d.ts +3 -1
  306. package/dist/setup.service.d.ts.map +1 -1
  307. package/dist/setup.service.js +2 -2
  308. package/dist/setup.service.js.map +1 -1
  309. package/dist/shield-api-key.middleware.d.ts.map +1 -1
  310. package/dist/shield-api-key.middleware.js +1 -2
  311. package/dist/shield-api-key.middleware.js.map +1 -1
  312. package/dist/shield-auth.middleware.d.ts.map +1 -1
  313. package/dist/shield-auth.middleware.js +1 -3
  314. package/dist/shield-auth.middleware.js.map +1 -1
  315. package/dist/shield-captcha-hcaptcha-local.adapter.d.ts +2 -2
  316. package/dist/shield-captcha-hcaptcha-local.adapter.d.ts.map +1 -1
  317. package/dist/shield-captcha-hcaptcha-local.adapter.js +2 -2
  318. package/dist/shield-captcha-hcaptcha-local.adapter.js.map +1 -1
  319. package/dist/shield-captcha-hcaptcha.adapter.d.ts +2 -8
  320. package/dist/shield-captcha-hcaptcha.adapter.d.ts.map +1 -1
  321. package/dist/shield-captcha-hcaptcha.adapter.js +2 -6
  322. package/dist/shield-captcha-hcaptcha.adapter.js.map +1 -1
  323. package/dist/shield-captcha-noop.adapter.d.ts +1 -1
  324. package/dist/shield-captcha-noop.adapter.d.ts.map +1 -1
  325. package/dist/shield-captcha-noop.adapter.js +1 -1
  326. package/dist/shield-captcha-noop.adapter.js.map +1 -1
  327. package/dist/shield-captcha-recaptcha.adapter.d.ts +3 -7
  328. package/dist/shield-captcha-recaptcha.adapter.d.ts.map +1 -1
  329. package/dist/shield-captcha-recaptcha.adapter.js +12 -17
  330. package/dist/shield-captcha-recaptcha.adapter.js.map +1 -1
  331. package/dist/shield-rate-limit.middleware.d.ts +2 -2
  332. package/dist/shield-rate-limit.middleware.d.ts.map +1 -1
  333. package/dist/slower.middleware.d.ts.map +1 -1
  334. package/dist/slower.middleware.js.map +1 -1
  335. package/dist/temporary-file-absolute.adapter.d.ts +11 -3
  336. package/dist/temporary-file-absolute.adapter.d.ts.map +1 -1
  337. package/dist/temporary-file-absolute.adapter.js +11 -14
  338. package/dist/temporary-file-absolute.adapter.js.map +1 -1
  339. package/dist/temporary-file-noop.adapter.d.ts +1 -1
  340. package/dist/temporary-file-noop.adapter.d.ts.map +1 -1
  341. package/dist/temporary-file-noop.adapter.js +1 -1
  342. package/dist/temporary-file-noop.adapter.js.map +1 -1
  343. package/dist/temporary-file.port.d.ts +1 -1
  344. package/dist/temporary-file.port.d.ts.map +1 -1
  345. package/dist/time-zone-offset.middleware.d.ts.map +1 -1
  346. package/dist/time-zone-offset.middleware.js +2 -2
  347. package/dist/time-zone-offset.middleware.js.map +1 -1
  348. package/dist/translations.service.d.ts +8 -1
  349. package/dist/translations.service.d.ts.map +1 -1
  350. package/dist/translations.service.js +2 -2
  351. package/dist/translations.service.js.map +1 -1
  352. package/dist/tsconfig.tsbuildinfo +1 -1
  353. package/dist/uptime.service.js +3 -3
  354. package/dist/uptime.service.js.map +1 -1
  355. package/dist/uuid.vo.d.ts +3 -0
  356. package/dist/uuid.vo.d.ts.map +1 -1
  357. package/dist/uuid.vo.js +2 -1
  358. package/dist/uuid.vo.js.map +1 -1
  359. package/dist/visitor-id-hash-hono.adapter.d.ts +1 -1
  360. package/dist/visitor-id-hash-hono.adapter.d.ts.map +1 -1
  361. package/dist/visitor-id-hash-hono.adapter.js +4 -4
  362. package/dist/visitor-id-hash-hono.adapter.js.map +1 -1
  363. package/dist/visitor-id-hash.adapter.d.ts +1 -1
  364. package/dist/visitor-id-hash.adapter.d.ts.map +1 -1
  365. package/dist/visitor-id-hash.adapter.js +3 -3
  366. package/dist/visitor-id-hash.adapter.js.map +1 -1
  367. package/dist/weak-etag-extractor.middleware.js +2 -2
  368. package/dist/weak-etag-extractor.middleware.js.map +1 -1
  369. package/package.json +7 -7
  370. package/readme.md +20 -5
  371. package/src/antivirus-clamav.adapter.ts +7 -12
  372. package/src/antivirus.port.ts +1 -13
  373. package/src/api-version.middleware.ts +4 -4
  374. package/src/basic-auth-password.vo.ts +15 -0
  375. package/src/basic-auth-username.vo.ts +15 -0
  376. package/src/basic-auth.service.ts +3 -22
  377. package/src/better-auth-logger.service.ts +4 -3
  378. package/src/binary.vo.ts +20 -0
  379. package/src/build-info-repository.service.ts +5 -7
  380. package/src/cache-file.service.ts +2 -1
  381. package/src/cache-response.middleware.ts +3 -0
  382. package/src/certificate-inspector-tls.adapter.ts +7 -1
  383. package/src/client-from-hono.adapter.ts +1 -1
  384. package/src/clock-system.adapter.ts +2 -2
  385. package/src/clock.port.ts +1 -0
  386. package/src/context.middleware.ts +1 -0
  387. package/src/correlation-id.vo.ts +1 -0
  388. package/src/correlation-storage.service.ts +4 -1
  389. package/src/env-validator.service.ts +2 -2
  390. package/src/etag-extractor.middleware.ts +2 -2
  391. package/src/event-store-like.types.ts +1 -0
  392. package/src/event-stream.vo.ts +9 -4
  393. package/src/file-cleaner-bun-forgiving.adapter.ts +10 -0
  394. package/src/file-cleaner-bun.adapter.ts +8 -0
  395. package/src/file-cleaner-noop.adapter.ts +6 -0
  396. package/src/file-cleaner.port.ts +5 -0
  397. package/src/file-draft.service.ts +2 -2
  398. package/src/file-renamer-fs-forgiving.adapter.ts +17 -0
  399. package/src/file-renamer-fs.adapter.ts +15 -0
  400. package/src/file-renamer-noop.adapter.ts +9 -0
  401. package/src/file-renamer.port.ts +8 -0
  402. package/src/graceful-shutdown.service.ts +1 -3
  403. package/src/hcaptcha-secret-key.vo.ts +13 -0
  404. package/src/hcaptcha-site-key.vo.ts +13 -0
  405. package/src/healthcheck.service.ts +6 -4
  406. package/src/http-logger.middleware.ts +9 -10
  407. package/src/i18n.service.ts +14 -11
  408. package/src/id-provider-deterministic.adapter.ts +5 -1
  409. package/src/image-alpha-sharp.adapter.ts +7 -4
  410. package/src/image-blur-sharp.adapter.ts +7 -4
  411. package/src/image-compressor-sharp.adapter.ts +6 -2
  412. package/src/image-exif-clear-sharp.adapter.ts +6 -2
  413. package/src/image-formatter-sharp.adapter.ts +10 -5
  414. package/src/image-info-sharp.adapter.ts +5 -11
  415. package/src/image-processor-sharp.adapter.ts +10 -5
  416. package/src/image-resizer-sharp.adapter.ts +6 -3
  417. package/src/index.ts +25 -5
  418. package/src/json-file-reader-bun-forgiving.adapter.ts +12 -0
  419. package/src/json-file-reader-bun.adapter.ts +8 -0
  420. package/src/json-file-reader-noop.adapter.ts +10 -0
  421. package/src/json-file-reader.port.ts +5 -0
  422. package/src/logger-format-error.service.ts +10 -9
  423. package/src/logger.port.ts +0 -4
  424. package/src/mailer-smtp-with-logger.adapter.ts +2 -0
  425. package/src/mailer-smtp.adapter.ts +2 -31
  426. package/src/mailer.vo.ts +38 -0
  427. package/src/modules/history/event-handlers/onHistoryPopulatedEvent.ts +1 -0
  428. package/src/modules/history/events/HISTORY_CLEARED_EVENT.ts +2 -8
  429. package/src/modules/history/events/HISTORY_POPULATED_EVENT.ts +2 -8
  430. package/src/modules/history/ports/history-writer.ts +1 -0
  431. package/src/modules/history/value-objects/history-subject.ts +1 -0
  432. package/src/modules/preferences/open-host-queries/user-language.ts +1 -0
  433. package/src/modules/preferences/ports/user-language-resolver.ts +2 -7
  434. package/src/modules/preferences/value-objects/supported-languages-set.ts +2 -8
  435. package/src/pdf-generator-noop.adapter.ts +1 -1
  436. package/src/port.vo.ts +9 -1
  437. package/src/prerequisites/binary.ts +4 -14
  438. package/src/prerequisites/dependency-vulnerabilities.ts +3 -3
  439. package/src/prerequisites/directory.ts +1 -0
  440. package/src/prerequisites/jobs.ts +2 -4
  441. package/src/prerequisites/log-file.ts +1 -0
  442. package/src/prerequisites/mailer.ts +1 -0
  443. package/src/prerequisites/memory.ts +1 -1
  444. package/src/prerequisites/node.ts +1 -0
  445. package/src/prerequisites/port.ts +1 -0
  446. package/src/prerequisites/ram.ts +2 -1
  447. package/src/prerequisites/running-user.ts +1 -0
  448. package/src/prerequisites/space.ts +2 -1
  449. package/src/prerequisites/sqlite.ts +1 -2
  450. package/src/prerequisites/ssl-certificate-expiry.ts +5 -5
  451. package/src/prerequisites/timezone-utc.ts +1 -0
  452. package/src/prerequisites/translations.ts +29 -17
  453. package/src/prerequisites.service.ts +4 -4
  454. package/src/rate-limit-store-node-cache.adapter.ts +2 -2
  455. package/src/rate-limit-store.port.ts +1 -1
  456. package/src/recaptcha-secret-key.vo.ts +13 -0
  457. package/src/recaptcha-site-key.vo.ts +13 -0
  458. package/src/redactor-encrypt.adapter.ts +2 -2
  459. package/src/redactor-mask.adapter.ts +0 -3
  460. package/src/remote-file-storage-disk.adapter.ts +13 -14
  461. package/src/safe-parse-body.service.ts +2 -1
  462. package/src/setup.service.ts +4 -2
  463. package/src/shield-api-key.middleware.ts +1 -3
  464. package/src/shield-auth.middleware.ts +5 -3
  465. package/src/shield-captcha-hcaptcha-local.adapter.ts +4 -3
  466. package/src/shield-captcha-hcaptcha.adapter.ts +5 -13
  467. package/src/shield-captcha-noop.adapter.ts +1 -1
  468. package/src/shield-captcha-recaptcha.adapter.ts +15 -25
  469. package/src/shield-rate-limit.middleware.ts +2 -2
  470. package/src/slower.middleware.ts +1 -0
  471. package/src/temporary-file-absolute.adapter.ts +16 -14
  472. package/src/temporary-file-noop.adapter.ts +1 -1
  473. package/src/temporary-file.port.ts +2 -1
  474. package/src/time-zone-offset.middleware.ts +2 -5
  475. package/src/translations.service.ts +7 -4
  476. package/src/uptime.service.ts +3 -3
  477. package/src/uuid.vo.ts +4 -1
  478. package/src/visitor-id-hash-hono.adapter.ts +5 -5
  479. package/src/visitor-id-hash.adapter.ts +3 -3
  480. package/src/weak-etag-extractor.middleware.ts +2 -2
  481. package/dist/encryption.service.d.ts +0 -25
  482. package/dist/encryption.service.d.ts.map +0 -1
  483. package/dist/encryption.service.js +0 -35
  484. package/dist/encryption.service.js.map +0 -1
  485. package/dist/gzip.service.d.ts +0 -13
  486. package/dist/gzip.service.d.ts.map +0 -1
  487. package/dist/gzip.service.js +0 -18
  488. package/dist/gzip.service.js.map +0 -1
  489. package/dist/open-graph.service.d.ts +0 -104
  490. package/dist/open-graph.service.d.ts.map +0 -1
  491. package/dist/open-graph.service.js +0 -159
  492. package/dist/open-graph.service.js.map +0 -1
  493. package/dist/sitemap.service.d.ts +0 -28
  494. package/dist/sitemap.service.d.ts.map +0 -1
  495. package/dist/sitemap.service.js +0 -57
  496. package/dist/sitemap.service.js.map +0 -1
  497. package/dist/url-wo-trailing-slash.vo.d.ts +0 -4
  498. package/dist/url-wo-trailing-slash.vo.d.ts.map +0 -1
  499. package/dist/url-wo-trailing-slash.vo.js +0 -8
  500. package/dist/url-wo-trailing-slash.vo.js.map +0 -1
  501. package/src/encryption.service.ts +0 -45
  502. package/src/gzip.service.ts +0 -23
  503. package/src/open-graph.service.ts +0 -242
  504. package/src/sitemap.service.ts +0 -91
  505. package/src/url-wo-trailing-slash.vo.ts +0 -9
@@ -7,11 +7,8 @@ export class TimeZoneOffset {
7
7
  static TIME_ZONE_OFFSET_HEADER_NAME = "time-zone-offset";
8
8
 
9
9
  static attach = createMiddleware(async (c, next) => {
10
- const timeZoneOffsetMinutes = tools.TimeZoneOffsetValue.parse(
11
- c.req.header(TimeZoneOffset.TIME_ZONE_OFFSET_HEADER_NAME),
12
- );
13
-
14
- c.set("timeZoneOffset", tools.Duration.Minutes(timeZoneOffsetMinutes));
10
+ const offset = tools.TimeZoneOffsetValue.parse(c.req.header(TimeZoneOffset.TIME_ZONE_OFFSET_HEADER_NAME));
11
+ c.set("timeZoneOffset", tools.Duration.Minutes(offset));
15
12
 
16
13
  await next();
17
14
  });
@@ -1,14 +1,17 @@
1
- import type * as tools from "@bgord/tools";
2
1
  import { createFactory } from "hono/factory";
3
2
  import { I18n } from "./i18n.service";
3
+ import type { JsonFileReaderPort } from "./json-file-reader.port";
4
+ import type { LoggerPort } from "./logger.port";
4
5
 
5
6
  const handler = createFactory();
6
7
 
8
+ type Dependencies = { JsonFileReader: JsonFileReaderPort; Logger: LoggerPort };
9
+
7
10
  export class Translations {
8
- static build = () =>
11
+ static build = (deps: Dependencies) =>
9
12
  handler.createHandlers(async (c) => {
10
- const language = c.get("language") as tools.LanguageType;
11
- const translations = await new I18n().getTranslations(language);
13
+ const language = c.get("language");
14
+ const translations = await new I18n(deps).getTranslations(language);
12
15
 
13
16
  return c.json({ translations, language });
14
17
  });
@@ -10,9 +10,9 @@ export class Uptime {
10
10
  private static readonly rounding = new tools.RoundToNearest();
11
11
 
12
12
  static get(clock: ClockPort): UptimeResultType {
13
- const uptime = tools.Duration.Seconds(Uptime.rounding.round(process.uptime()));
14
- const uptimeFormatted = tools.DateFormatters.relative(clock.now().Minus(uptime));
13
+ const duration = tools.Duration.Seconds(Uptime.rounding.round(process.uptime()));
14
+ const formatted = tools.DateFormatters.relative(clock.now().Minus(duration));
15
15
 
16
- return { duration: uptime, formatted: uptimeFormatted };
16
+ return { duration, formatted };
17
17
  }
18
18
  }
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"}