UNPKG

iab-vast-parser

Version:

Parses IAB VAST tags into iab-vast-model objects.

106 lines (77 loc) 4.03 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _iabVastModel = require('iab-vast-model'); var _mediaFile = require('./media-file'); var _mediaFile2 = _interopRequireDefault(_mediaFile); var _interactiveCreativeFile = require('./interactive-creative-file'); var _interactiveCreativeFile2 = _interopRequireDefault(_interactiveCreativeFile); var _icon = require('./icon'); var _icon2 = _interopRequireDefault(_icon); var _click = require('./click'); var _click2 = _interopRequireDefault(_click); var _timeOffset = require('./time-offset'); var _timeOffset2 = _interopRequireDefault(_timeOffset); var _mapTrackingEvents = require('../util/map-tracking-events'); var _mapTrackingEvents2 = _interopRequireDefault(_mapTrackingEvents); var _isNonEmptyString = require('../util/is-non-empty-string'); var _isNonEmptyString2 = _interopRequireDefault(_isNonEmptyString); var _isNonEmptyArray = require('../util/is-non-empty-array'); var _isNonEmptyArray2 = _interopRequireDefault(_isNonEmptyArray); var _hasValue = require('../util/has-value'); var _hasValue2 = _interopRequireDefault(_hasValue); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var mapVideoClicks = function mapVideoClicks($videoClicks, videoClicks) { if ($videoClicks.clickThrough != null && (0, _hasValue2.default)($videoClicks.clickThrough)) { videoClicks.clickThrough = (0, _click2.default)($videoClicks.clickThrough); } if ($videoClicks.clickTracking != null) { var _videoClicks$clickTra; (_videoClicks$clickTra = videoClicks.clickTrackings).push.apply(_videoClicks$clickTra, _toConsumableArray($videoClicks.clickTracking.filter(_hasValue2.default).map(_click2.default))); } if ($videoClicks.customClick != null) { var _videoClicks$customCl; (_videoClicks$customCl = videoClicks.customClicks).push.apply(_videoClicks$customCl, _toConsumableArray($videoClicks.customClick.filter(_hasValue2.default).map(_click2.default))); } }; exports.default = function ($creative, options) { var $linear = $creative.linear; var linear = new _iabVastModel.Linear(); if ((0, _isNonEmptyString2.default)($linear.skipoffset)) { linear.skipoffset = (0, _timeOffset2.default)($linear.skipoffset, options); } if ($linear.duration != null) { linear.duration = $linear.duration._value; } if ($linear.mediaFiles != null) { if ($linear.mediaFiles.mezzanine != null) { linear.mezzanine = $linear.mediaFiles.mezzanine._value; } if ($linear.mediaFiles.mediaFile != null) { var _linear$mediaFiles; (_linear$mediaFiles = linear.mediaFiles).push.apply(_linear$mediaFiles, _toConsumableArray($linear.mediaFiles.mediaFile.map(_mediaFile2.default))); } if ($linear.mediaFiles.interactiveCreativeFile != null) { var _linear$interactiveCr; (_linear$interactiveCr = linear.interactiveCreativeFiles).push.apply(_linear$interactiveCr, _toConsumableArray($linear.mediaFiles.interactiveCreativeFile.map(_interactiveCreativeFile2.default))); } } if ($linear.adParameters != null) { linear.adParameters = $linear.adParameters._value; } if ($linear.videoClicks != null) { linear.videoClicks = new _iabVastModel.VideoClicks(); mapVideoClicks($linear.videoClicks, linear.videoClicks); } if ($linear.trackingEvents != null && (0, _isNonEmptyArray2.default)($linear.trackingEvents.tracking)) { linear.trackingEvents = new _iabVastModel.TrackingEvents(); (0, _mapTrackingEvents2.default)($linear.trackingEvents, linear.trackingEvents, options); } if ($linear.icons != null && $linear.icons.icon) { var _linear$icons; (_linear$icons = linear.icons).push.apply(_linear$icons, _toConsumableArray($linear.icons.icon.map(_icon2.default))); } return linear; };