Get all data and set a blank value if it doesn't exist yet.
This commit is contained in:
parent
7cc22f8b11
commit
ec72d1bc01
1 changed files with 23 additions and 12 deletions
|
@ -117,8 +117,21 @@ class global {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Get all data and set a blank value if it doesn't exist yet.
|
// Get all data and set a blank value if it doesn't exist yet.
|
||||||
DATA_ALL = await global.read(null, CLOUD);
|
if (CLOUD == 0 || CLOUD == null) {
|
||||||
DATA_ALL = ((DATA_ALL != null && DATA_ALL != undefined && (typeof DATA_ALL).includes(`obj`)) ? Object.keys(DATA_ALL).length <= 0 : true)
|
const ORIGINS = {};
|
||||||
|
ORIGINS[-1] = `local`;
|
||||||
|
ORIGINS[1] = `global`;
|
||||||
|
|
||||||
|
for (let SOURCE = -1; SOURCE != 0 && SOURCE < 2; SOURCE = SOURCE + 2) {
|
||||||
|
DATA_ALL[ORIGINS[SOURCE]] = await global.read(null, CLOUD);
|
||||||
|
};
|
||||||
|
|
||||||
|
CLOUD = (DATA_ALL[`local`] != null) ? -1 : 1;
|
||||||
|
} else {
|
||||||
|
DATA_ALL = await global.read(null, CLOUD);
|
||||||
|
};
|
||||||
|
|
||||||
|
DATA_ALL = ((!(typeof DATA_ALL).includes(`undef`)) ? ((DATA_ALL != null && (typeof DATA_ALL).includes(`obj`)) ? Object.keys(DATA_ALL).length <= 0 : true) : false)
|
||||||
? {}
|
? {}
|
||||||
: DATA_ALL;
|
: DATA_ALL;
|
||||||
|
|
||||||
|
@ -130,15 +143,14 @@ class global {
|
||||||
// Merge!
|
// Merge!
|
||||||
DATA_INJECTED = nested.dictionary.set(DATA_ALL, (DATA_NAME != null) ? [...DATA_NAME] : DATA_NAME, data, OPTIONS);
|
DATA_INJECTED = nested.dictionary.set(DATA_ALL, (DATA_NAME != null) ? [...DATA_NAME] : DATA_NAME, data, OPTIONS);
|
||||||
|
|
||||||
// If cloud is not selected, get where the data is already existent.
|
|
||||||
(CLOUD == 0 || CLOUD == null)
|
|
||||||
? (CLOUD = (DATA_ALL[`local`] != null) ? -1 : 1)
|
|
||||||
: false;
|
|
||||||
|
|
||||||
// Write!
|
// Write!
|
||||||
await chrome.storage[(CLOUD > 0) ? `sync` : `local`].set(DATA_INJECTED);
|
return(chrome.storage[(CLOUD > 0) ? `sync` : `local`].set(DATA_INJECTED).then(async () => {
|
||||||
GUI_INFO[`log`] ? GUI_INFO[`log`].clear() : false;
|
GUI_INFO[`log`] ? GUI_INFO[`log`].clear() : false;
|
||||||
return ((OPTIONS[`verify`] != null ? (OPTIONS[`verify`]) : true) ? await verify(DATA_NAME, data) : true);
|
return (((OPTIONS[`verify`] != null ? (OPTIONS[`verify`]) : true) ? await verify(DATA_NAME, data, OPTIONS) : true));
|
||||||
|
}).catch((err) => {
|
||||||
|
logging.error((new texts(`error_msg_save_failed`)).localized, DATA_NAME.join(` → `), JSON.stringify(data))
|
||||||
|
return (false);
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -257,7 +269,6 @@ export async function compare(PATH, DATA) {
|
||||||
return (RESULT);
|
return (RESULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let COMPARISON = {};
|
let COMPARISON = {};
|
||||||
COMPARISON[`test`] = (PATH) ? DATA : DATA[1];
|
COMPARISON[`test`] = (PATH) ? DATA : DATA[1];
|
||||||
COMPARISON[`against`] = (PATH) ? (await global.read((Array.isArray(PATH)) ? [...PATH] : PATH)) : DATA[0];
|
COMPARISON[`against`] = (PATH) ? (await global.read((Array.isArray(PATH)) ? [...PATH] : PATH)) : DATA[0];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue