UNPKG

infobae-react-jw-player

Version:

A React component for launching JW Player instances on the client.

81 lines (64 loc) 2.21 kB
'use strict'; 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;