@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.
- package/dist/antivirus-clamav.adapter.d.ts.map +1 -1
- package/dist/antivirus-clamav.adapter.js +6 -6
- package/dist/antivirus-clamav.adapter.js.map +1 -1
- package/dist/antivirus.port.d.ts +3 -6
- package/dist/antivirus.port.d.ts.map +1 -1
- package/dist/antivirus.port.js +1 -12
- package/dist/antivirus.port.js.map +1 -1
- package/dist/api-version.middleware.d.ts +4 -2
- package/dist/api-version.middleware.d.ts.map +1 -1
- package/dist/api-version.middleware.js.map +1 -1
- package/dist/basic-auth-password.vo.d.ts +9 -0
- package/dist/basic-auth-password.vo.d.ts.map +1 -0
- package/dist/basic-auth-password.vo.js +12 -0
- package/dist/basic-auth-password.vo.js.map +1 -0
- package/dist/basic-auth-username.vo.d.ts +9 -0
- package/dist/basic-auth-username.vo.d.ts.map +1 -0
- package/dist/basic-auth-username.vo.js +12 -0
- package/dist/basic-auth-username.vo.js.map +1 -0
- package/dist/basic-auth.service.d.ts +5 -22
- package/dist/basic-auth.service.d.ts.map +1 -1
- package/dist/basic-auth.service.js +0 -15
- package/dist/basic-auth.service.js.map +1 -1
- package/dist/better-auth-logger.service.d.ts.map +1 -1
- package/dist/better-auth-logger.service.js +4 -2
- package/dist/better-auth-logger.service.js.map +1 -1
- package/dist/binary.vo.d.ts +10 -0
- package/dist/binary.vo.d.ts.map +1 -0
- package/dist/binary.vo.js +16 -0
- package/dist/binary.vo.js.map +1 -0
- package/dist/build-info-repository.service.d.ts +2 -1
- package/dist/build-info-repository.service.d.ts.map +1 -1
- package/dist/build-info-repository.service.js +2 -5
- package/dist/build-info-repository.service.js.map +1 -1
- package/dist/cache-file.service.d.ts.map +1 -1
- package/dist/cache-file.service.js +1 -1
- package/dist/cache-file.service.js.map +1 -1
- package/dist/cache-response.middleware.d.ts.map +1 -1
- package/dist/cache-response.middleware.js.map +1 -1
- package/dist/certificate-inspector-tls.adapter.d.ts +1 -0
- package/dist/certificate-inspector-tls.adapter.d.ts.map +1 -1
- package/dist/certificate-inspector-tls.adapter.js +5 -1
- package/dist/certificate-inspector-tls.adapter.js.map +1 -1
- package/dist/client-from-hono.adapter.d.ts +1 -1
- package/dist/client-from-hono.adapter.d.ts.map +1 -1
- package/dist/client-from-hono.adapter.js +1 -1
- package/dist/client-from-hono.adapter.js.map +1 -1
- package/dist/clock-system.adapter.d.ts.map +1 -1
- package/dist/clock-system.adapter.js +1 -2
- package/dist/clock-system.adapter.js.map +1 -1
- package/dist/clock.port.d.ts.map +1 -1
- package/dist/context.middleware.d.ts.map +1 -1
- package/dist/context.middleware.js.map +1 -1
- package/dist/correlation-id.vo.d.ts.map +1 -1
- package/dist/correlation-storage.service.d.ts +3 -0
- package/dist/correlation-storage.service.d.ts.map +1 -1
- package/dist/correlation-storage.service.js +2 -1
- package/dist/correlation-storage.service.js.map +1 -1
- package/dist/env-validator.service.d.ts +3 -1
- package/dist/env-validator.service.d.ts.map +1 -1
- package/dist/env-validator.service.js +2 -2
- package/dist/env-validator.service.js.map +1 -1
- package/dist/etag-extractor.middleware.js +2 -2
- package/dist/etag-extractor.middleware.js.map +1 -1
- package/dist/event-store-like.types.d.ts.map +1 -1
- package/dist/event-stream.vo.d.ts +4 -2
- package/dist/event-stream.vo.d.ts.map +1 -1
- package/dist/event-stream.vo.js +8 -4
- package/dist/event-stream.vo.js.map +1 -1
- package/dist/file-cleaner-bun-forgiving.adapter.d.ts +6 -0
- package/dist/file-cleaner-bun-forgiving.adapter.d.ts.map +1 -0
- package/dist/file-cleaner-bun-forgiving.adapter.js +9 -0
- package/dist/file-cleaner-bun-forgiving.adapter.js.map +1 -0
- package/dist/file-cleaner-bun.adapter.d.ts +6 -0
- package/dist/file-cleaner-bun.adapter.d.ts.map +1 -0
- package/dist/file-cleaner-bun.adapter.js +6 -0
- package/dist/file-cleaner-bun.adapter.js.map +1 -0
- package/dist/file-cleaner-noop.adapter.d.ts +6 -0
- package/dist/file-cleaner-noop.adapter.d.ts.map +1 -0
- package/dist/file-cleaner-noop.adapter.js +4 -0
- package/dist/file-cleaner-noop.adapter.js.map +1 -0
- package/dist/file-cleaner.port.d.ts +5 -0
- package/dist/file-cleaner.port.d.ts.map +1 -0
- package/dist/file-cleaner.port.js +2 -0
- package/dist/file-cleaner.port.js.map +1 -0
- package/dist/file-draft.service.js +2 -2
- package/dist/file-draft.service.js.map +1 -1
- package/dist/file-renamer-fs-forgiving.adapter.d.ts +6 -0
- package/dist/file-renamer-fs-forgiving.adapter.d.ts.map +1 -0
- package/dist/file-renamer-fs-forgiving.adapter.js +12 -0
- package/dist/file-renamer-fs-forgiving.adapter.js.map +1 -0
- package/dist/file-renamer-fs.adapter.d.ts +6 -0
- package/dist/file-renamer-fs.adapter.d.ts.map +1 -0
- package/dist/file-renamer-fs.adapter.js +9 -0
- package/dist/file-renamer-fs.adapter.js.map +1 -0
- package/dist/file-renamer-noop.adapter.d.ts +6 -0
- package/dist/file-renamer-noop.adapter.d.ts.map +1 -0
- package/dist/file-renamer-noop.adapter.js +4 -0
- package/dist/file-renamer-noop.adapter.js.map +1 -0
- package/dist/file-renamer.port.d.ts +5 -0
- package/dist/file-renamer.port.d.ts.map +1 -0
- package/dist/file-renamer.port.js +2 -0
- package/dist/file-renamer.port.js.map +1 -0
- package/dist/graceful-shutdown.service.d.ts.map +1 -1
- package/dist/graceful-shutdown.service.js +1 -3
- package/dist/graceful-shutdown.service.js.map +1 -1
- package/dist/hcaptcha-secret-key.vo.d.ts +8 -0
- package/dist/hcaptcha-secret-key.vo.d.ts.map +1 -0
- package/dist/hcaptcha-secret-key.vo.js +10 -0
- package/dist/hcaptcha-secret-key.vo.js.map +1 -0
- package/dist/hcaptcha-site-key.vo.d.ts +8 -0
- package/dist/hcaptcha-site-key.vo.d.ts.map +1 -0
- package/dist/hcaptcha-site-key.vo.js +10 -0
- package/dist/hcaptcha-site-key.vo.js.map +1 -0
- package/dist/healthcheck.service.d.ts +4 -0
- package/dist/healthcheck.service.d.ts.map +1 -1
- package/dist/healthcheck.service.js +3 -3
- package/dist/healthcheck.service.js.map +1 -1
- package/dist/http-logger.middleware.d.ts.map +1 -1
- package/dist/http-logger.middleware.js +9 -9
- package/dist/http-logger.middleware.js.map +1 -1
- package/dist/i18n.service.d.ts +10 -3
- package/dist/i18n.service.d.ts.map +1 -1
- package/dist/i18n.service.js +7 -11
- package/dist/i18n.service.js.map +1 -1
- package/dist/id-provider-deterministic.adapter.d.ts +3 -0
- package/dist/id-provider-deterministic.adapter.d.ts.map +1 -1
- package/dist/id-provider-deterministic.adapter.js +4 -1
- package/dist/id-provider-deterministic.adapter.js.map +1 -1
- package/dist/image-alpha-noop.adapter.d.ts +1 -1
- package/dist/image-alpha-sharp.adapter.d.ts +8 -1
- package/dist/image-alpha-sharp.adapter.d.ts.map +1 -1
- package/dist/image-alpha-sharp.adapter.js +6 -3
- package/dist/image-alpha-sharp.adapter.js.map +1 -1
- package/dist/image-blur-noop.adapter.d.ts +1 -1
- package/dist/image-blur-sharp.adapter.d.ts +8 -1
- package/dist/image-blur-sharp.adapter.d.ts.map +1 -1
- package/dist/image-blur-sharp.adapter.js +6 -3
- package/dist/image-blur-sharp.adapter.js.map +1 -1
- package/dist/image-compressor-noop.adapter.d.ts +1 -1
- package/dist/image-compressor-sharp.adapter.d.ts +8 -1
- package/dist/image-compressor-sharp.adapter.d.ts.map +1 -1
- package/dist/image-compressor-sharp.adapter.js +5 -2
- package/dist/image-compressor-sharp.adapter.js.map +1 -1
- package/dist/image-exif-clear-noop.adapter.d.ts +1 -1
- package/dist/image-exif-clear-sharp.adapter.d.ts +8 -1
- package/dist/image-exif-clear-sharp.adapter.d.ts.map +1 -1
- package/dist/image-exif-clear-sharp.adapter.js +5 -2
- package/dist/image-exif-clear-sharp.adapter.js.map +1 -1
- package/dist/image-formatter-sharp.adapter.d.ts +10 -1
- package/dist/image-formatter-sharp.adapter.d.ts.map +1 -1
- package/dist/image-formatter-sharp.adapter.js +8 -5
- package/dist/image-formatter-sharp.adapter.js.map +1 -1
- package/dist/image-info-noop.adapter.d.ts +2 -2
- package/dist/image-info-sharp.adapter.d.ts +2 -2
- package/dist/image-info-sharp.adapter.d.ts.map +1 -1
- package/dist/image-info-sharp.adapter.js +5 -9
- package/dist/image-info-sharp.adapter.js.map +1 -1
- package/dist/image-processor-sharp.adapter.d.ts +9 -0
- package/dist/image-processor-sharp.adapter.d.ts.map +1 -1
- package/dist/image-processor-sharp.adapter.js +8 -5
- package/dist/image-processor-sharp.adapter.js.map +1 -1
- package/dist/image-resizer-noop.adapter.d.ts +1 -1
- package/dist/image-resizer-sharp.adapter.d.ts +8 -1
- package/dist/image-resizer-sharp.adapter.d.ts.map +1 -1
- package/dist/image-resizer-sharp.adapter.js +5 -2
- package/dist/image-resizer-sharp.adapter.js.map +1 -1
- package/dist/index.d.ts +25 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -5
- package/dist/index.js.map +1 -1
- package/dist/json-file-reader-bun-forgiving.adapter.d.ts +6 -0
- package/dist/json-file-reader-bun-forgiving.adapter.d.ts.map +1 -0
- package/dist/json-file-reader-bun-forgiving.adapter.js +11 -0
- package/dist/json-file-reader-bun-forgiving.adapter.js.map +1 -0
- package/dist/json-file-reader-bun.adapter.d.ts +6 -0
- package/dist/json-file-reader-bun.adapter.d.ts.map +1 -0
- package/dist/json-file-reader-bun.adapter.js +6 -0
- package/dist/json-file-reader-bun.adapter.js.map +1 -0
- package/dist/json-file-reader-noop.adapter.d.ts +8 -0
- package/dist/json-file-reader-noop.adapter.d.ts.map +1 -0
- package/dist/json-file-reader-noop.adapter.js +10 -0
- package/dist/json-file-reader-noop.adapter.js.map +1 -0
- package/dist/json-file-reader.port.d.ts +5 -0
- package/dist/json-file-reader.port.d.ts.map +1 -0
- package/dist/json-file-reader.port.js +2 -0
- package/dist/json-file-reader.port.js.map +1 -0
- package/dist/logger-format-error.service.d.ts +1 -1
- package/dist/logger-format-error.service.d.ts.map +1 -1
- package/dist/logger-format-error.service.js +9 -9
- package/dist/logger-format-error.service.js.map +1 -1
- package/dist/logger.port.d.ts +0 -4
- package/dist/logger.port.d.ts.map +1 -1
- package/dist/mailer-smtp-with-logger.adapter.d.ts.map +1 -1
- package/dist/mailer-smtp-with-logger.adapter.js.map +1 -1
- package/dist/mailer-smtp.adapter.d.ts +2 -23
- package/dist/mailer-smtp.adapter.d.ts.map +1 -1
- package/dist/mailer-smtp.adapter.js +0 -10
- package/dist/mailer-smtp.adapter.js.map +1 -1
- package/dist/mailer.vo.d.ts +34 -0
- package/dist/mailer.vo.d.ts.map +1 -0
- package/dist/mailer.vo.js +21 -0
- package/dist/mailer.vo.js.map +1 -0
- package/dist/modules/history/event-handlers/onHistoryPopulatedEvent.d.ts.map +1 -1
- package/dist/modules/history/event-handlers/onHistoryPopulatedEvent.js.map +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts +4 -4
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts.map +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.js +2 -8
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.js.map +1 -1
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts +6 -6
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts.map +1 -1
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.js +2 -8
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.js.map +1 -1
- package/dist/modules/history/ports/history-writer.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-subject.d.ts.map +1 -1
- package/dist/modules/preferences/open-host-queries/user-language.d.ts.map +1 -1
- package/dist/modules/preferences/open-host-queries/user-language.js.map +1 -1
- package/dist/modules/preferences/ports/user-language-resolver.d.ts +3 -3
- package/dist/modules/preferences/ports/user-language-resolver.d.ts.map +1 -1
- package/dist/modules/preferences/ports/user-language-resolver.js +2 -7
- package/dist/modules/preferences/ports/user-language-resolver.js.map +1 -1
- package/dist/modules/preferences/value-objects/supported-languages-set.d.ts +3 -3
- package/dist/modules/preferences/value-objects/supported-languages-set.d.ts.map +1 -1
- package/dist/modules/preferences/value-objects/supported-languages-set.js +2 -7
- package/dist/modules/preferences/value-objects/supported-languages-set.js.map +1 -1
- package/dist/pdf-generator-noop.adapter.d.ts +1 -1
- package/dist/pdf-generator-noop.adapter.d.ts.map +1 -1
- package/dist/pdf-generator-noop.adapter.js +1 -1
- package/dist/pdf-generator-noop.adapter.js.map +1 -1
- package/dist/port.vo.d.ts +4 -0
- package/dist/port.vo.d.ts.map +1 -1
- package/dist/port.vo.js +7 -1
- package/dist/port.vo.js.map +1 -1
- package/dist/prerequisites/binary.d.ts +2 -5
- package/dist/prerequisites/binary.d.ts.map +1 -1
- package/dist/prerequisites/binary.js +1 -8
- package/dist/prerequisites/binary.js.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.js +3 -3
- package/dist/prerequisites/dependency-vulnerabilities.js.map +1 -1
- package/dist/prerequisites/directory.d.ts.map +1 -1
- package/dist/prerequisites/directory.js.map +1 -1
- package/dist/prerequisites/jobs.d.ts.map +1 -1
- package/dist/prerequisites/jobs.js +1 -2
- package/dist/prerequisites/jobs.js.map +1 -1
- package/dist/prerequisites/log-file.d.ts.map +1 -1
- package/dist/prerequisites/log-file.js.map +1 -1
- package/dist/prerequisites/mailer.d.ts.map +1 -1
- package/dist/prerequisites/mailer.js.map +1 -1
- package/dist/prerequisites/memory.js +1 -1
- package/dist/prerequisites/memory.js.map +1 -1
- package/dist/prerequisites/node.d.ts.map +1 -1
- package/dist/prerequisites/node.js.map +1 -1
- package/dist/prerequisites/port.d.ts.map +1 -1
- package/dist/prerequisites/port.js.map +1 -1
- package/dist/prerequisites/ram.d.ts.map +1 -1
- package/dist/prerequisites/ram.js +1 -1
- package/dist/prerequisites/ram.js.map +1 -1
- package/dist/prerequisites/running-user.d.ts.map +1 -1
- package/dist/prerequisites/running-user.js.map +1 -1
- package/dist/prerequisites/space.d.ts.map +1 -1
- package/dist/prerequisites/space.js +1 -1
- package/dist/prerequisites/space.js.map +1 -1
- package/dist/prerequisites/sqlite.d.ts.map +1 -1
- package/dist/prerequisites/sqlite.js +1 -1
- package/dist/prerequisites/sqlite.js.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts +2 -2
- package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.js +4 -4
- package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
- package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
- package/dist/prerequisites/timezone-utc.js.map +1 -1
- package/dist/prerequisites/translations.d.ts +10 -3
- package/dist/prerequisites/translations.d.ts.map +1 -1
- package/dist/prerequisites/translations.js +15 -10
- package/dist/prerequisites/translations.js.map +1 -1
- package/dist/prerequisites.service.d.ts +3 -0
- package/dist/prerequisites.service.d.ts.map +1 -1
- package/dist/prerequisites.service.js +3 -3
- package/dist/prerequisites.service.js.map +1 -1
- package/dist/rate-limit-store-node-cache.adapter.d.ts +2 -2
- package/dist/rate-limit-store-node-cache.adapter.d.ts.map +1 -1
- package/dist/rate-limit-store-node-cache.adapter.js +1 -1
- package/dist/rate-limit-store-node-cache.adapter.js.map +1 -1
- package/dist/rate-limit-store.port.d.ts +1 -1
- package/dist/rate-limit-store.port.d.ts.map +1 -1
- package/dist/recaptcha-secret-key.vo.d.ts +8 -0
- package/dist/recaptcha-secret-key.vo.d.ts.map +1 -0
- package/dist/recaptcha-secret-key.vo.js +10 -0
- package/dist/recaptcha-secret-key.vo.js.map +1 -0
- package/dist/recaptcha-site-key.vo.d.ts +8 -0
- package/dist/recaptcha-site-key.vo.d.ts.map +1 -0
- package/dist/recaptcha-site-key.vo.js +10 -0
- package/dist/recaptcha-site-key.vo.js.map +1 -0
- package/dist/redactor-encrypt.adapter.js +2 -2
- package/dist/redactor-encrypt.adapter.js.map +1 -1
- package/dist/redactor-mask.adapter.d.ts.map +1 -1
- package/dist/redactor-mask.adapter.js +0 -3
- package/dist/redactor-mask.adapter.js.map +1 -1
- package/dist/remote-file-storage-disk.adapter.d.ts +9 -2
- package/dist/remote-file-storage-disk.adapter.d.ts.map +1 -1
- package/dist/remote-file-storage-disk.adapter.js +7 -9
- package/dist/remote-file-storage-disk.adapter.js.map +1 -1
- package/dist/safe-parse-body.service.d.ts.map +1 -1
- package/dist/safe-parse-body.service.js +1 -1
- package/dist/safe-parse-body.service.js.map +1 -1
- package/dist/setup.service.d.ts +3 -1
- package/dist/setup.service.d.ts.map +1 -1
- package/dist/setup.service.js +2 -2
- package/dist/setup.service.js.map +1 -1
- package/dist/shield-api-key.middleware.d.ts.map +1 -1
- package/dist/shield-api-key.middleware.js +1 -2
- package/dist/shield-api-key.middleware.js.map +1 -1
- package/dist/shield-auth.middleware.d.ts.map +1 -1
- package/dist/shield-auth.middleware.js +1 -3
- package/dist/shield-auth.middleware.js.map +1 -1
- package/dist/shield-captcha-hcaptcha-local.adapter.d.ts +2 -2
- package/dist/shield-captcha-hcaptcha-local.adapter.d.ts.map +1 -1
- package/dist/shield-captcha-hcaptcha-local.adapter.js +2 -2
- package/dist/shield-captcha-hcaptcha-local.adapter.js.map +1 -1
- package/dist/shield-captcha-hcaptcha.adapter.d.ts +2 -8
- package/dist/shield-captcha-hcaptcha.adapter.d.ts.map +1 -1
- package/dist/shield-captcha-hcaptcha.adapter.js +2 -6
- package/dist/shield-captcha-hcaptcha.adapter.js.map +1 -1
- package/dist/shield-captcha-noop.adapter.d.ts +1 -1
- package/dist/shield-captcha-noop.adapter.d.ts.map +1 -1
- package/dist/shield-captcha-noop.adapter.js +1 -1
- package/dist/shield-captcha-noop.adapter.js.map +1 -1
- package/dist/shield-captcha-recaptcha.adapter.d.ts +3 -7
- package/dist/shield-captcha-recaptcha.adapter.d.ts.map +1 -1
- package/dist/shield-captcha-recaptcha.adapter.js +12 -17
- package/dist/shield-captcha-recaptcha.adapter.js.map +1 -1
- package/dist/shield-rate-limit.middleware.d.ts +2 -2
- package/dist/shield-rate-limit.middleware.d.ts.map +1 -1
- package/dist/slower.middleware.d.ts.map +1 -1
- package/dist/slower.middleware.js.map +1 -1
- package/dist/temporary-file-absolute.adapter.d.ts +11 -3
- package/dist/temporary-file-absolute.adapter.d.ts.map +1 -1
- package/dist/temporary-file-absolute.adapter.js +11 -14
- package/dist/temporary-file-absolute.adapter.js.map +1 -1
- package/dist/temporary-file-noop.adapter.d.ts +1 -1
- package/dist/temporary-file-noop.adapter.d.ts.map +1 -1
- package/dist/temporary-file-noop.adapter.js +1 -1
- package/dist/temporary-file-noop.adapter.js.map +1 -1
- package/dist/temporary-file.port.d.ts +1 -1
- package/dist/temporary-file.port.d.ts.map +1 -1
- package/dist/time-zone-offset.middleware.d.ts.map +1 -1
- package/dist/time-zone-offset.middleware.js +2 -2
- package/dist/time-zone-offset.middleware.js.map +1 -1
- package/dist/translations.service.d.ts +8 -1
- package/dist/translations.service.d.ts.map +1 -1
- package/dist/translations.service.js +2 -2
- package/dist/translations.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/uptime.service.js +3 -3
- package/dist/uptime.service.js.map +1 -1
- package/dist/uuid.vo.d.ts +3 -0
- package/dist/uuid.vo.d.ts.map +1 -1
- package/dist/uuid.vo.js +2 -1
- package/dist/uuid.vo.js.map +1 -1
- package/dist/visitor-id-hash-hono.adapter.d.ts +1 -1
- package/dist/visitor-id-hash-hono.adapter.d.ts.map +1 -1
- package/dist/visitor-id-hash-hono.adapter.js +4 -4
- package/dist/visitor-id-hash-hono.adapter.js.map +1 -1
- package/dist/visitor-id-hash.adapter.d.ts +1 -1
- package/dist/visitor-id-hash.adapter.d.ts.map +1 -1
- package/dist/visitor-id-hash.adapter.js +3 -3
- package/dist/visitor-id-hash.adapter.js.map +1 -1
- package/dist/weak-etag-extractor.middleware.js +2 -2
- package/dist/weak-etag-extractor.middleware.js.map +1 -1
- package/package.json +7 -7
- package/readme.md +20 -5
- package/src/antivirus-clamav.adapter.ts +7 -12
- package/src/antivirus.port.ts +1 -13
- package/src/api-version.middleware.ts +4 -4
- package/src/basic-auth-password.vo.ts +15 -0
- package/src/basic-auth-username.vo.ts +15 -0
- package/src/basic-auth.service.ts +3 -22
- package/src/better-auth-logger.service.ts +4 -3
- package/src/binary.vo.ts +20 -0
- package/src/build-info-repository.service.ts +5 -7
- package/src/cache-file.service.ts +2 -1
- package/src/cache-response.middleware.ts +3 -0
- package/src/certificate-inspector-tls.adapter.ts +7 -1
- package/src/client-from-hono.adapter.ts +1 -1
- package/src/clock-system.adapter.ts +2 -2
- package/src/clock.port.ts +1 -0
- package/src/context.middleware.ts +1 -0
- package/src/correlation-id.vo.ts +1 -0
- package/src/correlation-storage.service.ts +4 -1
- package/src/env-validator.service.ts +2 -2
- package/src/etag-extractor.middleware.ts +2 -2
- package/src/event-store-like.types.ts +1 -0
- package/src/event-stream.vo.ts +9 -4
- package/src/file-cleaner-bun-forgiving.adapter.ts +10 -0
- package/src/file-cleaner-bun.adapter.ts +8 -0
- package/src/file-cleaner-noop.adapter.ts +6 -0
- package/src/file-cleaner.port.ts +5 -0
- package/src/file-draft.service.ts +2 -2
- package/src/file-renamer-fs-forgiving.adapter.ts +17 -0
- package/src/file-renamer-fs.adapter.ts +15 -0
- package/src/file-renamer-noop.adapter.ts +9 -0
- package/src/file-renamer.port.ts +8 -0
- package/src/graceful-shutdown.service.ts +1 -3
- package/src/hcaptcha-secret-key.vo.ts +13 -0
- package/src/hcaptcha-site-key.vo.ts +13 -0
- package/src/healthcheck.service.ts +6 -4
- package/src/http-logger.middleware.ts +9 -10
- package/src/i18n.service.ts +14 -11
- package/src/id-provider-deterministic.adapter.ts +5 -1
- package/src/image-alpha-sharp.adapter.ts +7 -4
- package/src/image-blur-sharp.adapter.ts +7 -4
- package/src/image-compressor-sharp.adapter.ts +6 -2
- package/src/image-exif-clear-sharp.adapter.ts +6 -2
- package/src/image-formatter-sharp.adapter.ts +10 -5
- package/src/image-info-sharp.adapter.ts +5 -11
- package/src/image-processor-sharp.adapter.ts +10 -5
- package/src/image-resizer-sharp.adapter.ts +6 -3
- package/src/index.ts +25 -5
- package/src/json-file-reader-bun-forgiving.adapter.ts +12 -0
- package/src/json-file-reader-bun.adapter.ts +8 -0
- package/src/json-file-reader-noop.adapter.ts +10 -0
- package/src/json-file-reader.port.ts +5 -0
- package/src/logger-format-error.service.ts +10 -9
- package/src/logger.port.ts +0 -4
- package/src/mailer-smtp-with-logger.adapter.ts +2 -0
- package/src/mailer-smtp.adapter.ts +2 -31
- package/src/mailer.vo.ts +38 -0
- package/src/modules/history/event-handlers/onHistoryPopulatedEvent.ts +1 -0
- package/src/modules/history/events/HISTORY_CLEARED_EVENT.ts +2 -8
- package/src/modules/history/events/HISTORY_POPULATED_EVENT.ts +2 -8
- package/src/modules/history/ports/history-writer.ts +1 -0
- package/src/modules/history/value-objects/history-subject.ts +1 -0
- package/src/modules/preferences/open-host-queries/user-language.ts +1 -0
- package/src/modules/preferences/ports/user-language-resolver.ts +2 -7
- package/src/modules/preferences/value-objects/supported-languages-set.ts +2 -8
- package/src/pdf-generator-noop.adapter.ts +1 -1
- package/src/port.vo.ts +9 -1
- package/src/prerequisites/binary.ts +4 -14
- package/src/prerequisites/dependency-vulnerabilities.ts +3 -3
- package/src/prerequisites/directory.ts +1 -0
- package/src/prerequisites/jobs.ts +2 -4
- package/src/prerequisites/log-file.ts +1 -0
- package/src/prerequisites/mailer.ts +1 -0
- package/src/prerequisites/memory.ts +1 -1
- package/src/prerequisites/node.ts +1 -0
- package/src/prerequisites/port.ts +1 -0
- package/src/prerequisites/ram.ts +2 -1
- package/src/prerequisites/running-user.ts +1 -0
- package/src/prerequisites/space.ts +2 -1
- package/src/prerequisites/sqlite.ts +1 -2
- package/src/prerequisites/ssl-certificate-expiry.ts +5 -5
- package/src/prerequisites/timezone-utc.ts +1 -0
- package/src/prerequisites/translations.ts +29 -17
- package/src/prerequisites.service.ts +4 -4
- package/src/rate-limit-store-node-cache.adapter.ts +2 -2
- package/src/rate-limit-store.port.ts +1 -1
- package/src/recaptcha-secret-key.vo.ts +13 -0
- package/src/recaptcha-site-key.vo.ts +13 -0
- package/src/redactor-encrypt.adapter.ts +2 -2
- package/src/redactor-mask.adapter.ts +0 -3
- package/src/remote-file-storage-disk.adapter.ts +13 -14
- package/src/safe-parse-body.service.ts +2 -1
- package/src/setup.service.ts +4 -2
- package/src/shield-api-key.middleware.ts +1 -3
- package/src/shield-auth.middleware.ts +5 -3
- package/src/shield-captcha-hcaptcha-local.adapter.ts +4 -3
- package/src/shield-captcha-hcaptcha.adapter.ts +5 -13
- package/src/shield-captcha-noop.adapter.ts +1 -1
- package/src/shield-captcha-recaptcha.adapter.ts +15 -25
- package/src/shield-rate-limit.middleware.ts +2 -2
- package/src/slower.middleware.ts +1 -0
- package/src/temporary-file-absolute.adapter.ts +16 -14
- package/src/temporary-file-noop.adapter.ts +1 -1
- package/src/temporary-file.port.ts +2 -1
- package/src/time-zone-offset.middleware.ts +2 -5
- package/src/translations.service.ts +7 -4
- package/src/uptime.service.ts +3 -3
- package/src/uuid.vo.ts +4 -1
- package/src/visitor-id-hash-hono.adapter.ts +5 -5
- package/src/visitor-id-hash.adapter.ts +3 -3
- package/src/weak-etag-extractor.middleware.ts +2 -2
- package/dist/encryption.service.d.ts +0 -25
- package/dist/encryption.service.d.ts.map +0 -1
- package/dist/encryption.service.js +0 -35
- package/dist/encryption.service.js.map +0 -1
- package/dist/gzip.service.d.ts +0 -13
- package/dist/gzip.service.d.ts.map +0 -1
- package/dist/gzip.service.js +0 -18
- package/dist/gzip.service.js.map +0 -1
- package/dist/open-graph.service.d.ts +0 -104
- package/dist/open-graph.service.d.ts.map +0 -1
- package/dist/open-graph.service.js +0 -159
- package/dist/open-graph.service.js.map +0 -1
- package/dist/sitemap.service.d.ts +0 -28
- package/dist/sitemap.service.d.ts.map +0 -1
- package/dist/sitemap.service.js +0 -57
- package/dist/sitemap.service.js.map +0 -1
- package/dist/url-wo-trailing-slash.vo.d.ts +0 -4
- package/dist/url-wo-trailing-slash.vo.d.ts.map +0 -1
- package/dist/url-wo-trailing-slash.vo.js +0 -8
- package/dist/url-wo-trailing-slash.vo.js.map +0 -1
- package/src/encryption.service.ts +0 -45
- package/src/gzip.service.ts +0 -23
- package/src/open-graph.service.ts +0 -242
- package/src/sitemap.service.ts +0 -91
- package/src/url-wo-trailing-slash.vo.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.service.js","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.service.js","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAK9E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAgBpE,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,UAAU,CAAC,IAAkB,EAAE,SAA8B;QAClE,MAAM,WAAW,GAAG,SAAS,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACvD,MAAM,oBAAoB,GAAG,EAAE,yBAAyB,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC;QAExG,OAAO;YACL,aAAa,CAAC,oBAAoB,CAAC;YACnC,SAAS,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;YAC3C,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YACpC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC;YACjB,gBAAgB,CAAC;gBACf,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC7D,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC3C,MAAM,EAAE,KAAK;aACd,CAAC;YACF,SAAS,CAAC;gBACR,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,kBAAkB;gBAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;aAC5C,CAAC;YACF,cAAc,CAAC,MAAM;YACrB,OAAO,CAAC,MAAM;YACd,iBAAiB,CAAC,MAAM;YACxB,aAAa,CAAC,MAAM;YACpB,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YAC7C,MAAM,EAAE;YACR,kBAAkB,CAAC,MAAM,EAAE;SAC5B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-api-key.middleware.d.ts","sourceRoot":"","sources":["../src/shield-api-key.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,KAAK,sBAAsB,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAA;CAAE,CAAC;AAE5D,eAAO,MAAM,uBAAuB,eAA+D,CAAC;AAEpG,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,MAAM,CAAC,QAAQ,CAAC,WAAW,mBAAmB;gBAEjB,MAAM,EAAE,sBAAsB;IAE3D,MAAM,
|
|
1
|
+
{"version":3,"file":"shield-api-key.middleware.d.ts","sourceRoot":"","sources":["../src/shield-api-key.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,KAAK,sBAAsB,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAA;CAAE,CAAC;AAE5D,eAAO,MAAM,uBAAuB,eAA+D,CAAC;AAEpG,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,MAAM,CAAC,QAAQ,CAAC,WAAW,mBAAmB;gBAEjB,MAAM,EAAE,sBAAsB;IAE3D,MAAM,oDAIH;CACJ"}
|
|
@@ -8,9 +8,8 @@ export class ShieldApiKey {
|
|
|
8
8
|
this.config = config;
|
|
9
9
|
}
|
|
10
10
|
verify = createMiddleware(async (c, next) => {
|
|
11
|
-
if (c.req.header(ShieldApiKey.HEADER_NAME) === this.config.API_KEY)
|
|
11
|
+
if (c.req.header(ShieldApiKey.HEADER_NAME) === this.config.API_KEY)
|
|
12
12
|
return next();
|
|
13
|
-
}
|
|
14
13
|
throw AccessDeniedApiKeyError;
|
|
15
14
|
});
|
|
16
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-api-key.middleware.js","sourceRoot":"","sources":["../src/shield-api-key.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAEpG,MAAM,OAAO,YAAY;IAGM;IAF7B,MAAM,CAAU,WAAW,GAAG,eAAe,CAAC;IAE9C,YAA6B,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;IAAG,CAAC;IAE/D,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO
|
|
1
|
+
{"version":3,"file":"shield-api-key.middleware.js","sourceRoot":"","sources":["../src/shield-api-key.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAEpG,MAAM,OAAO,YAAY;IAGM;IAF7B,MAAM,CAAU,WAAW,GAAG,eAAe,CAAC;IAE9C,YAA6B,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;IAAG,CAAC;IAE/D,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,EAAE,CAAC;QAElF,MAAM,uBAAuB,CAAC;IAChC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-auth.middleware.d.ts","sourceRoot":"","sources":["../src/shield-auth.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"shield-auth.middleware.d.ts","sourceRoot":"","sources":["../src/shield-auth.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,2BAA2B,eAAmE,CAAC;AAE5G,qBAAa,UAAU;IAQT,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,IAAI;;;;;MAKF;gBAE2B,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC;IAEhE,MAAM,uCAcH;IAEH,MAAM,uCAKH;IAEH,OAAO,uCAKJ;CACJ"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
// TODO: tests
|
|
2
2
|
import { createMiddleware } from "hono/factory";
|
|
3
3
|
import { HTTPException } from "hono/http-exception";
|
|
4
|
-
export const AccessDeniedAuthShieldError = new HTTPException(403, {
|
|
5
|
-
message: "access_denied_auth_shield",
|
|
6
|
-
});
|
|
4
|
+
export const AccessDeniedAuthShieldError = new HTTPException(403, { message: "access_denied_auth_shield" });
|
|
7
5
|
export class ShieldAuth {
|
|
8
6
|
Auth;
|
|
9
7
|
cors = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-auth.middleware.js","sourceRoot":"","sources":["../src/shield-auth.middleware.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE
|
|
1
|
+
{"version":3,"file":"shield-auth.middleware.js","sourceRoot":"","sources":["../src/shield-auth.middleware.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;AAE5G,MAAM,OAAO,UAAU;IAQQ;IAP7B,IAAI,GAAG;QACL,MAAM,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;QAC1D,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC,cAAc,CAAC;QAC9B,aAAa,EAAE,CAAC,YAAY,CAAC;KAC9B,CAAC;IAEF,YAA6B,IAAmC;QAAnC,SAAI,GAAJ,IAAI,CAA+B;IAAG,CAAC;IAEpE,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAe,EAAE,IAAe,EAAE,EAAE;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEvB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAElC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAe,EAAE,IAAe,EAAE,EAAE;QACnE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI;YAAE,MAAM,2BAA2B,CAAC;QAC7C,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAe,EAAE,IAAe,EAAE,EAAE;QACpE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,IAAI;YAAE,MAAM,2BAA2B,CAAC;QAC5C,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;CACJ"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { HTTPException } from "hono/http-exception";
|
|
2
|
+
import type { HCaptchaSecretKeyType } from "./hcaptcha-secret-key.vo";
|
|
2
3
|
import type { ShieldCaptchaPort } from "./shield-captcha.port";
|
|
3
|
-
import type { HCaptchaSecretKeyType } from "./shield-captcha-hcaptcha.adapter";
|
|
4
4
|
export declare const AccessDeniedHcaptchaLocalError: HTTPException;
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class ShieldCaptchaHcaptchaLocalAdapter implements ShieldCaptchaPort {
|
|
6
6
|
private readonly secretKey;
|
|
7
7
|
constructor(secretKey: HCaptchaSecretKeyType);
|
|
8
8
|
verify: import("hono").MiddlewareHandler<any, string, {}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-hcaptcha-local.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha-local.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"shield-captcha-hcaptcha-local.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha-local.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,eAAO,MAAM,8BAA8B,eAEzC,CAAC;AAEH,qBAAa,iCAAkC,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,qBAAqB;IAE7D,MAAM,oDASH;CACJ"}
|
|
@@ -4,7 +4,7 @@ import { HTTPException } from "hono/http-exception";
|
|
|
4
4
|
export const AccessDeniedHcaptchaLocalError = new HTTPException(403, {
|
|
5
5
|
message: "access_denied_hcaptcha_local",
|
|
6
6
|
});
|
|
7
|
-
export class
|
|
7
|
+
export class ShieldCaptchaHcaptchaLocalAdapter {
|
|
8
8
|
secretKey;
|
|
9
9
|
constructor(secretKey) {
|
|
10
10
|
this.secretKey = secretKey;
|
|
@@ -16,7 +16,7 @@ export class ShieldCaptchaHcaptchaLocal {
|
|
|
16
16
|
throw AccessDeniedHcaptchaLocalError;
|
|
17
17
|
return next();
|
|
18
18
|
}
|
|
19
|
-
catch
|
|
19
|
+
catch {
|
|
20
20
|
throw AccessDeniedHcaptchaLocalError;
|
|
21
21
|
}
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-hcaptcha-local.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha-local.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IACnE,OAAO,EAAE,8BAA8B;CACxC,CAAC,CAAC;AAEH,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"shield-captcha-hcaptcha-local.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha-local.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IACnE,OAAO,EAAE,8BAA8B;CACxC,CAAC,CAAC;AAEH,MAAM,OAAO,iCAAiC;IACf;IAA7B,YAA6B,SAAgC;QAAhC,cAAS,GAAT,SAAS,CAAuB;IAAG,CAAC;IAEjE,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;YAE7F,IAAI,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM,8BAA8B,CAAC;YAC3D,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,8BAA8B,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;CACJ"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { HTTPException } from "hono/http-exception";
|
|
2
|
-
import {
|
|
2
|
+
import type { HCaptchaSecretKeyType } from "./hcaptcha-secret-key.vo";
|
|
3
3
|
import type { ShieldCaptchaPort } from "./shield-captcha.port";
|
|
4
|
-
export declare const HCaptchaSecretKey: z.core.$ZodBranded<z.ZodString, "HCaptchaSecretKey">;
|
|
5
|
-
export type HCaptchaSecretKeyType = z.infer<typeof HCaptchaSecretKey>;
|
|
6
|
-
export declare const HCaptchaSiteKey: z.ZodString;
|
|
7
|
-
export type HCaptchaSiteKeyType = z.infer<typeof HCaptchaSiteKey>;
|
|
8
|
-
export declare const HCaptchaResponseToken: z.ZodString;
|
|
9
|
-
export type HCaptchaResponseTokenType = z.infer<typeof HCaptchaResponseToken>;
|
|
10
4
|
export declare const AccessDeniedHcaptchaError: HTTPException;
|
|
11
|
-
export declare class
|
|
5
|
+
export declare class ShieldCaptchaHcaptchaAdapter implements ShieldCaptchaPort {
|
|
12
6
|
private readonly secretKey;
|
|
13
7
|
constructor(secretKey: HCaptchaSecretKeyType);
|
|
14
8
|
verify: import("hono").MiddlewareHandler<any, string, {}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-hcaptcha.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"shield-captcha-hcaptcha.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,eAAO,MAAM,yBAAyB,eAAgE,CAAC;AAEvG,qBAAa,4BAA6B,YAAW,iBAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,qBAAqB;IAE7D,MAAM,oDAWH;CACJ"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import hcaptcha from "hcaptcha";
|
|
2
2
|
import { createMiddleware } from "hono/factory";
|
|
3
3
|
import { HTTPException } from "hono/http-exception";
|
|
4
|
-
import { z } from "zod/v4";
|
|
5
|
-
export const HCaptchaSecretKey = z.string().trim().length(42).brand("HCaptchaSecretKey");
|
|
6
|
-
export const HCaptchaSiteKey = z.string().trim().length(36);
|
|
7
|
-
export const HCaptchaResponseToken = z.string().trim();
|
|
8
4
|
export const AccessDeniedHcaptchaError = new HTTPException(403, { message: "access_denied_hcaptcha" });
|
|
9
|
-
export class
|
|
5
|
+
export class ShieldCaptchaHcaptchaAdapter {
|
|
10
6
|
secretKey;
|
|
11
7
|
constructor(secretKey) {
|
|
12
8
|
this.secretKey = secretKey;
|
|
@@ -20,7 +16,7 @@ export class ShieldCaptchaHcaptcha {
|
|
|
20
16
|
throw AccessDeniedHcaptchaError;
|
|
21
17
|
return next();
|
|
22
18
|
}
|
|
23
|
-
catch
|
|
19
|
+
catch {
|
|
24
20
|
throw AccessDeniedHcaptchaError;
|
|
25
21
|
}
|
|
26
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-hcaptcha.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"shield-captcha-hcaptcha.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-hcaptcha.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAEvG,MAAM,OAAO,4BAA4B;IACV;IAA7B,YAA6B,SAAgC;QAAhC,cAAS,GAAT,SAAS,CAAuB;IAAG,CAAC;IAEjE,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAY,CAAC;YACnF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;YAE5E,IAAI,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM,yBAAyB,CAAC;YACtD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,yBAAyB,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ShieldCaptchaPort } from "./shield-captcha.port";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class ShieldCaptchaNoopAdapter implements ShieldCaptchaPort {
|
|
3
3
|
verify: import("hono").MiddlewareHandler<any, string, {}>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=shield-captcha-noop.adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-noop.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-noop.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,
|
|
1
|
+
{"version":3,"file":"shield-captcha-noop.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-noop.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,wBAAyB,YAAW,iBAAiB;IAChE,MAAM,oDAAgD;CACvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-noop.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"shield-captcha-noop.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,OAAO,wBAAwB;IACnC,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;CACvD"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { HTTPException } from "hono/http-exception";
|
|
2
|
-
import {
|
|
2
|
+
import type { RecaptchaSecretKeyType } from "./recaptcha-secret-key.vo";
|
|
3
3
|
import type { ShieldCaptchaPort } from "./shield-captcha.port";
|
|
4
|
-
export declare const RecaptchaSiteKey: z.ZodString;
|
|
5
|
-
export type RecaptchaSiteKeyType = z.infer<typeof RecaptchaSiteKey>;
|
|
6
|
-
export declare const RecaptchaSecretKey: z.core.$ZodBranded<z.ZodString, "RecaptchaSecretKey">;
|
|
7
|
-
export type RecaptchaSecretKeyType = z.infer<typeof RecaptchaSecretKey>;
|
|
8
4
|
export type RecaptchaVerifierConfigType = {
|
|
9
5
|
secretKey: RecaptchaSecretKeyType;
|
|
10
6
|
};
|
|
@@ -13,8 +9,8 @@ export type RecaptchaResultType = {
|
|
|
13
9
|
score: number;
|
|
14
10
|
};
|
|
15
11
|
export declare const AccessDeniedRecaptchaError: HTTPException;
|
|
16
|
-
export declare class
|
|
17
|
-
private readonly
|
|
12
|
+
export declare class ShieldCaptchaRecaptchaAdapter implements ShieldCaptchaPort {
|
|
13
|
+
private readonly config;
|
|
18
14
|
constructor(config: RecaptchaVerifierConfigType);
|
|
19
15
|
verify: import("hono").MiddlewareHandler<any, string, {}>;
|
|
20
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-recaptcha.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-recaptcha.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"shield-captcha-recaptcha.adapter.d.ts","sourceRoot":"","sources":["../src/shield-captcha-recaptcha.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GAAG;IAAE,SAAS,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,eAAO,MAAM,0BAA0B,eAAiE,CAAC;AAEzG,qBAAa,6BAA8B,YAAW,iBAAiB;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,2BAA2B;IAEhE,MAAM,oDA6BH;CACJ"}
|
|
@@ -1,38 +1,33 @@
|
|
|
1
1
|
import { createMiddleware } from "hono/factory";
|
|
2
2
|
import { HTTPException } from "hono/http-exception";
|
|
3
|
-
import { z } from "zod/v4";
|
|
4
|
-
export const RecaptchaSiteKey = z.string().trim().length(40);
|
|
5
|
-
export const RecaptchaSecretKey = z.string().trim().length(40).brand("RecaptchaSecretKey");
|
|
6
3
|
export const AccessDeniedRecaptchaError = new HTTPException(403, { message: "access_denied_recaptcha" });
|
|
7
|
-
export class
|
|
8
|
-
|
|
4
|
+
export class ShieldCaptchaRecaptchaAdapter {
|
|
5
|
+
config;
|
|
9
6
|
constructor(config) {
|
|
10
|
-
this.
|
|
7
|
+
this.config = config;
|
|
11
8
|
}
|
|
12
9
|
verify = createMiddleware(async (c, next) => {
|
|
13
10
|
try {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const form = await c.req.formData();
|
|
17
|
-
const
|
|
18
|
-
const xForwardedForHeader = c.req.header("x-forwarded-for");
|
|
19
|
-
// cSpell:ignore remoteip
|
|
20
|
-
const remoteip = xForwardedForHeader ?? "";
|
|
21
|
-
const token = recaptchaTokenHeader ?? recaptchaTokenQuery ?? recaptchaTokenFormData;
|
|
11
|
+
const header = c.req.header("x-recaptcha-token");
|
|
12
|
+
const query = c.req.query("recaptchaToken");
|
|
13
|
+
const form = (await c.req.formData()).get("g-recaptcha-response")?.toString();
|
|
14
|
+
const token = header ?? query ?? form;
|
|
22
15
|
if (!token)
|
|
23
16
|
throw AccessDeniedRecaptchaError;
|
|
24
|
-
|
|
17
|
+
// cSpell:ignore remoteip
|
|
18
|
+
const remoteip = c.req.header("x-forwarded-for") ?? "";
|
|
19
|
+
const params = new URLSearchParams({ secret: this.config.secretKey, response: token, remoteip });
|
|
25
20
|
const response = await fetch("https://www.google.com/recaptcha/api/siteverify", {
|
|
26
21
|
method: "POST",
|
|
27
22
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
28
23
|
body: params,
|
|
29
24
|
});
|
|
30
|
-
const result =
|
|
25
|
+
const result = await response.json();
|
|
31
26
|
if (!result.success || result.score < 0.5)
|
|
32
27
|
throw AccessDeniedRecaptchaError;
|
|
33
28
|
await next();
|
|
34
29
|
}
|
|
35
|
-
catch
|
|
30
|
+
catch {
|
|
36
31
|
throw AccessDeniedRecaptchaError;
|
|
37
32
|
}
|
|
38
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-captcha-recaptcha.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-recaptcha.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"shield-captcha-recaptcha.adapter.js","sourceRoot":"","sources":["../src/shield-captcha-recaptcha.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAEzG,MAAM,OAAO,6BAA6B;IACX;IAA7B,YAA6B,MAAmC;QAAnC,WAAM,GAAN,MAAM,CAA6B;IAAG,CAAC;IAEpE,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,CAAC;YAE9E,MAAM,KAAK,GAAG,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC;YAEtC,IAAI,CAAC,KAAK;gBAAE,MAAM,0BAA0B,CAAC;YAE7C,yBAAyB;YACzB,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAEvD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iDAAiD,EAAE;gBAC9E,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;gBAChE,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YAEH,MAAM,MAAM,GAAwB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG;gBAAE,MAAM,0BAA0B,CAAC;YAE5E,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,0BAA0B,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;CACJ"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Context } from "hono";
|
|
2
2
|
import { HTTPException } from "hono/http-exception";
|
|
3
3
|
import type { ClockPort } from "./clock.port";
|
|
4
|
-
import type {
|
|
4
|
+
import type { RateLimitStorePort } from "./rate-limit-store.port";
|
|
5
5
|
type SubjectResolver = (c: Context) => string;
|
|
6
6
|
type RateLimitShieldOptionsType = {
|
|
7
7
|
enabled: boolean;
|
|
8
|
-
store:
|
|
8
|
+
store: RateLimitStorePort;
|
|
9
9
|
subject: SubjectResolver;
|
|
10
10
|
};
|
|
11
11
|
type Dependencies = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-rate-limit.middleware.d.ts","sourceRoot":"","sources":["../src/shield-rate-limit.middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"shield-rate-limit.middleware.d.ts","sourceRoot":"","sources":["../src/shield-rate-limit.middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;AAC9C,KAAK,0BAA0B,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAC5G,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzC,eAAO,MAAM,mBAAmB,EAAE,eAA8B,CAAC;AACjE,eAAO,MAAM,mBAAmB,EAAE,eAAoD,CAAC;AAEvF,eAAO,MAAM,oBAAoB,eAA+D,CAAC;AAEjG,eAAO,MAAM,eAAe,GAAI,SAAS,0BAA0B,EAAE,MAAM,YAAY,sDAqBtF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slower.middleware.d.ts","sourceRoot":"","sources":["../src/slower.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,qBAAa,MAAM;IACjB,MAAM,CAAC,MAAM,GAAI,QAAQ,KAAK,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"slower.middleware.d.ts","sourceRoot":"","sources":["../src/slower.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,qBAAa,MAAM;IACjB,MAAM,CAAC,MAAM,GAAI,QAAQ,KAAK,CAAC,QAAQ,uDAKlC;CACN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slower.middleware.js","sourceRoot":"","sources":["../src/slower.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,OAAO,MAAM;IACjB,MAAM,CAAC,MAAM,GAAG,CAAC,MAAsB,EAAE,EAAE,CACzC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"slower.middleware.js","sourceRoot":"","sources":["../src/slower.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,OAAO,MAAM;IACjB,MAAM,CAAC,MAAM,GAAG,CAAC,MAAsB,EAAE,EAAE,CACzC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE3B,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { FileCleanerPort } from "./file-cleaner.port";
|
|
3
|
+
import type { FileRenamerPort } from "./file-renamer.port";
|
|
2
4
|
import type { TemporaryFilePort } from "./temporary-file.port";
|
|
3
|
-
|
|
5
|
+
type Dependencies = {
|
|
6
|
+
FileCleaner: FileCleanerPort;
|
|
7
|
+
FileRenamer: FileRenamerPort;
|
|
8
|
+
};
|
|
9
|
+
export declare class TemporaryFileAbsoluteAdapter implements TemporaryFilePort {
|
|
4
10
|
private readonly directory;
|
|
5
|
-
|
|
6
|
-
|
|
11
|
+
private readonly deps;
|
|
12
|
+
constructor(directory: tools.DirectoryPathAbsoluteType, deps: Dependencies);
|
|
13
|
+
write(filename: tools.Filename, content: File): Promise<{
|
|
7
14
|
path: tools.FilePathAbsolute;
|
|
8
15
|
}>;
|
|
9
16
|
cleanup(filename: tools.Filename): Promise<void>;
|
|
10
17
|
}
|
|
18
|
+
export {};
|
|
11
19
|
//# sourceMappingURL=temporary-file-absolute.adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary-file-absolute.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"temporary-file-absolute.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnF,qBAAa,4BAA6B,YAAW,iBAAiB;IAElE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,SAAS,EAAE,KAAK,CAAC,yBAAyB,EAC1C,IAAI,EAAE,YAAY;IAG/B,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI;;;IAU7C,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;CAGvC"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import fs from "node:fs/promises";
|
|
2
1
|
import * as tools from "@bgord/tools";
|
|
3
|
-
export class
|
|
2
|
+
export class TemporaryFileAbsoluteAdapter {
|
|
4
3
|
directory;
|
|
5
|
-
|
|
4
|
+
deps;
|
|
5
|
+
constructor(directory, deps) {
|
|
6
6
|
this.directory = directory;
|
|
7
|
+
this.deps = deps;
|
|
7
8
|
}
|
|
8
|
-
async write(filename,
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
await Bun.write(
|
|
12
|
-
await
|
|
13
|
-
return { path:
|
|
9
|
+
async write(filename, content) {
|
|
10
|
+
const temporary = tools.FilePathAbsolute.fromPartsSafe(this.directory, filename.withSuffix("-part"));
|
|
11
|
+
const final = tools.FilePathAbsolute.fromPartsSafe(this.directory, filename);
|
|
12
|
+
await Bun.write(temporary.get(), content);
|
|
13
|
+
await this.deps.FileRenamer.rename(temporary, final);
|
|
14
|
+
return { path: final };
|
|
14
15
|
}
|
|
15
16
|
async cleanup(filename) {
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
await fs.unlink(path.get());
|
|
19
|
-
}
|
|
20
|
-
catch (error) { }
|
|
17
|
+
await this.deps.FileCleaner.delete(tools.FilePathAbsolute.fromPartsSafe(this.directory, filename));
|
|
21
18
|
}
|
|
22
19
|
}
|
|
23
20
|
//# sourceMappingURL=temporary-file-absolute.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary-file-absolute.adapter.js","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"temporary-file-absolute.adapter.js","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,MAAM,OAAO,4BAA4B;IAEpB;IACA;IAFnB,YACmB,SAA0C,EAC1C,IAAkB;QADlB,cAAS,GAAT,SAAS,CAAiC;QAC1C,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,QAAwB,EAAE,OAAa;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7E,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAwB;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrG,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
2
|
import type { TemporaryFilePort } from "./temporary-file.port";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class TemporaryFileNoopAdapter implements TemporaryFilePort {
|
|
4
4
|
private readonly directory;
|
|
5
5
|
constructor(directory: tools.DirectoryPathAbsoluteType);
|
|
6
6
|
write(filename: tools.Filename): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary-file-noop.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,
|
|
1
|
+
{"version":3,"file":"temporary-file-noop.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,wBAAyB,YAAW,iBAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,KAAK,CAAC,yBAAyB;IAEjE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;;;IAI9B,OAAO;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary-file-noop.adapter.js","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"temporary-file-noop.adapter.js","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,SAA0C;QAA1C,cAAS,GAAT,SAAS,CAAiC;IAAG,CAAC;IAE3E,KAAK,CAAC,KAAK,CAAC,QAAwB;QAClC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAO,KAAI,CAAC;CACnB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type * as tools from "@bgord/tools";
|
|
2
2
|
export interface TemporaryFilePort {
|
|
3
|
-
write(filename: tools.Filename,
|
|
3
|
+
write(filename: tools.Filename, content: File): Promise<{
|
|
4
4
|
path: tools.FilePathAbsolute;
|
|
5
5
|
}>;
|
|
6
6
|
cleanup(filename: tools.Filename): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary-file.port.d.ts","sourceRoot":"","sources":["../src/temporary-file.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"temporary-file.port.d.ts","sourceRoot":"","sources":["../src/temporary-file.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAA;KAAE,CAAC,CAAC;IAE1F,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-zone-offset.middleware.d.ts","sourceRoot":"","sources":["../src/time-zone-offset.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,MAAM,uBAAuB,GAAG;IAAE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAA;CAAE,CAAC;AAEzE,qBAAa,cAAc;IACzB,MAAM,CAAC,4BAA4B,SAAsB;IAEzD,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"time-zone-offset.middleware.d.ts","sourceRoot":"","sources":["../src/time-zone-offset.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,MAAM,uBAAuB,GAAG;IAAE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAA;CAAE,CAAC;AAEzE,qBAAa,cAAc;IACzB,MAAM,CAAC,4BAA4B,SAAsB;IAEzD,MAAM,CAAC,MAAM,oDAKV;IAEH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,aAAa;IAInG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;CAGhF"}
|
|
@@ -3,8 +3,8 @@ import { createMiddleware } from "hono/factory";
|
|
|
3
3
|
export class TimeZoneOffset {
|
|
4
4
|
static TIME_ZONE_OFFSET_HEADER_NAME = "time-zone-offset";
|
|
5
5
|
static attach = createMiddleware(async (c, next) => {
|
|
6
|
-
const
|
|
7
|
-
c.set("timeZoneOffset", tools.Duration.Minutes(
|
|
6
|
+
const offset = tools.TimeZoneOffsetValue.parse(c.req.header(TimeZoneOffset.TIME_ZONE_OFFSET_HEADER_NAME));
|
|
7
|
+
c.set("timeZoneOffset", tools.Duration.Minutes(offset));
|
|
8
8
|
await next();
|
|
9
9
|
});
|
|
10
10
|
static adjustTimestamp(timestamp, offset) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-zone-offset.middleware.js","sourceRoot":"","sources":["../src/time-zone-offset.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,4BAA4B,GAAG,kBAAkB,CAAC;IAEzD,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,
|
|
1
|
+
{"version":3,"file":"time-zone-offset.middleware.js","sourceRoot":"","sources":["../src/time-zone-offset.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,4BAA4B,GAAG,kBAAkB,CAAC;IAEzD,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC1G,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAExD,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,eAAe,CAAC,SAA8B,EAAE,MAAsB;QAC3E,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,SAA8B,EAAE,MAAsB;QACtE,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import type { JsonFileReaderPort } from "./json-file-reader.port";
|
|
2
|
+
import type { LoggerPort } from "./logger.port";
|
|
3
|
+
type Dependencies = {
|
|
4
|
+
JsonFileReader: JsonFileReaderPort;
|
|
5
|
+
Logger: LoggerPort;
|
|
6
|
+
};
|
|
1
7
|
export declare class Translations {
|
|
2
|
-
static build: () => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
|
|
8
|
+
static build: (deps: Dependencies) => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
|
|
3
9
|
translations: {
|
|
4
10
|
[x: string]: string;
|
|
5
11
|
};
|
|
6
12
|
language: string;
|
|
7
13
|
}, import("hono/utils/http-status").ContentfulStatusCode, "json">>>];
|
|
8
14
|
}
|
|
15
|
+
export {};
|
|
9
16
|
//# sourceMappingURL=translations.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.service.d.ts","sourceRoot":"","sources":["../src/translations.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"translations.service.d.ts","sourceRoot":"","sources":["../src/translations.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/E,qBAAa,YAAY;IACvB,MAAM,CAAC,KAAK,GAAI,MAAM,YAAY;;;;;yEAM7B;CACN"}
|
|
@@ -2,9 +2,9 @@ import { createFactory } from "hono/factory";
|
|
|
2
2
|
import { I18n } from "./i18n.service";
|
|
3
3
|
const handler = createFactory();
|
|
4
4
|
export class Translations {
|
|
5
|
-
static build = () => handler.createHandlers(async (c) => {
|
|
5
|
+
static build = (deps) => handler.createHandlers(async (c) => {
|
|
6
6
|
const language = c.get("language");
|
|
7
|
-
const translations = await new I18n().getTranslations(language);
|
|
7
|
+
const translations = await new I18n(deps).getTranslations(language);
|
|
8
8
|
return c.json({ translations, language });
|
|
9
9
|
});
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.service.js","sourceRoot":"","sources":["../src/translations.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"translations.service.js","sourceRoot":"","sources":["../src/translations.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAItC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAIhC,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE,CACpC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC"}
|