infobae-react-jw-player
Version:
A React component for launching JW Player instances on the client.
81 lines (64 loc) • 2.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
function getPlayerOpts(opts) {
var aspectRatio = opts.aspectRatio,
_opts$customProps = opts.customProps,
customProps = _opts$customProps === undefined ? {} : _opts$customProps,
file = opts.file,
generatePrerollUrl = opts.generatePrerollUrl,
image = opts.image,
isAutoPlay = opts.isAutoPlay,
isMuted = opts.isMuted,
licenseKey = opts.licenseKey,
playlist = opts.playlist;
var hasAdvertising = !!generatePrerollUrl;
var playerOpts = {};
if (licenseKey) {
playerOpts.key = licenseKey;
}
if (playlist) {
playerOpts.playlist = playlist;
} else if (file) {
playerOpts.file = file;
}
if (aspectRatio && aspectRatio !== 'inherit') {
playerOpts.aspectratio = aspectRatio;
}
if (hasAdvertising) {
var playerSegsPerm = '';
try {
if (typeof window !== 'undefined') {
var segs = JSON.parse(localStorage.getItem('_pdfps') || '[]') || [];
if (Array.isArray(segs)) {
playerSegsPerm = segs.slice(0, 250).join(',');
}
}
} catch (e) {
// eslint-disable-next-line no-console
console.warn('No se pudieron leer los segmentos de Permutive:', e);
}
var hasQuery = generatePrerollUrl.includes('?');
var encodedCustParams = 'permutive=' + encodeURIComponent(playerSegsPerm);
var finalTagUrl = generatePrerollUrl + (hasQuery ? '&' : '?') + encodedCustParams;
playerOpts.advertising = {
client: 'googima',
admessage: 'Ad — xxs left',
autoplayadsmuted: true,
tag: finalTagUrl
};
}
if (typeof isAutoPlay !== 'undefined') {
playerOpts.autostart = !!isAutoPlay;
}
if (typeof isMuted !== 'undefined') {
playerOpts.mute = !!isMuted;
}
if (image) {
playerOpts.image = image;
}
return _extends(playerOpts, customProps);
}
exports.default = getPlayerOpts;