UNPKG

@eotl/core

Version:

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

55 lines (54 loc) 1.34 kB
"use strict"; const pinia = require("pinia"); require("vue"); const simpleSignedRecords = require("@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 = pinia.defineStore("authSsr", { state: () => ({ auth_type: "ssr", account: readStorage("account", () => accountDefault), identity: readStorage("identity", () => identityNew) }), actions: { async createIdentity() { await simpleSignedRecords.ssrIdentity.init(); const identity = simpleSignedRecords.ssrIdentity.createIdentity(); this.identity = identity; }, async restoreIdentity(identity) { this.identity = identity; }, async restoreAccount(account) { this.account = account; } } }); exports.useAuthSsr = useAuthSsr; //# sourceMappingURL=authSsr-Aa_pi4mF.cjs.map