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
37
38
39
40
41
|
'use strict';
var Defaults = {
async init() {
let defaults = {
local: {
debug: false,
showCtxMenuItem: true,
showCountBadge: true,
showFullAddresses: false,
},
sync: {
"global": false,
"xss": true,
"xssScanRequestBody": true,
"xssBlockUnscannedPOST": false,
"overrideTorBrowserPolicy": false, // note: Settings.update() on reset will flip this to 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;
}
};
|