On évite d'injecter dans la règle enrichie la règle brute

L'objet en mémoire en sera d'autant plus léger, et le contenu des règles
utilisées dans l'application sera moins imprévisible
pull/481/head
Mael 2019-04-10 11:42:55 +02:00
parent 761fa8eb14
commit bd13767f1c
3 changed files with 4 additions and 8 deletions

View File

@ -82,7 +82,6 @@ export default compose(
<h5 className="payslip__cotisationTitle">
<Trans>Réductions</Trans>
</h5>
<Line rule={getRule('')} />
<Line
sign="-"
rule={getRule('contrat salarié . réductions de cotisations')}

View File

@ -71,13 +71,13 @@ export let getNextSteps = missingVariablesByTarget => {
export let collectMissingVariables = targets =>
getNextSteps(collectMissingVariablesByTarget(targets))
let isVariant = rule => queryRule(rule.raw)('formule . une possibilité')
let getVariant = rule => queryRule(rule)('formule . une possibilité')
let buildVariantTree = (allRules, path) => {
let rec = path => {
let node = findRuleByDottedName(allRules, path)
if (!node) throw new Error(`La règle ${path} est introuvable`)
let variant = isVariant(node),
let variant = getVariant(node),
variants = variant && unless(is(Array), prop('possibilités'))(variant),
shouldBeExpanded = variant && true, //variants.find( v => relevantPaths.find(rp => contains(path + ' . ' + v)(rp) )),
canGiveUp = variant && !variant['choix obligatoire']
@ -106,7 +106,7 @@ export let getInputComponent = rules => dottedName => {
...pick(['dottedName', 'title', 'question', 'defaultValue'], rule)
}
if (isVariant(rule))
if (getVariant(rule))
return (
<Question
{...{

View File

@ -35,11 +35,9 @@ import { capitalise0 } from '../utils'
import marked from './marked'
import possibleVariableTypes from './possibleVariableTypes.yaml'
// console.log('rawRules', rawRules.map(({espace, nom}) => espace + nom))
/***********************************
Méthodes agissant sur une règle */
Functions working on one rule */
// Enrichissement de la règle avec des informations évidentes pour un lecteur humain
export let enrichRule = rule => {
try {
let formatKey = rule['format'] || 'booléen',
@ -57,7 +55,6 @@ export let enrichRule = rule => {
dottedName: buildDottedName(rule),
subquestion: rule['sous-question'] && marked(rule['sous-question']),
defaultValue: rule['par défaut'],
raw: rule,
examples: rule['exemples'],
icons: rule['icônes'],
summary: rule['résumé'],