diff --git a/test/test.browser.ts b/test/test.browser.ts index 6a8f6b5..e531a43 100644 --- a/test/test.browser.ts +++ b/test/test.browser.ts @@ -5,8 +5,8 @@ let testWebstore: webstore.WebStore; tap.test('first test', async () => { testWebstore = new webstore.WebStore({ - dbName: 'mytestdb', - storeName: 'myteststore' + dbName: 'mytest-db', + storeName: 'mytest-store' }); expect(testWebstore).to.be.instanceOf(webstore.WebStore); }); @@ -22,4 +22,18 @@ tap.test('should store a value', async () => { console.log(JSON.stringify(await testWebstore.get('testProp1'))); }); +tap.test('should overwrite a value', async () => { + await testWebstore.set('testProp1', { + wow: 'wowVal2' + }); + console.log(JSON.stringify(await testWebstore.get('testProp1'))); +}); + +tap.test('should correctly check the existence of keys', async () => { + const resultNotThere = await testWebstore.check('notThere'); + const resultThere = await testWebstore.check('testProp1'); + expect(resultNotThere).to.be.false; + expect(resultThere).to.be.true; +}); + tap.start(); diff --git a/ts/webstiore.classes.webstore.ts b/ts/webstiore.classes.webstore.ts index e1a92c0..297e7b6 100644 --- a/ts/webstiore.classes.webstore.ts +++ b/ts/webstiore.classes.webstore.ts @@ -23,15 +23,20 @@ export class WebStore { }); } - async get(key) { + async get(key: string) { return this.db.get(this.options.storeName, key); } - async set(key, val) { + async check(keyArg: string): Promise { + const result = await this.get(keyArg); + return !!result; + } + + async set(key: string, val: T) { return this.db.put(this.options.storeName, val, key); } - async delete(key) { + async delete(key: string) { return this.db.delete(this.options.storeName, key); }