webapp/src/components/EditorExample/db.ts

33 lines
713 B
TypeScript
Raw Normal View History

2022-11-01 19:27:43 +00:00
import { openDB } from 'idb'
const dbPromise = () => {
2022-10-09 00:00:13 +00:00
return openDB('discours.io', 2, {
upgrade(db) {
db.createObjectStore('keyval')
}
})
}
2022-09-09 11:53:35 +00:00
export default {
async get(key: string) {
2022-10-09 00:00:13 +00:00
const result = await dbPromise()
2022-09-09 11:53:35 +00:00
return result.get('keyval', key)
},
async set(key: string, val: string) {
2022-10-09 00:00:13 +00:00
const result = await dbPromise()
2022-09-09 11:53:35 +00:00
return result.put('keyval', val, key)
},
async delete(key: string) {
2022-10-09 00:00:13 +00:00
const result = await dbPromise()
2022-09-09 11:53:35 +00:00
return result.delete('keyval', key)
},
async clear() {
2022-10-09 00:00:13 +00:00
const result = await dbPromise()
2022-09-09 11:53:35 +00:00
return result.clear('keyval')
},
async keys() {
2022-10-09 00:00:13 +00:00
const result = await dbPromise()
2022-09-09 11:53:35 +00:00
return result.getAllKeys('keyval')
}
}