iab-vast-parser
Version:
Parses IAB VAST tags into iab-vast-model objects.
58 lines (41 loc) • 2.06 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _iabVastModel = require('iab-vast-model');
var _resource = require('./resource');
var _resource2 = _interopRequireDefault(_resource);
var _click = require('./click');
var _click2 = _interopRequireDefault(_click);
var _iconClicks = require('./icon-clicks');
var _iconClicks2 = _interopRequireDefault(_iconClicks);
var _hasValue = require('../util/has-value');
var _hasValue2 = _interopRequireDefault(_hasValue);
var _isNonEmptyArray = require('../util/is-non-empty-array');
var _isNonEmptyArray2 = _interopRequireDefault(_isNonEmptyArray);
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 parsePosition = function parsePosition(str, allowed) {
return str == null ? str : allowed.indexOf(str) < 0 ? parseInt(str, 0) : str;
};
exports.default = function ($icon) {
var icon = new _iabVastModel.Icon();
icon.program = $icon.program;
icon.width = $icon.width;
icon.height = $icon.height;
icon.xPosition = parsePosition($icon.xPosition, ['left', 'right']);
icon.yPosition = parsePosition($icon.yPosition, ['top', 'bottom']);
icon.duration = $icon.duration;
icon.offset = $icon.offset;
icon.apiFramework = $icon.apiFramework;
icon.pxratio = $icon.pxratio;
icon.resources = (0, _resource2.default)($icon);
if ($icon.iconClicks != null && ((0, _hasValue2.default)($icon.iconClicks.iconClickThrough) || (0, _isNonEmptyArray2.default)($icon.iconClicks.iconClickTracking))) {
icon.clicks = (0, _iconClicks2.default)($icon.iconClicks);
}
if ($icon.iconViewTracking != null) {
var _icon$viewTrackings;
(_icon$viewTrackings = icon.viewTrackings).push.apply(_icon$viewTrackings, _toConsumableArray($icon.iconViewTracking.filter(_hasValue2.default).map(_click2.default)));
}
return icon;
};