Beispiel #1
0
export async function init(name='.git') : Promise<DB> {
  const database = await idb.open(name, 1, db => {
    db.createObjectStore("objects", {keyPath: "hash"});
    db.createObjectStore("refs", {keyPath: "path"});
    db.createObjectStore("metadata", {keyPath: "name"});
  });

  return database;
}
Beispiel #2
0
  readonly repo : string
  readonly name : string
}

const THE_YEAR_2000 = new Date(2000, 1);
const THE_YEAR_2100 = new Date(2100, 1);

const _db = idb.open('ekkiog', 12, db => {
  switch(db.oldVersion){
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
      upgradeFrom10(db);
    case 11:
      upgradeFrom11(db);
  }
});

const _repo = _db.then(db => new Repo({}, db));
const user = getUser();

export async function create(name : string, forest : Forest) : Promise<string> {
  const repo = await _repo;
  const hash = await repo.save(name, forest, `Created ${name}`, user);