Skip to content

FromCacheOptions

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:44

Options for configuring read-through caching and rehydration via FromCache.

TQuery = unknown

TResult = unknown

optional alwaysHydrate?: boolean

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:71

Requires hydrateFn at decoration time. Every hit is rehydrated whenever a hydrator applies, so this flag does not change the result.


optional hydrateFn?: ((cached) => TResult) | null

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:56

Function to rehydrate a raw cached snapshot back into a domain entity. When omitted, the repository’s QueryRepositoryHydration applies; null opts this method out of it.


optional isNewer?: (cached, incoming) => boolean

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:82

Optional version comparator for stale-read prevention during concurrent cache population. Defaults to isCacheNewer.

unknown

unknown

boolean


optional keyFn?: ((query) => string | null) | null

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:49

Function deriving the cache key from query options. When it returns null, caching is skipped for that call.


optional logger?: ICacheLogger

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:89

Receives read-through warnings (unversioned adapter, uncacheable result, missing cache property). Defaults to console.warn with a [FromCacheDecorator] prefix. See ICacheLogger.


optional serializeFn?: ((result) => unknown) | null

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:65

Optional serializer function to convert a domain entity or complex result into a pure, detached snapshot for storage in cache. If omitted, the repository’s QueryRepositoryHydration serializer applies, and otherwise toCacheSnapshot extracts a snapshot via result.toJSON() or deep JSON cloning. null skips the repository default.


optional ttl?: number

Defined in: packages/ddd-core/persistence/decorators/from-cache.decorator.ts:76

Optional time-to-live in milliseconds for cached entries.