zibri 2.3.0 → 2.4.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/cjs/application-options.model.d.ts +37 -0
- package/dist/cjs/application-options.model.d.ts.map +1 -1
- package/dist/cjs/application-options.model.js +1 -0
- package/dist/cjs/application-options.model.js.map +1 -1
- package/dist/cjs/application.d.ts +4 -2
- package/dist/cjs/application.d.ts.map +1 -1
- package/dist/cjs/application.js +55 -4
- package/dist/cjs/application.js.map +1 -1
- package/dist/cjs/assets/asset.service.d.ts.map +1 -1
- package/dist/cjs/assets/asset.service.js +0 -5
- package/dist/cjs/assets/asset.service.js.map +1 -1
- package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.d.ts +4 -4
- package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.d.ts.map +1 -1
- package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.js +4 -4
- package/dist/cjs/auth/2fa/methods/otp/otp.two-factor-method.js.map +1 -1
- package/dist/cjs/auth/2fa/methods/two-factor-method.interface.d.ts +3 -3
- package/dist/cjs/auth/2fa/methods/two-factor-method.interface.d.ts.map +1 -1
- package/dist/cjs/auth/2fa/two-factor-service.interface.d.ts +3 -3
- package/dist/cjs/auth/2fa/two-factor-service.interface.d.ts.map +1 -1
- package/dist/cjs/auth/2fa/two-factor.service.d.ts +3 -3
- package/dist/cjs/auth/2fa/two-factor.service.d.ts.map +1 -1
- package/dist/cjs/auth/2fa/two-factor.service.js +6 -2
- package/dist/cjs/auth/2fa/two-factor.service.js.map +1 -1
- package/dist/cjs/auth/auth-service.interface.d.ts +7 -7
- package/dist/cjs/auth/auth-service.interface.d.ts.map +1 -1
- package/dist/cjs/auth/auth.service.d.ts +8 -8
- package/dist/cjs/auth/auth.service.d.ts.map +1 -1
- package/dist/cjs/auth/auth.service.js +26 -18
- package/dist/cjs/auth/auth.service.js.map +1 -1
- package/dist/cjs/auth/encryption/encryption-key.model.d.ts +41 -0
- package/dist/cjs/auth/encryption/encryption-key.model.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/encryption-key.model.js +59 -0
- package/dist/cjs/auth/encryption/encryption-key.model.js.map +1 -0
- package/dist/cjs/auth/encryption/encryption-master-options.model.d.ts +36 -0
- package/dist/cjs/auth/encryption/encryption-master-options.model.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/encryption-master-options.model.js +3 -0
- package/dist/cjs/auth/encryption/encryption-master-options.model.js.map +1 -0
- package/dist/cjs/auth/encryption/encryption-service.interface.d.ts +68 -0
- package/dist/cjs/auth/encryption/encryption-service.interface.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/encryption-service.interface.js +3 -0
- package/dist/cjs/auth/encryption/encryption-service.interface.js.map +1 -0
- package/dist/cjs/auth/encryption/encryption.service.d.ts +71 -0
- package/dist/cjs/auth/encryption/encryption.service.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/encryption.service.js +559 -0
- package/dist/cjs/auth/encryption/encryption.service.js.map +1 -0
- package/dist/cjs/auth/encryption/encryption.utilities.d.ts +46 -0
- package/dist/cjs/auth/encryption/encryption.utilities.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/encryption.utilities.js +37 -0
- package/dist/cjs/auth/encryption/encryption.utilities.js.map +1 -0
- package/dist/cjs/auth/encryption/strategies/aes-gcm.encryption-strategy.d.ts +37 -0
- package/dist/cjs/auth/encryption/strategies/aes-gcm.encryption-strategy.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/strategies/aes-gcm.encryption-strategy.js +71 -0
- package/dist/cjs/auth/encryption/strategies/aes-gcm.encryption-strategy.js.map +1 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy-entity.model.d.ts +42 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy-entity.model.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy-entity.model.js +67 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy-entity.model.js.map +1 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy.interface.d.ts +61 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy.interface.d.ts.map +1 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy.interface.js +3 -0
- package/dist/cjs/auth/encryption/strategies/encryption-strategy.interface.js.map +1 -0
- package/dist/cjs/auth/hash/hash-service.interface.d.ts +35 -0
- package/dist/cjs/auth/hash/hash-service.interface.d.ts.map +1 -0
- package/dist/cjs/auth/hash/hash-service.interface.js +3 -0
- package/dist/cjs/auth/hash/hash-service.interface.js.map +1 -0
- package/dist/cjs/auth/hash/hash.service.d.ts +28 -0
- package/dist/cjs/auth/hash/hash.service.d.ts.map +1 -0
- package/dist/cjs/auth/hash/hash.service.js +148 -0
- package/dist/cjs/auth/hash/hash.service.js.map +1 -0
- package/dist/cjs/auth/hash/hash.utilities.d.ts +42 -0
- package/dist/cjs/auth/hash/hash.utilities.d.ts.map +1 -0
- package/dist/cjs/auth/hash/hash.utilities.js +36 -0
- package/dist/cjs/auth/hash/hash.utilities.js.map +1 -0
- package/dist/cjs/auth/hash/strategies/bcrypt.hash-strategy.d.ts +21 -0
- package/dist/cjs/auth/hash/strategies/bcrypt.hash-strategy.d.ts.map +1 -0
- package/dist/cjs/auth/hash/strategies/bcrypt.hash-strategy.js +26 -0
- package/dist/cjs/auth/hash/strategies/bcrypt.hash-strategy.js.map +1 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy-entity.model.d.ts +32 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy-entity.model.d.ts.map +1 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy-entity.model.js +58 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy-entity.model.js.map +1 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy.interface.d.ts +23 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy.interface.d.ts.map +1 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy.interface.js +3 -0
- package/dist/cjs/auth/hash/strategies/hash-strategy.interface.js.map +1 -0
- package/dist/cjs/auth/strategies/auth-strategy.interface.d.ts +11 -6
- package/dist/cjs/auth/strategies/auth-strategy.interface.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/auth-strategy.interface.js.map +1 -1
- package/dist/cjs/auth/strategies/cookie/cookie-auth-confirm-password-reset-data.model.d.ts +19 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-confirm-password-reset-data.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-confirm-password-reset-data.model.js +40 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-confirm-password-reset-data.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-credentials.model.d.ts +49 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-credentials.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-credentials.model.js +80 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-credentials.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-data.model.d.ts +26 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-data.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-data.model.js +60 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-data.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-logout-data.model.d.ts +19 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-logout-data.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-logout-data.model.js +40 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-logout-data.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-login-data.model.d.ts +11 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-login-data.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-login-data.model.js +14 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-login-data.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-session.model.d.ts +39 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-session.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-session.model.js +77 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-refresh-session.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-request-password-reset-data.model.d.ts +26 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-request-password-reset-data.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-request-password-reset-data.model.js +3 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-request-password-reset-data.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session-cleanup.cron-job.d.ts +15 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session-cleanup.cron-job.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session-cleanup.cron-job.js +54 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session-cleanup.cron-job.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session.model.d.ts +29 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session.model.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session.model.js +59 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth-session.model.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.d.ts +73 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.js +430 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.d.ts +42 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js +210 -0
- package/dist/cjs/auth/strategies/cookie/cookie-auth.controller.js.map +1 -0
- package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.d.ts +9 -3
- package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js +41 -10
- package/dist/cjs/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-confirm-password-reset-data.model.d.ts +5 -0
- package/dist/cjs/auth/strategies/jwt/jwt-confirm-password-reset-data.model.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-confirm-password-reset-data.model.js +4 -0
- package/dist/cjs/auth/strategies/jwt/jwt-confirm-password-reset-data.model.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts +8 -3
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js +11 -3
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-login-data.model.d.ts +5 -0
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-login-data.model.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-login-data.model.js +4 -0
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-login-data.model.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-token-cleanup.cron-job.d.ts +13 -0
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-token-cleanup.cron-job.d.ts.map +1 -0
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-token-cleanup.cron-job.js +48 -0
- package/dist/cjs/auth/strategies/jwt/jwt-refresh-token-cleanup.cron-job.js.map +1 -0
- package/dist/cjs/auth/strategies/jwt/jwt-request-password-reset-data.model.d.ts +5 -0
- package/dist/cjs/auth/strategies/jwt/jwt-request-password-reset-data.model.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.d.ts +16 -12
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js +58 -54
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
- package/dist/cjs/backup/backup.service.d.ts.map +1 -1
- package/dist/cjs/backup/backup.service.js +2 -1
- package/dist/cjs/backup/backup.service.js.map +1 -1
- package/dist/cjs/backup/transports/fs.backup-transport.d.ts.map +1 -1
- package/dist/cjs/backup/transports/fs.backup-transport.js +3 -2
- package/dist/cjs/backup/transports/fs.backup-transport.js.map +1 -1
- package/dist/cjs/caching/cache/base-cache.model.d.ts +87 -0
- package/dist/cjs/caching/cache/base-cache.model.d.ts.map +1 -0
- package/dist/cjs/caching/cache/base-cache.model.js +245 -0
- package/dist/cjs/caching/cache/base-cache.model.js.map +1 -0
- package/dist/cjs/caching/cache/cache-operation.enum.d.ts +10 -0
- package/dist/cjs/caching/cache/cache-operation.enum.d.ts.map +1 -0
- package/dist/cjs/caching/cache/cache-operation.enum.js +14 -0
- package/dist/cjs/caching/cache/cache-operation.enum.js.map +1 -0
- package/dist/cjs/caching/cache/cache-options.model.d.ts +107 -0
- package/dist/cjs/caching/cache/cache-options.model.d.ts.map +1 -0
- package/dist/cjs/caching/cache/cache-options.model.js +3 -0
- package/dist/cjs/caching/cache/cache-options.model.js.map +1 -0
- package/dist/cjs/caching/cache/cache.interface.d.ts +77 -0
- package/dist/cjs/caching/cache/cache.interface.d.ts.map +1 -0
- package/dist/cjs/caching/cache/cache.interface.js +36 -0
- package/dist/cjs/caching/cache/cache.interface.js.map +1 -0
- package/dist/cjs/caching/cache/multi-tier.cache.d.ts +64 -0
- package/dist/cjs/caching/cache/multi-tier.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/multi-tier.cache.js +190 -0
- package/dist/cjs/caching/cache/multi-tier.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-aside/read-aside.cache.d.ts +16 -0
- package/dist/cjs/caching/cache/read-aside/read-aside.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-aside/read-aside.cache.js +78 -0
- package/dist/cjs/caching/cache/read-aside/read-aside.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-around-read-aside.cache.d.ts +16 -0
- package/dist/cjs/caching/cache/read-aside/write-around-read-aside.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-around-read-aside.cache.js +39 -0
- package/dist/cjs/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-behind-read-aside.cache.d.ts +15 -0
- package/dist/cjs/caching/cache/read-aside/write-behind-read-aside.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-behind-read-aside.cache.js +73 -0
- package/dist/cjs/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.d.ts +15 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js +63 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.d.ts +15 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js +63 -0
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-through-read-aside.cache.d.ts +15 -0
- package/dist/cjs/caching/cache/read-aside/write-through-read-aside.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-aside/write-through-read-aside.cache.js +64 -0
- package/dist/cjs/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-through/read-through.cache.d.ts +9 -0
- package/dist/cjs/caching/cache/read-through/read-through.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-through/read-through.cache.js +78 -0
- package/dist/cjs/caching/cache/read-through/read-through.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-around-read-through.cache.d.ts +13 -0
- package/dist/cjs/caching/cache/read-through/write-around-read-through.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-around-read-through.cache.js +36 -0
- package/dist/cjs/caching/cache/read-through/write-around-read-through.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-behind-read-through.cache.d.ts +16 -0
- package/dist/cjs/caching/cache/read-through/write-behind-read-through.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-behind-read-through.cache.js +76 -0
- package/dist/cjs/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-args-only.cache.d.ts +16 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-args-only.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js +65 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-with-result.cache.d.ts +15 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-with-result.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js +64 -0
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-through-read-through.cache.d.ts +12 -0
- package/dist/cjs/caching/cache/read-through/write-through-read-through.cache.d.ts.map +1 -0
- package/dist/cjs/caching/cache/read-through/write-through-read-through.cache.js +61 -0
- package/dist/cjs/caching/cache/read-through/write-through-read-through.cache.js.map +1 -0
- package/dist/cjs/caching/cache-metrics.model.d.ts +57 -0
- package/dist/cjs/caching/cache-metrics.model.d.ts.map +1 -0
- package/dist/cjs/caching/cache-metrics.model.js +3 -0
- package/dist/cjs/caching/cache-metrics.model.js.map +1 -0
- package/dist/cjs/caching/cache-service.interface.d.ts +15 -0
- package/dist/cjs/caching/cache-service.interface.d.ts.map +1 -0
- package/dist/cjs/caching/cache-service.interface.js +3 -0
- package/dist/cjs/caching/cache-service.interface.js.map +1 -0
- package/dist/cjs/caching/cache-tag-matchers.d.ts +19 -0
- package/dist/cjs/caching/cache-tag-matchers.d.ts.map +1 -0
- package/dist/cjs/caching/cache-tag-matchers.js +29 -0
- package/dist/cjs/caching/cache-tag-matchers.js.map +1 -0
- package/dist/cjs/caching/cache.service.d.ts +15 -0
- package/dist/cjs/caching/cache.service.d.ts.map +1 -0
- package/dist/cjs/caching/cache.service.js +74 -0
- package/dist/cjs/caching/cache.service.js.map +1 -0
- package/dist/cjs/caching/decorators/cache-delete.decorator.d.ts +12 -0
- package/dist/cjs/caching/decorators/cache-delete.decorator.d.ts.map +1 -0
- package/dist/cjs/caching/decorators/cache-delete.decorator.js +30 -0
- package/dist/cjs/caching/decorators/cache-delete.decorator.js.map +1 -0
- package/dist/cjs/caching/decorators/cache-invalidate.decorator.d.ts +11 -0
- package/dist/cjs/caching/decorators/cache-invalidate.decorator.d.ts.map +1 -0
- package/dist/cjs/caching/decorators/cache-invalidate.decorator.js +29 -0
- package/dist/cjs/caching/decorators/cache-invalidate.decorator.js.map +1 -0
- package/dist/cjs/caching/decorators/cache-write.decorator.d.ts +18 -0
- package/dist/cjs/caching/decorators/cache-write.decorator.d.ts.map +1 -0
- package/dist/cjs/caching/decorators/cache-write.decorator.js +32 -0
- package/dist/cjs/caching/decorators/cache-write.decorator.js.map +1 -0
- package/dist/cjs/caching/decorators/cache.decorator.d.ts +5 -0
- package/dist/cjs/caching/decorators/cache.decorator.d.ts.map +1 -0
- package/dist/cjs/caching/decorators/cache.decorator.js +21 -0
- package/dist/cjs/caching/decorators/cache.decorator.js.map +1 -0
- package/dist/cjs/caching/decorators/cached.decorator.d.ts +16 -0
- package/dist/cjs/caching/decorators/cached.decorator.d.ts.map +1 -0
- package/dist/cjs/caching/decorators/cached.decorator.js +31 -0
- package/dist/cjs/caching/decorators/cached.decorator.js.map +1 -0
- package/dist/cjs/caching/decorators/decorator-types.d.ts +11 -0
- package/dist/cjs/caching/decorators/decorator-types.d.ts.map +1 -0
- package/dist/cjs/caching/decorators/decorator-types.js +3 -0
- package/dist/cjs/caching/decorators/decorator-types.js.map +1 -0
- package/dist/cjs/caching/store/cache-store.interface.d.ts +57 -0
- package/dist/cjs/caching/store/cache-store.interface.d.ts.map +1 -0
- package/dist/cjs/caching/store/cache-store.interface.js +3 -0
- package/dist/cjs/caching/store/cache-store.interface.js.map +1 -0
- package/dist/cjs/caching/store/cached-value.model.d.ts +22 -0
- package/dist/cjs/caching/store/cached-value.model.d.ts.map +1 -0
- package/dist/cjs/caching/store/cached-value.model.js +52 -0
- package/dist/cjs/caching/store/cached-value.model.js.map +1 -0
- package/dist/cjs/caching/store/in-memory.cache-store.d.ts +32 -0
- package/dist/cjs/caching/store/in-memory.cache-store.d.ts.map +1 -0
- package/dist/cjs/caching/store/in-memory.cache-store.js +227 -0
- package/dist/cjs/caching/store/in-memory.cache-store.js.map +1 -0
- package/dist/cjs/change-sets/change-set-repository.d.ts +24 -21
- package/dist/cjs/change-sets/change-set-repository.d.ts.map +1 -1
- package/dist/cjs/change-sets/change-set-repository.js +65 -48
- package/dist/cjs/change-sets/change-set-repository.js.map +1 -1
- package/dist/cjs/change-sets/models/change-set.model.d.ts +2 -2
- package/dist/cjs/change-sets/models/change-set.model.d.ts.map +1 -1
- package/dist/cjs/change-sets/models/change-set.model.js +3 -3
- package/dist/cjs/change-sets/models/change-set.model.js.map +1 -1
- package/dist/cjs/change-sets/models/change.model.js +1 -1
- package/dist/cjs/change-sets/models/change.model.js.map +1 -1
- package/dist/cjs/change-sets/soft-delete-repository.d.ts +6 -3
- package/dist/cjs/change-sets/soft-delete-repository.d.ts.map +1 -1
- package/dist/cjs/change-sets/soft-delete-repository.js +7 -6
- package/dist/cjs/change-sets/soft-delete-repository.js.map +1 -1
- package/dist/cjs/context/als.utilities.d.ts +57 -0
- package/dist/cjs/context/als.utilities.d.ts.map +1 -0
- package/dist/cjs/context/als.utilities.js +77 -0
- package/dist/cjs/context/als.utilities.js.map +1 -0
- package/dist/cjs/context/base-context.d.ts +12 -0
- package/dist/cjs/context/base-context.d.ts.map +1 -0
- package/dist/cjs/context/base-context.js +15 -0
- package/dist/cjs/context/base-context.js.map +1 -0
- package/dist/cjs/context/request/http-request.context.d.ts +29 -0
- package/dist/cjs/context/request/http-request.context.d.ts.map +1 -0
- package/dist/cjs/context/request/http-request.context.js +43 -0
- package/dist/cjs/context/request/http-request.context.js.map +1 -0
- package/dist/cjs/context/request/request-context-token.model.d.ts +24 -0
- package/dist/cjs/context/request/request-context-token.model.d.ts.map +1 -0
- package/dist/cjs/context/request/request-context-token.model.js +70 -0
- package/dist/cjs/context/request/request-context-token.model.js.map +1 -0
- package/dist/cjs/context/request/websocket-request.context.d.ts +29 -0
- package/dist/cjs/context/request/websocket-request.context.d.ts.map +1 -0
- package/dist/cjs/context/request/websocket-request.context.js +43 -0
- package/dist/cjs/context/request/websocket-request.context.js.map +1 -0
- package/dist/cjs/cron/cron-expression.utilities.d.ts +100 -0
- package/dist/cjs/cron/cron-expression.utilities.d.ts.map +1 -0
- package/dist/cjs/cron/cron-expression.utilities.js +171 -0
- package/dist/cjs/cron/cron-expression.utilities.js.map +1 -0
- package/dist/cjs/cron/cron-job-entity.model.d.ts +2 -1
- package/dist/cjs/cron/cron-job-entity.model.d.ts.map +1 -1
- package/dist/cjs/cron/cron-job-entity.model.js.map +1 -1
- package/dist/cjs/cron/cron-job.model.d.ts +7 -4
- package/dist/cjs/cron/cron-job.model.d.ts.map +1 -1
- package/dist/cjs/cron/cron-job.model.js +5 -7
- package/dist/cjs/cron/cron-job.model.js.map +1 -1
- package/dist/cjs/cron/cron-service.interface.d.ts +2 -1
- package/dist/cjs/cron/cron-service.interface.d.ts.map +1 -1
- package/dist/cjs/cron/cron.service.d.ts +2 -1
- package/dist/cjs/cron/cron.service.d.ts.map +1 -1
- package/dist/cjs/cron/cron.service.js +4 -2
- package/dist/cjs/cron/cron.service.js.map +1 -1
- package/dist/cjs/data-source/data-sources/data-source.interface.d.ts +9 -1
- package/dist/cjs/data-source/data-sources/data-source.interface.d.ts.map +1 -1
- package/dist/cjs/data-source/data-sources/data-source.interface.js +11 -0
- package/dist/cjs/data-source/data-sources/data-source.interface.js.map +1 -1
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts +1 -2
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts.map +1 -1
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.js +19 -7
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.js.map +1 -1
- package/dist/cjs/data-source/hooks/before-return.d.ts +7 -0
- package/dist/cjs/data-source/hooks/before-return.d.ts.map +1 -0
- package/dist/cjs/data-source/hooks/before-return.js +3 -0
- package/dist/cjs/data-source/hooks/before-return.js.map +1 -0
- package/dist/cjs/data-source/hooks/before-save.d.ts +8 -0
- package/dist/cjs/data-source/hooks/before-save.d.ts.map +1 -0
- package/dist/cjs/data-source/hooks/before-save.js +3 -0
- package/dist/cjs/data-source/hooks/before-save.js.map +1 -0
- package/dist/cjs/data-source/hooks/hooks.default.d.ts +13 -0
- package/dist/cjs/data-source/hooks/hooks.default.d.ts.map +1 -0
- package/dist/cjs/data-source/hooks/hooks.default.js +37 -0
- package/dist/cjs/data-source/hooks/hooks.default.js.map +1 -0
- package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts +8 -8
- package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js +19 -11
- package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js.map +1 -1
- package/dist/cjs/data-source/models/where/where-filter.model.d.ts +1 -1
- package/dist/cjs/data-source/models/where/where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/repository.d.ts +14 -5
- package/dist/cjs/data-source/repository.d.ts.map +1 -1
- package/dist/cjs/data-source/repository.js +57 -101
- package/dist/cjs/data-source/repository.js.map +1 -1
- package/dist/cjs/di/decorators/inject-repository.decorator.js.map +1 -1
- package/dist/cjs/di/default/zibri-di-providers.default.d.ts.map +1 -1
- package/dist/cjs/di/default/zibri-di-providers.default.js +73 -7
- package/dist/cjs/di/default/zibri-di-providers.default.js.map +1 -1
- package/dist/cjs/di/default/zibri-di-tokens.default.d.ts +33 -5
- package/dist/cjs/di/default/zibri-di-tokens.default.d.ts.map +1 -1
- package/dist/cjs/di/default/zibri-di-tokens.default.js +24 -5
- package/dist/cjs/di/default/zibri-di-tokens.default.js.map +1 -1
- package/dist/cjs/di/di-container.d.ts.map +1 -1
- package/dist/cjs/di/di-container.js +8 -7
- package/dist/cjs/di/di-container.js.map +1 -1
- package/dist/cjs/di/models/di-provider.model.d.ts +12 -0
- package/dist/cjs/di/models/di-provider.model.d.ts.map +1 -1
- package/dist/cjs/email/email.service.d.ts.map +1 -1
- package/dist/cjs/email/email.service.js +3 -1
- package/dist/cjs/email/email.service.js.map +1 -1
- package/dist/cjs/email/models/create-email-data.model.d.ts +1 -1
- package/dist/cjs/email/send-queued-emails.cron-job.d.ts.map +1 -1
- package/dist/cjs/email/send-queued-emails.cron-job.js +2 -1
- package/dist/cjs/email/send-queued-emails.cron-job.js.map +1 -1
- package/dist/cjs/entity/decorators/property.decorator.d.ts +5 -3
- package/dist/cjs/entity/decorators/property.decorator.d.ts.map +1 -1
- package/dist/cjs/entity/decorators/property.decorator.js +57 -23
- package/dist/cjs/entity/decorators/property.decorator.js.map +1 -1
- package/dist/cjs/entity/generation/generate-entity-file.function.d.ts.map +1 -1
- package/dist/cjs/entity/generation/generate-entity-file.function.js +4 -3
- package/dist/cjs/entity/generation/generate-entity-file.function.js.map +1 -1
- package/dist/cjs/entity/generation/generate-entity-files.function.d.ts.map +1 -1
- package/dist/cjs/entity/generation/generate-entity-files.function.js +1 -0
- package/dist/cjs/entity/generation/generate-entity-files.function.js.map +1 -1
- package/dist/cjs/entity/generation/providers/open-api-file.provider.d.ts.map +1 -1
- package/dist/cjs/entity/generation/providers/open-api-file.provider.js +2 -1
- package/dist/cjs/entity/generation/providers/open-api-file.provider.js.map +1 -1
- package/dist/cjs/entity/models/array-property-metadata.model.d.ts +1 -1
- package/dist/cjs/entity/models/array-property-metadata.model.d.ts.map +1 -1
- package/dist/cjs/entity/models/base-property-metadata.model.d.ts +21 -4
- package/dist/cjs/entity/models/base-property-metadata.model.d.ts.map +1 -1
- package/dist/cjs/entity/models/file-property-metadata.model.d.ts +1 -0
- package/dist/cjs/entity/models/file-property-metadata.model.d.ts.map +1 -1
- package/dist/cjs/entity/models/file-property-metadata.model.js +5 -5
- package/dist/cjs/entity/models/file-property-metadata.model.js.map +1 -1
- package/dist/cjs/entity/models/number-property-metadata.model.d.ts +11 -0
- package/dist/cjs/entity/models/number-property-metadata.model.d.ts.map +1 -1
- package/dist/cjs/entity/models/string-property-metadata.model.d.ts +45 -2
- package/dist/cjs/entity/models/string-property-metadata.model.d.ts.map +1 -1
- package/dist/cjs/error-handling/errors/validation.error.d.ts +2 -1
- package/dist/cjs/error-handling/errors/validation.error.d.ts.map +1 -1
- package/dist/cjs/error-handling/errors/validation.error.js +5 -2
- package/dist/cjs/error-handling/errors/validation.error.js.map +1 -1
- package/dist/cjs/error-handling/unknown-to-error-string.function.d.ts.map +1 -1
- package/dist/cjs/error-handling/unknown-to-error-string.function.js +2 -1
- package/dist/cjs/error-handling/unknown-to-error-string.function.js.map +1 -1
- package/dist/cjs/event/event-cleanup.cron-job.d.ts +13 -0
- package/dist/cjs/event/event-cleanup.cron-job.d.ts.map +1 -0
- package/dist/cjs/event/event-cleanup.cron-job.js +58 -0
- package/dist/cjs/event/event-cleanup.cron-job.js.map +1 -0
- package/dist/cjs/event/event-processing.error.d.ts +8 -0
- package/dist/cjs/event/event-processing.error.d.ts.map +1 -0
- package/dist/cjs/event/event-processing.error.js +19 -0
- package/dist/cjs/event/event-processing.error.js.map +1 -0
- package/dist/cjs/event/event-service.interface.d.ts +53 -0
- package/dist/cjs/event/event-service.interface.d.ts.map +1 -0
- package/dist/cjs/event/event-service.interface.js +3 -0
- package/dist/cjs/event/event-service.interface.js.map +1 -0
- package/dist/cjs/event/event-subscriber-run.model.d.ts +35 -0
- package/dist/cjs/event/event-subscriber-run.model.d.ts.map +1 -0
- package/dist/cjs/event/event-subscriber-run.model.js +73 -0
- package/dist/cjs/event/event-subscriber-run.model.js.map +1 -0
- package/dist/cjs/event/event.model.d.ts +54 -0
- package/dist/cjs/event/event.model.d.ts.map +1 -0
- package/dist/cjs/event/event.model.js +105 -0
- package/dist/cjs/event/event.model.js.map +1 -0
- package/dist/cjs/event/event.service.d.ts +57 -0
- package/dist/cjs/event/event.service.d.ts.map +1 -0
- package/dist/cjs/event/event.service.js +218 -0
- package/dist/cjs/event/event.service.js.map +1 -0
- package/dist/cjs/global/global-registry.d.ts +5 -0
- package/dist/cjs/global/global-registry.d.ts.map +1 -1
- package/dist/cjs/global/global-registry.js +4 -0
- package/dist/cjs/global/global-registry.js.map +1 -1
- package/dist/cjs/global/model-registry/decrypt-encryption-properties.function.d.ts +10 -0
- package/dist/cjs/global/model-registry/decrypt-encryption-properties.function.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/decrypt-encryption-properties.function.js +64 -0
- package/dist/cjs/global/model-registry/decrypt-encryption-properties.function.js.map +1 -0
- package/dist/cjs/global/model-registry/default-descriptor.d.ts +28 -0
- package/dist/cjs/global/model-registry/default-descriptor.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/default-descriptor.js +95 -0
- package/dist/cjs/global/model-registry/default-descriptor.js.map +1 -0
- package/dist/cjs/global/model-registry/encrypt-encryption-properties.function.d.ts +10 -0
- package/dist/cjs/global/model-registry/encrypt-encryption-properties.function.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/encrypt-encryption-properties.function.js +71 -0
- package/dist/cjs/global/model-registry/encrypt-encryption-properties.function.js.map +1 -0
- package/dist/cjs/global/model-registry/encryption-descriptor.d.ts +27 -0
- package/dist/cjs/global/model-registry/encryption-descriptor.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/encryption-descriptor.js +97 -0
- package/dist/cjs/global/model-registry/encryption-descriptor.js.map +1 -0
- package/dist/cjs/global/model-registry/exclude-descriptor.d.ts +27 -0
- package/dist/cjs/global/model-registry/exclude-descriptor.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/exclude-descriptor.js +95 -0
- package/dist/cjs/global/model-registry/exclude-descriptor.js.map +1 -0
- package/dist/cjs/global/model-registry/hash-descriptor.d.ts +27 -0
- package/dist/cjs/global/model-registry/hash-descriptor.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/hash-descriptor.js +97 -0
- package/dist/cjs/global/model-registry/hash-descriptor.js.map +1 -0
- package/dist/cjs/global/model-registry/hash-hash-properties.function.d.ts +10 -0
- package/dist/cjs/global/model-registry/hash-hash-properties.function.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/hash-hash-properties.function.js +47 -0
- package/dist/cjs/global/model-registry/hash-hash-properties.function.js.map +1 -0
- package/dist/cjs/global/model-registry/model.registry.d.ts +53 -0
- package/dist/cjs/global/model-registry/model.registry.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/model.registry.js +56 -0
- package/dist/cjs/global/model-registry/model.registry.js.map +1 -0
- package/dist/cjs/global/model-registry/remove-exclude-properties.function.d.ts +9 -0
- package/dist/cjs/global/model-registry/remove-exclude-properties.function.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/remove-exclude-properties.function.js +66 -0
- package/dist/cjs/global/model-registry/remove-exclude-properties.function.js.map +1 -0
- package/dist/cjs/global/model-registry/restore-exclude-properties.function.d.ts +8 -0
- package/dist/cjs/global/model-registry/restore-exclude-properties.function.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/restore-exclude-properties.function.js +46 -0
- package/dist/cjs/global/model-registry/restore-exclude-properties.function.js.map +1 -0
- package/dist/cjs/global/model-registry/set-default-values.function.d.ts +8 -0
- package/dist/cjs/global/model-registry/set-default-values.function.d.ts.map +1 -0
- package/dist/cjs/global/model-registry/set-default-values.function.js +44 -0
- package/dist/cjs/global/model-registry/set-default-values.function.js.map +1 -0
- package/dist/cjs/handlebars/handlebar.utilities.d.ts.map +1 -1
- package/dist/cjs/handlebars/handlebar.utilities.js +2 -1
- package/dist/cjs/handlebars/handlebar.utilities.js.map +1 -1
- package/dist/cjs/handlebars/resolve-all-array-keys.function.d.ts.map +1 -1
- package/dist/cjs/handlebars/resolve-all-array-keys.function.js +2 -1
- package/dist/cjs/handlebars/resolve-all-array-keys.function.js.map +1 -1
- package/dist/cjs/handlebars/resolve-keys-for-block-statement.function.d.ts.map +1 -1
- package/dist/cjs/handlebars/resolve-keys-for-block-statement.function.js +5 -4
- package/dist/cjs/handlebars/resolve-keys-for-block-statement.function.js.map +1 -1
- package/dist/cjs/http/cookie-options.model.d.ts +11 -0
- package/dist/cjs/http/cookie-options.model.d.ts.map +1 -0
- package/dist/cjs/http/cookie-options.model.js +3 -0
- package/dist/cjs/http/cookie-options.model.js.map +1 -0
- package/dist/cjs/http/http-request.model.d.ts +6 -1
- package/dist/cjs/http/http-request.model.d.ts.map +1 -1
- package/dist/cjs/http/http-request.model.js.map +1 -1
- package/dist/cjs/http/known-header.enum.d.ts +29 -25
- package/dist/cjs/http/known-header.enum.d.ts.map +1 -1
- package/dist/cjs/http/known-header.enum.js +30 -26
- package/dist/cjs/http/known-header.enum.js.map +1 -1
- package/dist/cjs/http/mime-type.enum.d.ts +34 -9
- package/dist/cjs/http/mime-type.enum.d.ts.map +1 -1
- package/dist/cjs/http/mime-type.enum.js +41 -8
- package/dist/cjs/http/mime-type.enum.js.map +1 -1
- package/dist/cjs/http/mime-type.helpers.d.ts +41 -17
- package/dist/cjs/http/mime-type.helpers.d.ts.map +1 -1
- package/dist/cjs/http/mime-type.helpers.js +93 -22
- package/dist/cjs/http/mime-type.helpers.js.map +1 -1
- package/dist/cjs/http-client/http-client.d.ts.map +1 -1
- package/dist/cjs/http-client/http-client.interface.d.ts +3 -2
- package/dist/cjs/http-client/http-client.interface.d.ts.map +1 -1
- package/dist/cjs/http-client/http-client.js +9 -7
- package/dist/cjs/http-client/http-client.js.map +1 -1
- package/dist/cjs/index.d.ts +85 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +88 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/localization/formatting/format-price-fn.model.d.ts +1 -1
- package/dist/cjs/localization/formatting/format-price-fn.model.d.ts.map +1 -1
- package/dist/cjs/localization/formatting/format-price.function.d.ts.map +1 -1
- package/dist/cjs/localization/formatting/format-price.function.js.map +1 -1
- package/dist/cjs/logging/error-to-logged-error.function.d.ts.map +1 -1
- package/dist/cjs/logging/error-to-logged-error.function.js +2 -1
- package/dist/cjs/logging/error-to-logged-error.function.js.map +1 -1
- package/dist/cjs/logging/log-cleanup.cron-job.d.ts +1 -1
- package/dist/cjs/logging/log-cleanup.cron-job.d.ts.map +1 -1
- package/dist/cjs/logging/log-cleanup.cron-job.js +3 -2
- package/dist/cjs/logging/log-cleanup.cron-job.js.map +1 -1
- package/dist/cjs/logging/log-context.model.d.ts +51 -1
- package/dist/cjs/logging/log-context.model.d.ts.map +1 -1
- package/dist/cjs/logging/log-context.model.js +79 -1
- package/dist/cjs/logging/log-context.model.js.map +1 -1
- package/dist/cjs/logging/log.model.d.ts +0 -5
- package/dist/cjs/logging/log.model.d.ts.map +1 -1
- package/dist/cjs/logging/log.model.js +0 -9
- package/dist/cjs/logging/log.model.js.map +1 -1
- package/dist/cjs/logging/logger.d.ts +3 -2
- package/dist/cjs/logging/logger.d.ts.map +1 -1
- package/dist/cjs/logging/logger.interface.d.ts +3 -2
- package/dist/cjs/logging/logger.interface.d.ts.map +1 -1
- package/dist/cjs/logging/logger.js +36 -9
- package/dist/cjs/logging/logger.js.map +1 -1
- package/dist/cjs/logging/transport/log-to-console.function.js +2 -2
- package/dist/cjs/logging/transport/log-to-console.function.js.map +1 -1
- package/dist/cjs/metrics/{scrape-metrics.cron-job.d.ts → collect-metrics.cron-job.d.ts} +3 -3
- package/dist/cjs/metrics/collect-metrics.cron-job.d.ts.map +1 -0
- package/dist/cjs/metrics/{scrape-metrics.cron-job.js → collect-metrics.cron-job.js} +11 -10
- package/dist/cjs/metrics/collect-metrics.cron-job.js.map +1 -0
- package/dist/cjs/metrics/metrics.service.d.ts.map +1 -1
- package/dist/cjs/metrics/metrics.service.js +4 -2
- package/dist/cjs/metrics/metrics.service.js.map +1 -1
- package/dist/cjs/multithreading/services/multithreading.service.d.ts.map +1 -1
- package/dist/cjs/multithreading/services/multithreading.service.js +3 -2
- package/dist/cjs/multithreading/services/multithreading.service.js.map +1 -1
- package/dist/cjs/open-api/open-api.service.d.ts.map +1 -1
- package/dist/cjs/open-api/open-api.service.js +24 -14
- package/dist/cjs/open-api/open-api.service.js.map +1 -1
- package/dist/cjs/parsing/form-data/file-response.model.d.ts +9 -0
- package/dist/cjs/parsing/form-data/file-response.model.d.ts.map +1 -1
- package/dist/cjs/parsing/form-data/file-response.model.js +15 -3
- package/dist/cjs/parsing/form-data/file-response.model.js.map +1 -1
- package/dist/cjs/parsing/form-data/form-data-body-parser-cleanup.cron-job.d.ts.map +1 -1
- package/dist/cjs/parsing/form-data/form-data-body-parser-cleanup.cron-job.js +2 -1
- package/dist/cjs/parsing/form-data/form-data-body-parser-cleanup.cron-job.js.map +1 -1
- package/dist/cjs/parsing/form-data/form-data.body-parser.d.ts.map +1 -1
- package/dist/cjs/parsing/form-data/form-data.body-parser.js +13 -12
- package/dist/cjs/parsing/form-data/form-data.body-parser.js.map +1 -1
- package/dist/cjs/parsing/functions/parse-array.function.d.ts.map +1 -1
- package/dist/cjs/parsing/functions/parse-array.function.js +2 -1
- package/dist/cjs/parsing/functions/parse-array.function.js.map +1 -1
- package/dist/cjs/parsing/functions/parse-number.function.d.ts +4 -0
- package/dist/cjs/parsing/functions/parse-number.function.d.ts.map +1 -1
- package/dist/cjs/parsing/functions/parse-number.function.js +17 -0
- package/dist/cjs/parsing/functions/parse-number.function.js.map +1 -1
- package/dist/cjs/parsing/functions/parse-object.function.d.ts.map +1 -1
- package/dist/cjs/parsing/functions/parse-object.function.js +2 -1
- package/dist/cjs/parsing/functions/parse-object.function.js.map +1 -1
- package/dist/cjs/parsing/html/csp-options.model.d.ts +72 -0
- package/dist/cjs/parsing/html/csp-options.model.d.ts.map +1 -0
- package/dist/cjs/parsing/html/csp-options.model.js +43 -0
- package/dist/cjs/parsing/html/csp-options.model.js.map +1 -0
- package/dist/cjs/parsing/html/html-response.model.d.ts +17 -2
- package/dist/cjs/parsing/html/html-response.model.d.ts.map +1 -1
- package/dist/cjs/parsing/html/html-response.model.js +14 -5
- package/dist/cjs/parsing/html/html-response.model.js.map +1 -1
- package/dist/cjs/parsing/json/json.body-parser.js +4 -4
- package/dist/cjs/parsing/json/json.body-parser.js.map +1 -1
- package/dist/cjs/plugin/invoicing/services/invoice-calc-service.interface.d.ts +1 -1
- package/dist/cjs/plugin/invoicing/services/invoice-calc-service.interface.d.ts.map +1 -1
- package/dist/cjs/plugin/invoicing/services/invoice-calc.service.d.ts +1 -0
- package/dist/cjs/plugin/invoicing/services/invoice-calc.service.d.ts.map +1 -1
- package/dist/cjs/plugin/invoicing/services/invoice-calc.service.js +16 -16
- package/dist/cjs/plugin/invoicing/services/invoice-calc.service.js.map +1 -1
- package/dist/cjs/plugin/invoicing/services/invoice-pdf.service.d.ts.map +1 -1
- package/dist/cjs/plugin/invoicing/services/invoice-pdf.service.js.map +1 -1
- package/dist/cjs/plugin/mailing-list/mailing-list.controller.d.ts.map +1 -1
- package/dist/cjs/plugin/mailing-list/mailing-list.controller.js +7 -3
- package/dist/cjs/plugin/mailing-list/mailing-list.controller.js.map +1 -1
- package/dist/cjs/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
- package/dist/cjs/preact/collector.d.ts +3 -0
- package/dist/cjs/preact/collector.d.ts.map +1 -1
- package/dist/cjs/preact/collector.js +85 -27
- package/dist/cjs/preact/collector.js.map +1 -1
- package/dist/cjs/preact/generate-client-scripts.function.d.ts.map +1 -1
- package/dist/cjs/preact/generate-client-scripts.function.js +4 -5
- package/dist/cjs/preact/generate-client-scripts.function.js.map +1 -1
- package/dist/cjs/preact/preact.utilities.d.ts +0 -14
- package/dist/cjs/preact/preact.utilities.d.ts.map +1 -1
- package/dist/cjs/preact/preact.utilities.js +14 -28
- package/dist/cjs/preact/preact.utilities.js.map +1 -1
- package/dist/cjs/rate-limiting/rate-limiter.d.ts +7 -0
- package/dist/cjs/rate-limiting/rate-limiter.d.ts.map +1 -1
- package/dist/cjs/rate-limiting/rate-limiter.js +9 -0
- package/dist/cjs/rate-limiting/rate-limiter.js.map +1 -1
- package/dist/cjs/routing/decorators/body.decorator.d.ts +2 -1
- package/dist/cjs/routing/decorators/body.decorator.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/body.decorator.js.map +1 -1
- package/dist/cjs/routing/decorators/param.decorator.d.ts +6 -6
- package/dist/cjs/routing/decorators/param.decorator.d.ts.map +1 -1
- package/dist/cjs/routing/decorators/param.decorator.js.map +1 -1
- package/dist/cjs/routing/models/array-param-metadata.model.d.ts +3 -3
- package/dist/cjs/routing/models/array-param-metadata.model.d.ts.map +1 -1
- package/dist/cjs/routing/models/boolean-param-metadata.model.d.ts +1 -1
- package/dist/cjs/routing/models/boolean-param-metadata.model.d.ts.map +1 -1
- package/dist/cjs/routing/models/date-param-metadata.model.d.ts +1 -1
- package/dist/cjs/routing/models/date-param-metadata.model.d.ts.map +1 -1
- package/dist/cjs/routing/models/number-param-metadata.model.d.ts +1 -1
- package/dist/cjs/routing/models/number-param-metadata.model.d.ts.map +1 -1
- package/dist/cjs/routing/models/object-param-metadata.model.d.ts +1 -1
- package/dist/cjs/routing/models/object-param-metadata.model.d.ts.map +1 -1
- package/dist/cjs/routing/models/string-param-metadata.model.d.ts +4 -2
- package/dist/cjs/routing/models/string-param-metadata.model.d.ts.map +1 -1
- package/dist/cjs/routing/param-metdata.helpers.d.ts.map +1 -1
- package/dist/cjs/routing/param-metdata.helpers.js +6 -0
- package/dist/cjs/routing/param-metdata.helpers.js.map +1 -1
- package/dist/cjs/routing/resolve-route-params.function.d.ts +3 -7
- package/dist/cjs/routing/resolve-route-params.function.d.ts.map +1 -1
- package/dist/cjs/routing/resolve-route-params.function.js +62 -22
- package/dist/cjs/routing/resolve-route-params.function.js.map +1 -1
- package/dist/cjs/routing/route-configuration.model.d.ts +2 -2
- package/dist/cjs/routing/route-configuration.model.d.ts.map +1 -1
- package/dist/cjs/routing/router.d.ts +3 -1
- package/dist/cjs/routing/router.d.ts.map +1 -1
- package/dist/cjs/routing/router.js +143 -91
- package/dist/cjs/routing/router.js.map +1 -1
- package/dist/cjs/types/any-enum.type.d.ts +1 -1
- package/dist/cjs/types/any-enum.type.d.ts.map +1 -1
- package/dist/cjs/types/deep-partial.type.d.ts +1 -1
- package/dist/cjs/types/deep-partial.type.d.ts.map +1 -1
- package/dist/cjs/types/percentage.type.d.ts +1 -1
- package/dist/cjs/types/percentage.type.d.ts.map +1 -1
- package/dist/cjs/utilities/bytes.d.ts +19 -0
- package/dist/cjs/utilities/bytes.d.ts.map +1 -0
- package/dist/cjs/utilities/bytes.js +25 -0
- package/dist/cjs/utilities/bytes.js.map +1 -0
- package/dist/cjs/utilities/doubly-linked-list.d.ts +59 -0
- package/dist/cjs/utilities/doubly-linked-list.d.ts.map +1 -0
- package/dist/cjs/utilities/doubly-linked-list.js +127 -0
- package/dist/cjs/utilities/doubly-linked-list.js.map +1 -0
- package/dist/cjs/utilities/is-numeric.function.d.ts +1 -1
- package/dist/cjs/utilities/is-numeric.function.d.ts.map +1 -1
- package/dist/cjs/utilities/is-numeric.function.js +2 -1
- package/dist/cjs/utilities/is-numeric.function.js.map +1 -1
- package/dist/cjs/utilities/json.utilities.d.ts +24 -0
- package/dist/cjs/utilities/json.utilities.d.ts.map +1 -0
- package/dist/cjs/utilities/json.utilities.js +37 -0
- package/dist/cjs/utilities/json.utilities.js.map +1 -0
- package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts +2 -1
- package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts.map +1 -1
- package/dist/cjs/utilities/metadata-injection-keys.enum.js +1 -0
- package/dist/cjs/utilities/metadata-injection-keys.enum.js.map +1 -1
- package/dist/cjs/utilities/ms.d.ts +8 -0
- package/dist/cjs/utilities/ms.d.ts.map +1 -1
- package/dist/cjs/utilities/ms.js +8 -0
- package/dist/cjs/utilities/ms.js.map +1 -1
- package/dist/cjs/utilities/now-in-ns.function.d.ts +6 -0
- package/dist/cjs/utilities/now-in-ns.function.d.ts.map +1 -0
- package/dist/cjs/utilities/now-in-ns.function.js +15 -0
- package/dist/cjs/utilities/now-in-ns.function.js.map +1 -0
- package/dist/cjs/utilities/{big-number.utilities.d.ts → number.utilities.d.ts} +14 -7
- package/dist/cjs/utilities/number.utilities.d.ts.map +1 -0
- package/dist/cjs/utilities/{big-number.utilities.js → number.utilities.js} +13 -4
- package/dist/cjs/utilities/number.utilities.js.map +1 -0
- package/dist/cjs/utilities/promise.utilities.d.ts +1 -1
- package/dist/cjs/utilities/promise.utilities.d.ts.map +1 -1
- package/dist/cjs/utilities/promise.utilities.js +1 -1
- package/dist/cjs/utilities/promise.utilities.js.map +1 -1
- package/dist/cjs/validation/functions/validate-boolean.function.d.ts +1 -1
- package/dist/cjs/validation/functions/validate-boolean.function.d.ts.map +1 -1
- package/dist/cjs/validation/functions/validate-boolean.function.js +12 -10
- package/dist/cjs/validation/functions/validate-boolean.function.js.map +1 -1
- package/dist/cjs/validation/functions/validate-date.function.d.ts +1 -1
- package/dist/cjs/validation/functions/validate-date.function.d.ts.map +1 -1
- package/dist/cjs/validation/functions/validate-date.function.js +10 -10
- package/dist/cjs/validation/functions/validate-date.function.js.map +1 -1
- package/dist/cjs/validation/functions/validate-file.function.d.ts +1 -1
- package/dist/cjs/validation/functions/validate-file.function.d.ts.map +1 -1
- package/dist/cjs/validation/functions/validate-file.function.js +9 -12
- package/dist/cjs/validation/functions/validate-file.function.js.map +1 -1
- package/dist/cjs/validation/functions/validate-number.function.d.ts +1 -1
- package/dist/cjs/validation/functions/validate-number.function.d.ts.map +1 -1
- package/dist/cjs/validation/functions/validate-number.function.js +37 -11
- package/dist/cjs/validation/functions/validate-number.function.js.map +1 -1
- package/dist/cjs/validation/functions/validate-string.function.d.ts +1 -1
- package/dist/cjs/validation/functions/validate-string.function.d.ts.map +1 -1
- package/dist/cjs/validation/functions/validate-string.function.js +15 -4
- package/dist/cjs/validation/functions/validate-string.function.js.map +1 -1
- package/dist/cjs/validation/validation-service.interface.d.ts +5 -5
- package/dist/cjs/validation/validation-service.interface.d.ts.map +1 -1
- package/dist/cjs/validation/validation.service.d.ts +7 -5
- package/dist/cjs/validation/validation.service.d.ts.map +1 -1
- package/dist/cjs/validation/validation.service.js +55 -72
- package/dist/cjs/validation/validation.service.js.map +1 -1
- package/dist/cjs/websocket/services/websocket.service.d.ts.map +1 -1
- package/dist/cjs/websocket/services/websocket.service.js +63 -56
- package/dist/cjs/websocket/services/websocket.service.js.map +1 -1
- package/dist/esm/application-options.model.js +3 -1
- package/dist/esm/application-options.model.js.map +1 -1
- package/dist/esm/application.js +140 -82
- package/dist/esm/application.js.map +1 -1
- package/dist/esm/assets/asset-service.interface.js +2 -1
- package/dist/esm/assets/asset.service.js +31 -30
- package/dist/esm/assets/asset.service.js.map +1 -1
- package/dist/esm/auth/2fa/methods/otp/hi-base32.utilities.js +7 -3
- package/dist/esm/auth/2fa/methods/otp/hi-base32.utilities.js.map +1 -1
- package/dist/esm/auth/2fa/methods/otp/otp-credentials.model.js +17 -13
- package/dist/esm/auth/2fa/methods/otp/otp-credentials.model.js.map +1 -1
- package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js +32 -29
- package/dist/esm/auth/2fa/methods/otp/otp.two-factor-method.js.map +1 -1
- package/dist/esm/auth/2fa/methods/otp/otp.utilities.js +8 -4
- package/dist/esm/auth/2fa/methods/otp/otp.utilities.js.map +1 -1
- package/dist/esm/auth/2fa/methods/two-factor-method.interface.js +4 -1
- package/dist/esm/auth/2fa/methods/two-factor-method.interface.js.map +1 -1
- package/dist/esm/auth/2fa/two-factor-methods.model.js +2 -1
- package/dist/esm/auth/2fa/two-factor-service.interface.js +2 -1
- package/dist/esm/auth/2fa/two-factor.service.js +19 -12
- package/dist/esm/auth/2fa/two-factor.service.js.map +1 -1
- package/dist/esm/auth/auth-controller.interface.js +2 -1
- package/dist/esm/auth/auth-service.interface.js +2 -1
- package/dist/esm/auth/auth.service.js +89 -78
- package/dist/esm/auth/auth.service.js.map +1 -1
- package/dist/esm/auth/decorators/auth.decorator.js +17 -14
- package/dist/esm/auth/decorators/auth.decorator.js.map +1 -1
- package/dist/esm/auth/decorators/belongs-to.decorator.js +10 -7
- package/dist/esm/auth/decorators/belongs-to.decorator.js.map +1 -1
- package/dist/esm/auth/decorators/current-user.decorator.js +7 -4
- package/dist/esm/auth/decorators/current-user.decorator.js.map +1 -1
- package/dist/esm/auth/decorators/has-role.decorator.js +10 -7
- package/dist/esm/auth/decorators/has-role.decorator.js.map +1 -1
- package/dist/esm/auth/decorators/is-logged-in.decorator.js +10 -7
- package/dist/esm/auth/decorators/is-logged-in.decorator.js.map +1 -1
- package/dist/esm/auth/decorators/is-not-logged-in.decorator.js +10 -7
- package/dist/esm/auth/decorators/is-not-logged-in.decorator.js.map +1 -1
- package/dist/esm/auth/decorators/require-2fa.decorator.js +11 -7
- package/dist/esm/auth/decorators/require-2fa.decorator.js.map +1 -1
- package/dist/esm/auth/decorators/user-repo.decorator.js +10 -7
- package/dist/esm/auth/decorators/user-repo.decorator.js.map +1 -1
- package/dist/esm/auth/encryption/encryption-key.model.js +59 -0
- package/dist/esm/auth/encryption/encryption-key.model.js.map +1 -0
- package/dist/esm/auth/encryption/encryption-master-options.model.js +3 -0
- package/dist/esm/auth/encryption/encryption-master-options.model.js.map +1 -0
- package/dist/esm/auth/encryption/encryption-service.interface.js +3 -0
- package/dist/esm/auth/encryption/encryption-service.interface.js.map +1 -0
- package/dist/esm/auth/encryption/encryption.service.js +559 -0
- package/dist/esm/auth/encryption/encryption.service.js.map +1 -0
- package/dist/esm/auth/encryption/encryption.utilities.js +37 -0
- package/dist/esm/auth/encryption/encryption.utilities.js.map +1 -0
- package/dist/esm/auth/encryption/strategies/aes-gcm.encryption-strategy.js +71 -0
- package/dist/esm/auth/encryption/strategies/aes-gcm.encryption-strategy.js.map +1 -0
- package/dist/esm/auth/encryption/strategies/encryption-strategy-entity.model.js +67 -0
- package/dist/esm/auth/encryption/strategies/encryption-strategy-entity.model.js.map +1 -0
- package/dist/esm/auth/encryption/strategies/encryption-strategy.interface.js +3 -0
- package/dist/esm/auth/encryption/strategies/encryption-strategy.interface.js.map +1 -0
- package/dist/esm/auth/hash/hash-service.interface.js +3 -0
- package/dist/esm/auth/hash/hash-service.interface.js.map +1 -0
- package/dist/esm/auth/hash/hash.service.js +148 -0
- package/dist/esm/auth/hash/hash.service.js.map +1 -0
- package/dist/esm/auth/hash/hash.utilities.js +36 -0
- package/dist/esm/auth/hash/hash.utilities.js.map +1 -0
- package/dist/esm/auth/hash/strategies/bcrypt.hash-strategy.js +26 -0
- package/dist/esm/auth/hash/strategies/bcrypt.hash-strategy.js.map +1 -0
- package/dist/esm/auth/hash/strategies/hash-strategy-entity.model.js +58 -0
- package/dist/esm/auth/hash/strategies/hash-strategy-entity.model.js.map +1 -0
- package/dist/esm/auth/hash/strategies/hash-strategy.interface.js +3 -0
- package/dist/esm/auth/hash/strategies/hash-strategy.interface.js.map +1 -0
- package/dist/esm/auth/models/base-user.model.js +11 -7
- package/dist/esm/auth/models/base-user.model.js.map +1 -1
- package/dist/esm/auth/models/belongs-to-metadata.model.js +2 -1
- package/dist/esm/auth/models/has-role-metadata.model.js +2 -1
- package/dist/esm/auth/models/is-logged-in-metadata.model.js +2 -1
- package/dist/esm/auth/models/is-not-logged-in-metadata.model.js +2 -1
- package/dist/esm/auth/models/password-reset-token.model.js +16 -12
- package/dist/esm/auth/models/password-reset-token.model.js.map +1 -1
- package/dist/esm/auth/models/require-2fa-metadata.model.js +2 -1
- package/dist/esm/auth/models/skip-auth-metadata.model.js +2 -1
- package/dist/esm/auth/models/user-repositories.model.js +2 -1
- package/dist/esm/auth/strategies/auth-strategies.model.js +2 -1
- package/dist/esm/auth/strategies/auth-strategy.interface.js +4 -1
- package/dist/esm/auth/strategies/auth-strategy.interface.js.map +1 -1
- package/dist/esm/auth/strategies/cookie/cookie-auth-confirm-password-reset-data.model.js +40 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-confirm-password-reset-data.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-credentials.model.js +80 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-credentials.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-data.model.js +60 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-data.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-logout-data.model.js +40 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-logout-data.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-refresh-login-data.model.js +14 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-refresh-login-data.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-refresh-session.model.js +77 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-refresh-session.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-request-password-reset-data.model.js +3 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-request-password-reset-data.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-session-cleanup.cron-job.js +54 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-session-cleanup.cron-job.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-session.model.js +59 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth-session.model.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth.auth-strategy.js +430 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js +210 -0
- package/dist/esm/auth/strategies/cookie/cookie-auth.controller.js.map +1 -0
- package/dist/esm/auth/strategies/jwt/encoded-jwt-access-token.model.js +2 -1
- package/dist/esm/auth/strategies/jwt/jwt-access-token-payload.model.js +2 -1
- package/dist/esm/auth/strategies/jwt/jwt-auth-data.model.js +13 -9
- package/dist/esm/auth/strategies/jwt/jwt-auth-data.model.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js +87 -53
- package/dist/esm/auth/strategies/jwt/jwt-auth.controller.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-confirm-password-reset-data.model.js +12 -4
- package/dist/esm/auth/strategies/jwt/jwt-confirm-password-reset-data.model.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js +27 -14
- package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-refresh-login-data.model.js +11 -3
- package/dist/esm/auth/strategies/jwt/jwt-refresh-login-data.model.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-refresh-token-cleanup.cron-job.js +48 -0
- package/dist/esm/auth/strategies/jwt/jwt-refresh-token-cleanup.cron-job.js.map +1 -0
- package/dist/esm/auth/strategies/jwt/jwt-refresh-token-payload.model.js +2 -1
- package/dist/esm/auth/strategies/jwt/jwt-refresh-token.model.js +18 -14
- package/dist/esm/auth/strategies/jwt/jwt-refresh-token.model.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-request-password-reset-data.model.js +2 -1
- package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js +113 -106
- package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt.model.js +8 -4
- package/dist/esm/auth/strategies/jwt/jwt.model.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt.utilities.js +8 -4
- package/dist/esm/auth/strategies/jwt/jwt.utilities.js.map +1 -1
- package/dist/esm/auth/user/user-repository.interface.js +2 -1
- package/dist/esm/auth/user/user-service.interface.js +2 -1
- package/dist/esm/auth/user/user.service.js +23 -20
- package/dist/esm/auth/user/user.service.js.map +1 -1
- package/dist/esm/backup/backup-entity.model.js +17 -14
- package/dist/esm/backup/backup-entity.model.js.map +1 -1
- package/dist/esm/backup/backup-resource-entity.model.js +17 -14
- package/dist/esm/backup/backup-resource-entity.model.js.map +1 -1
- package/dist/esm/backup/backup-resource.interface.js +2 -1
- package/dist/esm/backup/backup-service.interface.js +2 -1
- package/dist/esm/backup/backup.service.js +43 -39
- package/dist/esm/backup/backup.service.js.map +1 -1
- package/dist/esm/backup/decorators/backup-resource-metadata.model.js +2 -1
- package/dist/esm/backup/decorators/backup-resource.decorator.js +9 -6
- package/dist/esm/backup/decorators/backup-resource.decorator.js.map +1 -1
- package/dist/esm/backup/transports/backup-transport.interface.js +2 -1
- package/dist/esm/backup/transports/fs.backup-transport.js +25 -20
- package/dist/esm/backup/transports/fs.backup-transport.js.map +1 -1
- package/dist/esm/caching/cache/base-cache.model.js +245 -0
- package/dist/esm/caching/cache/base-cache.model.js.map +1 -0
- package/dist/esm/caching/cache/cache-operation.enum.js +14 -0
- package/dist/esm/caching/cache/cache-operation.enum.js.map +1 -0
- package/dist/esm/caching/cache/cache-options.model.js +3 -0
- package/dist/esm/caching/cache/cache-options.model.js.map +1 -0
- package/dist/esm/caching/cache/cache.interface.js +36 -0
- package/dist/esm/caching/cache/cache.interface.js.map +1 -0
- package/dist/esm/caching/cache/multi-tier.cache.js +190 -0
- package/dist/esm/caching/cache/multi-tier.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-aside/read-aside.cache.js +78 -0
- package/dist/esm/caching/cache/read-aside/read-aside.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-aside/write-around-read-aside.cache.js +39 -0
- package/dist/esm/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-aside/write-behind-read-aside.cache.js +73 -0
- package/dist/esm/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js +63 -0
- package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js +63 -0
- package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-aside/write-through-read-aside.cache.js +64 -0
- package/dist/esm/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-through/read-through.cache.js +78 -0
- package/dist/esm/caching/cache/read-through/read-through.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-through/write-around-read-through.cache.js +36 -0
- package/dist/esm/caching/cache/read-through/write-around-read-through.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-through/write-behind-read-through.cache.js +76 -0
- package/dist/esm/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js +65 -0
- package/dist/esm/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js +64 -0
- package/dist/esm/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -0
- package/dist/esm/caching/cache/read-through/write-through-read-through.cache.js +61 -0
- package/dist/esm/caching/cache/read-through/write-through-read-through.cache.js.map +1 -0
- package/dist/esm/caching/cache-metrics.model.js +3 -0
- package/dist/esm/caching/cache-metrics.model.js.map +1 -0
- package/dist/esm/caching/cache-service.interface.js +3 -0
- package/dist/esm/caching/cache-service.interface.js.map +1 -0
- package/dist/esm/caching/cache-tag-matchers.js +29 -0
- package/dist/esm/caching/cache-tag-matchers.js.map +1 -0
- package/dist/esm/caching/cache.service.js +74 -0
- package/dist/esm/caching/cache.service.js.map +1 -0
- package/dist/esm/caching/decorators/cache-delete.decorator.js +30 -0
- package/dist/esm/caching/decorators/cache-delete.decorator.js.map +1 -0
- package/dist/esm/caching/decorators/cache-invalidate.decorator.js +29 -0
- package/dist/esm/caching/decorators/cache-invalidate.decorator.js.map +1 -0
- package/dist/esm/caching/decorators/cache-write.decorator.js +32 -0
- package/dist/esm/caching/decorators/cache-write.decorator.js.map +1 -0
- package/dist/esm/caching/decorators/cache.decorator.js +21 -0
- package/dist/esm/caching/decorators/cache.decorator.js.map +1 -0
- package/dist/esm/caching/decorators/cached.decorator.js +31 -0
- package/dist/esm/caching/decorators/cached.decorator.js.map +1 -0
- package/dist/esm/caching/decorators/decorator-types.js +3 -0
- package/dist/esm/caching/decorators/decorator-types.js.map +1 -0
- package/dist/esm/caching/store/cache-store.interface.js +3 -0
- package/dist/esm/caching/store/cache-store.interface.js.map +1 -0
- package/dist/esm/caching/store/cached-value.model.js +52 -0
- package/dist/esm/caching/store/cached-value.model.js.map +1 -0
- package/dist/esm/caching/store/in-memory.cache-store.js +227 -0
- package/dist/esm/caching/store/in-memory.cache-store.js.map +1 -0
- package/dist/esm/change-sets/change-set-repository.js +95 -74
- package/dist/esm/change-sets/change-set-repository.js.map +1 -1
- package/dist/esm/change-sets/models/change-set-entity.model.js +6 -3
- package/dist/esm/change-sets/models/change-set-entity.model.js.map +1 -1
- package/dist/esm/change-sets/models/change-set-type.enum.js +5 -2
- package/dist/esm/change-sets/models/change-set-type.enum.js.map +1 -1
- package/dist/esm/change-sets/models/change-set.model.js +19 -16
- package/dist/esm/change-sets/models/change-set.model.js.map +1 -1
- package/dist/esm/change-sets/models/change.model.js +16 -13
- package/dist/esm/change-sets/models/change.model.js.map +1 -1
- package/dist/esm/change-sets/models/soft-delete-entity.model.js +7 -4
- package/dist/esm/change-sets/models/soft-delete-entity.model.js.map +1 -1
- package/dist/esm/change-sets/models/soft-delete-find-all-options.model.js +2 -1
- package/dist/esm/change-sets/models/soft-delete-find-all-paginated-options.model.js +2 -1
- package/dist/esm/change-sets/models/soft-delete-find-by-id-options.model.js +2 -1
- package/dist/esm/change-sets/models/soft-delete-find-one-options.model.js +2 -1
- package/dist/esm/change-sets/models/soft-delete-update-all-options.model.js +2 -1
- package/dist/esm/change-sets/models/soft-delete-update-by-id-options.model.js +2 -1
- package/dist/esm/change-sets/models/soft-delete-where.model.js +2 -1
- package/dist/esm/change-sets/soft-delete-repository.js +19 -14
- package/dist/esm/change-sets/soft-delete-repository.js.map +1 -1
- package/dist/esm/context/als.utilities.js +77 -0
- package/dist/esm/context/als.utilities.js.map +1 -0
- package/dist/esm/context/base-context.js +15 -0
- package/dist/esm/context/base-context.js.map +1 -0
- package/dist/esm/context/request/http-request.context.js +43 -0
- package/dist/esm/context/request/http-request.context.js.map +1 -0
- package/dist/esm/context/request/request-context-token.model.js +70 -0
- package/dist/esm/context/request/request-context-token.model.js.map +1 -0
- package/dist/esm/context/request/websocket-request.context.js +43 -0
- package/dist/esm/context/request/websocket-request.context.js.map +1 -0
- package/dist/esm/cron/cron-expression.utilities.js +171 -0
- package/dist/esm/cron/cron-expression.utilities.js.map +1 -0
- package/dist/esm/cron/cron-job-entity.model.js +17 -14
- package/dist/esm/cron/cron-job-entity.model.js.map +1 -1
- package/dist/esm/cron/cron-job.model.js +22 -17
- package/dist/esm/cron/cron-job.model.js.map +1 -1
- package/dist/esm/cron/cron-service.interface.js +2 -1
- package/dist/esm/cron/cron.service.js +18 -13
- package/dist/esm/cron/cron.service.js.map +1 -1
- package/dist/esm/data-source/data-source-service.interface.js +2 -1
- package/dist/esm/data-source/data-source.service.js +17 -14
- package/dist/esm/data-source/data-source.service.js.map +1 -1
- package/dist/esm/data-source/data-sources/data-source.interface.js +15 -1
- package/dist/esm/data-source/data-sources/data-source.interface.js.map +1 -1
- package/dist/esm/data-source/data-sources/postgres-data-source.model.js +77 -62
- package/dist/esm/data-source/data-sources/postgres-data-source.model.js.map +1 -1
- package/dist/esm/data-source/decorators/data-source.decorator.js +8 -5
- package/dist/esm/data-source/decorators/data-source.decorator.js.map +1 -1
- package/dist/esm/data-source/hooks/before-return.js +3 -0
- package/dist/esm/data-source/hooks/before-return.js.map +1 -0
- package/dist/esm/data-source/hooks/before-save.js +3 -0
- package/dist/esm/data-source/hooks/before-save.js.map +1 -0
- package/dist/esm/data-source/hooks/hooks.default.js +37 -0
- package/dist/esm/data-source/hooks/hooks.default.js.map +1 -0
- package/dist/esm/data-source/migration/migration-entity.model.js +13 -10
- package/dist/esm/data-source/migration/migration-entity.model.js.map +1 -1
- package/dist/esm/data-source/migration/migration.model.js +10 -6
- package/dist/esm/data-source/migration/migration.model.js.map +1 -1
- package/dist/esm/data-source/models/column-type.model.js +2 -1
- package/dist/esm/data-source/models/data-source-options.model.js +2 -1
- package/dist/esm/data-source/models/options/base-repository-options.model.js +2 -1
- package/dist/esm/data-source/models/options/count-options.model.js +2 -1
- package/dist/esm/data-source/models/options/create-all-options.model.js +2 -1
- package/dist/esm/data-source/models/options/create-options.model.js +2 -1
- package/dist/esm/data-source/models/options/delete-all-options.model.js +2 -1
- package/dist/esm/data-source/models/options/delete-by-id-options.model.js +2 -1
- package/dist/esm/data-source/models/options/find-all-options.model.js +2 -1
- package/dist/esm/data-source/models/options/find-all-paginated-options.model.js +2 -1
- package/dist/esm/data-source/models/options/find-by-id-options.model.js +2 -1
- package/dist/esm/data-source/models/options/find-one-options.model.js +2 -1
- package/dist/esm/data-source/models/options/update-all-options.model.js +2 -1
- package/dist/esm/data-source/models/options/update-by-id-options.model.js +2 -1
- package/dist/esm/data-source/models/where/array-where-filter.model.js +2 -1
- package/dist/esm/data-source/models/where/base-where-filter.model.js +2 -1
- package/dist/esm/data-source/models/where/boolean-where-filter.model.js +2 -1
- package/dist/esm/data-source/models/where/date-where-filter.model.js +2 -1
- package/dist/esm/data-source/models/where/number-where-filter.model.js +2 -1
- package/dist/esm/data-source/models/where/object-where-filter.model.js +2 -1
- package/dist/esm/data-source/models/where/string-where-filter.model.js +2 -1
- package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js +52 -41
- package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js.map +1 -1
- package/dist/esm/data-source/models/where/where-filter.model.js +2 -1
- package/dist/esm/data-source/query-failed.error.js +5 -1
- package/dist/esm/data-source/query-failed.error.js.map +1 -1
- package/dist/esm/data-source/repository.js +86 -126
- package/dist/esm/data-source/repository.js.map +1 -1
- package/dist/esm/data-source/transaction/transaction.model.js +2 -1
- package/dist/esm/data-source/transaction/typeorm-transaction.model.js +5 -1
- package/dist/esm/data-source/transaction/typeorm-transaction.model.js.map +1 -1
- package/dist/esm/di/decorators/inject-repository.decorator.js +12 -8
- package/dist/esm/di/decorators/inject-repository.decorator.js.map +1 -1
- package/dist/esm/di/decorators/inject.decorator.js +8 -5
- package/dist/esm/di/decorators/inject.decorator.js.map +1 -1
- package/dist/esm/di/decorators/injectable.decorator.js +10 -7
- package/dist/esm/di/decorators/injectable.decorator.js.map +1 -1
- package/dist/esm/di/default/zibri-di-providers.default.js +143 -71
- package/dist/esm/di/default/zibri-di-providers.default.js.map +1 -1
- package/dist/esm/di/default/zibri-di-tokens.default.js +30 -8
- package/dist/esm/di/default/zibri-di-tokens.default.js.map +1 -1
- package/dist/esm/di/di-container.js +27 -22
- package/dist/esm/di/di-container.js.map +1 -1
- package/dist/esm/di/errors/get-dependency-stack-trace.function.js +6 -3
- package/dist/esm/di/errors/get-dependency-stack-trace.function.js.map +1 -1
- package/dist/esm/di/errors/no-provider.error.js +11 -7
- package/dist/esm/di/errors/no-provider.error.js.map +1 -1
- package/dist/esm/di/get-all-registered-tokens.function.js +6 -3
- package/dist/esm/di/get-all-registered-tokens.function.js.map +1 -1
- package/dist/esm/di/inject.function.js +6 -3
- package/dist/esm/di/inject.function.js.map +1 -1
- package/dist/esm/di/models/di-provider.model.js +4 -1
- package/dist/esm/di/models/di-provider.model.js.map +1 -1
- package/dist/esm/di/models/di-token.model.js +6 -3
- package/dist/esm/di/models/di-token.model.js.map +1 -1
- package/dist/esm/di/models/injection-token.model.js +5 -1
- package/dist/esm/di/models/injection-token.model.js.map +1 -1
- package/dist/esm/di/register.function.js +8 -5
- package/dist/esm/di/register.function.js.map +1 -1
- package/dist/esm/document/pdf.utilities.js +10 -3
- package/dist/esm/document/pdf.utilities.js.map +1 -1
- package/dist/esm/document/xml.utilities.js +7 -3
- package/dist/esm/document/xml.utilities.js.map +1 -1
- package/dist/esm/email/email-service.interface.js +2 -1
- package/dist/esm/email/email.service.js +37 -32
- package/dist/esm/email/email.service.js.map +1 -1
- package/dist/esm/email/models/create-email-data.model.js +12 -7
- package/dist/esm/email/models/create-email-data.model.js.map +1 -1
- package/dist/esm/email/models/email-attachment.model.js +8 -4
- package/dist/esm/email/models/email-attachment.model.js.map +1 -1
- package/dist/esm/email/models/email-config.model.js +2 -1
- package/dist/esm/email/models/email-priority.enum.js +5 -2
- package/dist/esm/email/models/email-priority.enum.js.map +1 -1
- package/dist/esm/email/models/email-status.enum.js +5 -2
- package/dist/esm/email/models/email-status.enum.js.map +1 -1
- package/dist/esm/email/models/email.model.js +25 -22
- package/dist/esm/email/models/email.model.js.map +1 -1
- package/dist/esm/email/send-queued-emails.cron-job.js +12 -8
- package/dist/esm/email/send-queued-emails.cron-job.js.map +1 -1
- package/dist/esm/entity/any-object.model.js +5 -1
- package/dist/esm/entity/any-object.model.js.map +1 -1
- package/dist/esm/entity/base-entity.model.js +7 -3
- package/dist/esm/entity/base-entity.model.js.map +1 -1
- package/dist/esm/entity/decorators/entity.decorator.js +10 -7
- package/dist/esm/entity/decorators/entity.decorator.js.map +1 -1
- package/dist/esm/entity/decorators/property.decorator.js +83 -45
- package/dist/esm/entity/decorators/property.decorator.js.map +1 -1
- package/dist/esm/entity/generation/generate-entity-file.function.js +16 -12
- package/dist/esm/entity/generation/generate-entity-file.function.js.map +1 -1
- package/dist/esm/entity/generation/generate-entity-files-for-provider.function.js +30 -27
- package/dist/esm/entity/generation/generate-entity-files-for-provider.function.js.map +1 -1
- package/dist/esm/entity/generation/generate-entity-files.function.js +18 -14
- package/dist/esm/entity/generation/generate-entity-files.function.js.map +1 -1
- package/dist/esm/entity/generation/get-entity-file-name.function.js +6 -3
- package/dist/esm/entity/generation/get-entity-file-name.function.js.map +1 -1
- package/dist/esm/entity/generation/providers/entity-generation-provider.interface.js +2 -1
- package/dist/esm/entity/generation/providers/open-api-file.provider.js +10 -5
- package/dist/esm/entity/generation/providers/open-api-file.provider.js.map +1 -1
- package/dist/esm/entity/generation/providers/open-api-to-v3.function.js +6 -3
- package/dist/esm/entity/generation/providers/open-api-to-v3.function.js.map +1 -1
- package/dist/esm/entity/generation/providers/open-api-url.provider.js +10 -6
- package/dist/esm/entity/generation/providers/open-api-url.provider.js.map +1 -1
- package/dist/esm/entity/intersection-class.model.js +6 -3
- package/dist/esm/entity/intersection-class.model.js.map +1 -1
- package/dist/esm/entity/models/array-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/base-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/base-relation-metadata.model.js +2 -1
- package/dist/esm/entity/models/boolean-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/date-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/file-property-metadata.model.js +9 -6
- package/dist/esm/entity/models/file-property-metadata.model.js.map +1 -1
- package/dist/esm/entity/models/many-to-many-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/many-to-one-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/number-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/object-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/one-to-many-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/one-to-one-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/relation.enum.js +5 -2
- package/dist/esm/entity/models/relation.enum.js.map +1 -1
- package/dist/esm/entity/models/string-property-metadata.model.js +2 -1
- package/dist/esm/entity/models/unknown-property-metadata.model.js +2 -1
- package/dist/esm/entity/omit-class.model.js +6 -3
- package/dist/esm/entity/omit-class.model.js.map +1 -1
- package/dist/esm/entity/partial-class.model.js +9 -6
- package/dist/esm/entity/partial-class.model.js.map +1 -1
- package/dist/esm/entity/pick-class.model.js +8 -5
- package/dist/esm/entity/pick-class.model.js.map +1 -1
- package/dist/esm/entity/utilities/copy-class-properties.function.js +19 -14
- package/dist/esm/entity/utilities/copy-class-properties.function.js.map +1 -1
- package/dist/esm/error-handling/error-handler.js +25 -20
- package/dist/esm/error-handling/error-handler.js.map +1 -1
- package/dist/esm/error-handling/error-handler.model.js +2 -1
- package/dist/esm/error-handling/errors/bad-request.error.js +8 -4
- package/dist/esm/error-handling/errors/bad-request.error.js.map +1 -1
- package/dist/esm/error-handling/errors/conflict.error.js +8 -4
- package/dist/esm/error-handling/errors/conflict.error.js.map +1 -1
- package/dist/esm/error-handling/errors/content-too-large.error.js +8 -4
- package/dist/esm/error-handling/errors/content-too-large.error.js.map +1 -1
- package/dist/esm/error-handling/errors/http.error.js +7 -2
- package/dist/esm/error-handling/errors/http.error.js.map +1 -1
- package/dist/esm/error-handling/errors/internal-server.error.js +8 -4
- package/dist/esm/error-handling/errors/internal-server.error.js.map +1 -1
- package/dist/esm/error-handling/errors/missing-entities.error.js +5 -1
- package/dist/esm/error-handling/errors/missing-entities.error.js.map +1 -1
- package/dist/esm/error-handling/errors/missing-tokens.error.js +7 -3
- package/dist/esm/error-handling/errors/missing-tokens.error.js.map +1 -1
- package/dist/esm/error-handling/errors/not-found.error.js +8 -4
- package/dist/esm/error-handling/errors/not-found.error.js.map +1 -1
- package/dist/esm/error-handling/errors/too-many-requests.error.js +8 -4
- package/dist/esm/error-handling/errors/too-many-requests.error.js.map +1 -1
- package/dist/esm/error-handling/errors/unauthorized.error.js +8 -4
- package/dist/esm/error-handling/errors/unauthorized.error.js.map +1 -1
- package/dist/esm/error-handling/errors/unmatched-route.error.js +6 -2
- package/dist/esm/error-handling/errors/unmatched-route.error.js.map +1 -1
- package/dist/esm/error-handling/errors/validation.error.js +11 -4
- package/dist/esm/error-handling/errors/validation.error.js.map +1 -1
- package/dist/esm/error-handling/is-error.function.js +4 -1
- package/dist/esm/error-handling/is-error.function.js.map +1 -1
- package/dist/esm/error-handling/unknown-to-error-string.function.js +8 -4
- package/dist/esm/error-handling/unknown-to-error-string.function.js.map +1 -1
- package/dist/esm/event/event-cleanup.cron-job.js +58 -0
- package/dist/esm/event/event-cleanup.cron-job.js.map +1 -0
- package/dist/esm/event/event-processing.error.js +19 -0
- package/dist/esm/event/event-processing.error.js.map +1 -0
- package/dist/esm/event/event-service.interface.js +3 -0
- package/dist/esm/event/event-service.interface.js.map +1 -0
- package/dist/esm/event/event-subscriber-run.model.js +73 -0
- package/dist/esm/event/event-subscriber-run.model.js.map +1 -0
- package/dist/esm/event/event.model.js +105 -0
- package/dist/esm/event/event.model.js.map +1 -0
- package/dist/esm/event/event.service.js +218 -0
- package/dist/esm/event/event.service.js.map +1 -0
- package/dist/esm/global/after-app-init.interface.js +4 -1
- package/dist/esm/global/after-app-init.interface.js.map +1 -1
- package/dist/esm/global/after-app-shutdown.interface.js +4 -1
- package/dist/esm/global/after-app-shutdown.interface.js.map +1 -1
- package/dist/esm/global/app-state.enum.js +5 -2
- package/dist/esm/global/app-state.enum.js.map +1 -1
- package/dist/esm/global/before-app-init.interface.js +4 -1
- package/dist/esm/global/before-app-init.interface.js.map +1 -1
- package/dist/esm/global/before-app-shutdown.interface.js +4 -1
- package/dist/esm/global/before-app-shutdown.interface.js.map +1 -1
- package/dist/esm/global/global-registry.js +58 -50
- package/dist/esm/global/global-registry.js.map +1 -1
- package/dist/esm/global/model-registry/decrypt-encryption-properties.function.js +64 -0
- package/dist/esm/global/model-registry/decrypt-encryption-properties.function.js.map +1 -0
- package/dist/esm/global/model-registry/default-descriptor.js +95 -0
- package/dist/esm/global/model-registry/default-descriptor.js.map +1 -0
- package/dist/esm/global/model-registry/encrypt-encryption-properties.function.js +71 -0
- package/dist/esm/global/model-registry/encrypt-encryption-properties.function.js.map +1 -0
- package/dist/esm/global/model-registry/encryption-descriptor.js +97 -0
- package/dist/esm/global/model-registry/encryption-descriptor.js.map +1 -0
- package/dist/esm/global/model-registry/exclude-descriptor.js +95 -0
- package/dist/esm/global/model-registry/exclude-descriptor.js.map +1 -0
- package/dist/esm/global/model-registry/hash-descriptor.js +97 -0
- package/dist/esm/global/model-registry/hash-descriptor.js.map +1 -0
- package/dist/esm/global/model-registry/hash-hash-properties.function.js +47 -0
- package/dist/esm/global/model-registry/hash-hash-properties.function.js.map +1 -0
- package/dist/esm/global/model-registry/model.registry.js +56 -0
- package/dist/esm/global/model-registry/model.registry.js.map +1 -0
- package/dist/esm/global/model-registry/remove-exclude-properties.function.js +66 -0
- package/dist/esm/global/model-registry/remove-exclude-properties.function.js.map +1 -0
- package/dist/esm/global/model-registry/restore-exclude-properties.function.js +46 -0
- package/dist/esm/global/model-registry/restore-exclude-properties.function.js.map +1 -0
- package/dist/esm/global/model-registry/set-default-values.function.js +44 -0
- package/dist/esm/global/model-registry/set-default-values.function.js.map +1 -0
- package/dist/esm/global/on-app-init.interface.js +4 -1
- package/dist/esm/global/on-app-init.interface.js.map +1 -1
- package/dist/esm/global/on-app-shutdown.interface.js +4 -1
- package/dist/esm/global/on-app-shutdown.interface.js.map +1 -1
- package/dist/esm/global/on-app-start.interface.js +4 -1
- package/dist/esm/global/on-app-start.interface.js.map +1 -1
- package/dist/esm/handlebars/ast.model.js +2 -1
- package/dist/esm/handlebars/generate-handlebar-type-files.function.js +24 -20
- package/dist/esm/handlebars/generate-handlebar-type-files.function.js.map +1 -1
- package/dist/esm/handlebars/handlebar.utilities.js +26 -18
- package/dist/esm/handlebars/handlebar.utilities.js.map +1 -1
- package/dist/esm/handlebars/resolve-all-array-keys.function.js +8 -4
- package/dist/esm/handlebars/resolve-all-array-keys.function.js.map +1 -1
- package/dist/esm/handlebars/resolve-key-for-mustache-statement.function.js +4 -1
- package/dist/esm/handlebars/resolve-key-for-mustache-statement.function.js.map +1 -1
- package/dist/esm/handlebars/resolve-key-for-path-expression.function.js +4 -1
- package/dist/esm/handlebars/resolve-key-for-path-expression.function.js.map +1 -1
- package/dist/esm/handlebars/resolve-keys-for-block-statement.function.js +16 -12
- package/dist/esm/handlebars/resolve-keys-for-block-statement.function.js.map +1 -1
- package/dist/esm/handlebars/resolve-keys-for-partial-statement.function.js +8 -4
- package/dist/esm/handlebars/resolve-keys-for-partial-statement.function.js.map +1 -1
- package/dist/esm/handlebars/resolve-tree.function.js +16 -12
- package/dist/esm/handlebars/resolve-tree.function.js.map +1 -1
- package/dist/esm/http/cookie-options.model.js +3 -0
- package/dist/esm/http/cookie-options.model.js.map +1 -0
- package/dist/esm/http/header.type.js +2 -1
- package/dist/esm/http/http-method.enum.js +5 -2
- package/dist/esm/http/http-method.enum.js.map +1 -1
- package/dist/esm/http/http-request.model.js +4 -1
- package/dist/esm/http/http-request.model.js.map +1 -1
- package/dist/esm/http/http-response.model.js +2 -1
- package/dist/esm/http/http-status.enum.js +5 -2
- package/dist/esm/http/http-status.enum.js.map +1 -1
- package/dist/esm/http/known-header.enum.js +38 -30
- package/dist/esm/http/known-header.enum.js.map +1 -1
- package/dist/esm/http/mime-type.enum.js +46 -10
- package/dist/esm/http/mime-type.enum.js.map +1 -1
- package/dist/esm/http/mime-type.helpers.js +114 -38
- package/dist/esm/http/mime-type.helpers.js.map +1 -1
- package/dist/esm/http-client/http-client-response.model.js +4 -1
- package/dist/esm/http-client/http-client-response.model.js.map +1 -1
- package/dist/esm/http-client/http-client.error.js +7 -2
- package/dist/esm/http-client/http-client.error.js.map +1 -1
- package/dist/esm/http-client/http-client.interface.js +2 -1
- package/dist/esm/http-client/http-client.js +82 -44
- package/dist/esm/http-client/http-client.js.map +1 -1
- package/dist/esm/index.js +441 -340
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/localization/formatting/format-date-fn.model.js +2 -1
- package/dist/esm/localization/formatting/format-date.function.js +7 -3
- package/dist/esm/localization/formatting/format-date.function.js.map +1 -1
- package/dist/esm/localization/formatting/format-percent-fn.model.js +2 -1
- package/dist/esm/localization/formatting/format-percent.function.js +5 -1
- package/dist/esm/localization/formatting/format-percent.function.js.map +1 -1
- package/dist/esm/localization/formatting/format-price-fn.model.js +2 -1
- package/dist/esm/localization/formatting/format-price.function.js +7 -3
- package/dist/esm/localization/formatting/format-price.function.js.map +1 -1
- package/dist/esm/localization/models/currency-code.model.js +2 -1
- package/dist/esm/localization/models/language-code.model.js +2 -1
- package/dist/esm/localization/models/localize-options.model.js +2 -1
- package/dist/esm/logging/error-to-logged-error.function.js +6 -2
- package/dist/esm/logging/error-to-logged-error.function.js.map +1 -1
- package/dist/esm/logging/log-cleanup.cron-job.js +15 -11
- package/dist/esm/logging/log-cleanup.cron-job.js.map +1 -1
- package/dist/esm/logging/log-context.model.js +96 -13
- package/dist/esm/logging/log-context.model.js.map +1 -1
- package/dist/esm/logging/log-level.enum.js +5 -2
- package/dist/esm/logging/log-level.enum.js.map +1 -1
- package/dist/esm/logging/log.model.js +18 -24
- package/dist/esm/logging/log.model.js.map +1 -1
- package/dist/esm/logging/logged-error.model.js +9 -5
- package/dist/esm/logging/logged-error.model.js.map +1 -1
- package/dist/esm/logging/logger.helpers.js +18 -13
- package/dist/esm/logging/logger.helpers.js.map +1 -1
- package/dist/esm/logging/logger.interface.js +2 -1
- package/dist/esm/logging/logger.js +54 -24
- package/dist/esm/logging/logger.js.map +1 -1
- package/dist/esm/logging/transport/log-to-console.function.js +20 -16
- package/dist/esm/logging/transport/log-to-console.function.js.map +1 -1
- package/dist/esm/logging/transport/log-to-db.function.js +8 -5
- package/dist/esm/logging/transport/log-to-db.function.js.map +1 -1
- package/dist/esm/logging/transport/log-to-email.function.js +20 -16
- package/dist/esm/logging/transport/log-to-email.function.js.map +1 -1
- package/dist/esm/logging/transport/logger-transport.model.js +11 -7
- package/dist/esm/logging/transport/logger-transport.model.js.map +1 -1
- package/dist/esm/metrics/{scrape-metrics.cron-job.js → collect-metrics.cron-job.js} +17 -13
- package/dist/esm/metrics/collect-metrics.cron-job.js.map +1 -0
- package/dist/esm/metrics/counter.interface.js +2 -1
- package/dist/esm/metrics/gauge.interface.js +2 -1
- package/dist/esm/metrics/histogram.interface.js +2 -1
- package/dist/esm/metrics/metric-type.enum.js +5 -2
- package/dist/esm/metrics/metric-type.enum.js.map +1 -1
- package/dist/esm/metrics/metric.model.js +11 -7
- package/dist/esm/metrics/metric.model.js.map +1 -1
- package/dist/esm/metrics/metrics-service.interface.js +2 -1
- package/dist/esm/metrics/metrics.service.js +30 -22
- package/dist/esm/metrics/metrics.service.js.map +1 -1
- package/dist/esm/multithreading/models/base-thread-job-worker-data.model.js +2 -1
- package/dist/esm/multithreading/models/multithreading-options.model.js +2 -1
- package/dist/esm/multithreading/models/thread-job-data.model.js +2 -1
- package/dist/esm/multithreading/models/thread-job-entity.model.js +22 -19
- package/dist/esm/multithreading/models/thread-job-entity.model.js.map +1 -1
- package/dist/esm/multithreading/models/thread-job-function.model.js +2 -1
- package/dist/esm/multithreading/models/thread-job-message.model.js +2 -1
- package/dist/esm/multithreading/models/thread-job-status.enum.js +5 -2
- package/dist/esm/multithreading/models/thread-job-status.enum.js.map +1 -1
- package/dist/esm/multithreading/services/multithreading-service.interface.js +2 -1
- package/dist/esm/multithreading/services/multithreading.service.js +55 -48
- package/dist/esm/multithreading/services/multithreading.service.js.map +1 -1
- package/dist/esm/multithreading/services/thread-job-worker.js +7 -3
- package/dist/esm/multithreading/services/thread-job-worker.js.map +1 -1
- package/dist/esm/multithreading/services/thread-job.js +7 -3
- package/dist/esm/multithreading/services/thread-job.js.map +1 -1
- package/dist/esm/multithreading/services/worker/helpers.js +12 -7
- package/dist/esm/multithreading/services/worker/helpers.js.map +1 -1
- package/dist/esm/open-api/decorators/response.decorator.js +32 -29
- package/dist/esm/open-api/decorators/response.decorator.js.map +1 -1
- package/dist/esm/open-api/open-api-service.interface.js +2 -1
- package/dist/esm/open-api/open-api.model.js +2 -1
- package/dist/esm/open-api/open-api.service.js +148 -132
- package/dist/esm/open-api/open-api.service.js.map +1 -1
- package/dist/esm/open-api/pagination-result.model.js +7 -4
- package/dist/esm/open-api/pagination-result.model.js.map +1 -1
- package/dist/esm/parsing/body-parser.interface.js +2 -1
- package/dist/esm/parsing/decorators/body-parser.decorator.js +9 -6
- package/dist/esm/parsing/decorators/body-parser.decorator.js.map +1 -1
- package/dist/esm/parsing/form-data/file-response.model.js +31 -15
- package/dist/esm/parsing/form-data/file-response.model.js.map +1 -1
- package/dist/esm/parsing/form-data/file.model.js +13 -9
- package/dist/esm/parsing/form-data/file.model.js.map +1 -1
- package/dist/esm/parsing/form-data/form-data-body-parser-cleanup.cron-job.js +19 -15
- package/dist/esm/parsing/form-data/form-data-body-parser-cleanup.cron-job.js.map +1 -1
- package/dist/esm/parsing/form-data/form-data.body-parser.js +73 -69
- package/dist/esm/parsing/form-data/form-data.body-parser.js.map +1 -1
- package/dist/esm/parsing/form-data/form-data.model.js +9 -5
- package/dist/esm/parsing/form-data/form-data.model.js.map +1 -1
- package/dist/esm/parsing/functions/parse-array.function.js +16 -12
- package/dist/esm/parsing/functions/parse-array.function.js.map +1 -1
- package/dist/esm/parsing/functions/parse-boolean.function.js +4 -1
- package/dist/esm/parsing/functions/parse-boolean.function.js.map +1 -1
- package/dist/esm/parsing/functions/parse-date.function.js +6 -3
- package/dist/esm/parsing/functions/parse-date.function.js.map +1 -1
- package/dist/esm/parsing/functions/parse-number.function.js +23 -3
- package/dist/esm/parsing/functions/parse-number.function.js.map +1 -1
- package/dist/esm/parsing/functions/parse-object.function.js +25 -21
- package/dist/esm/parsing/functions/parse-object.function.js.map +1 -1
- package/dist/esm/parsing/functions/parse-string.function.js +4 -1
- package/dist/esm/parsing/functions/parse-string.function.js.map +1 -1
- package/dist/esm/parsing/html/csp-options.model.js +43 -0
- package/dist/esm/parsing/html/csp-options.model.js.map +1 -0
- package/dist/esm/parsing/html/html-response.model.js +19 -6
- package/dist/esm/parsing/html/html-response.model.js.map +1 -1
- package/dist/esm/parsing/json/json.body-parser.js +29 -26
- package/dist/esm/parsing/json/json.body-parser.js.map +1 -1
- package/dist/esm/parsing/parser.interface.js +2 -1
- package/dist/esm/parsing/parser.js +63 -57
- package/dist/esm/parsing/parser.js.map +1 -1
- package/dist/esm/plugin/invoicing/invoicing.plugin.js +28 -24
- package/dist/esm/plugin/invoicing/invoicing.plugin.js.map +1 -1
- package/dist/esm/plugin/invoicing/invoicing.tokens.js +6 -3
- package/dist/esm/plugin/invoicing/invoicing.tokens.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/amount-unit.model.js +8 -4
- package/dist/esm/plugin/invoicing/models/amount-unit.model.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/company-info.model.js +2 -1
- package/dist/esm/plugin/invoicing/models/invoice-address.model.js +17 -13
- package/dist/esm/plugin/invoicing/models/invoice-address.model.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/invoice-item.model.js +15 -11
- package/dist/esm/plugin/invoicing/models/invoice-item.model.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/invoice.model.js +22 -19
- package/dist/esm/plugin/invoicing/models/invoice.model.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/invoicing-options-input.model.js +2 -1
- package/dist/esm/plugin/invoicing/models/invoicing-options.model.js +2 -1
- package/dist/esm/plugin/invoicing/models/number-invoices.model.js +13 -10
- package/dist/esm/plugin/invoicing/models/number-invoices.model.js.map +1 -1
- package/dist/esm/plugin/invoicing/models/vat.model.js +9 -5
- package/dist/esm/plugin/invoicing/models/vat.model.js.map +1 -1
- package/dist/esm/plugin/invoicing/services/conformance/en16931/en16931-conformance.service.js +13 -10
- package/dist/esm/plugin/invoicing/services/conformance/en16931/en16931-conformance.service.js.map +1 -1
- package/dist/esm/plugin/invoicing/services/conformance/en16931/peppol-conformance.service.js +9 -6
- package/dist/esm/plugin/invoicing/services/conformance/en16931/peppol-conformance.service.js.map +1 -1
- package/dist/esm/plugin/invoicing/services/conformance/en16931/x-rechnung-conformance.service.js +9 -6
- package/dist/esm/plugin/invoicing/services/conformance/en16931/x-rechnung-conformance.service.js.map +1 -1
- package/dist/esm/plugin/invoicing/services/conformance/invoice-conformance-service.interface.js +2 -1
- package/dist/esm/plugin/invoicing/services/invoice-calc-service.interface.js +2 -1
- package/dist/esm/plugin/invoicing/services/invoice-calc.service.js +23 -20
- package/dist/esm/plugin/invoicing/services/invoice-calc.service.js.map +1 -1
- package/dist/esm/plugin/invoicing/services/invoice-number-service.interface.js +2 -1
- package/dist/esm/plugin/invoicing/services/invoice-number.service.js +20 -17
- package/dist/esm/plugin/invoicing/services/invoice-number.service.js.map +1 -1
- package/dist/esm/plugin/invoicing/services/invoice-pdf-service.interface.js +2 -1
- package/dist/esm/plugin/invoicing/services/invoice-pdf.service.js +18 -15
- package/dist/esm/plugin/invoicing/services/invoice-pdf.service.js.map +1 -1
- package/dist/esm/plugin/mailing-list/mailing-list.controller.js +59 -52
- package/dist/esm/plugin/mailing-list/mailing-list.controller.js.map +1 -1
- package/dist/esm/plugin/mailing-list/mailing-list.plugin.js +20 -16
- package/dist/esm/plugin/mailing-list/mailing-list.plugin.js.map +1 -1
- package/dist/esm/plugin/mailing-list/mailing-list.tokens.js +6 -3
- package/dist/esm/plugin/mailing-list/mailing-list.tokens.js.map +1 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-base-email-template.model.js +2 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-preferences-page-template.model.js +2 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscribe-confirmation-email-template.model.js +2 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscribe-success-page-template.model.js +2 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js +14 -11
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscriber.model.js.map +1 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js +18 -14
- package/dist/esm/plugin/mailing-list/models/mailing-list-subscription-confirmation-token.model.js.map +1 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list-unsubscribe-confirmation-page-template.model.js +2 -1
- package/dist/esm/plugin/mailing-list/models/mailing-list.model.js +13 -10
- package/dist/esm/plugin/mailing-list/models/mailing-list.model.js.map +1 -1
- package/dist/esm/plugin/mailing-list/models/update-mailing-list-preferences.model.js +7 -3
- package/dist/esm/plugin/mailing-list/models/update-mailing-list-preferences.model.js.map +1 -1
- package/dist/esm/plugin/mailing-list/services/mailing-list-service.interface.js +7 -3
- package/dist/esm/plugin/mailing-list/services/mailing-list-service.interface.js.map +1 -1
- package/dist/esm/plugin/mailing-list/services/mailing-list.service.js +42 -39
- package/dist/esm/plugin/mailing-list/services/mailing-list.service.js.map +1 -1
- package/dist/esm/plugin/payment/models/payment-method.model.js +5 -2
- package/dist/esm/plugin/payment/models/payment-method.model.js.map +1 -1
- package/dist/esm/plugin/payment/models/payment-plugin-options-input.model.js +2 -1
- package/dist/esm/plugin/payment/models/payment-plugin-options.model.js +2 -1
- package/dist/esm/plugin/payment/models/payment-status.enum.js +5 -2
- package/dist/esm/plugin/payment/models/payment-status.enum.js.map +1 -1
- package/dist/esm/plugin/payment/models/payment.model.js +19 -16
- package/dist/esm/plugin/payment/models/payment.model.js.map +1 -1
- package/dist/esm/plugin/payment/payment.plugin.js +21 -17
- package/dist/esm/plugin/payment/payment.plugin.js.map +1 -1
- package/dist/esm/plugin/payment/payment.tokens.js +6 -3
- package/dist/esm/plugin/payment/payment.tokens.js.map +1 -1
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js +55 -46
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal-client.js.map +1 -1
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js +33 -29
- package/dist/esm/plugin/payment/providers/pay-pal/pay-pal.payment-provider.js.map +1 -1
- package/dist/esm/plugin/payment/providers/payment-provider.interface.js +2 -1
- package/dist/esm/plugin/payment/services/payment-service.interface.js +2 -1
- package/dist/esm/plugin/payment/services/payment-service.types.js +2 -1
- package/dist/esm/plugin/payment/services/payment.service.js +28 -25
- package/dist/esm/plugin/payment/services/payment.service.js.map +1 -1
- package/dist/esm/plugin/plugin.model.js +5 -1
- package/dist/esm/plugin/plugin.model.js.map +1 -1
- package/dist/esm/preact/collector.js +101 -39
- package/dist/esm/preact/collector.js.map +1 -1
- package/dist/esm/preact/generate-client-scripts.function.js +33 -30
- package/dist/esm/preact/generate-client-scripts.function.js.map +1 -1
- package/dist/esm/preact/hooks/hooks.js +6 -3
- package/dist/esm/preact/hooks/hooks.js.map +1 -1
- package/dist/esm/preact/hooks/on-client.hook.js +4 -1
- package/dist/esm/preact/hooks/on-client.hook.js.map +1 -1
- package/dist/esm/preact/hooks/on-server.hook.js +4 -1
- package/dist/esm/preact/hooks/on-server.hook.js.map +1 -1
- package/dist/esm/preact/preact-component.model.js +2 -1
- package/dist/esm/preact/preact-email-component.model.js +2 -1
- package/dist/esm/preact/preact.utilities.js +49 -56
- package/dist/esm/preact/preact.utilities.js.map +1 -1
- package/dist/esm/preact/string-aware-replace.function.js +6 -2
- package/dist/esm/preact/string-aware-replace.function.js.map +1 -1
- package/dist/esm/preact/validate-email-templates.function.js +4 -1
- package/dist/esm/preact/validate-email-templates.function.js.map +1 -1
- package/dist/esm/rate-limiting/rate-limiter.js +19 -6
- package/dist/esm/rate-limiting/rate-limiter.js.map +1 -1
- package/dist/esm/routing/controller-route-configuration.model.js +2 -1
- package/dist/esm/routing/decorators/body.decorator.js +24 -20
- package/dist/esm/routing/decorators/body.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/controller.decorator.js +10 -7
- package/dist/esm/routing/decorators/controller.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/create-http-decorator.function.js +8 -5
- package/dist/esm/routing/decorators/create-http-decorator.function.js.map +1 -1
- package/dist/esm/routing/decorators/delete.decorator.js +7 -4
- package/dist/esm/routing/decorators/delete.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/get.decorator.js +7 -4
- package/dist/esm/routing/decorators/get.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/param.decorator.js +19 -16
- package/dist/esm/routing/decorators/param.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/patch.decorator.js +7 -4
- package/dist/esm/routing/decorators/patch.decorator.js.map +1 -1
- package/dist/esm/routing/decorators/post.decorator.js +7 -4
- package/dist/esm/routing/decorators/post.decorator.js.map +1 -1
- package/dist/esm/routing/missing-base-route.error.js +7 -3
- package/dist/esm/routing/missing-base-route.error.js.map +1 -1
- package/dist/esm/routing/models/array-param-metadata.model.js +2 -1
- package/dist/esm/routing/models/base-param-metadata.model.js +2 -1
- package/dist/esm/routing/models/boolean-param-metadata.model.js +2 -1
- package/dist/esm/routing/models/crud-controller.model.js +35 -32
- package/dist/esm/routing/models/crud-controller.model.js.map +1 -1
- package/dist/esm/routing/models/date-param-metadata.model.js +2 -1
- package/dist/esm/routing/models/number-param-metadata.model.js +2 -1
- package/dist/esm/routing/models/object-param-metadata.model.js +2 -1
- package/dist/esm/routing/models/string-param-metadata.model.js +2 -1
- package/dist/esm/routing/param-metdata.helpers.js +16 -4
- package/dist/esm/routing/param-metdata.helpers.js.map +1 -1
- package/dist/esm/routing/resolve-route-params.function.js +77 -34
- package/dist/esm/routing/resolve-route-params.function.js.map +1 -1
- package/dist/esm/routing/route-configuration.model.js +2 -1
- package/dist/esm/routing/router.interface.js +2 -1
- package/dist/esm/routing/router.js +193 -138
- package/dist/esm/routing/router.js.map +1 -1
- package/dist/esm/types/any-enum.type.js +2 -1
- package/dist/esm/types/deep-partial.type.js +2 -1
- package/dist/esm/types/exclude-strict.type.js +2 -1
- package/dist/esm/types/newable.type.js +2 -1
- package/dist/esm/types/omit-strict.type.js +2 -1
- package/dist/esm/types/percentage.type.js +2 -1
- package/dist/esm/types/version.type.js +2 -1
- package/dist/esm/utilities/add-import-statement.function.js +4 -1
- package/dist/esm/utilities/add-import-statement.function.js.map +1 -1
- package/dist/esm/utilities/bytes.js +25 -0
- package/dist/esm/utilities/bytes.js.map +1 -0
- package/dist/esm/utilities/compare-versions.function.js +4 -1
- package/dist/esm/utilities/compare-versions.function.js.map +1 -1
- package/dist/esm/utilities/doubly-linked-list.js +127 -0
- package/dist/esm/utilities/doubly-linked-list.js.map +1 -0
- package/dist/esm/utilities/fs.utilities.js +36 -29
- package/dist/esm/utilities/fs.utilities.js.map +1 -1
- package/dist/esm/utilities/is-date.function.js +4 -1
- package/dist/esm/utilities/is-date.function.js.map +1 -1
- package/dist/esm/utilities/is-numeric.function.js +6 -2
- package/dist/esm/utilities/is-numeric.function.js.map +1 -1
- package/dist/esm/utilities/is-version.function.js +6 -3
- package/dist/esm/utilities/is-version.function.js.map +1 -1
- package/dist/esm/utilities/json.utilities.js +37 -0
- package/dist/esm/utilities/json.utilities.js.map +1 -0
- package/dist/esm/utilities/mask.utilities.js +5 -1
- package/dist/esm/utilities/mask.utilities.js.map +1 -1
- package/dist/esm/utilities/metadata-injection-keys.enum.js +6 -2
- package/dist/esm/utilities/metadata-injection-keys.enum.js.map +1 -1
- package/dist/esm/utilities/metadata.utilities.js +86 -82
- package/dist/esm/utilities/metadata.utilities.js.map +1 -1
- package/dist/esm/utilities/ms.js +13 -1
- package/dist/esm/utilities/ms.js.map +1 -1
- package/dist/esm/utilities/now-in-ns.function.js +15 -0
- package/dist/esm/utilities/now-in-ns.function.js.map +1 -0
- package/dist/esm/utilities/number.utilities.js +58 -0
- package/dist/esm/utilities/number.utilities.js.map +1 -0
- package/dist/esm/utilities/object.utilities.js +5 -1
- package/dist/esm/utilities/object.utilities.js.map +1 -1
- package/dist/esm/utilities/promise.utilities.js +8 -4
- package/dist/esm/utilities/promise.utilities.js.map +1 -1
- package/dist/esm/utilities/reflect.utilities.js +5 -1
- package/dist/esm/utilities/reflect.utilities.js.map +1 -1
- package/dist/esm/utilities/to-camel-case.function.js +4 -1
- package/dist/esm/utilities/to-camel-case.function.js.map +1 -1
- package/dist/esm/utilities/to-kebab-case.function.js +4 -1
- package/dist/esm/utilities/to-kebab-case.function.js.map +1 -1
- package/dist/esm/utilities/to-pascal-case.function.js +4 -1
- package/dist/esm/utilities/to-pascal-case.function.js.map +1 -1
- package/dist/esm/utilities/to-snake-case.function.js +4 -1
- package/dist/esm/utilities/to-snake-case.function.js.map +1 -1
- package/dist/esm/utilities/uuid.utilities.js +7 -3
- package/dist/esm/utilities/uuid.utilities.js.map +1 -1
- package/dist/esm/utilities/validate-entities-registered.function.js +8 -5
- package/dist/esm/utilities/validate-entities-registered.function.js.map +1 -1
- package/dist/esm/utilities/validate-tokens-registered.function.js +10 -7
- package/dist/esm/utilities/validate-tokens-registered.function.js.map +1 -1
- package/dist/esm/validation/functions/validate-boolean.function.js +17 -12
- package/dist/esm/validation/functions/validate-boolean.function.js.map +1 -1
- package/dist/esm/validation/functions/validate-date.function.js +19 -16
- package/dist/esm/validation/functions/validate-date.function.js.map +1 -1
- package/dist/esm/validation/functions/validate-file.function.js +19 -19
- package/dist/esm/validation/functions/validate-file.function.js.map +1 -1
- package/dist/esm/validation/functions/validate-number.function.js +44 -15
- package/dist/esm/validation/functions/validate-number.function.js.map +1 -1
- package/dist/esm/validation/functions/validate-string.function.js +24 -10
- package/dist/esm/validation/functions/validate-string.function.js.map +1 -1
- package/dist/esm/validation/validation-problem.model.js +18 -10
- package/dist/esm/validation/validation-problem.model.js.map +1 -1
- package/dist/esm/validation/validation-service.interface.js +2 -1
- package/dist/esm/validation/validation.service.js +105 -119
- package/dist/esm/validation/validation.service.js.map +1 -1
- package/dist/esm/websocket/decorators/current-websocket-connection.decorator.js +7 -4
- package/dist/esm/websocket/decorators/current-websocket-connection.decorator.js.map +1 -1
- package/dist/esm/websocket/decorators/websocket-body.decorator.js +11 -8
- package/dist/esm/websocket/decorators/websocket-body.decorator.js.map +1 -1
- package/dist/esm/websocket/decorators/websocket-controller.decorator.js +10 -7
- package/dist/esm/websocket/decorators/websocket-controller.decorator.js.map +1 -1
- package/dist/esm/websocket/decorators/websocket-route.decorator.js +8 -5
- package/dist/esm/websocket/decorators/websocket-route.decorator.js.map +1 -1
- package/dist/esm/websocket/models/connection/base-websocket-connection.model.js +2 -1
- package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js +7 -3
- package/dist/esm/websocket/models/connection/socket-io-websocket-connection.model.js.map +1 -1
- package/dist/esm/websocket/models/websocket-channel.model.js +12 -9
- package/dist/esm/websocket/models/websocket-channel.model.js.map +1 -1
- package/dist/esm/websocket/models/websocket-controller-route-configuration.model.js +2 -1
- package/dist/esm/websocket/models/websocket-event.enum.js +5 -2
- package/dist/esm/websocket/models/websocket-event.enum.js.map +1 -1
- package/dist/esm/websocket/models/websocket-message.model.js +30 -26
- package/dist/esm/websocket/models/websocket-message.model.js.map +1 -1
- package/dist/esm/websocket/models/websocket-options.model.js +2 -1
- package/dist/esm/websocket/models/websocket-request.model.js +10 -6
- package/dist/esm/websocket/models/websocket-request.model.js.map +1 -1
- package/dist/esm/websocket/models/websocket-response.model.js +2 -1
- package/dist/esm/websocket/services/websocket-service.interface.js +2 -1
- package/dist/esm/websocket/services/websocket.service.js +131 -121
- package/dist/esm/websocket/services/websocket.service.js.map +1 -1
- package/package.json +30 -28
- package/src/__testing__/constants.ts +7 -1
- package/src/__testing__/test-server/create-test-data-source.function.ts +11 -1
- package/src/__testing__/test-server/providers.ts +12 -2
- package/src/__testing__/test-server/start-test-server.function.ts +23 -4
- package/src/__testing__/test-server/user-repository.ts +1 -1
- package/src/application-options.model.ts +39 -0
- package/src/application.ts +72 -6
- package/src/assets/asset.service.ts +0 -6
- package/src/auth/2fa/methods/otp/otp.two-factor-method.ts +6 -6
- package/src/auth/2fa/methods/two-factor-method.interface.ts +3 -3
- package/src/auth/2fa/two-factor-service.interface.ts +3 -3
- package/src/auth/2fa/two-factor.service.ts +8 -4
- package/src/auth/auth-service.interface.ts +11 -7
- package/src/auth/auth.service.ts +28 -20
- package/src/auth/encryption/encryption-key.model.ts +51 -0
- package/src/auth/encryption/encryption-master-options.model.ts +41 -0
- package/src/auth/encryption/encryption-service.interface.ts +87 -0
- package/src/auth/encryption/encryption.service.test.ts +67 -0
- package/src/auth/encryption/encryption.service.ts +695 -0
- package/src/auth/encryption/encryption.utilities.ts +65 -0
- package/src/auth/encryption/strategies/aes-gcm.encryption-strategy.ts +115 -0
- package/src/auth/encryption/strategies/encryption-strategy-entity.model.ts +52 -0
- package/src/auth/encryption/strategies/encryption-strategy.interface.ts +67 -0
- package/src/auth/hash/hash-service.interface.ts +39 -0
- package/src/auth/hash/hash.service.test.ts +60 -0
- package/src/auth/hash/hash.service.ts +164 -0
- package/src/auth/hash/hash.utilities.ts +60 -0
- package/src/auth/hash/strategies/bcrypt.hash-strategy.ts +39 -0
- package/src/auth/hash/strategies/hash-strategy-entity.model.ts +40 -0
- package/src/auth/hash/strategies/hash-strategy.interface.ts +23 -0
- package/src/auth/strategies/auth-strategy.interface.ts +11 -6
- package/src/auth/strategies/cookie/cookie-auth-confirm-password-reset-data.model.ts +23 -0
- package/src/auth/strategies/cookie/cookie-auth-credentials.model.ts +56 -0
- package/src/auth/strategies/cookie/cookie-auth-data.model.ts +32 -0
- package/src/auth/strategies/cookie/cookie-auth-logout-data.model.ts +22 -0
- package/src/auth/strategies/cookie/cookie-auth-refresh-login-data.model.ts +11 -0
- package/src/auth/strategies/cookie/cookie-auth-refresh-session.model.ts +46 -0
- package/src/auth/strategies/cookie/cookie-auth-request-password-reset-data.model.ts +28 -0
- package/src/auth/strategies/cookie/cookie-auth-session-cleanup.cron-job.ts +35 -0
- package/src/auth/strategies/cookie/cookie-auth-session.model.ts +34 -0
- package/src/auth/strategies/cookie/cookie-auth.auth-strategy.ts +561 -0
- package/src/auth/strategies/cookie/cookie-auth.controller.ts +182 -0
- package/src/auth/strategies/jwt/jwt-auth.controller.ts +42 -10
- package/src/auth/strategies/jwt/jwt-confirm-password-reset-data.model.ts +5 -0
- package/src/auth/strategies/jwt/jwt-credentials.model.ts +11 -4
- package/src/auth/strategies/jwt/jwt-refresh-login-data.model.ts +5 -0
- package/src/auth/strategies/jwt/jwt-refresh-token-cleanup.cron-job.ts +31 -0
- package/src/auth/strategies/jwt/jwt-request-password-reset-data.model.ts +6 -1
- package/src/auth/strategies/jwt/jwt.auth-strategy.ts +83 -64
- package/src/backup/backup.service.ts +2 -1
- package/src/backup/transports/fs.backup-transport.ts +3 -2
- package/src/caching/cache/base-cache.model.ts +333 -0
- package/src/caching/cache/cache-operation.enum.ts +9 -0
- package/src/caching/cache/cache-options.model.ts +121 -0
- package/src/caching/cache/cache.interface.ts +133 -0
- package/src/caching/cache/multi-tier.cache.test.ts +150 -0
- package/src/caching/cache/multi-tier.cache.ts +298 -0
- package/src/caching/cache/read-aside/read-aside.cache.ts +99 -0
- package/src/caching/cache/read-aside/write-around-read-aside.cache.ts +52 -0
- package/src/caching/cache/read-aside/write-behind-read-aside.cache.ts +95 -0
- package/src/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.ts +84 -0
- package/src/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.ts +84 -0
- package/src/caching/cache/read-aside/write-through-read-aside.cache.ts +86 -0
- package/src/caching/cache/read-through/read-through.cache.ts +104 -0
- package/src/caching/cache/read-through/write-around-read-through.cache.ts +51 -0
- package/src/caching/cache/read-through/write-behind-read-through.cache.ts +99 -0
- package/src/caching/cache/read-through/write-invalidate-read-through-args-only.cache.ts +86 -0
- package/src/caching/cache/read-through/write-invalidate-read-through-with-result.cache.ts +85 -0
- package/src/caching/cache/read-through/write-through-read-through.cache.test.ts +520 -0
- package/src/caching/cache/read-through/write-through-read-through.cache.ts +77 -0
- package/src/caching/cache-metrics.model.ts +57 -0
- package/src/caching/cache-service.interface.ts +15 -0
- package/src/caching/cache-tag-matchers.test.ts +114 -0
- package/src/caching/cache-tag-matchers.ts +31 -0
- package/src/caching/cache.service.test.ts +211 -0
- package/src/caching/cache.service.ts +69 -0
- package/src/caching/decorators/cache-delete.decorator.ts +46 -0
- package/src/caching/decorators/cache-invalidate.decorator.ts +43 -0
- package/src/caching/decorators/cache-write.decorator.ts +60 -0
- package/src/caching/decorators/cache.decorator.ts +20 -0
- package/src/caching/decorators/cached.decorator.ts +52 -0
- package/src/caching/decorators/decorator-types.ts +20 -0
- package/src/caching/store/cache-store.interface.ts +59 -0
- package/src/caching/store/cached-value.model.ts +27 -0
- package/src/caching/store/in-memory.cache-store.test.ts +120 -0
- package/src/caching/store/in-memory.cache-store.ts +272 -0
- package/src/change-sets/change-set-repository.ts +85 -53
- package/src/change-sets/models/change-set.model.ts +3 -3
- package/src/change-sets/models/change.model.ts +1 -1
- package/src/change-sets/soft-delete-repository.ts +19 -8
- package/src/context/als.utilities.ts +84 -0
- package/src/context/base-context.ts +12 -0
- package/src/context/request/http-request.context.test.ts +93 -0
- package/src/context/request/http-request.context.ts +44 -0
- package/src/context/request/request-context-token.model.ts +110 -0
- package/src/context/request/websocket-request.context.ts +43 -0
- package/src/cron/cron-expression.utilities.ts +238 -0
- package/src/cron/cron-job-entity.model.ts +2 -1
- package/src/cron/cron-job.model.ts +10 -11
- package/src/cron/cron-service.interface.ts +2 -1
- package/src/cron/cron.service.ts +5 -3
- package/src/data-source/cascade-delete.test.ts +15 -40
- package/src/data-source/data-sources/data-source.interface.ts +10 -2
- package/src/data-source/data-sources/postgres-data-source.model.ts +34 -10
- package/src/data-source/exclude-property.test.ts +383 -0
- package/src/data-source/hooks/before-return.ts +7 -0
- package/src/data-source/hooks/before-save.ts +16 -0
- package/src/data-source/hooks/hooks.default.ts +43 -0
- package/src/data-source/migration/migration.test.ts +15 -2
- package/src/data-source/models/where/number-where-filter.model.ts +8 -8
- package/src/data-source/models/where/where-filter-to-find-options-where-function.test.ts +2 -1
- package/src/data-source/models/where/where-filter-to-find-options-where.function.ts +24 -18
- package/src/data-source/models/where/where-filter.model.ts +15 -13
- package/src/data-source/repository.test.ts +10 -34
- package/src/data-source/repository.ts +70 -118
- package/src/di/decorators/inject-repository.decorator.ts +1 -1
- package/src/di/default/zibri-di-providers.default.ts +76 -7
- package/src/di/default/zibri-di-tokens.default.ts +42 -6
- package/src/di/di-container.ts +9 -7
- package/src/di/models/di-provider.model.ts +12 -0
- package/src/email/email.service.ts +3 -1
- package/src/email/send-queued-emails.cron-job.ts +2 -1
- package/src/entity/decorators/property.decorator.ts +73 -27
- package/src/entity/generation/generate-entity-file.function.ts +4 -3
- package/src/entity/generation/generate-entity-files.function.ts +3 -2
- package/src/entity/generation/providers/open-api-file.provider.ts +2 -1
- package/src/entity/models/array-property-metadata.model.ts +2 -2
- package/src/entity/models/base-property-metadata.model.ts +30 -6
- package/src/entity/models/file-property-metadata.model.ts +5 -5
- package/src/entity/models/number-property-metadata.model.ts +12 -0
- package/src/entity/models/string-property-metadata.model.ts +97 -3
- package/src/error-handling/errors/validation.error.ts +3 -2
- package/src/error-handling/unknown-to-error-string.function.ts +2 -1
- package/src/event/event-cleanup.cron-job.ts +43 -0
- package/src/event/event-processing.error.ts +16 -0
- package/src/event/event-service.interface.ts +62 -0
- package/src/event/event-subscriber-run.model.ts +43 -0
- package/src/event/event.model.ts +66 -0
- package/src/event/event.service.ts +252 -0
- package/src/global/global-registry.ts +5 -0
- package/src/global/model-registry/decrypt-encryption-properties.function.ts +102 -0
- package/src/global/model-registry/default-descriptor.ts +104 -0
- package/src/global/model-registry/encrypt-encryption-properties.function.ts +108 -0
- package/src/global/model-registry/encryption-descriptor.ts +109 -0
- package/src/global/model-registry/exclude-descriptor.ts +107 -0
- package/src/global/model-registry/hash-descriptor.ts +109 -0
- package/src/global/model-registry/hash-hash-properties.function.ts +66 -0
- package/src/global/model-registry/model.registry.ts +79 -0
- package/src/global/model-registry/remove-exclude-properties.function.ts +76 -0
- package/src/global/model-registry/restore-exclude-properties.function.ts +54 -0
- package/src/global/model-registry/set-default-values.function.ts +56 -0
- package/src/handlebars/handlebar.utilities.ts +2 -1
- package/src/handlebars/resolve-all-array-keys.function.ts +2 -1
- package/src/handlebars/resolve-keys-for-block-statement.function.ts +5 -4
- package/src/http/cookie-options.model.ts +11 -0
- package/src/http/http-request.model.ts +7 -2
- package/src/http/known-header.enum.ts +30 -26
- package/src/http/mime-type.enum.ts +48 -9
- package/src/http/mime-type.helpers.ts +95 -24
- package/src/http-client/http-client.interface.ts +3 -2
- package/src/http-client/http-client.test.ts +5 -4
- package/src/http-client/http-client.ts +27 -23
- package/src/index.ts +103 -4
- package/src/jest.setup.ts +5 -1
- package/src/localization/formatting/format-price-fn.model.ts +1 -1
- package/src/localization/formatting/format-price.function.ts +1 -0
- package/src/logging/error-to-logged-error.function.ts +2 -1
- package/src/logging/log-cleanup.cron-job.ts +3 -2
- package/src/logging/log-context.model.ts +61 -1
- package/src/logging/log.model.ts +0 -6
- package/src/logging/logger.interface.ts +3 -2
- package/src/logging/logger.ts +42 -12
- package/src/logging/transport/log-to-console.function.ts +2 -2
- package/src/metrics/{scrape-metrics.cron-job.ts → collect-metrics.cron-job.ts} +6 -5
- package/src/metrics/metrics.service.ts +4 -2
- package/src/multithreading/services/multithreading.service.test.ts +32 -68
- package/src/multithreading/services/multithreading.service.ts +3 -2
- package/src/open-api/open-api.service.ts +29 -14
- package/src/parsing/form-data/file-response.model.ts +22 -5
- package/src/parsing/form-data/form-data-body-parser-cleanup.cron-job.ts +2 -1
- package/src/parsing/form-data/form-data.body-parser.ts +13 -12
- package/src/parsing/functions/parse-array.function.ts +2 -1
- package/src/parsing/functions/parse-number.function.ts +23 -0
- package/src/parsing/functions/parse-object.function.ts +2 -1
- package/src/parsing/functions/parse-object.test.ts +2 -1
- package/src/parsing/html/csp-options.model.ts +109 -0
- package/src/parsing/html/html-response.model.ts +25 -5
- package/src/parsing/json/json.body-parser.ts +4 -4
- package/src/plugin/invoicing/services/invoice-calc-service.interface.ts +1 -1
- package/src/plugin/invoicing/services/invoice-calc.service.ts +16 -16
- package/src/plugin/invoicing/services/invoice-pdf.service.ts +1 -0
- package/src/plugin/mailing-list/mailing-list.controller.ts +12 -3
- package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.test.ts +2 -1
- package/src/plugin/payment/providers/pay-pal/pay-pal.payment-provider.ts +1 -1
- package/src/preact/collector.ts +124 -40
- package/src/preact/generate-client-scripts.function.ts +6 -5
- package/src/preact/preact.utilities.ts +16 -33
- package/src/rate-limiting/rate-limiter.ts +10 -0
- package/src/routing/decorators/body.decorator.ts +2 -1
- package/src/routing/decorators/param.decorator.ts +12 -6
- package/src/routing/models/array-param-metadata.model.ts +5 -3
- package/src/routing/models/boolean-param-metadata.model.ts +1 -1
- package/src/routing/models/date-param-metadata.model.ts +1 -1
- package/src/routing/models/number-param-metadata.model.ts +4 -1
- package/src/routing/models/object-param-metadata.model.ts +4 -1
- package/src/routing/models/string-param-metadata.model.ts +20 -2
- package/src/routing/param-metdata.helpers.ts +6 -0
- package/src/routing/resolve-route-params.function.ts +79 -37
- package/src/routing/route-configuration.model.ts +6 -3
- package/src/routing/router.ts +164 -118
- package/src/types/any-enum.type.ts +1 -1
- package/src/types/deep-partial.type.ts +13 -10
- package/src/types/percentage.type.ts +1 -1
- package/src/utilities/bytes.ts +20 -0
- package/src/utilities/doubly-linked-list.ts +132 -0
- package/src/utilities/is-numeric.function.ts +4 -2
- package/src/utilities/json.utilities.ts +37 -0
- package/src/utilities/metadata-injection-keys.enum.ts +2 -1
- package/src/utilities/ms.ts +8 -0
- package/src/utilities/now-in-ns.function.ts +13 -0
- package/src/utilities/{big-number.utilities.ts → number.utilities.ts} +16 -6
- package/src/utilities/promise.utilities.ts +5 -5
- package/src/validation/functions/validate-boolean.function.ts +15 -17
- package/src/validation/functions/validate-date.function.ts +13 -17
- package/src/validation/functions/validate-file.function.ts +12 -17
- package/src/validation/functions/validate-number.function.ts +43 -20
- package/src/validation/functions/validate-string.function.ts +20 -7
- package/src/validation/validation-service.interface.ts +5 -5
- package/src/validation/validation.service.ts +78 -84
- package/src/websocket/services/websocket.service.ts +73 -68
- package/dist/cjs/auth/hash.utilities.d.ts +0 -19
- package/dist/cjs/auth/hash.utilities.d.ts.map +0 -1
- package/dist/cjs/auth/hash.utilities.js +0 -28
- package/dist/cjs/auth/hash.utilities.js.map +0 -1
- package/dist/cjs/metrics/scrape-metrics.cron-job.d.ts.map +0 -1
- package/dist/cjs/metrics/scrape-metrics.cron-job.js.map +0 -1
- package/dist/cjs/routing/request.context.d.ts +0 -15
- package/dist/cjs/routing/request.context.d.ts.map +0 -1
- package/dist/cjs/routing/request.context.js +0 -25
- package/dist/cjs/routing/request.context.js.map +0 -1
- package/dist/cjs/utilities/big-number.utilities.d.ts.map +0 -1
- package/dist/cjs/utilities/big-number.utilities.js.map +0 -1
- package/dist/esm/auth/hash.utilities.js +0 -24
- package/dist/esm/auth/hash.utilities.js.map +0 -1
- package/dist/esm/metrics/scrape-metrics.cron-job.js.map +0 -1
- package/dist/esm/routing/request.context.js +0 -21
- package/dist/esm/routing/request.context.js.map +0 -1
- package/dist/esm/utilities/big-number.utilities.js +0 -42
- package/dist/esm/utilities/big-number.utilities.js.map +0 -1
- package/src/auth/hash.utilities.ts +0 -24
- package/src/routing/request.context.ts +0 -35
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { CacheWrapOptions, CacheWrapDeleteOptions, CacheWrapInvalidateOptions, CacheKeyProvider, ResultCacheKeyProvider, OnInvalidationFailure, CacheTagsProvider, CacheSetDirectOptions } from './cache-options.model';
|
|
2
|
+
import { LoggerInterface } from '../../logging/logger.interface';
|
|
3
|
+
import { MetricsServiceInterface } from '../../metrics/metrics-service.interface';
|
|
4
|
+
import { CacheMetrics } from '../cache-metrics.model';
|
|
5
|
+
import { CacheServiceInterface } from '../cache-service.interface';
|
|
6
|
+
import { ExtractCacheWriteResultAvailable } from '../decorators/decorator-types';
|
|
7
|
+
import { CacheStoreInterface } from '../store/cache-store.interface';
|
|
8
|
+
type TierLike<K, V, CacheTag extends string, N extends string> = {
|
|
9
|
+
readonly name: N;
|
|
10
|
+
store: CacheStoreInterface<K, V>;
|
|
11
|
+
_writeResultAvailable?: boolean;
|
|
12
|
+
setDirect(key: K, value: V, options?: CacheSetDirectOptions<CacheTag>): Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
type TierName<Tiers extends readonly TierLike<any, any, any, any>[]> = Tiers[number]['name'];
|
|
15
|
+
/** Outer WR – true if any tier is true, else false. */
|
|
16
|
+
type OuterWR<Tiers extends readonly TierLike<any, any, any, any>[]> = true extends ExtractCacheWriteResultAvailable<Tiers[number]> ? true : false;
|
|
17
|
+
/** The options object for wrapWrite. */
|
|
18
|
+
export type MultiWrapWriteOptions<V, TArgs extends unknown[], CacheTag extends string, Tiers extends readonly TierLike<any, V, CacheTag, any>[]> = {
|
|
19
|
+
/**
|
|
20
|
+
* The configuration for each internal cache.
|
|
21
|
+
*/
|
|
22
|
+
perCache?: Partial<Record<TierName<Tiers>, CacheWrapOptions<V, TArgs, CacheTag>>>;
|
|
23
|
+
/**
|
|
24
|
+
* A provider for the tags to invalidate.
|
|
25
|
+
*/
|
|
26
|
+
invalidatesTags?: CacheTagsProvider<TArgs, CacheTag>;
|
|
27
|
+
};
|
|
28
|
+
/** Per‑tier wrap options – just `CacheWrapOptions` for each tier. */
|
|
29
|
+
export type MultiWrapOptions<V, TArgs extends unknown[], CacheTag extends string, Tiers extends readonly TierLike<any, V, CacheTag, any>[]> = Partial<Record<TierName<Tiers>, CacheWrapOptions<V, TArgs, CacheTag>>>;
|
|
30
|
+
/**
|
|
31
|
+
* Multi‑tier cache that composes multiple {@link CacheInterface} instances.
|
|
32
|
+
*
|
|
33
|
+
* Reads are cascaded through the tiers (fastest first). When a lower tier
|
|
34
|
+
* hits, all faster tiers are back‑filled. Writes are propagated to **every**
|
|
35
|
+
* tier via their setDirect method.
|
|
36
|
+
*
|
|
37
|
+
* The `WriteResultAvailable` flag must be supplied explicitly. If you want
|
|
38
|
+
* to mix a `false` tier (e.g. Write‑Around) into a `true` cache, simply cast it
|
|
39
|
+
* `as CacheInterface<K, V, Tag, true>` – the key is provided but the tier
|
|
40
|
+
* can safely ignore it.
|
|
41
|
+
*/
|
|
42
|
+
export declare abstract class MultiTierCache<K, V, Tiers extends readonly TierLike<K, V, CacheTag, any>[], CacheTag extends string = string> {
|
|
43
|
+
readonly name: string;
|
|
44
|
+
private readonly tiers;
|
|
45
|
+
readonly onInvalidationFailure?: OnInvalidationFailure | undefined;
|
|
46
|
+
private readonly _writeResultAvailable;
|
|
47
|
+
private _metrics;
|
|
48
|
+
protected abstract cacheService: CacheServiceInterface;
|
|
49
|
+
protected abstract logger: LoggerInterface;
|
|
50
|
+
protected abstract metricsService: MetricsServiceInterface;
|
|
51
|
+
/**
|
|
52
|
+
* The cache metrics.
|
|
53
|
+
*/
|
|
54
|
+
protected get metrics(): CacheMetrics;
|
|
55
|
+
constructor(name: string, tiers: Tiers, onInvalidationFailure?: OnInvalidationFailure | undefined);
|
|
56
|
+
private initMetrics;
|
|
57
|
+
wrap<TArgs extends unknown[]>(fn: (...args: TArgs) => V | Promise<V>, keyFn: CacheKeyProvider<K, TArgs>, options?: MultiWrapOptions<V, TArgs, CacheTag, Tiers>): (...args: TArgs) => Promise<V>;
|
|
58
|
+
wrapWrite<TArgs extends unknown[]>(fn: (...args: TArgs) => V | Promise<V>, keyFn: OuterWR<Tiers> extends true ? ResultCacheKeyProvider<K, V, TArgs> : CacheKeyProvider<K, TArgs>, options?: MultiWrapWriteOptions<V, TArgs, CacheTag, Tiers>): (...args: TArgs) => Promise<V>;
|
|
59
|
+
wrapDelete<TReturn, TArgs extends unknown[]>(fn: (...args: TArgs) => TReturn | Promise<TReturn>, keyFn: CacheKeyProvider<K, TArgs>, options?: CacheWrapDeleteOptions<TArgs, CacheTag>): (...args: TArgs) => Promise<TReturn>;
|
|
60
|
+
wrapInvalidate<TReturn, TArgs extends unknown[]>(fn: (...args: TArgs) => TReturn | Promise<TReturn>, options: CacheWrapInvalidateOptions<TArgs, CacheTag>): (...args: TArgs) => Promise<TReturn>;
|
|
61
|
+
private safeInvalidateTags;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=multi-tier.cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-tier.cache.d.ts","sourceRoot":"","sources":["../../../../src/caching/cache/multi-tier.cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultiTierCache = void 0;
|
|
4
|
+
const cache_operation_enum_1 = require("./cache-operation.enum");
|
|
5
|
+
const als_utilities_1 = require("../../context/als.utilities");
|
|
6
|
+
/**
|
|
7
|
+
* Multi‑tier cache that composes multiple {@link CacheInterface} instances.
|
|
8
|
+
*
|
|
9
|
+
* Reads are cascaded through the tiers (fastest first). When a lower tier
|
|
10
|
+
* hits, all faster tiers are back‑filled. Writes are propagated to **every**
|
|
11
|
+
* tier via their setDirect method.
|
|
12
|
+
*
|
|
13
|
+
* The `WriteResultAvailable` flag must be supplied explicitly. If you want
|
|
14
|
+
* to mix a `false` tier (e.g. Write‑Around) into a `true` cache, simply cast it
|
|
15
|
+
* `as CacheInterface<K, V, Tag, true>` – the key is provided but the tier
|
|
16
|
+
* can safely ignore it.
|
|
17
|
+
*/
|
|
18
|
+
class MultiTierCache {
|
|
19
|
+
name;
|
|
20
|
+
tiers;
|
|
21
|
+
onInvalidationFailure;
|
|
22
|
+
// Outer WR is computed, not stated by the user.
|
|
23
|
+
_writeResultAvailable;
|
|
24
|
+
_metrics;
|
|
25
|
+
// eslint-disable-next-line jsdoc/require-returns
|
|
26
|
+
/**
|
|
27
|
+
* The cache metrics.
|
|
28
|
+
*/
|
|
29
|
+
get metrics() {
|
|
30
|
+
this._metrics ??= this.initMetrics();
|
|
31
|
+
return this._metrics;
|
|
32
|
+
}
|
|
33
|
+
constructor(name, tiers, onInvalidationFailure) {
|
|
34
|
+
this.name = name;
|
|
35
|
+
this.tiers = tiers;
|
|
36
|
+
this.onInvalidationFailure = onInvalidationFailure;
|
|
37
|
+
if (tiers.length === 0) {
|
|
38
|
+
throw new Error('MultiTierCache requires at least one tier');
|
|
39
|
+
}
|
|
40
|
+
this._writeResultAvailable = tiers.some(t => t._writeResultAvailable === true);
|
|
41
|
+
}
|
|
42
|
+
initMetrics() {
|
|
43
|
+
return {
|
|
44
|
+
hits: this.metricsService.getCounter('cache_hits_total', ['cache']),
|
|
45
|
+
misses: this.metricsService.getCounter('cache_misses_total', ['cache']),
|
|
46
|
+
writes: this.metricsService.getCounter('cache_writes_total', ['cache']),
|
|
47
|
+
deletes: this.metricsService.getCounter('cache_deletes_total', ['cache']),
|
|
48
|
+
invalidations: this.metricsService.getCounter('cache_invalidations_total', ['cache']),
|
|
49
|
+
invalidationFailures: this.metricsService.getCounter('cache_invalidation_failures_total', ['cache']),
|
|
50
|
+
expiredEvictions: this.metricsService.getCounter('cache_expired_evictions_total', ['cache']),
|
|
51
|
+
errors: this.metricsService.getCounter('cache_errors_total', ['cache', 'operation']),
|
|
52
|
+
inFlight: this.metricsService.getGauge('cache_in_flight', ['cache']),
|
|
53
|
+
size: this.metricsService.getGauge('cache_size', ['cache']),
|
|
54
|
+
sourceDuration: this.metricsService.getHistogram('cache_source_duration_ms', ['cache', 'operation'], [1, 5, 10, 25, 50, 100, 250, 500, 1000]),
|
|
55
|
+
storeDuration: this.metricsService.getHistogram('cache_store_duration_ms', ['cache', 'operation'], [1, 5, 10, 25, 50, 100, 250, 500])
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
59
|
+
wrap(fn, keyFn, options) {
|
|
60
|
+
return async (...args) => {
|
|
61
|
+
const key = await keyFn(...args);
|
|
62
|
+
for (let i = 0; i < this.tiers.length; i++) {
|
|
63
|
+
const cached = await this.tiers[i].store.get(key);
|
|
64
|
+
if (cached && (!cached.expiresAt || cached.expiresAt > new Date())) {
|
|
65
|
+
// back‑fill earlier tiers – per‑tier options are NOT used here
|
|
66
|
+
for (let j = 0; j < i; j++) {
|
|
67
|
+
this.tiers[j].setDirect(key, cached.value, {
|
|
68
|
+
ttl: cached.expiresAt
|
|
69
|
+
? cached.expiresAt.getTime() - Date.now()
|
|
70
|
+
: undefined,
|
|
71
|
+
tags: cached.tags
|
|
72
|
+
// eslint-disable-next-line promise/prefer-await-to-then
|
|
73
|
+
}).catch(() => { });
|
|
74
|
+
}
|
|
75
|
+
return cached.value;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// miss
|
|
79
|
+
const value = await fn(...args);
|
|
80
|
+
// populate all tiers using per‑tier options
|
|
81
|
+
await Promise.all(this.tiers.map(async (tier) => {
|
|
82
|
+
const tierOpt = options?.[tier.name];
|
|
83
|
+
const ttl = typeof tierOpt?.ttl === 'function'
|
|
84
|
+
? await tierOpt.ttl(value, ...args)
|
|
85
|
+
: tierOpt?.ttl;
|
|
86
|
+
const tags = typeof tierOpt?.tags === 'function'
|
|
87
|
+
? await tierOpt.tags(value, ...args)
|
|
88
|
+
: tierOpt?.tags;
|
|
89
|
+
await tier.setDirect(key, value, { ttl, tags }).catch(() => { });
|
|
90
|
+
}));
|
|
91
|
+
return value;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
95
|
+
wrapWrite(fn, keyFn, options) {
|
|
96
|
+
return async (...args) => {
|
|
97
|
+
const value = await fn(...args);
|
|
98
|
+
const key = this._writeResultAvailable
|
|
99
|
+
? await keyFn(value, ...args)
|
|
100
|
+
: await keyFn(...args);
|
|
101
|
+
const perTier = options?.perCache;
|
|
102
|
+
// eslint-disable-next-line sonar/cognitive-complexity
|
|
103
|
+
await Promise.all(this.tiers.map(async (tier) => {
|
|
104
|
+
const tierOpt = perTier?.[tier.name];
|
|
105
|
+
let ttl;
|
|
106
|
+
let tags;
|
|
107
|
+
if (this._writeResultAvailable) {
|
|
108
|
+
const o = tierOpt;
|
|
109
|
+
ttl = o?.ttl != undefined
|
|
110
|
+
? typeof o.ttl === 'function' ? await o.ttl(value, ...args) : o.ttl
|
|
111
|
+
: undefined;
|
|
112
|
+
tags = o?.tags
|
|
113
|
+
? typeof o.tags === 'function' ? await o.tags(value, ...args) : o.tags
|
|
114
|
+
: undefined;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// eslint-disable-next-line stylistic/max-len
|
|
118
|
+
const o = tierOpt;
|
|
119
|
+
ttl = o?.ttl != undefined
|
|
120
|
+
? typeof o.ttl === 'function' ? await o.ttl(...args) : o.ttl
|
|
121
|
+
: undefined;
|
|
122
|
+
tags = o?.tags
|
|
123
|
+
? typeof o.tags === 'function' ? await o.tags(...args) : o.tags
|
|
124
|
+
: undefined;
|
|
125
|
+
}
|
|
126
|
+
await tier.setDirect(key, value, { ttl, tags }).catch(() => { });
|
|
127
|
+
}));
|
|
128
|
+
// global tag invalidation
|
|
129
|
+
if (options?.invalidatesTags) {
|
|
130
|
+
const tags = typeof options.invalidatesTags === 'function'
|
|
131
|
+
? await options.invalidatesTags(...args)
|
|
132
|
+
: options.invalidatesTags;
|
|
133
|
+
await this.safeInvalidateTags(tags);
|
|
134
|
+
}
|
|
135
|
+
return value;
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
139
|
+
wrapDelete(fn, keyFn, options) {
|
|
140
|
+
return async (...args) => {
|
|
141
|
+
const cacheCtx = { cache: this.name, operation: cache_operation_enum_1.CacheOperation.DELETE };
|
|
142
|
+
return als_utilities_1.AlsUtilities.runWithCacheContext(cacheCtx, async () => {
|
|
143
|
+
const res = await fn(...args);
|
|
144
|
+
const key = await keyFn(...args);
|
|
145
|
+
cacheCtx.key = key;
|
|
146
|
+
await Promise.all(this.tiers.map(tier => tier.store.delete(key)));
|
|
147
|
+
this.metrics.deletes.increase({ cache: this.name });
|
|
148
|
+
if (options?.invalidatesTags) {
|
|
149
|
+
const tags = typeof options.invalidatesTags === 'function'
|
|
150
|
+
? await options.invalidatesTags(...args)
|
|
151
|
+
: options.invalidatesTags;
|
|
152
|
+
await this.safeInvalidateTags(tags);
|
|
153
|
+
}
|
|
154
|
+
return res;
|
|
155
|
+
});
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
159
|
+
wrapInvalidate(fn, options) {
|
|
160
|
+
return async (...args) => {
|
|
161
|
+
const cacheCtx = { cache: this.name, operation: cache_operation_enum_1.CacheOperation.INVALIDATE };
|
|
162
|
+
return als_utilities_1.AlsUtilities.runWithCacheContext(cacheCtx, async () => {
|
|
163
|
+
const result = await fn(...args);
|
|
164
|
+
const tags = typeof options.invalidatesTags === 'function'
|
|
165
|
+
? await options.invalidatesTags(...args)
|
|
166
|
+
: options.invalidatesTags;
|
|
167
|
+
await this.safeInvalidateTags(tags);
|
|
168
|
+
return result;
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
async safeInvalidateTags(tags) {
|
|
173
|
+
if (!tags.length) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
await this.cacheService.invalidateTags(tags);
|
|
178
|
+
this.metrics.invalidations.increase({ cache: this.name });
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
this.metrics.invalidationFailures.increase({ cache: this.name });
|
|
182
|
+
if (this.onInvalidationFailure === 'throw') {
|
|
183
|
+
throw error;
|
|
184
|
+
}
|
|
185
|
+
await this.logger.warn('Cache invalidation failed in multi‑tier cache', { error });
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.MultiTierCache = MultiTierCache;
|
|
190
|
+
//# sourceMappingURL=multi-tier.cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-tier.cache.js","sourceRoot":"","sources":["../../../../src/caching/cache/multi-tier.cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCache } from '../base-cache.model';
|
|
2
|
+
import { CacheKeyProvider, CacheWrapOptions } from '../cache-options.model';
|
|
3
|
+
/**
|
|
4
|
+
* Read‑aside base class.
|
|
5
|
+
*
|
|
6
|
+
* On a cache miss the source is called, but the result is **never** written
|
|
7
|
+
* back to the cache. Cache population happens only via explicit write
|
|
8
|
+
* strategies (`wrapWrite`) or out‑of‑band processes.
|
|
9
|
+
*
|
|
10
|
+
* `wrapDelete` and `wrapInvalidate` work exactly like their read‑through
|
|
11
|
+
* counterparts.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class ReadAsideCache<K, V, CacheTag extends string, WriteResultAvailable extends boolean, N extends string> extends BaseCache<K, V, CacheTag, WriteResultAvailable, N> {
|
|
14
|
+
wrap<TArgs extends unknown[]>(fn: (...args: TArgs) => V | Promise<V>, keyFn: CacheKeyProvider<K, TArgs>, options?: CacheWrapOptions<V, TArgs, CacheTag>): (...args: TArgs) => Promise<V>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=read-aside.cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-aside.cache.d.ts","sourceRoot":"","sources":["../../../../../src/caching/cache/read-aside/read-aside.cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E;;;;;;;;;GASG;AACH,8BAAsB,cAAc,CAChC,CAAC,EACD,CAAC,EACD,QAAQ,SAAS,MAAM,EACvB,oBAAoB,SAAS,OAAO,EACpC,CAAC,SAAS,MAAM,CAClB,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAExD,IAAI,CAAC,KAAK,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtC,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,EAEjC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAC/C,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;CAoEpC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadAsideCache = void 0;
|
|
4
|
+
const als_utilities_1 = require("../../../context/als.utilities");
|
|
5
|
+
const base_cache_model_1 = require("../base-cache.model");
|
|
6
|
+
const cache_operation_enum_1 = require("../cache-operation.enum");
|
|
7
|
+
/**
|
|
8
|
+
* Read‑aside base class.
|
|
9
|
+
*
|
|
10
|
+
* On a cache miss the source is called, but the result is **never** written
|
|
11
|
+
* back to the cache. Cache population happens only via explicit write
|
|
12
|
+
* strategies (`wrapWrite`) or out‑of‑band processes.
|
|
13
|
+
*
|
|
14
|
+
* `wrapDelete` and `wrapInvalidate` work exactly like their read‑through
|
|
15
|
+
* counterparts.
|
|
16
|
+
*/
|
|
17
|
+
class ReadAsideCache extends base_cache_model_1.BaseCache {
|
|
18
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
19
|
+
wrap(fn, keyFn,
|
|
20
|
+
// eslint-disable-next-line unusedImports/no-unused-vars
|
|
21
|
+
options) {
|
|
22
|
+
return async (...args) => {
|
|
23
|
+
const cacheCtx = { cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRAP };
|
|
24
|
+
const label = { cache: this.name };
|
|
25
|
+
return als_utilities_1.AlsUtilities.runWithCacheContext(cacheCtx, async () => {
|
|
26
|
+
let key;
|
|
27
|
+
// ---------- try cache read ----------
|
|
28
|
+
try {
|
|
29
|
+
key = await keyFn(...args);
|
|
30
|
+
cacheCtx.key = key;
|
|
31
|
+
const storeStart = performance.now();
|
|
32
|
+
const cached = await this.store.get(key);
|
|
33
|
+
this.metrics.storeDuration.observe({ cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRAP }, performance.now() - storeStart);
|
|
34
|
+
if (cached !== undefined) {
|
|
35
|
+
// expired → evict, but still treat as miss
|
|
36
|
+
if (cached.expiresAt !== undefined && cached.expiresAt.getTime() <= Date.now()) {
|
|
37
|
+
this.metrics.expiredEvictions.increase(label);
|
|
38
|
+
await Promise.resolve()
|
|
39
|
+
.then(() => this.store.delete(key))
|
|
40
|
+
.catch(() => undefined);
|
|
41
|
+
await this.updateSizeGauge();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
cacheCtx.hit = true;
|
|
45
|
+
this.metrics.hits.increase(label);
|
|
46
|
+
return cached.value;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
this.metrics.errors.increase({ cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRAP });
|
|
52
|
+
await this.logger.warn('Cache read failed, treating as miss', { error });
|
|
53
|
+
}
|
|
54
|
+
// ---------- cache miss ----------
|
|
55
|
+
cacheCtx.hit = false;
|
|
56
|
+
this.metrics.misses.increase(label);
|
|
57
|
+
if (key == undefined) {
|
|
58
|
+
const start = performance.now();
|
|
59
|
+
const value = await fn(...args);
|
|
60
|
+
cacheCtx.durationInMs = performance.now() - start;
|
|
61
|
+
return value;
|
|
62
|
+
}
|
|
63
|
+
// Single‑flight: coalesce concurrent source calls for the same key.
|
|
64
|
+
// No store.set – **read‑aside**.
|
|
65
|
+
return this.runSingleFlight(key, async () => {
|
|
66
|
+
const sourceStart = performance.now();
|
|
67
|
+
const value = await fn(...args);
|
|
68
|
+
const sourceDuration = performance.now() - sourceStart;
|
|
69
|
+
cacheCtx.durationInMs = sourceDuration;
|
|
70
|
+
this.metrics.sourceDuration.observe({ cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRAP }, sourceDuration);
|
|
71
|
+
return value;
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.ReadAsideCache = ReadAsideCache;
|
|
78
|
+
//# sourceMappingURL=read-aside.cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-aside.cache.js","sourceRoot":"","sources":["../../../../../src/caching/cache/read-aside/read-aside.cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CacheKeyProvider, CacheWrapWriteOptionsArgsOnly } from '../cache-options.model';
|
|
2
|
+
import { CacheInterface } from '../cache.interface';
|
|
3
|
+
import { ReadAsideCache } from './read-aside.cache';
|
|
4
|
+
/**
|
|
5
|
+
* Write‑around read‑aside cache.
|
|
6
|
+
*
|
|
7
|
+
* Writes update the source and then only invalidate tags (no cache population).
|
|
8
|
+
* Reads (`wrap`) check the cache but **never** populate it.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class WriteAroundReadAsideCache<K, V, N extends string, CacheTag extends string = string> extends ReadAsideCache<K, V, CacheTag, false, N> implements CacheInterface<K, V, CacheTag, false, N> {
|
|
11
|
+
readonly _writeResultAvailable: false;
|
|
12
|
+
wrapWrite<TArgs extends unknown[]>(fn: (...args: TArgs) => V | Promise<V>, _keyFn: CacheKeyProvider<K, TArgs>, // kept for interface compatibility, never used
|
|
13
|
+
options?: CacheWrapWriteOptionsArgsOnly<TArgs, CacheTag>): (...args: TArgs) => Promise<V>;
|
|
14
|
+
setDirect(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=write-around-read-aside.cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-around-read-aside.cache.d.ts","sourceRoot":"","sources":["../../../../../src/caching/cache/read-aside/write-around-read-aside.cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,8BAAsB,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,GAAG,MAAM,CACpG,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC/C,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAGnD,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAS;IAG9C,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,+CAA+C;IACnF,OAAO,CAAC,EAAE,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,GACzD,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;IAuB3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WriteAroundReadAsideCache = void 0;
|
|
4
|
+
const als_utilities_1 = require("../../../context/als.utilities");
|
|
5
|
+
const cache_operation_enum_1 = require("../cache-operation.enum");
|
|
6
|
+
const read_aside_cache_1 = require("./read-aside.cache");
|
|
7
|
+
/**
|
|
8
|
+
* Write‑around read‑aside cache.
|
|
9
|
+
*
|
|
10
|
+
* Writes update the source and then only invalidate tags (no cache population).
|
|
11
|
+
* Reads (`wrap`) check the cache but **never** populate it.
|
|
12
|
+
*/
|
|
13
|
+
class WriteAroundReadAsideCache extends read_aside_cache_1.ReadAsideCache {
|
|
14
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
15
|
+
_writeResultAvailable = false;
|
|
16
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
17
|
+
wrapWrite(fn, _keyFn, // kept for interface compatibility, never used
|
|
18
|
+
options) {
|
|
19
|
+
return async (...args) => {
|
|
20
|
+
const cacheCtx = { cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRITE };
|
|
21
|
+
return als_utilities_1.AlsUtilities.runWithCacheContext(cacheCtx, async () => {
|
|
22
|
+
const sourceStart = performance.now();
|
|
23
|
+
const value = await fn(...args);
|
|
24
|
+
const sourceDuration = performance.now() - sourceStart;
|
|
25
|
+
cacheCtx.durationInMs = sourceDuration;
|
|
26
|
+
this.metrics.sourceDuration.observe({ cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRITE }, sourceDuration);
|
|
27
|
+
await this.safeInvalidateTags(options?.invalidatesTags, args);
|
|
28
|
+
this.metrics.writes.increase({ cache: this.name });
|
|
29
|
+
return value;
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
34
|
+
async setDirect() {
|
|
35
|
+
// Write‑around: intentionally does not cache writes.
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.WriteAroundReadAsideCache = WriteAroundReadAsideCache;
|
|
39
|
+
//# sourceMappingURL=write-around-read-aside.cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-around-read-aside.cache.js","sourceRoot":"","sources":["../../../../../src/caching/cache/read-aside/write-around-read-aside.cache.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAE9D,kEAAyD;AAGzD,yDAAoD;AAEpD;;;;;GAKG;AACH,MAAsB,yBAClB,SAAQ,iCAAwC;IAGhD,+CAA+C;IACtC,qBAAqB,GAAU,KAAK,CAAC;IAE9C,+CAA+C;IAC/C,SAAS,CACL,EAAsC,EACtC,MAAkC,EAAE,+CAA+C;IACnF,OAAwD;QAExD,OAAO,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qCAAc,CAAC,KAAK,EAAE,CAAC;YAExF,OAAO,4BAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACzD,MAAM,WAAW,GAAW,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAM,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnC,MAAM,cAAc,GAAW,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;gBAC/D,QAAQ,CAAC,YAAY,GAAG,cAAc,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAC/B,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qCAAc,CAAC,KAAK,EAAE,EACrD,cAAc,CACjB,CAAC;gBAEF,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEnD,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IACN,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,SAAS;QACX,qDAAqD;IACzD,CAAC;CACJ;AAtCD,8DAsCC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ResultCacheKeyProvider, CacheWrapWriteOptionsWithResult, CacheSetDirectOptions } from '../cache-options.model';
|
|
2
|
+
import { CacheInterface } from '../cache.interface';
|
|
3
|
+
import { ReadAsideCache } from './read-aside.cache';
|
|
4
|
+
/**
|
|
5
|
+
* Write‑behind read‑aside cache.
|
|
6
|
+
*
|
|
7
|
+
* Writes update the source and then fire‑and‑forget a cache store.
|
|
8
|
+
* Reads (`wrap`) check the cache but **never** populate it.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class WriteBehindReadAsideCache<K, V, N extends string, CacheTag extends string = string> extends ReadAsideCache<K, V, CacheTag, true, N> implements CacheInterface<K, V, CacheTag, true, N> {
|
|
11
|
+
readonly _writeResultAvailable: true;
|
|
12
|
+
wrapWrite<TArgs extends unknown[]>(fn: (...args: TArgs) => V | Promise<V>, keyFn: ResultCacheKeyProvider<K, V, TArgs>, options?: CacheWrapWriteOptionsWithResult<V, TArgs, CacheTag>): (...args: TArgs) => Promise<V>;
|
|
13
|
+
setDirect(key: K, value: V, options?: CacheSetDirectOptions<CacheTag>): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=write-behind-read-aside.cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-behind-read-aside.cache.d.ts","sourceRoot":"","sources":["../../../../../src/caching/cache/read-aside/write-behind-read-aside.cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,8BAAsB,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,GAAG,MAAM,CACpG,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC9C,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAGlD,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAQ;IAG5C,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtC,KAAK,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAC1C,OAAO,CAAC,EAAE,+BAA+B,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAC9D,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;IAmD3B,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAkB9F"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WriteBehindReadAsideCache = void 0;
|
|
4
|
+
const als_utilities_1 = require("../../../context/als.utilities");
|
|
5
|
+
const cache_operation_enum_1 = require("../cache-operation.enum");
|
|
6
|
+
const read_aside_cache_1 = require("./read-aside.cache");
|
|
7
|
+
/**
|
|
8
|
+
* Write‑behind read‑aside cache.
|
|
9
|
+
*
|
|
10
|
+
* Writes update the source and then fire‑and‑forget a cache store.
|
|
11
|
+
* Reads (`wrap`) check the cache but **never** populate it.
|
|
12
|
+
*/
|
|
13
|
+
class WriteBehindReadAsideCache extends read_aside_cache_1.ReadAsideCache {
|
|
14
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
15
|
+
_writeResultAvailable = true;
|
|
16
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
17
|
+
wrapWrite(fn, keyFn, options) {
|
|
18
|
+
return async (...args) => {
|
|
19
|
+
const cacheCtx = { cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRITE };
|
|
20
|
+
return als_utilities_1.AlsUtilities.runWithCacheContext(cacheCtx, async () => {
|
|
21
|
+
const sourceStart = performance.now();
|
|
22
|
+
const value = await fn(...args);
|
|
23
|
+
const sourceDuration = performance.now() - sourceStart;
|
|
24
|
+
cacheCtx.durationInMs = sourceDuration;
|
|
25
|
+
this.metrics.sourceDuration.observe({ cache: this.name, operation: cache_operation_enum_1.CacheOperation.WRITE }, sourceDuration);
|
|
26
|
+
await this.safeInvalidateTags(options?.invalidatesTags, value, args);
|
|
27
|
+
const key = await keyFn(value, ...args);
|
|
28
|
+
cacheCtx.key = key;
|
|
29
|
+
const [tags, ttl] = await Promise.all([
|
|
30
|
+
this.resolveResultTags(options?.tags, value, args),
|
|
31
|
+
this.resolveResultTtl(options?.ttl, value, args)
|
|
32
|
+
]);
|
|
33
|
+
// Fire‑and‑forget write
|
|
34
|
+
Promise.resolve()
|
|
35
|
+
// eslint-disable-next-line promise/prefer-await-to-then
|
|
36
|
+
.then(async () => {
|
|
37
|
+
const storeStart = performance.now();
|
|
38
|
+
await this.store.set(key, this.createCachedValue(value, tags, ttl));
|
|
39
|
+
this.metrics.storeDuration.observe({ cache: this.name, operation: 'set' }, performance.now() - storeStart);
|
|
40
|
+
this.metrics.writes.increase({ cache: this.name });
|
|
41
|
+
await this.updateSizeGauge();
|
|
42
|
+
})
|
|
43
|
+
// eslint-disable-next-line promise/prefer-await-to-then, promise/prefer-await-to-callbacks
|
|
44
|
+
.catch(async (error) => {
|
|
45
|
+
this.metrics.errors.increase({ cache: this.name, operation: 'set' });
|
|
46
|
+
await this.logger.warn('Background cache write failed', { error });
|
|
47
|
+
});
|
|
48
|
+
return value;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
53
|
+
async setDirect(key, value, options) {
|
|
54
|
+
const ttl = options?.ttl ?? await this.resolveResultTtl(undefined, value, []);
|
|
55
|
+
const tags = options?.tags ?? [];
|
|
56
|
+
Promise.resolve()
|
|
57
|
+
// eslint-disable-next-line promise/prefer-await-to-then
|
|
58
|
+
.then(async () => {
|
|
59
|
+
const storeStart = performance.now();
|
|
60
|
+
await this.store.set(key, this.createCachedValue(value, tags, ttl));
|
|
61
|
+
this.metrics.storeDuration.observe({ cache: this.name, operation: 'set' }, performance.now() - storeStart);
|
|
62
|
+
this.metrics.writes.increase({ cache: this.name });
|
|
63
|
+
await this.updateSizeGauge();
|
|
64
|
+
})
|
|
65
|
+
// eslint-disable-next-line promise/prefer-await-to-then, promise/prefer-await-to-callbacks
|
|
66
|
+
.catch(async (error) => {
|
|
67
|
+
this.metrics.errors.increase({ cache: this.name, operation: 'set' });
|
|
68
|
+
await this.logger.warn('Background cache write failed in setDirect', { error });
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.WriteBehindReadAsideCache = WriteBehindReadAsideCache;
|
|
73
|
+
//# sourceMappingURL=write-behind-read-aside.cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-behind-read-aside.cache.js","sourceRoot":"","sources":["../../../../../src/caching/cache/read-aside/write-behind-read-aside.cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CacheKeyProvider, CacheWrapWriteOptionsArgsOnly } from '../cache-options.model';
|
|
2
|
+
import { CacheInterface } from '../cache.interface';
|
|
3
|
+
import { ReadAsideCache } from './read-aside.cache';
|
|
4
|
+
/**
|
|
5
|
+
* Write‑invalidate (key from arguments) read‑aside cache.
|
|
6
|
+
*
|
|
7
|
+
* After a source write, the cache entry derived from **arguments** is deleted.
|
|
8
|
+
* Reads (`wrap`) check the cache but **never** populate it.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class WriteInvalidateReadAsideArgsOnlyCache<K, V, N extends string, CacheTag extends string = string> extends ReadAsideCache<K, V, CacheTag, false, N> implements CacheInterface<K, V, CacheTag, false, N> {
|
|
11
|
+
readonly _writeResultAvailable: false;
|
|
12
|
+
wrapWrite<TArgs extends unknown[]>(fn: (...args: TArgs) => V | Promise<V>, keyFn: CacheKeyProvider<K, TArgs>, options?: CacheWrapWriteOptionsArgsOnly<TArgs, CacheTag>): (...args: TArgs) => Promise<V>;
|
|
13
|
+
setDirect(key: K): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=write-invalidate-read-aside-args-only.cache.d.ts.map
|
package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-invalidate-read-aside-args-only.cache.d.ts","sourceRoot":"","sources":["../../../../../src/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;GAKG;AACH,8BAAsB,qCAAqC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,GAAG,MAAM,CAChH,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC/C,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAGnD,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAS;IAG9C,SAAS,CAAC,KAAK,SAAS,OAAO,EAAE,EAC7B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACtC,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,EACjC,OAAO,CAAC,EAAE,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,GACzD,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;IA6C3B,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAazC"}
|