Это может быть возможно, существует CacheManager
, экспортированный из @nestjs/common
, где он используется внутри CacheInterceptor
, небольшое исследование показывает, что просто передайте аргументы в cache-manager
, где ttl
может быть функцией, но он оценивается перед передачей его в store
(memory
- это одна из историй cache-manager
), затем внутри него есть строка:
var maxAge = (options.ttl || options.ttl === 0) ? options.ttl * 1000 : lruOpts.maxAge;
по этой строке вы можетеПредположим, что вы, вероятно, могли бы сделать что-то вроде:
const options = {
ttl: () =>({ valueOf: () => someVariable })
}
Потому что:
let c = { valueOf: () => 2 }
console.log(100*c);
Это только мои мысли, не пробовал.
С уважением.