PreferenceStorage defines an interface for persisting preference data as name/value pairs for a module or plugin.
Creates a new PreferenceStorage object.
function PreferenceStorage(clientID, json) {
this._clientID = clientID;
this._json = json;
} function _validateJSONPair(key, value) {
if (typeof key === "string") {
// validate temporary JSON
var temp = {},
error = null;
temp[key] = value;
try {
temp = JSON.parse(JSON.stringify(temp));
} catch (err) {
error = err;
}
// set value to JSON storage if no errors occurred
if (!error && (temp[key] !== undefined)) {
return true;
} else {
console.error("Value '" + value + "' for key '" + key + "' must be a valid JSON value");
return false;
}
} else {
console.error("Preference key '" + key + "' must be a string");
return false;
}
}