videojs-contrib-quality-levels
Advanced tools
Comparing version 2.2.1 to 3.0.0
@@ -7,3 +7,3 @@ # CONTRIBUTING | ||
Make sure you have Node.js 4.8 or higher and npm installed. | ||
Make sure you have Node.js 8 or higher and npm installed. | ||
@@ -10,0 +10,0 @@ 1. Fork this repository and clone your fork |
@@ -1,22 +0,10 @@ | ||
/*! @name videojs-contrib-quality-levels @version 2.2.1 @license Apache-2.0 */ | ||
/*! @name videojs-contrib-quality-levels @version 3.0.0 @license Apache-2.0 */ | ||
'use strict'; | ||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
var videojs = require('video.js'); | ||
var videojs = _interopDefault(require('video.js')); | ||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
function _inheritsLoose(subClass, superClass) { | ||
subClass.prototype = Object.create(superClass.prototype); | ||
subClass.prototype.constructor = subClass; | ||
subClass.__proto__ = superClass; | ||
} | ||
var videojs__default = /*#__PURE__*/_interopDefaultLegacy(videojs); | ||
function _assertThisInitialized(self) { | ||
if (self === void 0) { | ||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); | ||
} | ||
return self; | ||
} | ||
/** | ||
@@ -36,46 +24,49 @@ * A single QualityLevel. | ||
*/ | ||
var QualityLevel = | ||
/** | ||
* Creates a QualityLevel | ||
* | ||
* @param {Representation|Object} representation The representation of the quality level | ||
* @param {string} representation.id Unique id of the QualityLevel | ||
* @param {number=} representation.width Resolution width of the QualityLevel | ||
* @param {number=} representation.height Resolution height of the QualityLevel | ||
* @param {number} representation.bandwidth Bitrate of the QualityLevel | ||
* @param {number=} representation.frameRate Frame-rate of the QualityLevel | ||
* @param {Function} representation.enabled Callback to enable/disable QualityLevel | ||
*/ | ||
function QualityLevel(representation) { | ||
var level = this; // eslint-disable-line | ||
class QualityLevel { | ||
/** | ||
* Creates a QualityLevel | ||
* | ||
* @param {Representation|Object} representation The representation of the quality level | ||
* @param {string} representation.id Unique id of the QualityLevel | ||
* @param {number=} representation.width Resolution width of the QualityLevel | ||
* @param {number=} representation.height Resolution height of the QualityLevel | ||
* @param {number} representation.bandwidth Bitrate of the QualityLevel | ||
* @param {number=} representation.frameRate Frame-rate of the QualityLevel | ||
* @param {Function} representation.enabled Callback to enable/disable QualityLevel | ||
*/ | ||
constructor(representation) { | ||
let level = this; // eslint-disable-line | ||
level.id = representation.id; | ||
level.label = level.id; | ||
level.width = representation.width; | ||
level.height = representation.height; | ||
level.bitrate = representation.bandwidth; | ||
level.frameRate = representation.frameRate; | ||
level.enabled_ = representation.enabled; | ||
Object.defineProperty(level, 'enabled', { | ||
/** | ||
* Get whether the QualityLevel is enabled. | ||
* | ||
* @return {boolean} True if the QualityLevel is enabled. | ||
*/ | ||
get: function get() { | ||
return level.enabled_(); | ||
}, | ||
level.id = representation.id; | ||
level.label = level.id; | ||
level.width = representation.width; | ||
level.height = representation.height; | ||
level.bitrate = representation.bandwidth; | ||
level.frameRate = representation.frameRate; | ||
level.enabled_ = representation.enabled; | ||
Object.defineProperty(level, 'enabled', { | ||
/** | ||
* Get whether the QualityLevel is enabled. | ||
* | ||
* @return {boolean} True if the QualityLevel is enabled. | ||
*/ | ||
get() { | ||
return level.enabled_(); | ||
}, | ||
/** | ||
* Enable or disable the QualityLevel. | ||
* | ||
* @param {boolean} enable true to enable QualityLevel, false to disable. | ||
*/ | ||
set: function set(enable) { | ||
level.enabled_(enable); | ||
} | ||
}); | ||
return level; | ||
}; | ||
/** | ||
* Enable or disable the QualityLevel. | ||
* | ||
* @param {boolean} enable true to enable QualityLevel, false to disable. | ||
*/ | ||
set(enable) { | ||
level.enabled_(enable); | ||
} | ||
}); | ||
return level; | ||
} | ||
} | ||
/** | ||
@@ -102,15 +93,7 @@ * A list of QualityLevels. | ||
var QualityLevelList = | ||
/*#__PURE__*/ | ||
function (_videojs$EventTarget) { | ||
_inheritsLoose(QualityLevelList, _videojs$EventTarget); | ||
class QualityLevelList extends videojs__default['default'].EventTarget { | ||
constructor() { | ||
super(); | ||
let list = this; // eslint-disable-line | ||
function QualityLevelList() { | ||
var _this; | ||
_this = _videojs$EventTarget.call(this) || this; | ||
var list = _assertThisInitialized(_assertThisInitialized(_this)); // eslint-disable-line | ||
list.levels_ = []; | ||
@@ -126,5 +109,6 @@ list.selectedIndex_ = -1; | ||
Object.defineProperty(list, 'selectedIndex', { | ||
get: function get() { | ||
get() { | ||
return list.selectedIndex_; | ||
} | ||
}); | ||
@@ -139,7 +123,8 @@ /** | ||
Object.defineProperty(list, 'length', { | ||
get: function get() { | ||
get() { | ||
return list.levels_.length; | ||
} | ||
}); | ||
return list || _assertThisInitialized(_this); | ||
return list; | ||
} | ||
@@ -161,7 +146,5 @@ /** | ||
var _proto = QualityLevelList.prototype; | ||
addQualityLevel(representation) { | ||
let qualityLevel = this.getQualityLevelById(representation.id); // Do not add duplicate quality levels | ||
_proto.addQualityLevel = function addQualityLevel(representation) { | ||
var qualityLevel = this.getQualityLevelById(representation.id); // Do not add duplicate quality levels | ||
if (qualityLevel) { | ||
@@ -171,3 +154,3 @@ return qualityLevel; | ||
var index = this.levels_.length; | ||
const index = this.levels_.length; | ||
qualityLevel = new QualityLevel(representation); | ||
@@ -177,5 +160,6 @@ | ||
Object.defineProperty(this, index, { | ||
get: function get() { | ||
get() { | ||
return this.levels_[index]; | ||
} | ||
}); | ||
@@ -186,7 +170,7 @@ } | ||
this.trigger({ | ||
qualityLevel: qualityLevel, | ||
qualityLevel, | ||
type: 'addqualitylevel' | ||
}); | ||
return qualityLevel; | ||
}; | ||
} | ||
/** | ||
@@ -201,6 +185,6 @@ * Removes a quality level from the list. | ||
_proto.removeQualityLevel = function removeQualityLevel(qualityLevel) { | ||
var removed = null; | ||
removeQualityLevel(qualityLevel) { | ||
let removed = null; | ||
for (var i = 0, l = this.length; i < l; i++) { | ||
for (let i = 0, l = this.length; i < l; i++) { | ||
if (this[i] === qualityLevel) { | ||
@@ -221,3 +205,3 @@ removed = this.levels_.splice(i, 1)[0]; | ||
this.trigger({ | ||
qualityLevel: qualityLevel, | ||
qualityLevel, | ||
type: 'removequalitylevel' | ||
@@ -228,3 +212,3 @@ }); | ||
return removed; | ||
}; | ||
} | ||
/** | ||
@@ -239,5 +223,5 @@ * Searches for a QualityLevel with the given id. | ||
_proto.getQualityLevelById = function getQualityLevelById(id) { | ||
for (var i = 0, l = this.length; i < l; i++) { | ||
var level = this[i]; | ||
getQualityLevelById(id) { | ||
for (let i = 0, l = this.length; i < l; i++) { | ||
const level = this[i]; | ||
@@ -250,3 +234,3 @@ if (level.id === id) { | ||
return null; | ||
}; | ||
} | ||
/** | ||
@@ -259,9 +243,8 @@ * Resets the list of QualityLevels to empty | ||
_proto.dispose = function dispose() { | ||
dispose() { | ||
this.selectedIndex_ = -1; | ||
this.levels_.length = 0; | ||
}; | ||
} | ||
return QualityLevelList; | ||
}(videojs.EventTarget); | ||
} | ||
/** | ||
@@ -280,9 +263,9 @@ * change - The selected QualityLevel has changed. | ||
for (var event in QualityLevelList.prototype.allowedEvents_) { | ||
for (const event in QualityLevelList.prototype.allowedEvents_) { | ||
QualityLevelList.prototype['on' + event] = null; | ||
} | ||
var version = "2.2.1"; | ||
var version = "3.0.0"; | ||
var registerPlugin = videojs.registerPlugin || videojs.plugin; | ||
const registerPlugin = videojs__default['default'].registerPlugin || videojs__default['default'].plugin; | ||
/** | ||
@@ -297,7 +280,7 @@ * Initialization function for the qualityLevels plugin. Sets up the QualityLevelList and | ||
var initPlugin = function initPlugin(player, options) { | ||
var originalPluginFn = player.qualityLevels; | ||
var qualityLevelList = new QualityLevelList(); | ||
const initPlugin = function (player, options) { | ||
const originalPluginFn = player.qualityLevels; | ||
const qualityLevelList = new QualityLevelList(); | ||
var disposeHandler = function disposeHandler() { | ||
const disposeHandler = function () { | ||
qualityLevelList.dispose(); | ||
@@ -310,5 +293,3 @@ player.qualityLevels = originalPluginFn; | ||
player.qualityLevels = function () { | ||
return qualityLevelList; | ||
}; | ||
player.qualityLevels = () => qualityLevelList; | ||
@@ -331,4 +312,4 @@ player.qualityLevels.VERSION = version; | ||
var qualityLevels = function qualityLevels(options) { | ||
return initPlugin(this, videojs.mergeOptions({}, options)); | ||
const qualityLevels = function (options) { | ||
return initPlugin(this, videojs__default['default'].mergeOptions({}, options)); | ||
}; // Register the plugin with video.js. | ||
@@ -335,0 +316,0 @@ |
@@ -1,18 +0,4 @@ | ||
/*! @name videojs-contrib-quality-levels @version 2.2.1 @license Apache-2.0 */ | ||
/*! @name videojs-contrib-quality-levels @version 3.0.0 @license Apache-2.0 */ | ||
import videojs from 'video.js'; | ||
function _inheritsLoose(subClass, superClass) { | ||
subClass.prototype = Object.create(superClass.prototype); | ||
subClass.prototype.constructor = subClass; | ||
subClass.__proto__ = superClass; | ||
} | ||
function _assertThisInitialized(self) { | ||
if (self === void 0) { | ||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); | ||
} | ||
return self; | ||
} | ||
/** | ||
@@ -32,46 +18,49 @@ * A single QualityLevel. | ||
*/ | ||
var QualityLevel = | ||
/** | ||
* Creates a QualityLevel | ||
* | ||
* @param {Representation|Object} representation The representation of the quality level | ||
* @param {string} representation.id Unique id of the QualityLevel | ||
* @param {number=} representation.width Resolution width of the QualityLevel | ||
* @param {number=} representation.height Resolution height of the QualityLevel | ||
* @param {number} representation.bandwidth Bitrate of the QualityLevel | ||
* @param {number=} representation.frameRate Frame-rate of the QualityLevel | ||
* @param {Function} representation.enabled Callback to enable/disable QualityLevel | ||
*/ | ||
function QualityLevel(representation) { | ||
var level = this; // eslint-disable-line | ||
class QualityLevel { | ||
/** | ||
* Creates a QualityLevel | ||
* | ||
* @param {Representation|Object} representation The representation of the quality level | ||
* @param {string} representation.id Unique id of the QualityLevel | ||
* @param {number=} representation.width Resolution width of the QualityLevel | ||
* @param {number=} representation.height Resolution height of the QualityLevel | ||
* @param {number} representation.bandwidth Bitrate of the QualityLevel | ||
* @param {number=} representation.frameRate Frame-rate of the QualityLevel | ||
* @param {Function} representation.enabled Callback to enable/disable QualityLevel | ||
*/ | ||
constructor(representation) { | ||
let level = this; // eslint-disable-line | ||
level.id = representation.id; | ||
level.label = level.id; | ||
level.width = representation.width; | ||
level.height = representation.height; | ||
level.bitrate = representation.bandwidth; | ||
level.frameRate = representation.frameRate; | ||
level.enabled_ = representation.enabled; | ||
Object.defineProperty(level, 'enabled', { | ||
/** | ||
* Get whether the QualityLevel is enabled. | ||
* | ||
* @return {boolean} True if the QualityLevel is enabled. | ||
*/ | ||
get: function get() { | ||
return level.enabled_(); | ||
}, | ||
level.id = representation.id; | ||
level.label = level.id; | ||
level.width = representation.width; | ||
level.height = representation.height; | ||
level.bitrate = representation.bandwidth; | ||
level.frameRate = representation.frameRate; | ||
level.enabled_ = representation.enabled; | ||
Object.defineProperty(level, 'enabled', { | ||
/** | ||
* Get whether the QualityLevel is enabled. | ||
* | ||
* @return {boolean} True if the QualityLevel is enabled. | ||
*/ | ||
get() { | ||
return level.enabled_(); | ||
}, | ||
/** | ||
* Enable or disable the QualityLevel. | ||
* | ||
* @param {boolean} enable true to enable QualityLevel, false to disable. | ||
*/ | ||
set: function set(enable) { | ||
level.enabled_(enable); | ||
} | ||
}); | ||
return level; | ||
}; | ||
/** | ||
* Enable or disable the QualityLevel. | ||
* | ||
* @param {boolean} enable true to enable QualityLevel, false to disable. | ||
*/ | ||
set(enable) { | ||
level.enabled_(enable); | ||
} | ||
}); | ||
return level; | ||
} | ||
} | ||
/** | ||
@@ -98,15 +87,7 @@ * A list of QualityLevels. | ||
var QualityLevelList = | ||
/*#__PURE__*/ | ||
function (_videojs$EventTarget) { | ||
_inheritsLoose(QualityLevelList, _videojs$EventTarget); | ||
class QualityLevelList extends videojs.EventTarget { | ||
constructor() { | ||
super(); | ||
let list = this; // eslint-disable-line | ||
function QualityLevelList() { | ||
var _this; | ||
_this = _videojs$EventTarget.call(this) || this; | ||
var list = _assertThisInitialized(_assertThisInitialized(_this)); // eslint-disable-line | ||
list.levels_ = []; | ||
@@ -122,5 +103,6 @@ list.selectedIndex_ = -1; | ||
Object.defineProperty(list, 'selectedIndex', { | ||
get: function get() { | ||
get() { | ||
return list.selectedIndex_; | ||
} | ||
}); | ||
@@ -135,7 +117,8 @@ /** | ||
Object.defineProperty(list, 'length', { | ||
get: function get() { | ||
get() { | ||
return list.levels_.length; | ||
} | ||
}); | ||
return list || _assertThisInitialized(_this); | ||
return list; | ||
} | ||
@@ -157,7 +140,5 @@ /** | ||
var _proto = QualityLevelList.prototype; | ||
addQualityLevel(representation) { | ||
let qualityLevel = this.getQualityLevelById(representation.id); // Do not add duplicate quality levels | ||
_proto.addQualityLevel = function addQualityLevel(representation) { | ||
var qualityLevel = this.getQualityLevelById(representation.id); // Do not add duplicate quality levels | ||
if (qualityLevel) { | ||
@@ -167,3 +148,3 @@ return qualityLevel; | ||
var index = this.levels_.length; | ||
const index = this.levels_.length; | ||
qualityLevel = new QualityLevel(representation); | ||
@@ -173,5 +154,6 @@ | ||
Object.defineProperty(this, index, { | ||
get: function get() { | ||
get() { | ||
return this.levels_[index]; | ||
} | ||
}); | ||
@@ -182,7 +164,7 @@ } | ||
this.trigger({ | ||
qualityLevel: qualityLevel, | ||
qualityLevel, | ||
type: 'addqualitylevel' | ||
}); | ||
return qualityLevel; | ||
}; | ||
} | ||
/** | ||
@@ -197,6 +179,6 @@ * Removes a quality level from the list. | ||
_proto.removeQualityLevel = function removeQualityLevel(qualityLevel) { | ||
var removed = null; | ||
removeQualityLevel(qualityLevel) { | ||
let removed = null; | ||
for (var i = 0, l = this.length; i < l; i++) { | ||
for (let i = 0, l = this.length; i < l; i++) { | ||
if (this[i] === qualityLevel) { | ||
@@ -217,3 +199,3 @@ removed = this.levels_.splice(i, 1)[0]; | ||
this.trigger({ | ||
qualityLevel: qualityLevel, | ||
qualityLevel, | ||
type: 'removequalitylevel' | ||
@@ -224,3 +206,3 @@ }); | ||
return removed; | ||
}; | ||
} | ||
/** | ||
@@ -235,5 +217,5 @@ * Searches for a QualityLevel with the given id. | ||
_proto.getQualityLevelById = function getQualityLevelById(id) { | ||
for (var i = 0, l = this.length; i < l; i++) { | ||
var level = this[i]; | ||
getQualityLevelById(id) { | ||
for (let i = 0, l = this.length; i < l; i++) { | ||
const level = this[i]; | ||
@@ -246,3 +228,3 @@ if (level.id === id) { | ||
return null; | ||
}; | ||
} | ||
/** | ||
@@ -255,9 +237,8 @@ * Resets the list of QualityLevels to empty | ||
_proto.dispose = function dispose() { | ||
dispose() { | ||
this.selectedIndex_ = -1; | ||
this.levels_.length = 0; | ||
}; | ||
} | ||
return QualityLevelList; | ||
}(videojs.EventTarget); | ||
} | ||
/** | ||
@@ -276,9 +257,9 @@ * change - The selected QualityLevel has changed. | ||
for (var event in QualityLevelList.prototype.allowedEvents_) { | ||
for (const event in QualityLevelList.prototype.allowedEvents_) { | ||
QualityLevelList.prototype['on' + event] = null; | ||
} | ||
var version = "2.2.1"; | ||
var version = "3.0.0"; | ||
var registerPlugin = videojs.registerPlugin || videojs.plugin; | ||
const registerPlugin = videojs.registerPlugin || videojs.plugin; | ||
/** | ||
@@ -293,7 +274,7 @@ * Initialization function for the qualityLevels plugin. Sets up the QualityLevelList and | ||
var initPlugin = function initPlugin(player, options) { | ||
var originalPluginFn = player.qualityLevels; | ||
var qualityLevelList = new QualityLevelList(); | ||
const initPlugin = function (player, options) { | ||
const originalPluginFn = player.qualityLevels; | ||
const qualityLevelList = new QualityLevelList(); | ||
var disposeHandler = function disposeHandler() { | ||
const disposeHandler = function () { | ||
qualityLevelList.dispose(); | ||
@@ -306,5 +287,3 @@ player.qualityLevels = originalPluginFn; | ||
player.qualityLevels = function () { | ||
return qualityLevelList; | ||
}; | ||
player.qualityLevels = () => qualityLevelList; | ||
@@ -327,3 +306,3 @@ player.qualityLevels.VERSION = version; | ||
var qualityLevels = function qualityLevels(options) { | ||
const qualityLevels = function (options) { | ||
return initPlugin(this, videojs.mergeOptions({}, options)); | ||
@@ -330,0 +309,0 @@ }; // Register the plugin with video.js. |
@@ -1,24 +0,12 @@ | ||
/*! @name videojs-contrib-quality-levels @version 2.2.1 @license Apache-2.0 */ | ||
/*! @name videojs-contrib-quality-levels @version 3.0.0 @license Apache-2.0 */ | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('video.js')) : | ||
typeof define === 'function' && define.amd ? define(['video.js'], factory) : | ||
(global.videojsContribQualityLevels = factory(global.videojs)); | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.videojsContribQualityLevels = factory(global.videojs)); | ||
}(this, (function (videojs) { 'use strict'; | ||
videojs = videojs && videojs.hasOwnProperty('default') ? videojs['default'] : videojs; | ||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
function _inheritsLoose(subClass, superClass) { | ||
subClass.prototype = Object.create(superClass.prototype); | ||
subClass.prototype.constructor = subClass; | ||
subClass.__proto__ = superClass; | ||
} | ||
var videojs__default = /*#__PURE__*/_interopDefaultLegacy(videojs); | ||
function _assertThisInitialized(self) { | ||
if (self === void 0) { | ||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); | ||
} | ||
return self; | ||
} | ||
/** | ||
@@ -38,46 +26,49 @@ * A single QualityLevel. | ||
*/ | ||
var QualityLevel = | ||
/** | ||
* Creates a QualityLevel | ||
* | ||
* @param {Representation|Object} representation The representation of the quality level | ||
* @param {string} representation.id Unique id of the QualityLevel | ||
* @param {number=} representation.width Resolution width of the QualityLevel | ||
* @param {number=} representation.height Resolution height of the QualityLevel | ||
* @param {number} representation.bandwidth Bitrate of the QualityLevel | ||
* @param {number=} representation.frameRate Frame-rate of the QualityLevel | ||
* @param {Function} representation.enabled Callback to enable/disable QualityLevel | ||
*/ | ||
function QualityLevel(representation) { | ||
var level = this; // eslint-disable-line | ||
class QualityLevel { | ||
/** | ||
* Creates a QualityLevel | ||
* | ||
* @param {Representation|Object} representation The representation of the quality level | ||
* @param {string} representation.id Unique id of the QualityLevel | ||
* @param {number=} representation.width Resolution width of the QualityLevel | ||
* @param {number=} representation.height Resolution height of the QualityLevel | ||
* @param {number} representation.bandwidth Bitrate of the QualityLevel | ||
* @param {number=} representation.frameRate Frame-rate of the QualityLevel | ||
* @param {Function} representation.enabled Callback to enable/disable QualityLevel | ||
*/ | ||
constructor(representation) { | ||
let level = this; // eslint-disable-line | ||
level.id = representation.id; | ||
level.label = level.id; | ||
level.width = representation.width; | ||
level.height = representation.height; | ||
level.bitrate = representation.bandwidth; | ||
level.frameRate = representation.frameRate; | ||
level.enabled_ = representation.enabled; | ||
Object.defineProperty(level, 'enabled', { | ||
/** | ||
* Get whether the QualityLevel is enabled. | ||
* | ||
* @return {boolean} True if the QualityLevel is enabled. | ||
*/ | ||
get: function get() { | ||
return level.enabled_(); | ||
}, | ||
level.id = representation.id; | ||
level.label = level.id; | ||
level.width = representation.width; | ||
level.height = representation.height; | ||
level.bitrate = representation.bandwidth; | ||
level.frameRate = representation.frameRate; | ||
level.enabled_ = representation.enabled; | ||
Object.defineProperty(level, 'enabled', { | ||
/** | ||
* Get whether the QualityLevel is enabled. | ||
* | ||
* @return {boolean} True if the QualityLevel is enabled. | ||
*/ | ||
get() { | ||
return level.enabled_(); | ||
}, | ||
/** | ||
* Enable or disable the QualityLevel. | ||
* | ||
* @param {boolean} enable true to enable QualityLevel, false to disable. | ||
*/ | ||
set: function set(enable) { | ||
level.enabled_(enable); | ||
} | ||
}); | ||
return level; | ||
}; | ||
/** | ||
* Enable or disable the QualityLevel. | ||
* | ||
* @param {boolean} enable true to enable QualityLevel, false to disable. | ||
*/ | ||
set(enable) { | ||
level.enabled_(enable); | ||
} | ||
}); | ||
return level; | ||
} | ||
} | ||
/** | ||
@@ -104,15 +95,7 @@ * A list of QualityLevels. | ||
var QualityLevelList = | ||
/*#__PURE__*/ | ||
function (_videojs$EventTarget) { | ||
_inheritsLoose(QualityLevelList, _videojs$EventTarget); | ||
class QualityLevelList extends videojs__default['default'].EventTarget { | ||
constructor() { | ||
super(); | ||
let list = this; // eslint-disable-line | ||
function QualityLevelList() { | ||
var _this; | ||
_this = _videojs$EventTarget.call(this) || this; | ||
var list = _assertThisInitialized(_assertThisInitialized(_this)); // eslint-disable-line | ||
list.levels_ = []; | ||
@@ -128,5 +111,6 @@ list.selectedIndex_ = -1; | ||
Object.defineProperty(list, 'selectedIndex', { | ||
get: function get() { | ||
get() { | ||
return list.selectedIndex_; | ||
} | ||
}); | ||
@@ -141,7 +125,8 @@ /** | ||
Object.defineProperty(list, 'length', { | ||
get: function get() { | ||
get() { | ||
return list.levels_.length; | ||
} | ||
}); | ||
return list || _assertThisInitialized(_this); | ||
return list; | ||
} | ||
@@ -163,7 +148,5 @@ /** | ||
var _proto = QualityLevelList.prototype; | ||
addQualityLevel(representation) { | ||
let qualityLevel = this.getQualityLevelById(representation.id); // Do not add duplicate quality levels | ||
_proto.addQualityLevel = function addQualityLevel(representation) { | ||
var qualityLevel = this.getQualityLevelById(representation.id); // Do not add duplicate quality levels | ||
if (qualityLevel) { | ||
@@ -173,3 +156,3 @@ return qualityLevel; | ||
var index = this.levels_.length; | ||
const index = this.levels_.length; | ||
qualityLevel = new QualityLevel(representation); | ||
@@ -179,5 +162,6 @@ | ||
Object.defineProperty(this, index, { | ||
get: function get() { | ||
get() { | ||
return this.levels_[index]; | ||
} | ||
}); | ||
@@ -188,7 +172,7 @@ } | ||
this.trigger({ | ||
qualityLevel: qualityLevel, | ||
qualityLevel, | ||
type: 'addqualitylevel' | ||
}); | ||
return qualityLevel; | ||
}; | ||
} | ||
/** | ||
@@ -203,6 +187,6 @@ * Removes a quality level from the list. | ||
_proto.removeQualityLevel = function removeQualityLevel(qualityLevel) { | ||
var removed = null; | ||
removeQualityLevel(qualityLevel) { | ||
let removed = null; | ||
for (var i = 0, l = this.length; i < l; i++) { | ||
for (let i = 0, l = this.length; i < l; i++) { | ||
if (this[i] === qualityLevel) { | ||
@@ -223,3 +207,3 @@ removed = this.levels_.splice(i, 1)[0]; | ||
this.trigger({ | ||
qualityLevel: qualityLevel, | ||
qualityLevel, | ||
type: 'removequalitylevel' | ||
@@ -230,3 +214,3 @@ }); | ||
return removed; | ||
}; | ||
} | ||
/** | ||
@@ -241,5 +225,5 @@ * Searches for a QualityLevel with the given id. | ||
_proto.getQualityLevelById = function getQualityLevelById(id) { | ||
for (var i = 0, l = this.length; i < l; i++) { | ||
var level = this[i]; | ||
getQualityLevelById(id) { | ||
for (let i = 0, l = this.length; i < l; i++) { | ||
const level = this[i]; | ||
@@ -252,3 +236,3 @@ if (level.id === id) { | ||
return null; | ||
}; | ||
} | ||
/** | ||
@@ -261,9 +245,8 @@ * Resets the list of QualityLevels to empty | ||
_proto.dispose = function dispose() { | ||
dispose() { | ||
this.selectedIndex_ = -1; | ||
this.levels_.length = 0; | ||
}; | ||
} | ||
return QualityLevelList; | ||
}(videojs.EventTarget); | ||
} | ||
/** | ||
@@ -282,9 +265,9 @@ * change - The selected QualityLevel has changed. | ||
for (var event in QualityLevelList.prototype.allowedEvents_) { | ||
for (const event in QualityLevelList.prototype.allowedEvents_) { | ||
QualityLevelList.prototype['on' + event] = null; | ||
} | ||
var version = "2.2.1"; | ||
var version = "3.0.0"; | ||
var registerPlugin = videojs.registerPlugin || videojs.plugin; | ||
const registerPlugin = videojs__default['default'].registerPlugin || videojs__default['default'].plugin; | ||
/** | ||
@@ -299,7 +282,7 @@ * Initialization function for the qualityLevels plugin. Sets up the QualityLevelList and | ||
var initPlugin = function initPlugin(player, options) { | ||
var originalPluginFn = player.qualityLevels; | ||
var qualityLevelList = new QualityLevelList(); | ||
const initPlugin = function (player, options) { | ||
const originalPluginFn = player.qualityLevels; | ||
const qualityLevelList = new QualityLevelList(); | ||
var disposeHandler = function disposeHandler() { | ||
const disposeHandler = function () { | ||
qualityLevelList.dispose(); | ||
@@ -312,5 +295,3 @@ player.qualityLevels = originalPluginFn; | ||
player.qualityLevels = function () { | ||
return qualityLevelList; | ||
}; | ||
player.qualityLevels = () => qualityLevelList; | ||
@@ -333,4 +314,4 @@ player.qualityLevels.VERSION = version; | ||
var qualityLevels = function qualityLevels(options) { | ||
return initPlugin(this, videojs.mergeOptions({}, options)); | ||
const qualityLevels = function (options) { | ||
return initPlugin(this, videojs__default['default'].mergeOptions({}, options)); | ||
}; // Register the plugin with video.js. | ||
@@ -337,0 +318,0 @@ |
@@ -1,2 +0,2 @@ | ||
/*! @name videojs-contrib-quality-levels @version 2.2.1 @license Apache-2.0 */ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define(["video.js"],t):e.videojsContribQualityLevels=t(e.videojs)}(this,function(e){"use strict";function t(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var i=function(e){var i,n;function l(){var i,n=t(t(i=e.call(this)||this));return n.levels_=[],n.selectedIndex_=-1,Object.defineProperty(n,"selectedIndex",{get:function(){return n.selectedIndex_}}),Object.defineProperty(n,"length",{get:function(){return n.levels_.length}}),n||t(i)}n=e,(i=l).prototype=Object.create(n.prototype),i.prototype.constructor=i,i.__proto__=n;var r=l.prototype;return r.addQualityLevel=function(e){var t=this.getQualityLevelById(e.id);if(t)return t;var i=this.levels_.length;return t=new function(e){var t=this;return t.id=e.id,t.label=t.id,t.width=e.width,t.height=e.height,t.bitrate=e.bandwidth,t.frameRate=e.frameRate,t.enabled_=e.enabled,Object.defineProperty(t,"enabled",{get:function(){return t.enabled_()},set:function(e){t.enabled_(e)}}),t}(e),""+i in this||Object.defineProperty(this,i,{get:function(){return this.levels_[i]}}),this.levels_.push(t),this.trigger({qualityLevel:t,type:"addqualitylevel"}),t},r.removeQualityLevel=function(e){for(var t=null,i=0,n=this.length;i<n;i++)if(this[i]===e){t=this.levels_.splice(i,1)[0],this.selectedIndex_===i?this.selectedIndex_=-1:this.selectedIndex_>i&&this.selectedIndex_--;break}return t&&this.trigger({qualityLevel:e,type:"removequalitylevel"}),t},r.getQualityLevelById=function(e){for(var t=0,i=this.length;t<i;t++){var n=this[t];if(n.id===e)return n}return null},r.dispose=function(){this.selectedIndex_=-1,this.levels_.length=0},l}((e=e&&e.hasOwnProperty("default")?e.default:e).EventTarget);for(var n in i.prototype.allowedEvents_={change:"change",addqualitylevel:"addqualitylevel",removequalitylevel:"removequalitylevel"},i.prototype.allowedEvents_)i.prototype["on"+n]=null;var l=function(t){return n=this,e.mergeOptions({},t),l=n.qualityLevels,r=new i,n.on("dispose",function e(){r.dispose(),n.qualityLevels=l,n.off("dispose",e)}),n.qualityLevels=function(){return r},n.qualityLevels.VERSION="2.2.1",r;var n,l,r};return(e.registerPlugin||e.plugin)("qualityLevels",l),l.VERSION="2.2.1",l}); | ||
/*! @name videojs-contrib-quality-levels @version 3.0.0 @license Apache-2.0 */ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define(["video.js"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).videojsContribQualityLevels=t(e.videojs)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=t(e);class i{constructor(e){let t=this;return t.id=e.id,t.label=t.id,t.width=e.width,t.height=e.height,t.bitrate=e.bandwidth,t.frameRate=e.frameRate,t.enabled_=e.enabled,Object.defineProperty(t,"enabled",{get:()=>t.enabled_(),set(e){t.enabled_(e)}}),t}}class n extends l.default.EventTarget{constructor(){super();let e=this;return e.levels_=[],e.selectedIndex_=-1,Object.defineProperty(e,"selectedIndex",{get:()=>e.selectedIndex_}),Object.defineProperty(e,"length",{get:()=>e.levels_.length}),e}addQualityLevel(e){let t=this.getQualityLevelById(e.id);if(t)return t;const l=this.levels_.length;return t=new i(e),""+l in this||Object.defineProperty(this,l,{get(){return this.levels_[l]}}),this.levels_.push(t),this.trigger({qualityLevel:t,type:"addqualitylevel"}),t}removeQualityLevel(e){let t=null;for(let l=0,i=this.length;l<i;l++)if(this[l]===e){t=this.levels_.splice(l,1)[0],this.selectedIndex_===l?this.selectedIndex_=-1:this.selectedIndex_>l&&this.selectedIndex_--;break}return t&&this.trigger({qualityLevel:e,type:"removequalitylevel"}),t}getQualityLevelById(e){for(let t=0,l=this.length;t<l;t++){const l=this[t];if(l.id===e)return l}return null}dispose(){this.selectedIndex_=-1,this.levels_.length=0}}n.prototype.allowedEvents_={change:"change",addqualitylevel:"addqualitylevel",removequalitylevel:"removequalitylevel"};for(const e in n.prototype.allowedEvents_)n.prototype["on"+e]=null;var s="3.0.0";const d=l.default.registerPlugin||l.default.plugin,r=function(e){return function(e,t){const l=e.qualityLevels,i=new n,d=function(){i.dispose(),e.qualityLevels=l,e.off("dispose",d)};return e.on("dispose",d),e.qualityLevels=()=>i,e.qualityLevels.VERSION=s,i}(this,l.default.mergeOptions({},e))};return d("qualityLevels",r),r.VERSION=s,r})); |
{ | ||
"name": "videojs-contrib-quality-levels", | ||
"version": "2.2.1", | ||
"version": "3.0.0", | ||
"description": "Exposes a list of quality levels available for the source.", | ||
@@ -8,3 +8,3 @@ "main": "dist/videojs-contrib-quality-levels.cjs.js", | ||
"generator-videojs-plugin": { | ||
"version": "7.3.2" | ||
"version": "8.0.0" | ||
}, | ||
@@ -14,9 +14,11 @@ "repository": "videojs/videojs-contrib-quality-levels", | ||
"prebuild": "npm run clean", | ||
"build": "npm-run-all -p build:*", | ||
"build": "npm-run-all -s clean -p build:*", | ||
"build-prod": "cross-env-shell NO_TEST_BUNDLE=1 'npm run build'", | ||
"build-test": "cross-env-shell TEST_BUNDLE_ONLY=1 'npm run build'", | ||
"build:js": "rollup -c scripts/rollup.config.js", | ||
"clean": "shx rm -rf ./dist ./test/dist", | ||
"clean": "shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es", | ||
"postclean": "shx mkdir -p ./dist ./test/dist", | ||
"docs": "npm-run-all docs:*", | ||
"docs:api": "jsdoc src -c scripts/jsdoc.config.json -r -d docs/api", | ||
"docs:toc": "doctoc README.md", | ||
"docs:toc": "doctoc --notitle README.md", | ||
"lint": "vjsstandard", | ||
@@ -26,9 +28,10 @@ "server": "karma start scripts/karma.conf.js --singleRun=false --auto-watch", | ||
"pretest": "npm-run-all lint build", | ||
"test": "karma start scripts/karma.conf.js", | ||
"test": "npm-run-all lint build-test && karma start scripts/karma.conf.js", | ||
"posttest": "shx cat test/dist/coverage/text.txt", | ||
"update-changelog": "conventional-changelog -p videojs -i CHANGELOG.md -s", | ||
"preversion": "npm test", | ||
"version": "is-prerelease || npm run update-changelog && git add CHANGELOG.md", | ||
"watch": "npm-run-all -p watch:*", | ||
"watch:js": "npm run build:js -- -w", | ||
"posttest": "shx cat test/dist/coverage/text.txt", | ||
"prepublishOnly": "npm run build && vjsverify" | ||
"prepublishOnly": "npm-run-all build-prod && vjsverify --verbose --skip-es-check" | ||
}, | ||
@@ -47,4 +50,6 @@ "keywords": [ | ||
"ignore": [ | ||
"cjs", | ||
"dist", | ||
"docs", | ||
"ejs", | ||
"test/dist" | ||
@@ -63,4 +68,3 @@ ] | ||
"dependencies": { | ||
"global": "^4.3.2", | ||
"video.js": "^6 || ^7 || ^8" | ||
"global": "^4.4.0" | ||
}, | ||
@@ -71,2 +75,6 @@ "peerDependencies": { | ||
"devDependencies": { | ||
"@babel/cli": "^7.13.16", | ||
"@babel/runtime": "^7.14.0", | ||
"@videojs/babel-config": "^0.2.0", | ||
"@videojs/generator-helpers": "~2.0.2", | ||
"conventional-changelog-cli": "^2.0.1", | ||
@@ -76,4 +84,4 @@ "conventional-changelog-videojs": "^3.0.0", | ||
"husky": "^1.0.0-rc.13", | ||
"jsdoc": "^3.6.10", | ||
"karma": "^3.0.0", | ||
"jsdoc": "^3.6.11", | ||
"karma": "^6.3.2", | ||
"lint-staged": "^7.2.2", | ||
@@ -84,31 +92,28 @@ "not-prerelease": "^1.0.1", | ||
"pkg-ok": "^2.2.0", | ||
"rollup": "^0.66.0", | ||
"rollup": "^2.46.0", | ||
"semver": "^5.1.0", | ||
"shx": "^0.3.2", | ||
"sinon": "^6.1.5", | ||
"videojs-generate-karma-config": "^7.1.0", | ||
"videojs-generate-rollup-config": "~2.2.0", | ||
"videojs-generator-verify": "~1.0.3", | ||
"videojs-standard": "~7.1.0" | ||
"sinon": "^9.1.0", | ||
"video.js": "^6 || ^7 || ^8", | ||
"videojs-generate-karma-config": "~8.0.0", | ||
"videojs-generate-rollup-config": "^7.0.0", | ||
"videojs-generator-verify": "^4.1.0", | ||
"videojs-standard": "^9.0.1" | ||
}, | ||
"module": "dist/videojs-contrib-quality-levels.es.js", | ||
"browserslist": [ | ||
"defaults", | ||
"ie 11" | ||
], | ||
"lint-staged": { | ||
"*.js": [ | ||
"vjsstandard --fix", | ||
"git add" | ||
], | ||
"README.md": [ | ||
"npm run docs:toc", | ||
"git add" | ||
] | ||
"*.js": "vjsstandard --fix", | ||
"README.md": "doctoc --notitle" | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-commit": "lint-staged" | ||
"pre-commit": "lint-staged", | ||
"pre-push": "npm run test" | ||
} | ||
}, | ||
"browser": "dist/videojs-contrib-quality-levels.js", | ||
"engines": { | ||
"node": ">=14", | ||
"npm": ">=6" | ||
} | ||
} |
@@ -13,2 +13,1 @@ const generate = require('videojs-generate-karma-config'); | ||
}; | ||
@@ -71,5 +71,7 @@ import QUnit from 'qunit'; | ||
assert.notStrictEqual(this.qualityLevels[1], expected[1], 'quality level not at index'); | ||
assert.strictEqual(this.qualityLevels[this.qualityLevels.selectedIndex], | ||
assert.strictEqual( | ||
this.qualityLevels[this.qualityLevels.selectedIndex], | ||
expected[2], | ||
'selected index properly adjusted on quality level removal'); | ||
'selected index properly adjusted on quality level removal' | ||
); | ||
@@ -97,17 +99,27 @@ removed = this.qualityLevels.removeQualityLevel(expected[3]); | ||
assert.strictEqual(this.qualityLevels.getQualityLevelById('0'), | ||
assert.strictEqual( | ||
this.qualityLevels.getQualityLevelById('0'), | ||
expected[0], | ||
'found quality level with id "0"'); | ||
assert.strictEqual(this.qualityLevels.getQualityLevelById('1'), | ||
'found quality level with id "0"' | ||
); | ||
assert.strictEqual( | ||
this.qualityLevels.getQualityLevelById('1'), | ||
expected[1], | ||
'found quality level with id "1"'); | ||
assert.strictEqual(this.qualityLevels.getQualityLevelById('2'), | ||
'found quality level with id "1"' | ||
); | ||
assert.strictEqual( | ||
this.qualityLevels.getQualityLevelById('2'), | ||
expected[2], | ||
'found quality level with id "2"'); | ||
assert.strictEqual(this.qualityLevels.getQualityLevelById('3'), | ||
'found quality level with id "2"' | ||
); | ||
assert.strictEqual( | ||
this.qualityLevels.getQualityLevelById('3'), | ||
expected[3], | ||
'found quality level with id "3"'); | ||
assert.strictEqual(this.qualityLevels.getQualityLevelById('4'), | ||
'found quality level with id "3"' | ||
); | ||
assert.strictEqual( | ||
this.qualityLevels.getQualityLevelById('4'), | ||
null, | ||
'no quality level with id "4" found'); | ||
'no quality level with id "4" found' | ||
); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
2
67191
24
1219
2
- Removedvideo.js@^6 || ^7 || ^8
Updatedglobal@^4.4.0