Commit Graph

590 Commits (d95c305c3185319ab603c0f9deea46ed7cfe3b2d)

Author SHA1 Message Date
Mael d95c305c31 Aurevoir valueFormats, validators, .format, valueTypes 2019-07-12 10:33:02 +02:00
Mael 2834fbd053 Réparation et amélioration d'AnswerList
On affiche les prochaines questions. Super intéressant pour pouvoir
sauter directement à une question précise sans se taper toutes les
questions une par une.
2019-07-12 10:33:02 +02:00
Mael ab8c4b9b2c Déplacement de getRuleFromAnalysis dans le moteur 2019-07-12 10:33:02 +02:00
Mael 99993af761 Finalisation de la refacto valeurs 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
Mael f75f70314a 📝 Implémentation des unités via une nouvelle passe 2019-07-12 10:33:02 +02:00
Mael 6154419250 Changement de programme : tentative d'implé de l'unité dans l'eval
Car quand on parse et qu'on tombe sur une variable, on ne rentre pas
dans cette variable. Elle sera traitée par la suite dans le parseAll.
Ainsi on ne peut pas connaître son unité si elle a une formule

A = B * C
B = D / E

C unité km
D unité €
E unité km

Quand on tombe sur B dans A, B n'est pas encore parsée, et donc on ne
peut pas savoir que B est en € / km.

Il faudrait parser B, ce qui serait trop couteux. On pourrait
implémenter un cache au parsing, implémenter les unités comme des fonctions, ou encore gérer les unités lors de l'éval (ce qui est bête, car on n'a pas besoin des valeurs pour inférer les unités)
2019-07-12 10:33:02 +02:00
Mael a7c6cb25fa Première unité affichée sur la page règle 2019-07-12 10:33:02 +02:00
Mael a75b22d083 Début de l'implémentation des unités 2019-07-12 10:33:02 +02:00
Mael bd13767f1c 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
2019-07-12 10:33:02 +02:00
Mael 761fa8eb14 Réforme de la gestion des valeurs
Première version qui fonctionne...
... sans le composant PaySlip
2019-07-12 10:33:02 +02:00
Johan Girod 8f28fda18a
Merge remote-tracking branch 'origin/master' into économie-collaborative 2019-07-04 15:50:25 +02:00
Johan Girod 85c3651f0c
⚙️ répare un bug dans le moteur pour les dépendance parentes
On ne les prenait pas en compte lorsque l'on utilisait treatVariable
D'où le gros besoin de fusionner une bonne fois pour toute treatVariable et treatRuleRoot
2019-07-01 19:27:45 +02:00
Marc Pasteur ec0d5304d8 Bout de code inutile dans la grammaire 2019-06-17 14:41:49 +02:00
Johan Girod 2b49965940
Merge pull request #530 from betagouv/comparaison-régime-v2
Comparaison régime améliorée
2019-06-12 17:57:33 +02:00
Johan Girod 70205d5ab8
👽 traductions 2019-06-12 13:56:51 +02:00
Mael c2c7eae67a Finitions pour la grammaire v2 2019-06-04 17:52:09 +02:00
Mael bf6455c33c 📝 ⚙️ Documentation de la grammaire 2019-06-04 16:38:10 +02:00
Mael 2e085dd71c Externalisation des fonctions de retraitement de la grammaire 2019-06-04 16:38:10 +02:00
Mael dc08b0fd0f 🐛 Fin de la réfacto 2019-06-04 16:38:10 +02:00
Mael bea8df51bc ⚙️ On rejette des interprétations ambigües de la grammaire 2019-06-04 16:38:10 +02:00
Mael c0b1d6629f ⚙️ Pas d'espace intérieur aux parenthèses; filtres en crochets 2019-06-04 16:38:10 +02:00
Mael 80d3cfd17e Les objets produits par la grammaire sont traités par treatObject
Récursivement
2019-06-04 16:38:09 +02:00
Mael 3b978d061a Réécriture de la grammaire
Elle renvoit un objet qui est une vision prefixe du contenu parsé
2019-06-04 16:38:09 +02:00
Mael 363d2795e8 Code plus prévisible 2019-06-04 16:38:09 +02:00
Mael a7d88e8514 Tentative de déplacement de treatString dans grammar.ne 2019-06-04 16:38:09 +02:00
Mael ced2a37490 ⚙️ Grammaire d'expressions plus complexe
Elle permet des opérations chainées.
On peut maintenant faire formule: 3 + 5 + 6
Ou 3 * (ma variable + 4)
2019-06-04 16:38:09 +02:00
Johan Girod ae05597c7e
Ajout du nombre de trimestre pour la retraite validés 2019-06-03 14:27:23 +02:00
Maxime Quandalle 62d9369ada ⚙️ 🔨 Gestion du plafond frais pro
La déduction forfaitaire de 10% pour les frais professionnels est plafonnée.

https://www.service-public.fr/particuliers/vosdroits/F1989
2019-06-03 12:03:35 +02:00
Mael 577c0efeda 🎨 Habillement des exemples des textes en markdown 2019-05-21 16:41:44 +02:00
Mael f4965108f8 Test des expressions 2019-04-25 17:27:37 +02:00
Mael bbb8f0d532 🐛 ⚙️ Résolution basique du bug des valeurs différentes
En fonction de l'ordre d'appel
2019-04-12 10:48:21 +02:00
Mael 76ddaaf8fb 🐛 Ajout d'un test qui casse
Est-ce le tryptique inversion + double filtre ??
2019-04-12 10:48:21 +02:00
Johan Girod 87837ee2a3 Ajoute un test pour le bug de cotisations 2019-04-12 10:47:56 +02:00
Johan Girod 512be9c9f5 Enlève l'erreur dans la console 2019-04-10 15:56:40 +02:00
Johan Girod 10525bf0a6 👽 ajoute la traduction des contrôles 2019-04-10 15:41:56 +02:00
Mael c2a9af517e 🐛 🔨 Formule, pas applicable si 2019-04-10 15:10:03 +02:00
Mael 71f624c1a4 Gestion d'une inversion non convergente 2019-04-10 15:10:03 +02:00
Mael 45d1c5ca12 🔥 Optimisations de performance 2019-04-09 15:26:13 +02:00
Mael e1536b6b7a ⚙️ Gestion des erreurs de l'API versement transport 2019-04-09 11:01:07 +02:00
Mael bef7f2dbdd 🔥 Au revoir la verrue données versement transport 2019-04-09 11:01:07 +02:00
Mael acb30ca425 ⚙️ Augmentation de la précision des valeurs dans l'explication 2019-04-09 11:01:07 +02:00
Mael c8b4e9aec3 Pas de taux final pour les petits barèmes 2019-04-09 11:01:07 +02:00
Mael 857b00dbea ⚙️ Mise en valeur du plafond actif 2019-04-09 11:01:07 +02:00
Mael 6cc80ca249 Augmentation précision du taux affiché du barème continu 2019-04-09 11:01:07 +02:00
Mael f22c8aef02 🔨 🐛 Maladie indeps : taux régulier appliqué sur assiette min 2019-04-09 11:01:07 +02:00