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

93.75% Statements 15/16
83.33% Branches 5/6
100% Functions 3/3
93.75% Lines 15/16
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      17×       17× 17× 17×     34× 34× 12×     34×      
'use strict';
 
var utilities = require('../../utils/utilityFunctions');
var xml = require('../../utils/xml');
 
function VideoClicks(videoClickJTree) {
  Iif (!(this instanceof VideoClicks)) {
    return new VideoClicks(videoClickJTree);
  }
 
  this.clickThrough = xml.keyValue(videoClickJTree.clickThrough);
  this.clickTrackings = parseClickTrackings(videoClickJTree.clickTracking);
  this.customClicks = parseClickTrackings(videoClickJTree.customClick);
 
  /*** Local functions ***/
  function parseClickTrackings(trackingData) {
    var clickTrackings = [];
    if (trackingData) {
      trackingData = utilities.isArray(trackingData) ? trackingData : [trackingData];
      trackingData.forEach(function (clickTrackingData) {
        clickTrackings.push(xml.keyValue(clickTrackingData));
      });
    }
    return clickTrackings;
  }
}
 
module.exports = VideoClicks;