aboutsummaryrefslogtreecommitdiffstats
path: root/src/js
diff options
context:
space:
mode:
authorAlbin Larsson <mail@albinlarsson.com>2018-06-11 04:22:40 +0200
committerAlbin Larsson <mail@albinlarsson.com>2018-06-11 08:23:08 +0200
commit62c263bda32434df26b5e63fc646cfe294c98449 (patch)
tree02b3eb0842ab2ae039b287a26890d5fd45394e39 /src/js
parent4c1337b4c5e86e22c47dac1d74e3b3298bbc01cb (diff)
downloadplyr-62c263bda32434df26b5e63fc646cfe294c98449.tar.lz
plyr-62c263bda32434df26b5e63fc646cfe294c98449.tar.xz
plyr-62c263bda32434df26b5e63fc646cfe294c98449.zip
Replace quality setter conditions with Array.find()
Diffstat (limited to 'src/js')
-rw-r--r--src/js/plyr.js34
1 files changed, 13 insertions, 21 deletions
diff --git a/src/js/plyr.js b/src/js/plyr.js
index 181eff9e..e2fce1fe 100644
--- a/src/js/plyr.js
+++ b/src/js/plyr.js
@@ -669,36 +669,28 @@ class Plyr {
* @param {number} input - Quality level
*/
set quality(input) {
- let quality = null;
+ const config = this.config.quality;
+ const options = this.options.quality;
- if (!utils.is.empty(input)) {
- quality = Number(input);
- }
-
- if (!utils.is.number(quality)) {
- quality = this.storage.get('quality');
- }
-
- if (!utils.is.number(quality)) {
- quality = this.config.quality.selected;
- }
-
- if (!utils.is.number(quality)) {
- quality = this.config.quality.default;
- }
-
- if (!this.options.quality.length) {
+ if (!options.length) {
return;
}
- if (!this.options.quality.includes(quality)) {
- const closest = utils.closest(this.options.quality, quality);
+ let quality = ([
+ !utils.is.empty(input) && Number(input),
+ this.storage.get('quality'),
+ config.selected,
+ config.default,
+ ]).find(utils.is.number);
+
+ if (!options.includes(quality)) {
+ const closest = utils.closest(options, quality);
this.debug.warn(`Unsupported quality option: ${quality}, using ${closest} instead`);
quality = closest;
}
// Update config
- this.config.quality.selected = quality;
+ config.selected = quality;
// Set quality
this.media.quality = quality;