ES6-ified

This commit is contained in:
Sam Potts
2017-11-04 14:25:28 +11:00
parent 3d50936b47
commit 1cc2930dc0
38 changed files with 10144 additions and 11266 deletions

56
src/js/storage.js Normal file
View File

@ -0,0 +1,56 @@
// ==========================================================================
// Plyr storage
// ==========================================================================
import support from './support';
import utils from './utils';
// Save a value back to local storage
function set(value) {
// Bail if we don't have localStorage support or it's disabled
if (!support.storage || !this.config.storage.enabled) {
return;
}
// Update the working copy of the values
utils.extend(this.storage, value);
// Update storage
window.localStorage.setItem(this.config.storage.key, JSON.stringify(this.storage));
}
// Setup localStorage
function setup() {
let value = null;
let storage = {};
// Bail if we don't have localStorage support or it's disabled
if (!support.storage || !this.config.storage.enabled) {
return storage;
}
// Clean up old volume
// https://github.com/sampotts/plyr/issues/171
window.localStorage.removeItem('plyr-volume');
// load value from the current key
value = window.localStorage.getItem(this.config.storage.key);
if (!value) {
// Key wasn't set (or had been cleared), move along
} else if (/^\d+(\.\d+)?$/.test(value)) {
// If value is a number, it's probably volume from an older
// version of this. See: https://github.com/sampotts/plyr/pull/313
// Update the key to be JSON
set({
volume: parseFloat(value),
});
} else {
// Assume it's JSON from this or a later version of plyr
storage = JSON.parse(value);
}
return storage;
}
export default { setup, set };