mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-08 20:47:11 +03:00
Update utils.js
This commit is contained in:
34
utils.js
34
utils.js
@@ -1,3 +1,37 @@
|
|||||||
|
SB = {};
|
||||||
|
|
||||||
|
function configProxy() {
|
||||||
|
chrome.storage.onChanged.addListener((changes, namespace) => {
|
||||||
|
for (key in changes) {
|
||||||
|
localconfig[key] = changes[key].newValue;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var handler = {
|
||||||
|
set: function(obj, prop, value) {
|
||||||
|
chrome.storage.sync.set({
|
||||||
|
[prop]: value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
get: function(obj, prop) {
|
||||||
|
return localconfig[prop]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return new Proxy({}, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
fetchConfig = _ => new Promise(function(resolve, reject) {
|
||||||
|
chrome.storage.sync.get(null, function(items) {
|
||||||
|
localconfig = items; // Data is ready
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
async function config() {
|
||||||
|
localconfig = {};
|
||||||
|
await fetchConfig();
|
||||||
|
SB.config = configProxy();
|
||||||
|
}
|
||||||
|
|
||||||
// Function that can be used to wait for a condition before returning
|
// Function that can be used to wait for a condition before returning
|
||||||
async function wait(condition, timeout = 5000, check = 100) {
|
async function wait(condition, timeout = 5000, check = 100) {
|
||||||
return await new Promise((resolve, reject) => {
|
return await new Promise((resolve, reject) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user