UNPKG

@eotl/core

Version:

Assortment of data structures, Vue.js components, and utilities across EOTL apps and sites.

56 lines (55 loc) 1.27 kB
import { defineStore } from "pinia"; import "vue"; import { ssrIdentity } from "@eotl/simple-signed-records"; const prefix = "eotl_"; function readStorage(key, initialize) { key = prefix + key; let value = localStorage.getItem(key); let parsedValue; if (value !== null) { try { parsedValue = JSON.parse(value); } catch (_) { } } if (parsedValue === void 0) { parsedValue = initialize(); localStorage.setItem(key, JSON.stringify(parsedValue)); } return parsedValue; } let accountDefault = { status: "new", cert: "", type: "unspecified", lang: "en" }; let identityNew = { words: [""], publicKey: "", secretKey: "" }; const useAuthSsr = defineStore("authSsr", { state: () => ({ auth_type: "ssr", account: readStorage("account", () => accountDefault), identity: readStorage("identity", () => identityNew) }), actions: { async createIdentity() { await ssrIdentity.init(); const identity = ssrIdentity.createIdentity(); this.identity = identity; }, async restoreIdentity(identity) { this.identity = identity; }, async restoreAccount(account) { this.account = account; } } }); export { useAuthSsr as u }; //# sourceMappingURL=authSsr-BedulHkH.js.map