automatically execute recursion, with the data selection inline

This commit is contained in:
buzz-lightsnack-2007 2024-05-06 10:29:12 +08:00
parent 6f0da62ad5
commit 259d1c1aab

View file

@ -19,16 +19,16 @@ nested.dictionary = class dictionary {
// Pull the data out.
if (DATA != null && DATA != undefined && PATH[`all`].length) {
PATH[`remain`] = PATH[`all`];
PATH[`remain`] = [...PATH[`all`]];
PATH[`selected`] = String(PATH[`remain`].shift()).trim();
// Get the selected data.
DATA = DATA[PATH[`selected`]];
// must run if there is actually a parameter to test
if (PATH[`remain`].length > 0) {
// Recursively run to make use of the existing data.
DATA = nested.dictionary.get(DATA, PATH[`remain`]);
if (Object.hasOwn(DATA, PATH[`selected`])) {
DATA = (PATH[`remain`].length)
? nested.dictionary.get(DATA[PATH[`selected`]], PATH[`remain`])
: DATA[PATH[`selected`]];
} else if (!Object.hasOwn(DATA, PATH[`selected`])) {
DATA = null;
};
};