UNPKG

fluid-player

Version:

Fluid Player is a free HTML5 video player

78 lines (66 loc) 2.54 kB
import promisePolyfill from 'es6-promise'; // Object.assign polyfill if (typeof Object.assign != 'function') { // Must be writable: true, enumerable: false, configurable: true Object.defineProperty(Object, 'assign', { value: function assign(target, varArgs) { // .length of function is 2 'use strict'; if (target == null) { // TypeError if undefined or null throw new TypeError('Cannot convert undefined or null to object'); } const to = Object(target); for (let index = 1; index < arguments.length; index++) { const nextSource = arguments[index]; if (nextSource != null) { // Skip over if undefined or null for (let nextKey in nextSource) { // Avoid bugs when hasOwnProperty is shadowed if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { to[nextKey] = nextSource[nextKey]; } } } } return to; }, writable: true, configurable: true }); } // CustomEvent polyfill (function () { if (typeof globalThis.CustomEvent === 'function') return false; function CustomEvent(event, params) { params = params || {bubbles: false, cancelable: false, detail: undefined}; const evt = document.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; } CustomEvent.prototype = globalThis.Event.prototype; globalThis.CustomEvent = CustomEvent; })(); // .remove() polyfill if ( typeof globalThis.Element !== 'undefined' && typeof globalThis.CharacterData !== 'undefined' && typeof globalThis.DocumentType !== 'undefined' ) { (function (arr) { arr.forEach(function (item) { if (item.hasOwnProperty('remove')) { return; } Object.defineProperty(item, 'remove', { configurable: true, enumerable: true, writable: true, value: function remove() { if (this.parentNode === null) { return; } this.parentNode.removeChild(this); } }); }); })([Element.prototype, CharacterData.prototype, DocumentType.prototype]); } promisePolyfill.polyfill();