From 61b8427270a07fbf8e46b08a46d87692703d5b8b Mon Sep 17 00:00:00 2001 From: Official Noob <31563761+OfficialNoob@users.noreply.github.com> Date: Tue, 31 Dec 2019 20:07:43 +0000 Subject: [PATCH] File used to control the SB object --- SB.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 SB.js diff --git a/SB.js b/SB.js new file mode 100644 index 00000000..75b98294 --- /dev/null +++ b/SB.js @@ -0,0 +1,36 @@ +SB = {}; + +function configProxy() { + chrome.storage.onChanged.addListener((changes, namespace) => { + for (key in changes) { + SB.localconfig[key] = changes[key].newValue; + } + }); + var handler = { + set: function(obj, prop, value) { + chrome.storage.sync.set({ + [prop]: value + }) + }, + get: function(obj, prop) { + return SB.localconfig[prop] + } + }; + return new Proxy({}, handler); +} + +fetchConfig = _ => new Promise(function(resolve, reject) { + chrome.storage.sync.get(null, function(items) { + SB.localconfig = items; // Data is ready + resolve(); + }); +}); + +async function config() { + SB.localconfig = {}; + await fetchConfig(); + SB.config = configProxy(); +} + +// Sync config +config();