21 lines
698 B
JavaScript
21 lines
698 B
JavaScript
import { evaluateCondition } from "./evaluateCondition";
|
|
export const evaluateConditions = (conditions = [], options) => {
|
|
const conditionsReferenceRecord = {};
|
|
for (const condition of conditions) {
|
|
const { result, toAssign } = evaluateCondition(condition, {
|
|
...options,
|
|
referenceRecord: {
|
|
...options.referenceRecord,
|
|
...conditionsReferenceRecord,
|
|
},
|
|
});
|
|
if (!result) {
|
|
return { result };
|
|
}
|
|
if (toAssign) {
|
|
conditionsReferenceRecord[toAssign.name] = toAssign.value;
|
|
}
|
|
}
|
|
return { result: true, referenceRecord: conditionsReferenceRecord };
|
|
};
|