Я создаю синтаксический анализатор выражений logi c. Мне очень нравится, как mongoDB структурирует свои выражения logi c. Тем не менее, я думаю, что это лучшая структура для хранения и анализа выражений logi c.
const logicPayload = [
{ varA: { $eq: "meow" } },
{ $and: [{ varB: { $lt: "varD" } }, { varB: { $gte: "varC" } }] },
{ $not: [{ varB: { $eq: "varA" } }] }
];
Учитывая полезную нагрузку выше, как я могу разработать функцию для анализа выражения. varA
, varB
varC
и varD
будут разрешены во время выполнения.
Ниже приведена функция разрешения пустышки.
const resovleValue = varID => {
switch (varID) {
case "varA":
return "meow";
break;
case "varB":
return 100;
case "varC":
return 100;
case "varD":
return 983;
}
};
Я пытаюсь создать функцию logi c ниже
/**
* This logic function must only return true or false
*/
const logicFunction = logicPayload => {};
Любое руководство высоко ценится. Спасибо.