UNPKG

@tidecloak/js

Version:

TideCloak client side JS SDK

50 lines 2.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Serialization_js_1 = require("../Cryptide/Serialization.js"); const index_js_1 = require("../Cryptide/index.js"); const KeyInfo_js_1 = __importDefault(require("./Infos/KeyInfo.js")); class EnclaveEntry { /** * @param {string} username * @param {string} persona * @param {bigint} expired * @param {KeyInfo} userInfo * @param {(0|1)[]} orksBitwise * @param {string[]} selfRequesti * @param {Uint8Array} sessKey */ constructor(username, persona, expired, userInfo, orksBitwise, selfRequesti, sessKey) { this.username = username; this.persona = persona; this.expired = expired; this.userInfo = userInfo; this.orksBitwise = orksBitwise; this.selfRequesti = selfRequesti; this.sessKey = sessKey; } toString() { return JSON.stringify({ username: this.username, persona: this.persona, expired: this.expired.toString(), userInfo: this.userInfo.toNativeTypeObject(), orksBitwise: JSON.stringify(this.orksBitwise), selfRequesti: this.selfRequesti, sessKey: (0, Serialization_js_1.bytesToBase64)(this.sessKey) }); } static from(data) { const json = JSON.parse(data); const expired = BigInt(json.expired); const userInfo = KeyInfo_js_1.default.fromNativeTypeObject(json.userInfo); // includes uid + gCMK, ork URL + id + pubs const orksBitwise = JSON.parse(json.orksBitwise); const selfRequesti = json.selfRequesti; const sessKey = (0, Serialization_js_1.base64ToBytes)(json.sessKey); return new EnclaveEntry(json.username, json.persona, expired, userInfo, orksBitwise, selfRequesti, sessKey); } } exports.default = EnclaveEntry; //# sourceMappingURL=EnclaveEntry.js.map