diff --git a/src/indexeddb.js b/src/indexeddb.js deleted file mode 100644 index 118a106..0000000 --- a/src/indexeddb.js +++ /dev/null @@ -1,92 +0,0 @@ -export default class IndexedDB { - constructor(databaseName, databaseVersion) { - this.databaseName = databaseName - this.databaseVersion = databaseVersion - this.db = null - } - - open(name) { - return new Promise((resolve, reject) => { - const request = indexedDB.open(this.databaseName, this.databaseVersion) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - this.db = event.target.result - resolve(this.db) - } - request.onupgradeneeded = (event) => { - const db = event.target.result - if (!db.objectStoreNames.contains(name)) { - db.createObjectStore(name, { keyPath: 'id' }) - console.log('store created:', name) - } - } - }) - } - - async store(name) { - if (!this.db) await this.open(name) - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - resolve(objectStore) - }) - } - - getAll(name) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readonly') - const objectStore = transaction.objectStore(name) - const request = objectStore.getAll() - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } - - add(name, data) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - const request = objectStore.add(data) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } - - put(name, data) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - const request = objectStore.put(data) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } - - delete(name, id) { - return new Promise((resolve, reject) => { - const transaction = this.db.transaction([name], 'readwrite') - const objectStore = transaction.objectStore(name) - const request = objectStore.delete(id) - request.onerror = (event) => { - reject(event.target.error) - } - request.onsuccess = (event) => { - resolve(event.target.result) - } - }) - } -} \ No newline at end of file