Commit Graph

21 Commits (7a9429578c92007029091efbec584936d35c6c72)

Author SHA1 Message Date
Johan Girod f224272f5c 🔨⚙️🔥 refactore les règles pour une meilleure lisibilité
Et pour faire passer les tests jest au passage.
A noter : il faudra vraiment se pencher sur la notion d'applicable / non applicable
Une variable non applicable a une valeur '0' / 'false', mais une variable
à false n'est pas considérée comme non applicable. Je pense qu'il serait avantageux
de simplifier le modèle en introduisant une symetrie entre applicable si et la valeur
d'une variable.
2019-11-11 18:47:43 +01:00
Johan Girod 41d3e17ce2 wip 2019-11-11 18:47:43 +01:00
Johan Girod cb342ff7aa 🐛 corrections des bugs sur artiste et sportifs 2019-11-11 18:46:41 +01:00
Johan Girod bfb09555dd 🐛 Corrige les erreurs de syntaxe du fichier de règles 2019-11-11 18:45:54 +01:00
Johan Girod ccb8f47a83 ⚙️ ajoute la possibilité de desactiver une branche via un booléen 2019-11-11 18:45:11 +01:00
Johan Girod c0bd229cde ⚙️ supporte plusieurs remplacement d'un coup 2019-11-11 18:44:34 +01:00
Johan Girod a63d02601f ⚙️ ajoute la gestion des filtre pour les variables remplacée 2019-11-11 18:44:34 +01:00
Johan Girod bf9c8dd011 ⚙️ supporte les tableaux de contextes pour les remplacement 2019-11-11 18:44:34 +01:00
Johan Girod f52b6b9808 ⚙️ ajoute la possibilité de restreindre le remplacement à un contexte donné 2019-11-11 18:44:34 +01:00
Johan Girod 988597a792 ⚙️ emplèche les boucles infinies dans le remplacement lorsque c'est possible 2019-11-11 18:44:34 +01:00
Johan Girod db3b2a514c ⚙️ ajoute un mécanisme de remplacement de règle
Co-authored-by: Maxime Quandalle <maxime.quandalle@beta.gouv.fr>
2019-11-11 18:44:34 +01:00
Johan Girod a60d86a6d5
remove unecessary abstraction: rewriteNode 2019-09-13 10:23:55 +02:00
Maxime Quandalle 6344d2f2e1
Amélioration des pages de documentations pour rend non applicable
- ajout des traductions
- ajout d'une notice "désactivée par" quand une règle est désactivée
  par un régime d'exception actif
2019-09-04 09:14:28 +02:00
Maxime Quandalle 1ffb97c2f6
Renomme "désactive" en "rend non applicable"
Ajout de tests, amélioration de la doc
2019-09-03 22:45:54 +02:00
Maxime Quandalle 89f370b182
Ajout d'une ruleProp "désactive" 2019-09-03 22:45:48 +02:00
Mael 4785155f25 Correction des tests 2019-07-12 10:33:02 +02:00
Mael ed4d4a0d7a Mutualisation de <Value>
Remplacement de Montant par Value
Rétablissement des explications simu salarié
Possibilité de définir des objegtifs secondaires qui sont calculés mais
pas affichés par targetSelectuon
2019-07-12 10:33:02 +02:00
Mael 76b60afed7 1er affichage des unités : indemnité km vélo 2019-07-12 10:33:02 +02:00
Mael f234ebc9ac Résolution de la récursion du parse 2019-07-12 10:33:02 +02:00
Mael 9b4a3b9e57 ⚙️ parsedRules passe d'une liste à un object
Comme pendant l'évaluation et son objet cache, parsedRules est construit
au fur et à mesure du parsing sous la forme [dottedName]: parsedRule

Cela nous permet pendant le parsing de faire l'annotation de type et de
faire moins de boulot lors de l'évaluation

Problème :
- (presque fixé) dans l'inversion on produisait des références de variables pour le JSX
=> boucle infinie
- dans chiffre d'affaire, notre implé un peu bizarre fait une référence
de variables a priori circulaire, mais gérée par les variations. Or
pendant le parsing on parcourt évidemment toutes les branches sans les
évaluer. Sachant qu'on implémente ce cache parsedRules surtout pour les
unités, peut on garder la formule ainsi et simplement stocker 'chiffre
d'affaires': 'currently being parsed' pour éviter la boucle infinie ?
2019-07-12 10:33:02 +02:00
Mael 00e920d00f ⚙️ Renommage de treat en parse; reorg
Ce commit n'est pas complet, mais l'idée est lisible
2019-07-12 10:33:02 +02:00