All files / src/profiles/profileSchemas creativework.ts

45.45% Statements 5/11
0% Branches 0/3
0% Functions 0/3
45.45% Lines 5/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44  1x 1x 1x   1x                       1x                                                    
// @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 CreativeWork extends Profile {
  constructor(profile = {}) {
    super(profile)
    this._profile = Object.assign({}, {
      '@type': 'CreativeWork'
    }, this._profile)
  }
 
  /**
   * 
   * @ignore
   */
  static validateSchema(profile: any, strict = false) {
    schemaDefinition.strict = strict
    return inspector.validate(schemaDefinition, profile)
  }
 
  /**
   * @ignore
   */
  static async fromToken(token: string, publicKeyOrAddress: string | null = null): 
    Promise<CreativeWork> {
    const profile = await extractProfile(token, publicKeyOrAddress)
    return new CreativeWork(profile)
  }
}