all files / scripts/ads/vast/ Wrapper.js

94.12% Statements 16/17
75% Branches 3/4
100% Functions 1/1
94.12% Lines 16/17
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        56×         56× 56× 56×     56× 56× 56×     56× 56× 56×      
'use strict';
 
var vastUtil = require('./vastUtil');
var Creative = require('./Creative');
 
var utilities = require('../../utils/utilityFunctions');
var xml = require('../../utils/xml');
 
function Wrapper(wrapperJTree) {
  Iif(!(this instanceof Wrapper)) {
    return new Wrapper(wrapperJTree);
  }
 
  //Required elements
  this.adSystem = xml.keyValue(wrapperJTree.adSystem);
  this.impressions = vastUtil.parseImpressions(wrapperJTree.impression);
  this.VASTAdTagURI = xml.keyValue(wrapperJTree.vASTAdTagURI);
 
  //Optional elements
  this.creatives = Creative.parseCreatives(wrapperJTree.creatives);
  this.error = xml.keyValue(wrapperJTree.error);
  this.extensions = wrapperJTree.extensions;
 
  //Optional attrs
  this.followAdditionalWrappers = utilities.isDefined(xml.attr(wrapperJTree, 'followAdditionalWrappers'))? xml.attr(wrapperJTree, 'followAdditionalWrappers'): true;
  this.allowMultipleAds = xml.attr(wrapperJTree, 'allowMultipleAds');
  this.fallbackOnNoAd = xml.attr(wrapperJTree, 'fallbackOnNoAd');
}
 
module.exports = Wrapper;