UNPKG

iab-vast-parser

Version:

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

98 lines (74 loc) 3.13 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _adSystem = require('../factory/ad-system'); var _adSystem2 = _interopRequireDefault(_adSystem); var _creative = require('../factory/creative'); var _creative2 = _interopRequireDefault(_creative); var _extension = require('../factory/extension'); var _extension2 = _interopRequireDefault(_extension); var _impression = require('../factory/impression'); var _impression2 = _interopRequireDefault(_impression); var _pricing = require('../factory/pricing'); var _pricing2 = _interopRequireDefault(_pricing); var _viewableImpression = require('../factory/viewable-impression'); var _viewableImpression2 = _interopRequireDefault(_viewableImpression); var _verification = require('../factory/verification'); var _verification2 = _interopRequireDefault(_verification); var _isNonEmptyString = require('../util/is-non-empty-string'); var _isNonEmptyString2 = _interopRequireDefault(_isNonEmptyString); 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 hasValue = function hasValue($node) { return $node != null && (0, _isNonEmptyString2.default)($node._value); }; exports.default = function ($ad, $impl, ad, options) { ad.id = $ad.id; ad.conditionalAd = $ad.conditionalAd; ad.sequence = $ad.sequence; if ($impl.adSystem != null) { ad.adSystem = (0, _adSystem2.default)($impl.adSystem); } if ($impl.impression != null) { var _ad$impressions; (_ad$impressions = ad.impressions).push.apply(_ad$impressions, _toConsumableArray($impl.impression.filter(hasValue).map(_impression2.default))); } if ($impl.pricing != null) { ad.pricing = (0, _pricing2.default)($impl.pricing); } if ($impl.error != null) { var _ad$errors; (_ad$errors = ad.errors).push.apply(_ad$errors, _toConsumableArray($impl.error.filter(hasValue).map(function ($err) { return $err._value; }))); } if ($impl.viewableImpression != null) { ad.viewableImpression = (0, _viewableImpression2.default)($impl.viewableImpression); } if ($impl.adVerifications != null) { $impl.adVerifications.verification.forEach(function ($verification) { try { var verification = (0, _verification2.default)($verification, options); ad.verifications.push(verification); } catch (err) { options.errorHandler(err); } }); } if ($impl.extensions != null) { var _ad$extensions; (_ad$extensions = ad.extensions).push.apply(_ad$extensions, _toConsumableArray($impl.extensions.extension.map(_extension2.default))); } if ($impl.creatives != null) { $impl.creatives.creative.forEach(function ($creative) { try { var creative = (0, _creative2.default)($creative, options); ad.creatives.add(creative); } catch (err) { options.errorHandler(err); } }); } return ad; };