diff options
author | Albin Larsson <mail@albinlarsson.com> | 2018-06-11 04:22:40 +0200 |
---|---|---|
committer | Albin Larsson <mail@albinlarsson.com> | 2018-06-11 08:23:08 +0200 |
commit | 62c263bda32434df26b5e63fc646cfe294c98449 (patch) | |
tree | 02b3eb0842ab2ae039b287a26890d5fd45394e39 /src/js/plyr.js | |
parent | 4c1337b4c5e86e22c47dac1d74e3b3298bbc01cb (diff) | |
download | plyr-62c263bda32434df26b5e63fc646cfe294c98449.tar.lz plyr-62c263bda32434df26b5e63fc646cfe294c98449.tar.xz plyr-62c263bda32434df26b5e63fc646cfe294c98449.zip |
Replace quality setter conditions with Array.find()
Diffstat (limited to 'src/js/plyr.js')
-rw-r--r-- | src/js/plyr.js | 34 |
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; |