# 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 fromToken(token: string, publicKeyOrAddress: string | null = null):
        CreativeWork {
        const profile = extractProfile(token, publicKeyOrAddress)
        return new CreativeWork(profile)
      }
    }