set common default values for RedisKVCache callbacks

This commit is contained in:
Hazelnoot 2025-05-12 13:15:25 -04:00
parent 61aaa586fe
commit 03b1960e63

View file

@ -19,16 +19,16 @@ export class RedisKVCache<T> {
opts: { opts: {
lifetime: RedisKVCache<T>['lifetime']; lifetime: RedisKVCache<T>['lifetime'];
memoryCacheLifetime: number; memoryCacheLifetime: number;
fetcher: RedisKVCache<T>['fetcher']; fetcher?: RedisKVCache<T>['fetcher'];
toRedisConverter: RedisKVCache<T>['toRedisConverter']; toRedisConverter?: RedisKVCache<T>['toRedisConverter'];
fromRedisConverter: RedisKVCache<T>['fromRedisConverter']; fromRedisConverter?: RedisKVCache<T>['fromRedisConverter'];
}, },
) { ) {
this.lifetime = opts.lifetime; this.lifetime = opts.lifetime;
this.memoryCache = new MemoryKVCache(opts.memoryCacheLifetime); this.memoryCache = new MemoryKVCache(opts.memoryCacheLifetime);
this.fetcher = opts.fetcher; this.fetcher = opts.fetcher ?? (() => { throw new Error('fetch not supported - use get/set directly'); });
this.toRedisConverter = opts.toRedisConverter; this.toRedisConverter = opts.toRedisConverter ?? ((value) => JSON.stringify(value));
this.fromRedisConverter = opts.fromRedisConverter; this.fromRedisConverter = opts.fromRedisConverter ?? ((value) => JSON.parse(value));
} }
@bindThis @bindThis