46 lines
1016 B
JavaScript
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)
|
|
)
|
|
} |