JSFiddle - React, Tailwind, and code Playground

HTML

<button onclick="getData()">get</button>
		<button onclick="deleteData()">delete</button>

JavaScript

window.idb = (function () {
					'use strict';
					var db, indexedDB, IDBTransaction, IDBKeyRange;
					function indexedDBError(event) {
						if (typeof console !== "undefined") {
							console.error("An error occurred", event);
						}
					}
					function insertInto(model, data, successCallback) {
						console.log("inserting into model "+model); 
						var transaction = db.transaction([model], IDBTransaction.READ_WRITE || 'readwrite'), store, i, request, total = data.length;
						
						function successCallbackInner() {
							total = total - 1;
							if (total === 0) {
								successCallback();
							}
						}
						transaction.onerror = indexedDBError;
						store = transaction.objectStore(model);
						for (i in data) {
							if (data.hasOwnProperty(i)) {
								console.log(data[i]);
								request = store.add(data[i]);
								request.onsuccess = successCallbackInner;
								request.onerror = indexedDBError;
							}
						}
					}
					function deleteAllFrom(model, successCallback) {
						var transaction = db.transaction([model], IDBTransaction.READ_WRITE || 'readwrite'), store, request;
						transaction.onerror = indexedDBError;
						store = transaction.objectStore(model);
						request = store.clear();
						request.onerror = indexedDBError;
						request.onsuccess = successCallback;
					}
					function selectAll(model, successCallback) {
						var transaction = db.transaction([model], IDBTransaction.READ_ONLY || 'readonly'), store, request, results = [];
						transaction.onerror = indexedDBError;
						store = transaction.objectStore(model);
						request = store.openCursor();
						request.onerror = indexedDBError;
						request.onsuccess = function (event) {
							var result = event.target.result;
							// When result is null the end is reached
							if (!result) {
								successCallback(results);
								return;
							}
							results.push(result.value);
							// Weird to hack...