UNPKG

aladinnetwork-blockstack

Version:

The Aladin Javascript library for authentication, identity, and storage.

50 lines 1.75 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // @ts-ignore: Could not find a declaration file for module const schema_inspector_1 = __importDefault(require("schema-inspector")); const profileTokens_1 = require("./profileTokens"); const profileProofs_1 = require("./profileProofs"); const profileZoneFiles_1 = require("./profileZoneFiles"); const schemaDefinition = { type: 'object', properties: { '@context': { type: 'string', optional: true }, '@type': { type: 'string' } } }; /** * Represents a user profile * */ class Profile { constructor(profile = {}) { this._profile = Object.assign({}, { '@context': 'http://schema.org/' }, profile); } toJSON() { return Object.assign({}, this._profile); } toToken(privateKey) { return profileTokens_1.signProfileToken(this.toJSON(), privateKey); } static validateSchema(profile, strict = false) { schemaDefinition.strict = strict; return schema_inspector_1.default.validate(schemaDefinition, profile); } static fromToken(token, publicKeyOrAddress = null) { const profile = profileTokens_1.extractProfile(token, publicKeyOrAddress); return new Profile(profile); } static makeZoneFile(domainName, tokenFileURL) { return profileZoneFiles_1.makeProfileZoneFile(domainName, tokenFileURL); } static validateProofs(domainName) { return profileProofs_1.validateProofs(new Profile().toJSON(), domainName); } } exports.Profile = Profile; //# sourceMappingURL=profile.js.map