File size: 862 Bytes
b5ba7a5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
const idb = window.indexedDB.open("openoutpaint", 2);
idb.onerror = (e) => {
console.warn("[stamp] Failed to connect to IndexedDB");
console.warn(e);
};
idb.onupgradeneeded = (e) => {
const db = e.target.result;
console.debug(`[stamp] Setting up database version ${db.version}`);
if (e.oldVersion < 1) {
// Resources Store
const resourcesStore = db.createObjectStore("resources", {
keyPath: "id",
});
resourcesStore.createIndex("name", "name", {unique: false});
}
// Workspaces Store
const workspacesStore = db.createObjectStore("workspaces", {
keyPath: "id",
});
workspacesStore.createIndex("name", "name", {unique: false});
};
/** @type {IDBDatabase} */
let db = null;
/** @type {Observer<{db: IDBDatabase}>} */
const ondatabaseload = new Observer();
idb.onsuccess = (e) => {
db = e.target.result;
ondatabaseload.emit({db});
};
|