UNPKG

@tidecloak/js

Version:

TideCloak client side JS SDK

49 lines 1.76 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Ed25519_js_1 = require("../../Cryptide/Ed25519.js"); const OrkInfo_js_1 = __importDefault(require("./OrkInfo.js")); class KeyInfo { /** * * @param {string} userId * @param {Point} userPublic * @param {string} userM * @param {OrkInfo[]} orkInfo */ constructor(userId, userPublic, userM, orkInfo) { this.UserId = userId; this.UserPublic = userPublic; this.UserM = userM; this.OrkInfo = orkInfo; } toString() { return JSON.stringify({ UserId: this.UserId, UserPublic: this.UserPublic.toBase64(), UserM: this.UserM, OrkInfos: this.OrkInfo.map(info => info.toString()) }); } toNativeTypeObject() { return { UserId: this.UserId, UserPublic: this.UserPublic.toBase64(), UserM: this.UserM, OrkInfos: this.OrkInfo.map(info => info.toNativeTypeObject()) }; } static from(data) { const json = JSON.parse(data); const pub = Ed25519_js_1.Point.fromBase64(json.UserPublic); const orkInfo = json.OrkInfos.map(orkInfo => OrkInfo_js_1.default.from(orkInfo)); return new KeyInfo(json.UserId, pub, json.UserM, orkInfo); } static fromNativeTypeObject(json) { return new KeyInfo(json.UserId, Ed25519_js_1.Point.fromBase64(json.UserPublic), json.UserM, json.OrkInfos.map(o => OrkInfo_js_1.default.fromNativeTypeObject(o))); } } exports.default = KeyInfo; //# sourceMappingURL=KeyInfo.js.map