From 696a144ab72aa032da760adb15690df5af4d1b9e Mon Sep 17 00:00:00 2001 From: Daniel Gasienica Date: Wed, 28 Mar 2018 17:05:21 -0400 Subject: [PATCH] Add `settings.deleteItem` --- js/modules/settings.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/js/modules/settings.js b/js/modules/settings.js index 9d1cc018e..9cae70735 100644 --- a/js/modules/settings.js +++ b/js/modules/settings.js @@ -61,3 +61,24 @@ const setItem = (connection, key, value) => { resolve(); }); }; + +const deleteItem = (connection, key) => { + if (!isObject(connection)) { + throw new TypeError('"connection" is required'); + } + + if (!isString(key)) { + throw new TypeError('"key" must be a string'); + } + + const transaction = connection.transaction(ITEMS_STORE_NAME, 'readwrite'); + const itemsStore = transaction.objectStore(ITEMS_STORE_NAME); + const request = itemsStore.delete(key); + return new Promise((resolve, reject) => { + request.onerror = event => + reject(event.target.error); + + request.onsuccess = () => + resolve(); + }); +};