function addObject(db,key,val,storeName){return new Promise(function(resolve,reject){var request=getStore(db,storeName,"readwrite").put(val,key);request.onerror=reject,request.onsuccess=resolve})}function updateObject(db,key,val,storeName){return new Promise(function(resolve,reject){let request=getStore(db,storeName,"readwrite").put(val,key);request.onerror=reject,request.onsuccess=function(){resolve(request.result)}})}function deleteObject(db,key,storeName){return new Promise(function(resolve,reject){var request=getStore(db,storeName,"readwrite").delete(key);request.onerror=reject,request.onsuccess=resolve})}function clearObjects(db,storeName){return new Promise(function(resolve,reject){var request=getStore(db,storeName,"readwrite").clear();request.onerror=reject,request.onsuccess=resolve})}function getAllObjects(db,storeName){return new Promise(function(resolve,reject){var objectStore=getStore(db,storeName);let request;if("function"==typeof objectStore.getAll)(request=objectStore.getAll()).onsuccess=function(event){resolve(event.target.result)};else{let results=[];(request=objectStore.openCursor()).onsuccess=function(event){event=event.target.result;event?(results.push(event.value),event.continue()):resolve(results)}}request.onerror=reject})}function getObjectByKey(db,key,storeName){return new Promise(function(resolve,reject){let request=getStore(db,storeName).get(key);request.onerror=reject,request.onsuccess=function(){resolve(request.result)}})}function getObjectsByKeys(db,keys,storeName){return Array.isArray(keys)&&1!==keys.length?(4