qwe/device/store.js
2024-12-11 19:21:57 -07:00

46 lines
1016 B
JavaScript

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)
)
}