Source: session-client/verification-script-resource.js

goog.module('omid.sessionClient.VerificationScriptResource');

const argsChecker = goog.require('omid.common.argsChecker');
const {AccessMode} = goog.require('omid.common.constants');
const {packageExport} = goog.require('omid.common.exporter');

/**
 * Represents a verification script resource that comes in a VAST extension for
 * VAST versions <= 3 or a verification node for VAST versions >= 4
 * @public
 */
class VerificationScriptResource {
  /**
   * Creates new verification script resource instance which requires vendor
   * specific verification parameters.
   * @param {string} resourceUrl
   * @param {string=} vendorKey
   * @param {string=} verificationParameters
   * @param {AccessMode=} accessMode The level of access this verification
   *     script will have when executed.
   * @throws error if either the vendorKey or resourceUrl is undefined, null or
   *   blank.
   */
  constructor(resourceUrl, vendorKey = undefined,
      verificationParameters = undefined, accessMode = AccessMode.FULL) {
    argsChecker.assertTruthyString('VerificationScriptResource.resourceUrl',
        resourceUrl);

    /** @type {string} */
    this.resourceUrl = resourceUrl;

    /** @type {(string|undefined)} */
    this.vendorKey = vendorKey;

    /** @type {(string|undefined)} */
    this.verificationParameters = verificationParameters;

    /** @type {!AccessMode} */
    this.accessMode = accessMode;
  }

  /**
   * @override
   * @return {!Object}
   */
  toJSON() {
    return {
      'accessMode': this.accessMode,
      'resourceUrl': this.resourceUrl,
      'vendorKey': this.vendorKey,
      'verificationParameters': this.verificationParameters,
    };
  }
}

packageExport('OmidSessionClient.VerificationScriptResource',
       VerificationScriptResource);
exports = VerificationScriptResource;