UNPKG

@opengis/fastify-table

Version:

core-plugins

31 lines (30 loc) 1 kB
function onCheck(rule, data = {}) { const val = data[rule[0]]; // console.log(val, rule[1], rule[2]) if (rule[1] === "==") return val === rule[2]; if (rule[1] === "!=") return val !== rule[2]; if (rule[1] === "in" && rule[2].split) return rule[2].split(",").includes(val); if (rule[1] === "in" && rule[2].includes) return rule[2].includes(val); if (rule[1] === "not in" && rule[2].split) return !rule[2].split(",").includes(val); if (rule[1] === "not in" && rule[2].includes) return !rule[2].includes(val); if (rule[1] === ">") return val > rule[2]; if (rule[1] === "<") return val < rule[2]; return null; } export default function conditions(rules, data) { if (!rules?.length) return true; const result = Array.isArray(rules[0]) ? !rules.filter((el) => !onCheck(el, data)).length : onCheck(rules, data); // console.log(rules, result) return result; }