From 898fcbe10f63dcf933cc7b713118560515afe2fd Mon Sep 17 00:00:00 2001 From: Kiko Beats Date: Mon, 28 Mar 2022 21:13:01 +0200 Subject: [PATCH] fix(multi): wait deserialize promise --- packages/multi/package.json | 1 + packages/multi/src/index.js | 2 +- packages/multi/test/index.js | 19 ++++++++++--------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/multi/package.json b/packages/multi/package.json index 648b92fb..2cf7efaf 100644 --- a/packages/multi/package.json +++ b/packages/multi/package.json @@ -31,6 +31,7 @@ }, "devDependencies": { "@keyvhq/sqlite": "latest", + "@keyvhq/compress": "latest", "ava": "latest", "delay": "latest" }, diff --git a/packages/multi/src/index.js b/packages/multi/src/index.js index 0f45942d..2892b9e6 100644 --- a/packages/multi/src/index.js +++ b/packages/multi/src/index.js @@ -25,7 +25,7 @@ class MultiCache { const key = this.remote._getKeyPrefix(...args) const raw = await this.remote.store.get(key) - const data = typeof raw === 'string' ? this.remote.deserialize(raw) : raw + const data = typeof raw === 'string' ? await this.remote.deserialize(raw) : raw const hasValue = data ? data.value !== undefined : false const isFresh = diff --git a/packages/multi/test/index.js b/packages/multi/test/index.js index 6f9829e0..8b7604a8 100644 --- a/packages/multi/test/index.js +++ b/packages/multi/test/index.js @@ -3,18 +3,19 @@ const test = require('ava') const delay = require('delay') -const KeyvMulti = require('..') -const Keyv = require('@keyvhq/core') +const keyvCompress = require('@keyvhq/compress') const KeyvSqlite = require('@keyvhq/sqlite') +const Keyv = require('@keyvhq/core') +const KeyvMulti = require('..') -const remoteStore = () => - new Keyv({ - store: new KeyvSqlite({ - uri: 'sqlite://test/testdb.sqlite', - busyTimeout: 30000 - }) +const remoteStore = () => keyvCompress(new Keyv({ + store: new KeyvSqlite({ + uri: 'sqlite://test/testdb.sqlite', + busyTimeout: 30000 }) -const localStore = () => new Keyv() +})) + +const localStore = () => keyvCompress(new Keyv()) test.beforeEach(async () => { const remote = remoteStore()