summaryrefslogtreecommitdiff
path: root/src/bg/defaults.js
blob: 4d071b4bc26a4efe49189aa9bf8abd2e087d4799 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';

ns.defaults = (async () => {
  let defaults = {
    local: {
      debug: false,
      showCtxMenuItem: true,
      showCountBadge: true,
      showFullAddresses: false,
    },
    sync: {
      "global": false,
      "xss": true,
      "clearclick": true
    }
  };
  let defaultsClone = JSON.parse(JSON.stringify(defaults));

  for (let [k, v] of Object.entries(defaults)) {
    let store = await Storage.get(k, k);
    if (k in store) {
      Object.assign(v, store[k]);
    }
    v.storage = k;
  }

  Object.assign(ns, defaults);

  // dynamic settings
  if (!ns.local.uuid) {
    ns.local.uuid = uuid();
    await ns.save(ns.local);
  }

  return ns.defaults = defaultsClone;
})();