@bgord/bun 1.9.0 → 1.9.2
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/basic-auth-password.vo.d.ts +1 -1
- package/dist/basic-auth-password.vo.d.ts.map +1 -1
- package/dist/basic-auth-password.vo.js +1 -1
- package/dist/basic-auth-password.vo.js.map +1 -1
- package/dist/basic-auth-username.vo.d.ts +1 -1
- package/dist/basic-auth-username.vo.d.ts.map +1 -1
- package/dist/basic-auth-username.vo.js +1 -1
- package/dist/basic-auth-username.vo.js.map +1 -1
- package/dist/binary.vo.d.ts +1 -1
- package/dist/binary.vo.d.ts.map +1 -1
- package/dist/binary.vo.js +1 -1
- package/dist/binary.vo.js.map +1 -1
- package/dist/cache-subject-segment-env.strategy.d.ts +3 -3
- package/dist/client-ip.vo.d.ts +1 -1
- package/dist/client-ip.vo.d.ts.map +1 -1
- package/dist/client-ip.vo.js +1 -1
- package/dist/client-ip.vo.js.map +1 -1
- package/dist/client-user-agent.vo.d.ts +1 -1
- package/dist/client-user-agent.vo.d.ts.map +1 -1
- package/dist/client-user-agent.vo.js +1 -1
- package/dist/client-user-agent.vo.js.map +1 -1
- package/dist/command.types.d.ts +1 -1
- package/dist/command.types.d.ts.map +1 -1
- package/dist/commit-sha-value.vo.d.ts +1 -1
- package/dist/commit-sha-value.vo.d.ts.map +1 -1
- package/dist/commit-sha-value.vo.js +1 -1
- package/dist/commit-sha-value.vo.js.map +1 -1
- package/dist/correlation-id.vo.d.ts +1 -1
- package/dist/correlation-id.vo.d.ts.map +1 -1
- package/dist/dispatching-event-store.d.ts +1 -1
- package/dist/dispatching-event-store.d.ts.map +1 -1
- package/dist/encryption-key-value.vo.d.ts +1 -1
- package/dist/encryption-key-value.vo.d.ts.map +1 -1
- package/dist/encryption-key-value.vo.js +1 -1
- package/dist/encryption-key-value.vo.js.map +1 -1
- package/dist/environment-loader-encrypted.adapter.d.ts +4 -4
- package/dist/environment-loader-encrypted.adapter.d.ts.map +1 -1
- package/dist/environment-loader-noop.adapter.d.ts +3 -3
- package/dist/environment-loader-noop.adapter.d.ts.map +1 -1
- package/dist/environment-loader-process-safe.adapter.d.ts +4 -4
- package/dist/environment-loader-process-safe.adapter.d.ts.map +1 -1
- package/dist/environment-loader-process.adapter.d.ts +4 -4
- package/dist/environment-loader-process.adapter.d.ts.map +1 -1
- package/dist/environment-loader.port.d.ts +3 -3
- package/dist/environment-loader.port.d.ts.map +1 -1
- package/dist/event-envelope.d.ts +1 -1
- package/dist/event-envelope.d.ts.map +1 -1
- package/dist/event-envelope.js +1 -1
- package/dist/event-envelope.js.map +1 -1
- package/dist/event-handler-bare.strategy.d.ts +1 -1
- package/dist/event-handler-bare.strategy.d.ts.map +1 -1
- package/dist/event-handler-noop.strategy.d.ts +1 -1
- package/dist/event-handler-noop.strategy.d.ts.map +1 -1
- package/dist/event-handler-with-logger.strategy.d.ts +1 -1
- package/dist/event-handler-with-logger.strategy.d.ts.map +1 -1
- package/dist/event-handler.strategy.d.ts +1 -1
- package/dist/event-handler.strategy.d.ts.map +1 -1
- package/dist/event-store.d.ts +1 -1
- package/dist/event-store.d.ts.map +1 -1
- package/dist/event-stream.vo.d.ts +1 -1
- package/dist/event-stream.vo.d.ts.map +1 -1
- package/dist/event-stream.vo.js +1 -1
- package/dist/event-stream.vo.js.map +1 -1
- package/dist/event.types.d.ts +1 -1
- package/dist/event.types.d.ts.map +1 -1
- package/dist/hash-value.vo.d.ts +1 -1
- package/dist/hash-value.vo.d.ts.map +1 -1
- package/dist/hash-value.vo.js +1 -1
- package/dist/hash-value.vo.js.map +1 -1
- package/dist/hcaptcha-secret-key.vo.d.ts +1 -1
- package/dist/hcaptcha-secret-key.vo.d.ts.map +1 -1
- package/dist/hcaptcha-secret-key.vo.js +1 -1
- package/dist/hcaptcha-secret-key.vo.js.map +1 -1
- package/dist/hcaptcha-site-key.vo.d.ts +1 -1
- package/dist/hcaptcha-site-key.vo.d.ts.map +1 -1
- package/dist/hcaptcha-site-key.vo.js +1 -1
- package/dist/hcaptcha-site-key.vo.js.map +1 -1
- package/dist/healthcheck.service.d.ts +3 -3
- package/dist/logger-winston-local.adapter.d.ts.map +1 -1
- package/dist/logger-winston-local.adapter.js +2 -1
- package/dist/logger-winston-local.adapter.js.map +1 -1
- package/dist/logger-winston-production.adapter.d.ts.map +1 -1
- package/dist/logger-winston-production.adapter.js +3 -2
- package/dist/logger-winston-production.adapter.js.map +1 -1
- package/dist/logger-winston.adapter.d.ts +2 -2
- package/dist/logger.port.d.ts +3 -3
- package/dist/logger.port.d.ts.map +1 -1
- package/dist/logger.port.js +1 -1
- package/dist/logger.port.js.map +1 -1
- package/dist/mailer-content-html.vo.d.ts +1 -1
- package/dist/mailer-content-html.vo.d.ts.map +1 -1
- package/dist/mailer-content-html.vo.js +1 -1
- package/dist/mailer-content-html.vo.js.map +1 -1
- package/dist/mailer-subject.vo.d.ts +1 -1
- package/dist/mailer-subject.vo.d.ts.map +1 -1
- package/dist/mailer-subject.vo.js +1 -1
- package/dist/mailer-subject.vo.js.map +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts.map +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.js +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.js.map +1 -1
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts +1 -1
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts.map +1 -1
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.js +1 -1
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.js.map +1 -1
- package/dist/modules/history/value-objects/history-created-at.d.ts +1 -1
- package/dist/modules/history/value-objects/history-created-at.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-operation.d.ts +1 -1
- package/dist/modules/history/value-objects/history-operation.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-operation.js +1 -1
- package/dist/modules/history/value-objects/history-operation.js.map +1 -1
- package/dist/modules/history/value-objects/history-payload.d.ts +1 -1
- package/dist/modules/history/value-objects/history-payload.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-payload.js +1 -1
- package/dist/modules/history/value-objects/history-payload.js.map +1 -1
- package/dist/modules/history/value-objects/history-subject.d.ts +1 -1
- package/dist/modules/history/value-objects/history-subject.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-subject.js +1 -1
- package/dist/modules/history/value-objects/history-subject.js.map +1 -1
- package/dist/modules/history/value-objects/history.d.ts +1 -1
- package/dist/modules/history/value-objects/history.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history.js +1 -1
- package/dist/modules/history/value-objects/history.js.map +1 -1
- package/dist/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.d.ts +1 -1
- package/dist/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.d.ts.map +1 -1
- package/dist/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.js +1 -1
- package/dist/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.js.map +1 -1
- package/dist/modules/preferences/events/USER_LANGUAGE_SET_EVENT.d.ts +1 -1
- package/dist/modules/preferences/events/USER_LANGUAGE_SET_EVENT.d.ts.map +1 -1
- package/dist/modules/preferences/events/USER_LANGUAGE_SET_EVENT.js +1 -1
- package/dist/modules/preferences/events/USER_LANGUAGE_SET_EVENT.js.map +1 -1
- package/dist/modules/system/events/HOUR_HAS_PASSED_EVENT.d.ts +1 -1
- package/dist/modules/system/events/HOUR_HAS_PASSED_EVENT.d.ts.map +1 -1
- package/dist/modules/system/events/HOUR_HAS_PASSED_EVENT.js +1 -1
- package/dist/modules/system/events/HOUR_HAS_PASSED_EVENT.js.map +1 -1
- package/dist/modules/system/events/MINUTE_HAS_PASSED_EVENT.d.ts +1 -1
- package/dist/modules/system/events/MINUTE_HAS_PASSED_EVENT.d.ts.map +1 -1
- package/dist/modules/system/events/MINUTE_HAS_PASSED_EVENT.js +1 -1
- package/dist/modules/system/events/MINUTE_HAS_PASSED_EVENT.js.map +1 -1
- package/dist/modules/system/events/SECURITY_VIOLATION_DETECTED_EVENT.d.ts +1 -1
- package/dist/modules/system/events/SECURITY_VIOLATION_DETECTED_EVENT.d.ts.map +1 -1
- package/dist/modules/system/events/SECURITY_VIOLATION_DETECTED_EVENT.js +1 -1
- package/dist/modules/system/events/SECURITY_VIOLATION_DETECTED_EVENT.js.map +1 -1
- package/dist/node-env.vo.d.ts +11 -9
- package/dist/node-env.vo.d.ts.map +1 -1
- package/dist/node-env.vo.js +10 -3
- package/dist/node-env.vo.js.map +1 -1
- package/dist/nonce-value.vo.d.ts +1 -1
- package/dist/nonce-value.vo.d.ts.map +1 -1
- package/dist/nonce-value.vo.js +1 -1
- package/dist/nonce-value.vo.js.map +1 -1
- package/dist/port.vo.d.ts +1 -1
- package/dist/port.vo.d.ts.map +1 -1
- package/dist/port.vo.js +1 -1
- package/dist/port.vo.js.map +1 -1
- package/dist/prerequisite-verifier-timezone-utc.adapter.d.ts +1 -1
- package/dist/prerequisite-verifier-timezone-utc.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-timezone-utc.adapter.js +1 -1
- package/dist/prerequisite-verifier-timezone-utc.adapter.js.map +1 -1
- package/dist/recaptcha-secret-key.vo.d.ts +1 -1
- package/dist/recaptcha-secret-key.vo.d.ts.map +1 -1
- package/dist/recaptcha-secret-key.vo.js +1 -1
- package/dist/recaptcha-secret-key.vo.js.map +1 -1
- package/dist/recaptcha-site-key.vo.d.ts +1 -1
- package/dist/recaptcha-site-key.vo.d.ts.map +1 -1
- package/dist/recaptcha-site-key.vo.js +1 -1
- package/dist/recaptcha-site-key.vo.js.map +1 -1
- package/dist/security-countermeasure-name.vo.d.ts +1 -1
- package/dist/security-countermeasure-name.vo.d.ts.map +1 -1
- package/dist/security-countermeasure-name.vo.js +1 -1
- package/dist/security-countermeasure-name.vo.js.map +1 -1
- package/dist/security-rule-name.vo.d.ts +1 -1
- package/dist/security-rule-name.vo.d.ts.map +1 -1
- package/dist/security-rule-name.vo.js +1 -1
- package/dist/security-rule-name.vo.js.map +1 -1
- package/dist/smtp-host.vo.d.ts +1 -1
- package/dist/smtp-host.vo.d.ts.map +1 -1
- package/dist/smtp-host.vo.js +1 -1
- package/dist/smtp-host.vo.js.map +1 -1
- package/dist/smtp-pass.vo.d.ts +1 -1
- package/dist/smtp-pass.vo.d.ts.map +1 -1
- package/dist/smtp-pass.vo.js +1 -1
- package/dist/smtp-pass.vo.js.map +1 -1
- package/dist/smtp-port.vo.d.ts +1 -1
- package/dist/smtp-port.vo.d.ts.map +1 -1
- package/dist/smtp-user.vo.d.ts +1 -1
- package/dist/smtp-user.vo.d.ts.map +1 -1
- package/dist/smtp-user.vo.js +1 -1
- package/dist/smtp-user.vo.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/uuid.vo.d.ts +1 -1
- package/dist/uuid.vo.d.ts.map +1 -1
- package/dist/uuid.vo.js +1 -1
- package/dist/uuid.vo.js.map +1 -1
- package/package.json +4 -3
- package/src/antivirus-clamav.adapter.ts +34 -0
- package/src/antivirus-noop.adapter.ts +8 -0
- package/src/antivirus.port.ts +9 -0
- package/src/api-version.middleware.ts +31 -0
- package/src/basic-auth-password.vo.ts +17 -0
- package/src/basic-auth-username.vo.ts +17 -0
- package/src/basic-auth.service.ts +14 -0
- package/src/better-auth-logger.service.ts +45 -0
- package/src/binary.vo.ts +22 -0
- package/src/bots.vo.ts +132 -0
- package/src/build-info-repository-file.strategy.ts +23 -0
- package/src/build-info-repository-noop.strategy.ts +16 -0
- package/src/build-info-repository-package-json.strategy.ts +25 -0
- package/src/build-info-repository.strategy.ts +13 -0
- package/src/cache-file.service.ts +37 -0
- package/src/cache-repository-lru-cache.adapter.ts +58 -0
- package/src/cache-repository-node-cache.adapter.ts +32 -0
- package/src/cache-repository-noop.adapter.ts +15 -0
- package/src/cache-repository.port.ts +11 -0
- package/src/cache-resolver-simple.strategy.ts +33 -0
- package/src/cache-resolver.strategy.ts +17 -0
- package/src/cache-response.middleware.ts +51 -0
- package/src/cache-subject-application-resolver.vo.ts +34 -0
- package/src/cache-subject-request-resolver.vo.ts +37 -0
- package/src/cache-subject-segment-application.strategy.ts +7 -0
- package/src/cache-subject-segment-build.strategy.ts +14 -0
- package/src/cache-subject-segment-cookie.strategy.ts +14 -0
- package/src/cache-subject-segment-env.strategy.ts +10 -0
- package/src/cache-subject-segment-fixed.strategy.ts +12 -0
- package/src/cache-subject-segment-header.strategy.ts +13 -0
- package/src/cache-subject-segment-ip.strategy.ts +9 -0
- package/src/cache-subject-segment-path.strategy.ts +8 -0
- package/src/cache-subject-segment-query.strategy.ts +18 -0
- package/src/cache-subject-segment-request.strategy.ts +9 -0
- package/src/cache-subject-segment-user.strategy.ts +8 -0
- package/src/certificate-inspector-noop.adapter.ts +10 -0
- package/src/certificate-inspector-tls.adapter.ts +42 -0
- package/src/certificate-inspector.port.ts +7 -0
- package/src/checksum.service.ts +12 -0
- package/src/client-from-hono.adapter.ts +20 -0
- package/src/client-ip.vo.ts +17 -0
- package/src/client-user-agent.vo.ts +17 -0
- package/src/client.vo.ts +52 -0
- package/src/clock-fixed.adapter.ts +14 -0
- package/src/clock-offset.adapter.ts +15 -0
- package/src/clock-system.adapter.ts +8 -0
- package/src/clock.port.ts +5 -0
- package/src/command-envelope.ts +16 -0
- package/src/command-logger.service.ts +23 -0
- package/src/command.types.ts +13 -0
- package/src/commit-sha-value.vo.ts +18 -0
- package/src/commit-sha.vo.ts +29 -0
- package/src/context.middleware.ts +24 -0
- package/src/correlation-id.vo.ts +6 -0
- package/src/correlation-storage.service.ts +31 -0
- package/src/crypto-aes-gcm.service.ts +37 -0
- package/src/crypto-key-provider-file.adapter.ts +29 -0
- package/src/crypto-key-provider-memory.adapter.ts +17 -0
- package/src/crypto-key-provider-noop.adapter.ts +9 -0
- package/src/crypto-key-provider-with-cache.adapter.ts +28 -0
- package/src/crypto-key-provider.port.ts +3 -0
- package/src/csv-stringifier.adapter.ts +8 -0
- package/src/csv-stringifier.port.ts +8 -0
- package/src/disk-space-checker-bun.adapter.ts +18 -0
- package/src/disk-space-checker-noop.adapter.ts +10 -0
- package/src/disk-space-checker.port.ts +5 -0
- package/src/dispatching-event-store.ts +36 -0
- package/src/encryption-aes-gcm.adapter.ts +57 -0
- package/src/encryption-iv.vo.ts +9 -0
- package/src/encryption-key-value.vo.ts +18 -0
- package/src/encryption-key.vo.ts +41 -0
- package/src/encryption-noop.adapter.ts +18 -0
- package/src/encryption.port.ts +12 -0
- package/src/environment-file-parser.service.ts +35 -0
- package/src/environment-loader-encrypted.adapter.ts +31 -0
- package/src/environment-loader-noop.adapter.ts +16 -0
- package/src/environment-loader-process-safe.adapter.ts +35 -0
- package/src/environment-loader-process.adapter.ts +16 -0
- package/src/environment-loader.port.ts +8 -0
- package/src/etag-extractor.middleware.ts +18 -0
- package/src/event-bus-like.types.ts +10 -0
- package/src/event-envelope.ts +27 -0
- package/src/event-handler-bare.strategy.ts +9 -0
- package/src/event-handler-noop.strategy.ts +9 -0
- package/src/event-handler-with-logger.strategy.ts +31 -0
- package/src/event-handler.strategy.ts +8 -0
- package/src/event-logger.service.ts +23 -0
- package/src/event-loop-lag.service.ts +32 -0
- package/src/event-loop-utilization.service.ts +21 -0
- package/src/event-publisher.types.ts +3 -0
- package/src/event-store-like.types.ts +3 -0
- package/src/event-store.ts +64 -0
- package/src/event-stream.vo.ts +14 -0
- package/src/event.types.ts +16 -0
- 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-zip.service.ts +34 -0
- package/src/file-draft.service.ts +33 -0
- package/src/file-reader-json-bun-forgiving.adapter.ts +14 -0
- package/src/file-reader-json-bun.adapter.ts +10 -0
- package/src/file-reader-json-noop.adapter.ts +12 -0
- package/src/file-reader-json-with-cache.adapter.ts +34 -0
- package/src/file-reader-json.port.ts +7 -0
- 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/file-uploader.middleware.ts +39 -0
- package/src/graceful-shutdown.service.ts +68 -0
- package/src/gzip-bun.adapter.ts +12 -0
- package/src/gzip-noop.adapter.ts +7 -0
- package/src/gzip-stream.adapter.ts +19 -0
- package/src/gzip.port.ts +10 -0
- package/src/hash-content-noop.strategy.ts +8 -0
- package/src/hash-content-sha256-bun.strategy.ts +11 -0
- package/src/hash-content.strategy.ts +5 -0
- package/src/hash-file-noop.adapter.ts +14 -0
- package/src/hash-file-sha256-bun.adapter.ts +23 -0
- package/src/hash-file.port.ts +13 -0
- package/src/hash-value.vo.ts +15 -0
- package/src/hash.vo.ts +29 -0
- package/src/hcaptcha-secret-key.vo.ts +15 -0
- package/src/hcaptcha-site-key.vo.ts +12 -0
- package/src/healthcheck.service.ts +138 -0
- package/src/http-logger.middleware.ts +100 -0
- package/src/i18n.service.ts +62 -0
- package/src/id-provider-crypto.adapter.ts +8 -0
- package/src/id-provider-deterministic.adapter.ts +21 -0
- package/src/id-provider.port.ts +5 -0
- package/src/image-alpha-noop.adapter.ts +7 -0
- package/src/image-alpha-sharp.adapter.ts +38 -0
- package/src/image-alpha.port.ts +19 -0
- package/src/image-blur-noop.adapter.ts +7 -0
- package/src/image-blur-sharp.adapter.ts +33 -0
- package/src/image-blur.port.ts +18 -0
- package/src/image-compressor-noop.adapter.ts +7 -0
- package/src/image-compressor-sharp.adapter.ts +36 -0
- package/src/image-compressor.port.ts +18 -0
- package/src/image-exif-clear-noop.adapter.ts +7 -0
- package/src/image-exif-clear-sharp.adapter.ts +30 -0
- package/src/image-exif-clear.port.ts +16 -0
- package/src/image-formatter-noop.adapter.ts +10 -0
- package/src/image-formatter-sharp.adapter.ts +40 -0
- package/src/image-formatter.port.ts +17 -0
- package/src/image-info-noop.adapter.ts +15 -0
- package/src/image-info-sharp.adapter.ts +27 -0
- package/src/image-info.port.ts +12 -0
- package/src/image-processor-noop.adapter.ts +10 -0
- package/src/image-processor-sharp.adapter.ts +60 -0
- package/src/image-processor.port.ts +25 -0
- package/src/image-resizer-noop.adapter.ts +7 -0
- package/src/image-resizer-sharp.adapter.ts +41 -0
- package/src/image-resizer.port.ts +18 -0
- package/src/in-flight-requests-tracker.service.ts +22 -0
- package/src/in-flight-requests.middleware.ts +15 -0
- package/src/index.ts +307 -0
- package/src/instrumentation.service.ts +39 -0
- package/src/invariant-error-handler.service.ts +22 -0
- package/src/invariant.service.ts +27 -0
- package/src/job-handler-bare.strategy.ts +15 -0
- package/src/job-handler-noop.strategy.ts +9 -0
- package/src/job-handler-with-logger.strategy.ts +44 -0
- package/src/job-handler.strategy.ts +10 -0
- package/src/jobs.service.ts +16 -0
- package/src/logger-format-error.service.ts +27 -0
- package/src/logger-noop.adapter.ts +17 -0
- package/src/logger-winston-local.adapter.ts +24 -0
- package/src/logger-winston-production.adapter.ts +38 -0
- package/src/logger-winston.adapter.ts +63 -0
- package/src/logger.port.ts +64 -0
- package/src/mailer-content-html.vo.ts +11 -0
- package/src/mailer-noop.adapter.ts +21 -0
- package/src/mailer-smtp-with-logger.adapter.ts +33 -0
- package/src/mailer-smtp.adapter.ts +33 -0
- package/src/mailer-subject.vo.ts +10 -0
- package/src/mailer.port.ts +6 -0
- package/src/maintenance-mode.middleware.ts +15 -0
- package/src/memory-consumption.service.ts +23 -0
- package/src/modules/history/event-handlers/index.ts +2 -0
- package/src/modules/history/event-handlers/onHistoryClearedEvent.ts +6 -0
- package/src/modules/history/event-handlers/onHistoryPopulatedEvent.ts +10 -0
- package/src/modules/history/events/HISTORY_CLEARED_EVENT.ts +13 -0
- package/src/modules/history/events/HISTORY_POPULATED_EVENT.ts +17 -0
- package/src/modules/history/events/index.ts +2 -0
- package/src/modules/history/index.ts +4 -0
- package/src/modules/history/ports/history-projection.ts +7 -0
- package/src/modules/history/ports/history-reader.ts +5 -0
- package/src/modules/history/ports/history-writer.ts +7 -0
- package/src/modules/history/ports/index.ts +3 -0
- package/src/modules/history/value-objects/history-created-at.ts +6 -0
- package/src/modules/history/value-objects/history-id.ts +3 -0
- package/src/modules/history/value-objects/history-operation.ts +12 -0
- package/src/modules/history/value-objects/history-payload.ts +15 -0
- package/src/modules/history/value-objects/history-subject.ts +14 -0
- package/src/modules/history/value-objects/history.ts +26 -0
- package/src/modules/history/value-objects/index.ts +6 -0
- package/src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts +36 -0
- package/src/modules/preferences/command-handlers/index.ts +1 -0
- package/src/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.ts +14 -0
- package/src/modules/preferences/commands/index.ts +1 -0
- package/src/modules/preferences/events/USER_LANGUAGE_SET_EVENT.ts +14 -0
- package/src/modules/preferences/events/index.ts +1 -0
- package/src/modules/preferences/index.ts +7 -0
- package/src/modules/preferences/invariants/index.ts +1 -0
- package/src/modules/preferences/invariants/user-language-has-changed.ts +26 -0
- package/src/modules/preferences/open-host-queries/index.ts +1 -0
- package/src/modules/preferences/open-host-queries/user-language.ts +23 -0
- package/src/modules/preferences/ports/index.ts +2 -0
- package/src/modules/preferences/ports/user-language-query.ts +5 -0
- package/src/modules/preferences/ports/user-language-resolver.ts +22 -0
- package/src/modules/preferences/value-objects/index.ts +1 -0
- package/src/modules/preferences/value-objects/supported-languages-set.ts +17 -0
- package/src/modules/system/events/HOUR_HAS_PASSED_EVENT.ts +13 -0
- package/src/modules/system/events/MINUTE_HAS_PASSED_EVENT.ts +13 -0
- package/src/modules/system/events/SECURITY_VIOLATION_DETECTED_EVENT.ts +23 -0
- package/src/modules/system/events/index.ts +3 -0
- package/src/modules/system/index.ts +2 -0
- package/src/modules/system/services/index.ts +2 -0
- package/src/modules/system/services/passage-of-time-hourly.service.ts +35 -0
- package/src/modules/system/services/passage-of-time-minute.service.ts +35 -0
- package/src/node-env.vo.ts +12 -0
- package/src/nonce-provider-crypto.adapter.ts +18 -0
- package/src/nonce-provider-deterministic.adapter.ts +21 -0
- package/src/nonce-provider-noop.adapter.ts +8 -0
- package/src/nonce-provider.port.ts +5 -0
- package/src/nonce-value.vo.ts +18 -0
- package/src/pdf-generator-noop.adapter.ts +23 -0
- package/src/pdf-generator.port.ts +5 -0
- package/src/ping.service.ts +7 -0
- package/src/port.vo.ts +14 -0
- package/src/prerequisite-runner-startup.service.ts +44 -0
- package/src/prerequisite-verifier-binary.adapter.ts +21 -0
- package/src/prerequisite-verifier-bun.adapter.ts +21 -0
- package/src/prerequisite-verifier-clock-drift.adapter.ts +32 -0
- package/src/prerequisite-verifier-directory.adapter.ts +48 -0
- package/src/prerequisite-verifier-dns.adapter.ts +20 -0
- package/src/prerequisite-verifier-external-api.adapter.ts +20 -0
- package/src/prerequisite-verifier-file.adapter.ts +49 -0
- package/src/prerequisite-verifier-jobs.adapter.ts +15 -0
- package/src/prerequisite-verifier-log-file.adapter.ts +29 -0
- package/src/prerequisite-verifier-mailer.adapter.ts +22 -0
- package/src/prerequisite-verifier-memory.adapter.ts +22 -0
- package/src/prerequisite-verifier-node.adapter.ts +21 -0
- package/src/prerequisite-verifier-os.adapter.ts +22 -0
- package/src/prerequisite-verifier-outside-connectivity.adapter.ts +23 -0
- package/src/prerequisite-verifier-port.adapter.ts +23 -0
- package/src/prerequisite-verifier-ram.adapter.ts +20 -0
- package/src/prerequisite-verifier-running-user.adapter.ts +17 -0
- package/src/prerequisite-verifier-self.adapter.ts +11 -0
- package/src/prerequisite-verifier-space.adapter.ts +32 -0
- package/src/prerequisite-verifier-sqlite.adapter.ts +25 -0
- package/src/prerequisite-verifier-ssl-certificate-expiry.adapter.ts +28 -0
- package/src/prerequisite-verifier-timezone-utc.adapter.ts +20 -0
- package/src/prerequisite-verifier-translations.adapter.ts +65 -0
- package/src/prerequisite-verifier-with-cache.adapter.ts +35 -0
- package/src/prerequisite-verifier-with-fail-safe.adapter.ts +37 -0
- package/src/prerequisite-verifier-with-logger.adapter.ts +51 -0
- package/src/prerequisite-verifier-with-retry.adapter.ts +35 -0
- package/src/prerequisite-verifier-with-timeout.adapter.ts +31 -0
- package/src/prerequisite-verifier.decorator.ts +49 -0
- package/src/prerequisite-verifier.port.ts +38 -0
- package/src/prerequisite.vo.ts +28 -0
- package/src/recaptcha-secret-key.vo.ts +15 -0
- package/src/recaptcha-site-key.vo.ts +12 -0
- package/src/redactor-compact-array.strategy.ts +10 -0
- package/src/redactor-compact-object.strategy.ts +25 -0
- package/src/redactor-composite.strategy.ts +9 -0
- package/src/redactor-mask.strategy.ts +38 -0
- package/src/redactor-noop.strategy.ts +7 -0
- package/src/redactor.strategy.ts +3 -0
- package/src/remote-file-storage-disk.adapter.ts +72 -0
- package/src/remote-file-storage-noop.adapter.ts +70 -0
- package/src/remote-file-storage.port.ts +17 -0
- package/src/retry-backoff-exponential.strategy.ts +10 -0
- package/src/retry-backoff-fibonacci.strategy.ts +16 -0
- package/src/retry-backoff-linear.strategy.ts +10 -0
- package/src/retry-backoff-noop.strategy.ts +8 -0
- package/src/retry-backoff.strategy.ts +5 -0
- package/src/retry.service.ts +37 -0
- package/src/safe-parse-body.service.ts +12 -0
- package/src/sealer-aes-gcm.adapter.ts +38 -0
- package/src/sealer-noop.adapter.ts +11 -0
- package/src/sealer.port.ts +4 -0
- package/src/security-context.vo.ts +13 -0
- package/src/security-countermeasure-ban.strategy.ts +63 -0
- package/src/security-countermeasure-mirage.strategy.ts +31 -0
- package/src/security-countermeasure-name.vo.ts +22 -0
- package/src/security-countermeasure-noop.strategy.ts +12 -0
- package/src/security-countermeasure-report.strategy.ts +27 -0
- package/src/security-countermeasure-tarpit.strategy.ts +31 -0
- package/src/security-countermeasure.strategy.ts +16 -0
- package/src/security-policy.vo.ts +9 -0
- package/src/security-rule-and.strategy.ts +25 -0
- package/src/security-rule-bait-routes.strategy.ts +15 -0
- package/src/security-rule-fail.strategy.ts +12 -0
- package/src/security-rule-honey-pot-field.strategy.ts +20 -0
- package/src/security-rule-name.vo.ts +22 -0
- package/src/security-rule-or.strategy.ts +25 -0
- package/src/security-rule-pass.strategy.ts +12 -0
- package/src/security-rule-user-agent.strategy.ts +20 -0
- package/src/security-rule-violation-threshold.strategy.ts +50 -0
- package/src/security-rule.strategy.ts +8 -0
- package/src/setup.service.ts +102 -0
- package/src/shield-api-key.strategy.ts +20 -0
- package/src/shield-auth.strategy.ts +38 -0
- package/src/shield-basic-auth.strategy.ts +17 -0
- package/src/shield-csrf.strategy.ts +23 -0
- package/src/shield-hcaptcha-local.strategy.ts +22 -0
- package/src/shield-hcaptcha.strategy.ts +24 -0
- package/src/shield-noop.strategy.ts +6 -0
- package/src/shield-rate-limit.strategy.ts +41 -0
- package/src/shield-recaptcha.strategy.ts +49 -0
- package/src/shield-security.strategy.ts +80 -0
- package/src/shield-timeout.strategy.ts +19 -0
- package/src/shield.strategy.ts +5 -0
- package/src/simulated-error.middleware.ts +8 -0
- package/src/sleeper-noop.adapter.ts +5 -0
- package/src/sleeper-system.adapter.ts +8 -0
- package/src/sleeper.port.ts +5 -0
- package/src/slower.middleware.ts +14 -0
- package/src/smtp-host.vo.ts +17 -0
- package/src/smtp-pass.vo.ts +17 -0
- package/src/smtp-port.vo.ts +5 -0
- package/src/smtp-user.vo.ts +17 -0
- package/src/ssr.ts +57 -0
- package/src/static-files.service.ts +85 -0
- package/src/stopwatch.service.ts +30 -0
- package/src/temporary-file-absolute.adapter.ts +31 -0
- package/src/temporary-file-noop.adapter.ts +16 -0
- package/src/temporary-file.port.ts +9 -0
- package/src/time-zone-offset.middleware.ts +24 -0
- package/src/timekeeper-google.adapter.ts +18 -0
- package/src/timekeeper-noop.adapter.ts +12 -0
- package/src/timekeeper.port.ts +5 -0
- package/src/timeout-cancellable-runner-bare.adapter.ts +35 -0
- package/src/timeout-cancellable-runner-noop.adapter.ts +9 -0
- package/src/timeout-cancellable-runner.port.ts +7 -0
- package/src/timeout-runner-bare.adapter.ts +23 -0
- package/src/timeout-runner-error.adapter.ts +8 -0
- package/src/timeout-runner-monitor.adapter.ts +24 -0
- package/src/timeout-runner-noop.adapter.ts +8 -0
- package/src/timeout-runner.port.ts +7 -0
- package/src/to-event-map.types.ts +3 -0
- package/src/translations.service.ts +20 -0
- package/src/uptime.service.ts +17 -0
- package/src/uuid.vo.ts +7 -0
- package/src/visitor-id-client.strategy.ts +20 -0
- package/src/visitor-id.strategy.ts +5 -0
- package/src/weak-etag-extractor.middleware.ts +17 -0
package/src/index.ts
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
export * from "./antivirus.port";
|
|
2
|
+
export * from "./antivirus-clamav.adapter";
|
|
3
|
+
export * from "./antivirus-noop.adapter";
|
|
4
|
+
export * from "./api-version.middleware";
|
|
5
|
+
export * from "./basic-auth.service";
|
|
6
|
+
export * from "./basic-auth-password.vo";
|
|
7
|
+
export * from "./basic-auth-username.vo";
|
|
8
|
+
export * from "./better-auth-logger.service";
|
|
9
|
+
export * from "./binary.vo";
|
|
10
|
+
export * from "./bots.vo";
|
|
11
|
+
export * from "./build-info-repository.strategy";
|
|
12
|
+
export * from "./build-info-repository-file.strategy";
|
|
13
|
+
export * from "./build-info-repository-noop.strategy";
|
|
14
|
+
export * from "./build-info-repository-package-json.strategy";
|
|
15
|
+
export * from "./cache-file.service";
|
|
16
|
+
export * from "./cache-repository.port";
|
|
17
|
+
export * from "./cache-repository-lru-cache.adapter";
|
|
18
|
+
export * from "./cache-repository-node-cache.adapter";
|
|
19
|
+
export * from "./cache-repository-noop.adapter";
|
|
20
|
+
export * from "./cache-resolver.strategy";
|
|
21
|
+
export * from "./cache-resolver-simple.strategy";
|
|
22
|
+
export * from "./cache-response.middleware";
|
|
23
|
+
export * from "./cache-subject-application-resolver.vo";
|
|
24
|
+
export * from "./cache-subject-request-resolver.vo";
|
|
25
|
+
export * from "./cache-subject-segment-application.strategy";
|
|
26
|
+
export * from "./cache-subject-segment-build.strategy";
|
|
27
|
+
export * from "./cache-subject-segment-cookie.strategy";
|
|
28
|
+
export * from "./cache-subject-segment-env.strategy";
|
|
29
|
+
export * from "./cache-subject-segment-fixed.strategy";
|
|
30
|
+
export * from "./cache-subject-segment-header.strategy";
|
|
31
|
+
export * from "./cache-subject-segment-ip.strategy";
|
|
32
|
+
export * from "./cache-subject-segment-path.strategy";
|
|
33
|
+
export * from "./cache-subject-segment-query.strategy";
|
|
34
|
+
export * from "./cache-subject-segment-request.strategy";
|
|
35
|
+
export * from "./cache-subject-segment-user.strategy";
|
|
36
|
+
export * from "./certificate-inspector.port";
|
|
37
|
+
export * from "./certificate-inspector-noop.adapter";
|
|
38
|
+
export * from "./certificate-inspector-tls.adapter";
|
|
39
|
+
export * from "./checksum.service";
|
|
40
|
+
export * from "./client.vo";
|
|
41
|
+
export * from "./client-from-hono.adapter";
|
|
42
|
+
export * from "./client-ip.vo";
|
|
43
|
+
export * from "./client-user-agent.vo";
|
|
44
|
+
export * from "./clock.port";
|
|
45
|
+
export * from "./clock-fixed.adapter";
|
|
46
|
+
export * from "./clock-offset.adapter";
|
|
47
|
+
export * from "./clock-system.adapter";
|
|
48
|
+
export * from "./command.types";
|
|
49
|
+
export * from "./command-envelope";
|
|
50
|
+
export * from "./command-logger.service";
|
|
51
|
+
export * from "./commit-sha.vo";
|
|
52
|
+
export * from "./commit-sha-value.vo";
|
|
53
|
+
export * from "./context.middleware";
|
|
54
|
+
export * from "./correlation-id.vo";
|
|
55
|
+
export * from "./correlation-storage.service";
|
|
56
|
+
export * from "./crypto-key-provider.port";
|
|
57
|
+
export * from "./crypto-key-provider-file.adapter";
|
|
58
|
+
export * from "./crypto-key-provider-memory.adapter";
|
|
59
|
+
export * from "./crypto-key-provider-noop.adapter";
|
|
60
|
+
export * from "./crypto-key-provider-with-cache.adapter";
|
|
61
|
+
export * from "./csv-stringifier.adapter";
|
|
62
|
+
export * from "./csv-stringifier.port";
|
|
63
|
+
export * from "./disk-space-checker.port";
|
|
64
|
+
export * from "./disk-space-checker-bun.adapter";
|
|
65
|
+
export * from "./disk-space-checker-noop.adapter";
|
|
66
|
+
export * from "./dispatching-event-store";
|
|
67
|
+
export * from "./encryption.port";
|
|
68
|
+
export * from "./encryption-aes-gcm.adapter";
|
|
69
|
+
export * from "./encryption-key.vo";
|
|
70
|
+
export * from "./encryption-key-value.vo";
|
|
71
|
+
export * from "./encryption-noop.adapter";
|
|
72
|
+
export * from "./environment-file-parser.service";
|
|
73
|
+
export * from "./environment-loader.port";
|
|
74
|
+
export * from "./environment-loader-encrypted.adapter";
|
|
75
|
+
export * from "./environment-loader-noop.adapter";
|
|
76
|
+
export * from "./environment-loader-process.adapter";
|
|
77
|
+
export * from "./environment-loader-process-safe.adapter";
|
|
78
|
+
export * from "./etag-extractor.middleware";
|
|
79
|
+
export * from "./event.types";
|
|
80
|
+
export * from "./event-bus-like.types";
|
|
81
|
+
export * from "./event-envelope";
|
|
82
|
+
export * from "./event-handler.strategy";
|
|
83
|
+
export * from "./event-handler-bare.strategy";
|
|
84
|
+
export * from "./event-handler-noop.strategy";
|
|
85
|
+
export * from "./event-handler-with-logger.strategy";
|
|
86
|
+
export * from "./event-logger.service";
|
|
87
|
+
export * from "./event-loop-lag.service";
|
|
88
|
+
export * from "./event-loop-utilization.service";
|
|
89
|
+
export * from "./event-store";
|
|
90
|
+
export * from "./event-store-like.types";
|
|
91
|
+
export * from "./event-stream.vo";
|
|
92
|
+
export * from "./file-cleaner.port";
|
|
93
|
+
export * from "./file-cleaner-bun.adapter";
|
|
94
|
+
export * from "./file-cleaner-bun-forgiving.adapter";
|
|
95
|
+
export * from "./file-cleaner-noop.adapter";
|
|
96
|
+
export * from "./file-draft.service";
|
|
97
|
+
export * from "./file-draft-zip.service";
|
|
98
|
+
export * from "./file-reader-json.port";
|
|
99
|
+
export * from "./file-reader-json-bun.adapter";
|
|
100
|
+
export * from "./file-reader-json-bun-forgiving.adapter";
|
|
101
|
+
export * from "./file-reader-json-noop.adapter";
|
|
102
|
+
export * from "./file-reader-json-with-cache.adapter";
|
|
103
|
+
export * from "./file-renamer.port";
|
|
104
|
+
export * from "./file-renamer.port";
|
|
105
|
+
export * from "./file-renamer-fs.adapter";
|
|
106
|
+
export * from "./file-renamer-fs.adapter";
|
|
107
|
+
export * from "./file-renamer-fs-forgiving.adapter";
|
|
108
|
+
export * from "./file-renamer-fs-forgiving.adapter";
|
|
109
|
+
export * from "./file-renamer-noop.adapter";
|
|
110
|
+
export * from "./file-renamer-noop.adapter";
|
|
111
|
+
export * from "./file-uploader.middleware";
|
|
112
|
+
export * from "./graceful-shutdown.service";
|
|
113
|
+
export * from "./gzip.port";
|
|
114
|
+
export * from "./gzip-bun.adapter";
|
|
115
|
+
export * from "./gzip-noop.adapter";
|
|
116
|
+
export * from "./gzip-stream.adapter";
|
|
117
|
+
export * from "./hash.vo";
|
|
118
|
+
export * from "./hash-content.strategy";
|
|
119
|
+
export * from "./hash-content-noop.strategy";
|
|
120
|
+
export * from "./hash-content-sha256-bun.strategy";
|
|
121
|
+
export * from "./hash-file.port";
|
|
122
|
+
export * from "./hash-file-noop.adapter";
|
|
123
|
+
export * from "./hash-file-sha256-bun.adapter";
|
|
124
|
+
export * from "./hash-value.vo";
|
|
125
|
+
export * from "./hcaptcha-secret-key.vo";
|
|
126
|
+
export * from "./hcaptcha-site-key.vo";
|
|
127
|
+
export * from "./healthcheck.service";
|
|
128
|
+
export * from "./http-logger.middleware";
|
|
129
|
+
export * from "./i18n.service";
|
|
130
|
+
export * from "./id-provider.port";
|
|
131
|
+
export * from "./id-provider-crypto.adapter";
|
|
132
|
+
export * from "./id-provider-deterministic.adapter";
|
|
133
|
+
export * from "./image-alpha.port";
|
|
134
|
+
export * from "./image-alpha-noop.adapter";
|
|
135
|
+
export * from "./image-alpha-sharp.adapter";
|
|
136
|
+
export * from "./image-blur.port";
|
|
137
|
+
export * from "./image-blur-noop.adapter";
|
|
138
|
+
export * from "./image-blur-sharp.adapter";
|
|
139
|
+
export * from "./image-compressor.port";
|
|
140
|
+
export * from "./image-compressor-noop.adapter";
|
|
141
|
+
export * from "./image-compressor-sharp.adapter";
|
|
142
|
+
export * from "./image-exif-clear.port";
|
|
143
|
+
export * from "./image-exif-clear-noop.adapter";
|
|
144
|
+
export * from "./image-exif-clear-sharp.adapter";
|
|
145
|
+
export * from "./image-formatter.port";
|
|
146
|
+
export * from "./image-formatter-noop.adapter";
|
|
147
|
+
export * from "./image-formatter-sharp.adapter";
|
|
148
|
+
export * from "./image-info.port";
|
|
149
|
+
export * from "./image-info-noop.adapter";
|
|
150
|
+
export * from "./image-info-sharp.adapter";
|
|
151
|
+
export * from "./image-processor.port";
|
|
152
|
+
export * from "./image-processor-noop.adapter";
|
|
153
|
+
export * from "./image-processor-sharp.adapter";
|
|
154
|
+
export * from "./image-resizer.port";
|
|
155
|
+
export * from "./image-resizer-noop.adapter";
|
|
156
|
+
export * from "./image-resizer-sharp.adapter";
|
|
157
|
+
export * from "./in-flight-requests.middleware";
|
|
158
|
+
export * from "./instrumentation.service";
|
|
159
|
+
export * from "./invariant.service";
|
|
160
|
+
export * from "./invariant-error-handler.service";
|
|
161
|
+
export * from "./job-handler.strategy";
|
|
162
|
+
export * from "./job-handler-bare.strategy";
|
|
163
|
+
export * from "./job-handler-noop.strategy";
|
|
164
|
+
export * from "./job-handler-with-logger.strategy";
|
|
165
|
+
export * from "./jobs.service";
|
|
166
|
+
export * from "./logger.port";
|
|
167
|
+
export * from "./logger-format-error.service";
|
|
168
|
+
export * from "./logger-noop.adapter";
|
|
169
|
+
export * from "./logger-winston.adapter";
|
|
170
|
+
export * from "./logger-winston-local.adapter";
|
|
171
|
+
export * from "./logger-winston-production.adapter";
|
|
172
|
+
export * from "./mailer.port";
|
|
173
|
+
export * from "./mailer-content-html.vo";
|
|
174
|
+
export * from "./mailer-noop.adapter";
|
|
175
|
+
export * from "./mailer-smtp.adapter";
|
|
176
|
+
export * from "./mailer-smtp-with-logger.adapter";
|
|
177
|
+
export * from "./mailer-subject.vo";
|
|
178
|
+
export * from "./maintenance-mode.middleware";
|
|
179
|
+
export * from "./memory-consumption.service";
|
|
180
|
+
export * as History from "./modules/history";
|
|
181
|
+
export * as Preferences from "./modules/preferences";
|
|
182
|
+
export * as System from "./modules/system";
|
|
183
|
+
export * from "./node-env.vo";
|
|
184
|
+
export * from "./nonce-provider.port";
|
|
185
|
+
export * from "./nonce-provider-crypto.adapter";
|
|
186
|
+
export * from "./nonce-provider-deterministic.adapter";
|
|
187
|
+
export * from "./nonce-provider-noop.adapter";
|
|
188
|
+
export * from "./nonce-value.vo";
|
|
189
|
+
export * from "./pdf-generator.port";
|
|
190
|
+
export * from "./pdf-generator-noop.adapter";
|
|
191
|
+
export * from "./ping.service";
|
|
192
|
+
export * from "./port.vo";
|
|
193
|
+
export * from "./prerequisite.vo";
|
|
194
|
+
export * from "./prerequisite-runner-startup.service";
|
|
195
|
+
export * from "./prerequisite-verifier.decorator";
|
|
196
|
+
export * from "./prerequisite-verifier.port";
|
|
197
|
+
export * from "./prerequisite-verifier-binary.adapter";
|
|
198
|
+
export * from "./prerequisite-verifier-bun.adapter";
|
|
199
|
+
export * from "./prerequisite-verifier-clock-drift.adapter";
|
|
200
|
+
export * from "./prerequisite-verifier-directory.adapter";
|
|
201
|
+
export * from "./prerequisite-verifier-dns.adapter";
|
|
202
|
+
export * from "./prerequisite-verifier-external-api.adapter";
|
|
203
|
+
export * from "./prerequisite-verifier-file.adapter";
|
|
204
|
+
export * from "./prerequisite-verifier-jobs.adapter";
|
|
205
|
+
export * from "./prerequisite-verifier-log-file.adapter";
|
|
206
|
+
export * from "./prerequisite-verifier-mailer.adapter";
|
|
207
|
+
export * from "./prerequisite-verifier-memory.adapter";
|
|
208
|
+
export * from "./prerequisite-verifier-node.adapter";
|
|
209
|
+
export * from "./prerequisite-verifier-os.adapter";
|
|
210
|
+
export * from "./prerequisite-verifier-outside-connectivity.adapter";
|
|
211
|
+
export * from "./prerequisite-verifier-port.adapter";
|
|
212
|
+
export * from "./prerequisite-verifier-ram.adapter";
|
|
213
|
+
export * from "./prerequisite-verifier-running-user.adapter";
|
|
214
|
+
export * from "./prerequisite-verifier-self.adapter";
|
|
215
|
+
export * from "./prerequisite-verifier-space.adapter";
|
|
216
|
+
export * from "./prerequisite-verifier-sqlite.adapter";
|
|
217
|
+
export * from "./prerequisite-verifier-ssl-certificate-expiry.adapter";
|
|
218
|
+
export * from "./prerequisite-verifier-timezone-utc.adapter";
|
|
219
|
+
export * from "./prerequisite-verifier-translations.adapter";
|
|
220
|
+
export * from "./recaptcha-secret-key.vo";
|
|
221
|
+
export * from "./recaptcha-site-key.vo";
|
|
222
|
+
export * from "./redactor.strategy";
|
|
223
|
+
export * from "./redactor-compact-array.strategy";
|
|
224
|
+
export * from "./redactor-compact-object.strategy";
|
|
225
|
+
export * from "./redactor-composite.strategy";
|
|
226
|
+
// export * from "./redactor-encrypt.strategy";
|
|
227
|
+
export * from "./redactor-mask.strategy";
|
|
228
|
+
export * from "./redactor-noop.strategy";
|
|
229
|
+
export * from "./remote-file-storage.port";
|
|
230
|
+
export * from "./remote-file-storage-disk.adapter";
|
|
231
|
+
export * from "./remote-file-storage-noop.adapter";
|
|
232
|
+
export * from "./retry.service";
|
|
233
|
+
export * from "./retry-backoff.strategy";
|
|
234
|
+
export * from "./retry-backoff-exponential.strategy";
|
|
235
|
+
export * from "./retry-backoff-fibonacci.strategy";
|
|
236
|
+
export * from "./retry-backoff-linear.strategy";
|
|
237
|
+
export * from "./retry-backoff-noop.strategy";
|
|
238
|
+
export * from "./safe-parse-body.service";
|
|
239
|
+
export * from "./sealer.port";
|
|
240
|
+
export * from "./sealer-aes-gcm.adapter";
|
|
241
|
+
export * from "./sealer-noop.adapter";
|
|
242
|
+
export * from "./security-context.vo";
|
|
243
|
+
export * from "./security-countermeasure.strategy";
|
|
244
|
+
export * from "./security-countermeasure-ban.strategy";
|
|
245
|
+
export * from "./security-countermeasure-mirage.strategy";
|
|
246
|
+
export * from "./security-countermeasure-name.vo";
|
|
247
|
+
export * from "./security-countermeasure-noop.strategy";
|
|
248
|
+
export * from "./security-countermeasure-report.strategy";
|
|
249
|
+
export * from "./security-countermeasure-tarpit.strategy";
|
|
250
|
+
export * from "./security-policy.vo";
|
|
251
|
+
export * from "./security-rule.strategy";
|
|
252
|
+
export * from "./security-rule-and.strategy";
|
|
253
|
+
export * from "./security-rule-bait-routes.strategy";
|
|
254
|
+
export * from "./security-rule-fail.strategy";
|
|
255
|
+
export * from "./security-rule-honey-pot-field.strategy";
|
|
256
|
+
export * from "./security-rule-name.vo";
|
|
257
|
+
export * from "./security-rule-or.strategy";
|
|
258
|
+
export * from "./security-rule-pass.strategy";
|
|
259
|
+
export * from "./security-rule-user-agent.strategy";
|
|
260
|
+
export * from "./security-rule-violation-threshold.strategy";
|
|
261
|
+
export * from "./setup.service";
|
|
262
|
+
export * from "./shield.strategy";
|
|
263
|
+
export * from "./shield-api-key.strategy";
|
|
264
|
+
export * from "./shield-auth.strategy";
|
|
265
|
+
export * from "./shield-basic-auth.strategy";
|
|
266
|
+
export * from "./shield-csrf.strategy";
|
|
267
|
+
export * from "./shield-hcaptcha.strategy";
|
|
268
|
+
export * from "./shield-hcaptcha-local.strategy";
|
|
269
|
+
export * from "./shield-noop.strategy";
|
|
270
|
+
export * from "./shield-rate-limit.strategy";
|
|
271
|
+
export * from "./shield-recaptcha.strategy";
|
|
272
|
+
export * from "./shield-security.strategy";
|
|
273
|
+
export * from "./shield-timeout.strategy";
|
|
274
|
+
export * from "./simulated-error.middleware";
|
|
275
|
+
export * from "./sleeper.port";
|
|
276
|
+
export * from "./sleeper-noop.adapter";
|
|
277
|
+
export * from "./sleeper-system.adapter";
|
|
278
|
+
export * from "./slower.middleware";
|
|
279
|
+
export * from "./smtp-host.vo";
|
|
280
|
+
export * from "./smtp-pass.vo";
|
|
281
|
+
export * from "./smtp-port.vo";
|
|
282
|
+
export * from "./smtp-user.vo";
|
|
283
|
+
export * from "./ssr";
|
|
284
|
+
export * from "./static-files.service";
|
|
285
|
+
export * from "./stopwatch.service";
|
|
286
|
+
export * from "./temporary-file.port";
|
|
287
|
+
export * from "./temporary-file-absolute.adapter";
|
|
288
|
+
export * from "./temporary-file-noop.adapter";
|
|
289
|
+
export * from "./time-zone-offset.middleware";
|
|
290
|
+
export * from "./timekeeper.port";
|
|
291
|
+
export * from "./timekeeper-google.adapter";
|
|
292
|
+
export * from "./timekeeper-noop.adapter";
|
|
293
|
+
export * from "./timeout-cancellable-runner.port";
|
|
294
|
+
export * from "./timeout-cancellable-runner-bare.adapter";
|
|
295
|
+
export * from "./timeout-cancellable-runner-noop.adapter";
|
|
296
|
+
export * from "./timeout-runner.port";
|
|
297
|
+
export * from "./timeout-runner-bare.adapter";
|
|
298
|
+
export * from "./timeout-runner-error.adapter";
|
|
299
|
+
export * from "./timeout-runner-monitor.adapter";
|
|
300
|
+
export * from "./timeout-runner-noop.adapter";
|
|
301
|
+
export * from "./to-event-map.types";
|
|
302
|
+
export * from "./translations.service";
|
|
303
|
+
export * from "./uptime.service";
|
|
304
|
+
export * from "./uuid.vo";
|
|
305
|
+
export * from "./visitor-id.strategy";
|
|
306
|
+
export * from "./visitor-id-client.strategy";
|
|
307
|
+
export * from "./weak-etag-extractor.middleware";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ClockPort } from "./clock.port";
|
|
2
|
+
import type { LoggerPort } from "./logger.port";
|
|
3
|
+
import { Stopwatch } from "./stopwatch.service";
|
|
4
|
+
|
|
5
|
+
type Dependencies = { Logger: LoggerPort; Clock: ClockPort };
|
|
6
|
+
|
|
7
|
+
export class Instrumentation {
|
|
8
|
+
constructor(private readonly deps: Dependencies) {}
|
|
9
|
+
|
|
10
|
+
measure<T>(label: string, action: () => T): T {
|
|
11
|
+
const stopwatch = new Stopwatch(this.deps);
|
|
12
|
+
|
|
13
|
+
const result = action();
|
|
14
|
+
|
|
15
|
+
this.deps.Logger.info({
|
|
16
|
+
message: `${label} measurement`,
|
|
17
|
+
component: "infra",
|
|
18
|
+
operation: "instrumentation_measure",
|
|
19
|
+
metadata: { durationMs: stopwatch.stop().ms },
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async measureAsync<T>(label: string, action: () => T): Promise<T> {
|
|
26
|
+
const stopwatch = new Stopwatch(this.deps);
|
|
27
|
+
|
|
28
|
+
const result = await action();
|
|
29
|
+
|
|
30
|
+
this.deps.Logger.info({
|
|
31
|
+
message: `${label} measurement`,
|
|
32
|
+
component: "infra",
|
|
33
|
+
operation: "instrumentation_measure",
|
|
34
|
+
metadata: { durationMs: stopwatch.stop().ms },
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ContentfulStatusCode } from "hono/utils/http-status";
|
|
2
|
+
import { type Invariant, InvariantFailureKind } from "./invariant.service";
|
|
3
|
+
|
|
4
|
+
type BaseInvariantType = Invariant<any>;
|
|
5
|
+
type InvariantMessageType = BaseInvariantType["message"];
|
|
6
|
+
type ErrorResponseTupleType = [{ message: InvariantMessageType; _known: true }, ContentfulStatusCode];
|
|
7
|
+
|
|
8
|
+
export class InvariantErrorHandler {
|
|
9
|
+
static detect(invariants: BaseInvariantType[], error: unknown): BaseInvariantType | undefined {
|
|
10
|
+
return invariants.find((invariant) => error instanceof invariant.error);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static respond(error: BaseInvariantType): ErrorResponseTupleType {
|
|
14
|
+
const code: Record<InvariantFailureKind, ContentfulStatusCode> = {
|
|
15
|
+
[InvariantFailureKind.forbidden]: 403,
|
|
16
|
+
[InvariantFailureKind.not_found]: 404,
|
|
17
|
+
[InvariantFailureKind.precondition]: 400,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
return [{ message: error.message, _known: true }, code[error.kind]];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Constructor } from "@bgord/tools";
|
|
2
|
+
|
|
3
|
+
type BaseInvariantConfig = Record<string, unknown>;
|
|
4
|
+
|
|
5
|
+
export enum InvariantFailureKind {
|
|
6
|
+
forbidden = "forbidden",
|
|
7
|
+
precondition = "precondition",
|
|
8
|
+
not_found = "not_found",
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export abstract class Invariant<T extends BaseInvariantConfig> {
|
|
12
|
+
abstract passes(config: T): boolean;
|
|
13
|
+
|
|
14
|
+
abstract error: Constructor<Error>;
|
|
15
|
+
|
|
16
|
+
abstract message: string;
|
|
17
|
+
|
|
18
|
+
abstract kind: InvariantFailureKind;
|
|
19
|
+
|
|
20
|
+
throw() {
|
|
21
|
+
throw new this.error();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
enforce(config: T) {
|
|
25
|
+
if (!this.passes(config)) this.throw();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CorrelationStorage } from "./correlation-storage.service";
|
|
2
|
+
import type { IdProviderPort } from "./id-provider.port";
|
|
3
|
+
import type { JobHandlerStrategy, UnitOfWork } from "./job-handler.strategy";
|
|
4
|
+
|
|
5
|
+
type Dependencies = { IdProvider: IdProviderPort };
|
|
6
|
+
|
|
7
|
+
export class JobHandlerBareStrategy implements JobHandlerStrategy {
|
|
8
|
+
constructor(private readonly deps: Dependencies) {}
|
|
9
|
+
|
|
10
|
+
handle(uow: UnitOfWork) {
|
|
11
|
+
const correlationId = this.deps.IdProvider.generate();
|
|
12
|
+
|
|
13
|
+
return async () => CorrelationStorage.run(correlationId, async () => uow.process());
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ClockPort } from "./clock.port";
|
|
2
|
+
import { CorrelationStorage } from "./correlation-storage.service";
|
|
3
|
+
import type { IdProviderPort } from "./id-provider.port";
|
|
4
|
+
import type { JobHandlerStrategy, UnitOfWork } from "./job-handler.strategy";
|
|
5
|
+
import type { LoggerPort } from "./logger.port";
|
|
6
|
+
import { formatError } from "./logger-format-error.service";
|
|
7
|
+
import { Stopwatch } from "./stopwatch.service";
|
|
8
|
+
|
|
9
|
+
type Dependencies = { Logger: LoggerPort; IdProvider: IdProviderPort; Clock: ClockPort };
|
|
10
|
+
|
|
11
|
+
export class JobHandlerWithLoggerStrategy implements JobHandlerStrategy {
|
|
12
|
+
private readonly base = { component: "infra", operation: "job_handler" };
|
|
13
|
+
|
|
14
|
+
constructor(private readonly deps: Dependencies) {}
|
|
15
|
+
|
|
16
|
+
handle(uow: UnitOfWork) {
|
|
17
|
+
const correlationId = this.deps.IdProvider.generate();
|
|
18
|
+
|
|
19
|
+
return async () => {
|
|
20
|
+
const stopwatch = new Stopwatch(this.deps);
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
this.deps.Logger.info({ message: `${uow.label} start`, correlationId, ...this.base });
|
|
24
|
+
|
|
25
|
+
await CorrelationStorage.run(correlationId, async () => uow.process());
|
|
26
|
+
|
|
27
|
+
this.deps.Logger.info({
|
|
28
|
+
message: `${uow.label} success`,
|
|
29
|
+
correlationId,
|
|
30
|
+
metadata: stopwatch.stop(),
|
|
31
|
+
...this.base,
|
|
32
|
+
});
|
|
33
|
+
} catch (error) {
|
|
34
|
+
this.deps.Logger.error({
|
|
35
|
+
message: `${uow.label} error`,
|
|
36
|
+
correlationId,
|
|
37
|
+
error: formatError(error),
|
|
38
|
+
metadata: stopwatch.stop(),
|
|
39
|
+
...this.base,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Cron } from "croner";
|
|
2
|
+
|
|
3
|
+
export type JobNameType = string;
|
|
4
|
+
export type MultipleJobsType = Record<JobNameType, Cron>;
|
|
5
|
+
|
|
6
|
+
export class Jobs {
|
|
7
|
+
static SCHEDULES = { EVERY_MINUTE: "* * * * *", EVERY_HOUR: "0 * * * *" };
|
|
8
|
+
|
|
9
|
+
static stopAll(jobs: MultipleJobsType) {
|
|
10
|
+
Object.values(jobs).forEach((job) => job.stop());
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static areAllRunning(jobs: MultipleJobsType): boolean {
|
|
14
|
+
return Object.values(jobs).every((job) => job.isRunning());
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Stryker disable all
|
|
2
|
+
import type { ErrorInfo } from "./logger.port";
|
|
3
|
+
|
|
4
|
+
export function formatError(error: unknown): ErrorInfo {
|
|
5
|
+
if (error instanceof Error) {
|
|
6
|
+
const code = (error as any)?.code;
|
|
7
|
+
const cause = error?.cause;
|
|
8
|
+
|
|
9
|
+
return {
|
|
10
|
+
name: error.name ?? "Error",
|
|
11
|
+
message: error.message ?? "Unknown error",
|
|
12
|
+
stack: error.stack,
|
|
13
|
+
code: code ?? undefined,
|
|
14
|
+
cause:
|
|
15
|
+
cause instanceof Error
|
|
16
|
+
? { name: cause.name, message: cause.message }
|
|
17
|
+
: typeof cause === "string"
|
|
18
|
+
? { message: cause }
|
|
19
|
+
: undefined,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
name: "NonErrorThrown",
|
|
24
|
+
message: typeof error === "string" ? error : String(error),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
// Stryker restore all
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { LoggerPort } from "./logger.port";
|
|
2
|
+
|
|
3
|
+
export class LoggerNoopAdapter implements LoggerPort {
|
|
4
|
+
warn: LoggerPort["warn"] = (_log) => {};
|
|
5
|
+
error: LoggerPort["error"] = (_log) => {};
|
|
6
|
+
info: LoggerPort["info"] = (_log) => {};
|
|
7
|
+
http: LoggerPort["http"] = (_log) => {};
|
|
8
|
+
verbose: LoggerPort["verbose"] = (_log) => {};
|
|
9
|
+
debug: LoggerPort["debug"] = (_log) => {};
|
|
10
|
+
silly: LoggerPort["silly"] = (_log) => {};
|
|
11
|
+
|
|
12
|
+
setSilent: LoggerPort["setSilent"] = (_silent) => {};
|
|
13
|
+
|
|
14
|
+
getFilePath() {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as winston from "winston";
|
|
2
|
+
import type { LogAppType, LoggerPort, LogLevelEnum } from "./logger.port";
|
|
3
|
+
import { LoggerWinstonAdapter } from "./logger-winston.adapter";
|
|
4
|
+
import { NodeEnvironmentEnum } from "./node-env.vo";
|
|
5
|
+
import type { RedactorStrategy } from "./redactor.strategy";
|
|
6
|
+
|
|
7
|
+
type LoggerWinstonLocalAdapterConfigType = { app: LogAppType; redactor: RedactorStrategy };
|
|
8
|
+
|
|
9
|
+
export class LoggerWinstonLocalAdapter {
|
|
10
|
+
constructor(private readonly config: LoggerWinstonLocalAdapterConfigType) {}
|
|
11
|
+
|
|
12
|
+
// Stryker disable all
|
|
13
|
+
create(level: LogLevelEnum): LoggerPort {
|
|
14
|
+
return new LoggerWinstonAdapter({
|
|
15
|
+
app: this.config.app,
|
|
16
|
+
environment: NodeEnvironmentEnum.local,
|
|
17
|
+
level,
|
|
18
|
+
formats: [winston.format.prettyPrint()],
|
|
19
|
+
redactor: this.config.redactor,
|
|
20
|
+
filePath: null,
|
|
21
|
+
});
|
|
22
|
+
// Stryker restore all
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import * as winston from "winston";
|
|
3
|
+
import type { LogAppType, LoggerPort, LogLevelEnum } from "./logger.port";
|
|
4
|
+
import { LoggerWinstonAdapter } from "./logger-winston.adapter";
|
|
5
|
+
import { NodeEnvironmentEnum } from "./node-env.vo";
|
|
6
|
+
import type { RedactorStrategy } from "./redactor.strategy";
|
|
7
|
+
|
|
8
|
+
type LoggerWinstonProductionAdapterConfigType = { app: LogAppType; redactor: RedactorStrategy };
|
|
9
|
+
|
|
10
|
+
export class LoggerWinstonProductionAdapter {
|
|
11
|
+
constructor(private readonly config: LoggerWinstonProductionAdapterConfigType) {}
|
|
12
|
+
|
|
13
|
+
create(level: LogLevelEnum): LoggerPort {
|
|
14
|
+
const filePath = tools.FilePathAbsolute.fromString(
|
|
15
|
+
`/var/log/${this.config.app}-${NodeEnvironmentEnum.production}.log`,
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const file = new winston.transports.File({
|
|
19
|
+
filename: filePath.get(),
|
|
20
|
+
maxsize: tools.Size.fromMB(100).toBytes(),
|
|
21
|
+
maxFiles: 3,
|
|
22
|
+
// Stryker disable all
|
|
23
|
+
tailable: true,
|
|
24
|
+
// Stryker restore all
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
return new LoggerWinstonAdapter({
|
|
28
|
+
app: this.config.app,
|
|
29
|
+
environment: NodeEnvironmentEnum.production,
|
|
30
|
+
level,
|
|
31
|
+
// Stryker disable all
|
|
32
|
+
transports: [file],
|
|
33
|
+
// Stryker restore all
|
|
34
|
+
redactor: this.config.redactor,
|
|
35
|
+
filePath,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type * as tools from "@bgord/tools";
|
|
2
|
+
import * as winston from "winston";
|
|
3
|
+
import { type LogAppType, type LoggerPort, LogLevelEnum } from "./logger.port";
|
|
4
|
+
import type { NodeEnvironmentEnum } from "./node-env.vo";
|
|
5
|
+
import type { RedactorStrategy } from "./redactor.strategy";
|
|
6
|
+
|
|
7
|
+
type WinstonLoggerOptions = {
|
|
8
|
+
app: LogAppType;
|
|
9
|
+
environment: NodeEnvironmentEnum;
|
|
10
|
+
level: LogLevelEnum;
|
|
11
|
+
formats?: winston.Logform.Format[];
|
|
12
|
+
transports?: winston.transport[];
|
|
13
|
+
redactor: RedactorStrategy;
|
|
14
|
+
filePath: tools.FilePathAbsolute | null;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export class LoggerWinstonAdapter implements LoggerPort {
|
|
18
|
+
private readonly logger: winston.Logger;
|
|
19
|
+
|
|
20
|
+
private readonly filePath: tools.FilePathAbsolute | null;
|
|
21
|
+
|
|
22
|
+
constructor(options: WinstonLoggerOptions) {
|
|
23
|
+
const format = winston.format.combine(
|
|
24
|
+
winston.format((info) => options.redactor.redact(info))(),
|
|
25
|
+
// Stryker disable all
|
|
26
|
+
winston.format.errors({ stack: true }),
|
|
27
|
+
// Stryker restore all
|
|
28
|
+
winston.format.timestamp(),
|
|
29
|
+
winston.format.json(),
|
|
30
|
+
...(options.formats ?? []),
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
this.logger = winston.createLogger({
|
|
34
|
+
levels: winston.config.npm.levels,
|
|
35
|
+
level: options.level,
|
|
36
|
+
defaultMeta: { app: options.app, environment: options.environment },
|
|
37
|
+
// Stryker disable all
|
|
38
|
+
handleExceptions: true,
|
|
39
|
+
handleRejections: true,
|
|
40
|
+
format,
|
|
41
|
+
transports: [new winston.transports.Console(), ...(options.transports ?? [])],
|
|
42
|
+
// Stryker restore all
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
this.filePath = options.filePath;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
warn: LoggerPort["warn"] = (log) => this.logger.log({ level: LogLevelEnum.warn, ...log });
|
|
49
|
+
error: LoggerPort["error"] = (log) => this.logger.log({ level: LogLevelEnum.error, ...log });
|
|
50
|
+
info: LoggerPort["info"] = (log) => this.logger.log({ level: LogLevelEnum.info, ...log });
|
|
51
|
+
http: LoggerPort["http"] = (log) => this.logger.log({ level: LogLevelEnum.http, ...log });
|
|
52
|
+
verbose: LoggerPort["verbose"] = (log) => this.logger.log({ level: LogLevelEnum.verbose, ...log });
|
|
53
|
+
debug: LoggerPort["debug"] = (log) => this.logger.log({ level: LogLevelEnum.debug, ...log });
|
|
54
|
+
silly: LoggerPort["silly"] = (log) => this.logger.log({ level: LogLevelEnum.silly, ...log });
|
|
55
|
+
|
|
56
|
+
setSilent: LoggerPort["setSilent"] = (silent) => {
|
|
57
|
+
this.logger.silent = silent;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
getFilePath() {
|
|
61
|
+
return this.filePath;
|
|
62
|
+
}
|
|
63
|
+
}
|