25 lines
601 B
JavaScript
25 lines
601 B
JavaScript
function PropertyStorage(name) {
|
|
const parse = function (data) {
|
|
const propertyData = data[name];
|
|
if (!propertyData) {
|
|
return null;
|
|
}
|
|
try {
|
|
return JSON.parse(propertyData);
|
|
} catch (e) {
|
|
return null;
|
|
}
|
|
};
|
|
|
|
this.get = function () {
|
|
const getting = browser.storage.local.get(name);
|
|
return getting.then(parse);
|
|
};
|
|
|
|
this.set = function (value) {
|
|
return browser.storage.local.set({ patterns: JSON.stringify(value) });
|
|
};
|
|
}
|
|
|
|
PatternStorage = new PropertyStorage('patterns');
|