diff --git a/ts/src/lib/wynn/wapi.ts b/ts/src/lib/wynn/wapi.ts index 56356bc..721db96 100644 --- a/ts/src/lib/wynn/wapi.ts +++ b/ts/src/lib/wynn/wapi.ts @@ -37,7 +37,7 @@ export class WApi { await store.delete({key}) }, async set(key, value, req) { - let ttl = value.state === 'loading' + let expireTime = value.state === 'loading' ? Date.now() + (req?.cache && typeof req.cache.ttl === 'number' ? req.cache.ttl @@ -52,6 +52,12 @@ export class WApi { : // otherwise, we can't determine when it should expire, so we keep // it indefinitely. undefined + + let ttl: number | undefined + if(expireTime) { + ttl = expireTime - Date.now() + } + await store.set({ key, value: JSON.stringify(value),