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 };
|
||
|
};
|