import { openDB } from 'indexed-pdb' export const DB_NAME = "/com.nesbox.tic/TIC-80"; export const DB_STORE = "FILE_DATA"; export function filename_from_key (key) { if (key.startsWith(DB_NAME+"/")) { return key.substr((DB_NAME+"/").length); } } export async function load_key (key) { const db = await openDB(DB_NAME), objectStore = db.transaction([DB_STORE], "readonly").objectStore(DB_STORE); return await objectStore.get(key); } export async function save_key (key, item) { const db = await openDB(DB_NAME), objectStore = db.transaction([DB_STORE], "readwrite").objectStore(DB_STORE); return await objectStore.put(item, key); } export async function save_cart(filename, cart, mode) { return await save_key(DB_NAME+"/"+filename, {timestamp: new Date(), contents: cart.tobuffer(), mode: mode}); } export function compareBuffers (a, b) { var ad = new DataView(a.buffer), bd = new DataView(b.buffer); if (ad.byteLength != bd.byteLength) { return false; } for (var i=0; i