@authduo/authduo
Version:
Free User-sovereign Authentication for the World
32 lines • 926 B
JavaScript
import { PassportsFile } from "../../auth/passports-file.js";
import { storageSignal } from "../../tools/storage-signal.js";
export class PassportStore {
#storage = storageSignal("authduo_passports");
#save(passports) {
this.#storage.save(passports.toData());
}
get passportsFile() {
const data = this.#storage.signal.value;
try {
return data
? PassportsFile.fromData(data)
: new PassportsFile();
}
catch {
return new PassportsFile();
}
}
list() {
return this.passportsFile.list();
}
add(...additions) {
this.#save(this.passportsFile.add(...additions));
}
delete(...deletions) {
this.#save(this.passportsFile.delete(...deletions));
}
deleteAll() {
this.#save(this.passportsFile.deleteAll());
}
}
//# sourceMappingURL=passport-store.js.map