mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-03 06:07:19 +02:00
Don't store invalid keys in localStorage
This commit is contained in:
parent
d638700e03
commit
d281db5767
7
dist/better-xcloud.lite.user.js
vendored
7
dist/better-xcloud.lite.user.js
vendored
@ -1102,8 +1102,13 @@ this.definitions = definitions, this._settings = null;
|
|||||||
get settings() {
|
get settings() {
|
||||||
if (this._settings) return this._settings;
|
if (this._settings) return this._settings;
|
||||||
let settings = JSON.parse(this.storage.getItem(this.storageKey) || "{}");
|
let settings = JSON.parse(this.storage.getItem(this.storageKey) || "{}");
|
||||||
for (let key in settings)
|
for (let key in settings) {
|
||||||
|
if (!this.definitions.hasOwnProperty(key)) {
|
||||||
|
delete settings[key];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
settings[key] = this.validateValue("get", key, settings[key]);
|
settings[key] = this.validateValue("get", key, settings[key]);
|
||||||
|
}
|
||||||
return this._settings = settings, settings;
|
return this._settings = settings, settings;
|
||||||
}
|
}
|
||||||
getDefinition(key) {
|
getDefinition(key) {
|
||||||
|
7
dist/better-xcloud.user.js
vendored
7
dist/better-xcloud.user.js
vendored
@ -1174,8 +1174,13 @@ this.definitions = definitions, this._settings = null;
|
|||||||
get settings() {
|
get settings() {
|
||||||
if (this._settings) return this._settings;
|
if (this._settings) return this._settings;
|
||||||
let settings = JSON.parse(this.storage.getItem(this.storageKey) || "{}");
|
let settings = JSON.parse(this.storage.getItem(this.storageKey) || "{}");
|
||||||
for (let key in settings)
|
for (let key in settings) {
|
||||||
|
if (!this.definitions.hasOwnProperty(key)) {
|
||||||
|
delete settings[key];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
settings[key] = this.validateValue("get", key, settings[key]);
|
settings[key] = this.validateValue("get", key, settings[key]);
|
||||||
|
}
|
||||||
return this._settings = settings, settings;
|
return this._settings = settings, settings;
|
||||||
}
|
}
|
||||||
getDefinition(key) {
|
getDefinition(key) {
|
||||||
|
@ -44,6 +44,12 @@ export class BaseSettingsStorage<T extends AnyPref> {
|
|||||||
|
|
||||||
// Validate setting values
|
// Validate setting values
|
||||||
for (const key in settings) {
|
for (const key in settings) {
|
||||||
|
// Don't store invalid keys
|
||||||
|
if (!this.definitions.hasOwnProperty(key)) {
|
||||||
|
delete settings[key];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
settings[key] = this.validateValue('get', key as T, settings[key]);
|
settings[key] = this.validateValue('get', key as T, settings[key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user