From e25b9c96c670b17fa490b477147f0a1b6e7f74c8 Mon Sep 17 00:00:00 2001 From: Katalina Okano Date: Sun, 13 Dec 2020 21:58:34 -0500 Subject: [PATCH] fix KV emulation ttl --- src/backend-emulator/kv.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/backend-emulator/kv.js b/src/backend-emulator/kv.js index 6f83611..ac9994b 100644 --- a/src/backend-emulator/kv.js +++ b/src/backend-emulator/kv.js @@ -26,16 +26,16 @@ class KVShim { makeValue(value, expirationTtl) { if (!expirationTtl) { - return { + return JSON.stringify({ value, expires: false, - }; + }); } - return { - value: JSON.stringify(value), + return JSON.stringify({ + value, expires: Date.now() + 1000 * expirationTtl, - }; + }); } validate(value) { @@ -43,7 +43,7 @@ class KVShim { return false; } - if (value.expires < Date.now()) { + if (value.expires && value.expires < Date.now()) { return false; } @@ -51,7 +51,7 @@ class KVShim { } async get(key, type = 'text') { - const result = await this.level.get(key); + const result = JSON.parse(await this.level.get(key)); if (!this.validate(result)) { return null; @@ -75,7 +75,7 @@ class KVShim { hasWarned = true; } - return this.level.put(key, this.makeValue(value, expirationTtl)); + return await this.level.put(key, this.makeValue(value, expirationTtl)); } async delete(key) {