UNPKG

aladinnetwork-blockstack

Version:

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

38 lines (32 loc) 1.03 kB
// TODO: replace with 'ajv' - its already a dependency and it is maintained // @ts-ignore: Could not find a declaration file for module import inspector from 'schema-inspector' import { extractProfile } from '../profileTokens' import { Profile } from '../profile' const schemaDefinition: {[key: string]: any} = { type: 'object', properties: { '@context': { type: 'string', optional: true }, '@type': { type: 'string' }, '@id': { type: 'string', optional: true } } } /** * @ignore */ export class Organization extends Profile { constructor(profile = {}) { super(profile) this._profile = Object.assign({}, { '@type': 'Organization' }, this._profile) } static validateSchema(profile: any, strict = false) { schemaDefinition.strict = strict return inspector.validate(schemaDefinition, profile) } static fromToken(token: string, publicKeyOrAddress: string | null = null) { const profile = extractProfile(token, publicKeyOrAddress) return new Organization(profile) } }