1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-09 04:05:01 +00:00
mon-entreprise/source/engine/controls.js
2020-03-31 17:30:05 +02:00

19 lines
505 B
JavaScript

import { evaluateNode } from 'Engine/evaluation'
export let evaluateControls = (cache, situationGate, parsedRules) => {
return Object.values(parsedRules)
.filter(rule => !!rule.contrôles)
.map(rule =>
rule.contrôles.map(contrôle => ({
...contrôle,
evaluated: evaluateNode(
{ ...cache, contextRule: [rule.dottedName] },
situationGate,
parsedRules,
contrôle.testExpression
)
}))
)
.flat()
.filter(contrôle => contrôle.evaluated.nodeValue === true)
}