# All files / src/profiles/profileSchemas creativework.js

14.29% Statements 1/7
0% Branches 0/3
0% Functions 0/3
14.29% Lines 1/7

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

    1x

     import inspector from 'schema-inspector'
    import { extractProfile } from '../profileTokens'
    import { Profile } from '../profile'

    const schemaDefinition = {
      type: 'object',
      properties: {
        '@context': { type: 'string', optional: true },
        '@type': { type: 'string' },
        '@id': { type: 'string', optional: true }
      }
    }

    export class CreativeWork extends Profile {
      constructor(profile = {}) {
        super(profile)
        this._profile = Object.assign({}, {
          '@type': 'CreativeWork'
        }, this._profile)
      }

      static validateSchema(profile, strict = false) {
        schemaDefinition.strict = strict
        return inspector.validate(schemaDefinition, profile)
      }

      static fromToken(token, publicKeyOrAddress = null) {
        const profile = extractProfile(token, publicKeyOrAddress)
        return new CreativeWork(profile)
      }
    }