const app = window.app const dbName = 'notes' const objectStoreName = 'files' export function transact() { return window.db .transaction(objectStoreName, "readwrite") .objectStore(objectStoreName) } export function promisify(request) { return new Promise((resolve, reject) => { request.onsuccess = (event) => { resolve(request.result) } request.onerror = (event) => { reject(request.error) } }) } export async function Init() { const request = indexedDB.open(dbName, 2) request.onupgradeneeded = (event) => { const db = event.target.result const objectStore = db.createObjectStore(objectStoreName) objectStore.createIndex('value', 'value', { unique: false }) } window.db = await promisify(request) } export function Get(key) { return promisify( transact().get(key) ) } export function Set(key, value) { return promisify( transact().put(value, key) ) }