UNPKG

iab-vast-parser

Version:

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

60 lines (44 loc) 2.32 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _iabVastModel = require('iab-vast-model'); var _universalAdId = require('../factory/universal-ad-id'); var _universalAdId2 = _interopRequireDefault(_universalAdId); var _creativeExtension = require('../factory/creative-extension'); var _creativeExtension2 = _interopRequireDefault(_creativeExtension); var _linear = require('./linear'); var _linear2 = _interopRequireDefault(_linear); var _nonLinearAds = require('./non-linear-ads'); var _nonLinearAds2 = _interopRequireDefault(_nonLinearAds); var _companionAds = require('./companion-ads'); var _companionAds2 = _interopRequireDefault(_companionAds); 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); } } exports.default = function ($creative, options) { var creative = new _iabVastModel.Creative(); creative.id = $creative.id; creative.sequence = $creative.sequence; // VAST3 XSD specifies AdID and that seems to be what parsers have agreed on creative.adID = $creative.AdID || $creative.adID || $creative.adId; creative.apiFramework = $creative.apiFramework; if ($creative.universalAdId != null) { creative.universalAdId = (0, _universalAdId2.default)($creative.universalAdId); } if ($creative.creativeExtensions != null && $creative.creativeExtensions.creativeExtension) { var _creative$extensions; (_creative$extensions = creative.extensions).push.apply(_creative$extensions, _toConsumableArray($creative.creativeExtensions.creativeExtension.map(_creativeExtension2.default))); } if ($creative.linear != null) { creative.linear = (0, _linear2.default)($creative, options); } else if ($creative.nonLinearAds != null) { creative.nonLinearAds = (0, _nonLinearAds2.default)($creative); } if ($creative.companionAds != null) { creative.companionAds = (0, _companionAds2.default)($creative); } if (creative.linear == null && creative.nonLinearAds == null && creative.companionAds == null) { options.errorHandler(new Error('Creative has no ads')); } return creative; };