aboutsummaryrefslogtreecommitdiff
path: root/src/shared/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/settings')
-rw-r--r--src/shared/settings/storage.js40
-rw-r--r--src/shared/settings/values.js6
2 files changed, 21 insertions, 25 deletions
diff --git a/src/shared/settings/storage.js b/src/shared/settings/storage.js
index 9b8045d..5dce3b0 100644
--- a/src/shared/settings/storage.js
+++ b/src/shared/settings/storage.js
@@ -1,30 +1,26 @@
import DefaultSettings from './default';
import * as settingsValues from './values';
-const loadRaw = () => {
- return browser.storage.local.get('settings').then(({ settings }) => {
- if (!settings) {
- return DefaultSettings;
- }
- return Object.assign({}, DefaultSettings, settings);
- });
+const loadRaw = async() => {
+ let { settings } = await browser.storage.local.get('settings');
+ if (!settings) {
+ return DefaultSettings;
+ }
+ return { ...DefaultSettings, ...settings };
};
-const loadValue = () => {
- return loadRaw().then((settings) => {
- let value = JSON.parse(DefaultSettings.json);
- if (settings.source === 'json') {
- value = settingsValues.valueFromJson(settings.json);
- } else if (settings.source === 'form') {
- value = settingsValues.valueFromForm(settings.form);
- }
- if (!value.properties) {
- value.properties = {};
- }
- return Object.assign({},
- settingsValues.valueFromJson(DefaultSettings.json),
- value);
- });
+const loadValue = async() => {
+ let settings = await loadRaw();
+ let value = JSON.parse(DefaultSettings.json);
+ if (settings.source === 'json') {
+ value = settingsValues.valueFromJson(settings.json);
+ } else if (settings.source === 'form') {
+ value = settingsValues.valueFromForm(settings.form);
+ }
+ if (!value.properties) {
+ value.properties = {};
+ }
+ return { ...settingsValues.valueFromJson(DefaultSettings.json), ...value };
};
const save = (settings) => {
diff --git a/src/shared/settings/values.js b/src/shared/settings/values.js
index bd03be2..9828af6 100644
--- a/src/shared/settings/values.js
+++ b/src/shared/settings/values.js
@@ -6,12 +6,12 @@ const operationFromFormName = (name) => {
if (argStr) {
args = JSON.parse(argStr);
}
- return Object.assign({ type }, args);
+ return { type, ...args };
};
const operationToFormName = (op) => {
let type = op.type;
- let args = Object.assign({}, op);
+ let args = { ...op };
delete args.type;
if (Object.keys(args).length === 0) {
@@ -83,7 +83,7 @@ const formFromValue = (value, allowedOps) => {
}
}
- let formProperties = Object.assign({}, properties.defaults, value.properties);
+ let formProperties = { ...properties.defaults, ...value.properties };
return {
keymaps,