add comparison for session storage
This commit is contained in:
parent
ac3cc569c9
commit
2a60c292a6
1 changed files with 26 additions and 0 deletions
|
@ -376,6 +376,32 @@ class session {
|
|||
// Write!
|
||||
store(DATA[`inject`]);
|
||||
}
|
||||
|
||||
/* Compare a data against the stored data. Useful when comparing dictionaries.
|
||||
|
||||
@param {string} PATH the name
|
||||
@param {object} DATA the data to compare to
|
||||
*/
|
||||
static async compare(PATH, DATA) {
|
||||
/* The actual comparison of data. */
|
||||
async function comparison(DATA_ONE, DATA_TWO) {
|
||||
let RESULT = true;
|
||||
|
||||
// The first round of checking is on the data type.
|
||||
RESULT = ((typeof DATA_ONE == typeof DATA_TWO) ? ((Array.isArray(DATA_TWO) == Array.isArray(DATA_ONE)) && !((DATA_ONE == null && DATA_TWO != null) || (DATA_ONE != null && DATA_TWO == null))) : false) ? ((typeof DATA_ONE).includes(`obj`) ? (await hash.digest(DATA_ONE, {"output": "Number"}) == await hash.digest(DATA_TWO, {"output": "Number"})) : DATA_ONE == DATA_TWO) : false;
|
||||
|
||||
return (RESULT);
|
||||
}
|
||||
|
||||
|
||||
let COMPARISON = {};
|
||||
COMPARISON[`test`] = (PATH) ? DATA : DATA[1];
|
||||
COMPARISON[`against`] = (PATH) ? (await session.read((Array.isArray(PATH)) ? [...PATH] : PATH)) : DATA[0];
|
||||
COMPARISON[`result`] = comparison(COMPARISON[`against`], COMPARISON[`test`]);
|
||||
|
||||
// Return the result.
|
||||
return (COMPARISON[`result`]);
|
||||
}
|
||||
}
|
||||
|
||||
/* Compare a data against the stored data. Useful when comparing dictionaries.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue