Commit Graph

58 Commits (cycles-detection-with-context)

Author SHA1 Message Date
Alexandre Hajjar d705e7e047 🚧 WIP - Building the cycles graph by taking into account parent rule
This contextualization will allow to have a (more complex) graph that
will contain the information of the parent rule of the current rule.
This will allow calling `getApplicableReplacedBy` and thus remove the
flattening logic, which was imperfect.

On the other hand, this needs to make recursive calls to
`ruleDepsOfRule` in case of a reference node, and thus make the graph
much fatter.

Approx TODO (see `ruleDependencies.ts`):

- [ ] refactor to propagate the `parentRuleNode` in the rule
      dependencies
- [ ] build recursive calls into `ruleDepsOfReference`
2020-10-01 12:15:43 +02:00
Alexandre Hajjar bdef762278 Cycles: test against multi-dependencies 2020-09-25 00:41:49 +02:00
Alexandre Hajjar cbc3e74ea7 Cycles: flatten-o-tron fixes and tests 2020-09-24 23:05:08 +02:00
Alexandre Hajjar b5acf267bf Cycles: remove remplace one-level loops 2020-09-24 00:27:43 +02:00
Alexandre Hajjar 394d8e9503 Cycles: refactor for readability 2020-09-22 21:49:14 +02:00
Alexandre Hajjar e847d3ad17 Cycles: unit tests 2020-09-22 21:03:08 +02:00
Alexandre Hajjar 4e30ef98b7 Cycles: move hasCycle function into publicodes (useful for unit tests) 2020-09-22 20:11:31 +02:00
Alexandre Hajjar a1bb8bebac Cycles: add DependencyType in the dependency graph 2020-09-22 19:48:06 +02:00
Alexandre Hajjar cfd6f8d813 📝 Split up and document `getApplicableReplacements` 2020-09-08 18:07:58 +02:00
Alexandre Hajjar 4723eb39d6 More tests on remplace mechanism behavior (ns depth) 2020-09-08 17:13:17 +02:00
Johan Girod 8a1af58a14 ajoute un test pour les formule non remplacée si référencée depuis la formule du remplacement 2020-09-08 17:11:52 +02:00
Alexandre Hajjar 2793dcd090 Cycles: import fix 2020-06-15 17:09:20 +02:00
Alexandre Hajjar 655b9bf314 Cycles: isDisabledBy & replacedBy 2020-06-15 15:40:01 +02:00
Alexandre Hajjar 5fcc7500c9 Cycles: recalcul visitor update using current rule name context 2020-06-15 15:39:58 +02:00
Alexandre Hajjar 31dccc9989 Cycles: clean up 2020-06-15 15:32:10 +02:00
Alexandre Hajjar b3f51d825e Cycles: clean-up 2020-06-15 15:32:10 +02:00
Alexandre Hajjar e67670f2d7 [silent] Cycles types: rename `Name` -> `Names` 2020-06-15 15:32:10 +02:00
Alexandre Hajjar de4227800b Use as little Ramda as possible 2020-06-15 15:32:09 +02:00
Alexandre Hajjar f99a8f8bd1 WIP ⚙️ Detect cycles: remove RecalculBroken (not needed anymore) 2020-06-15 15:25:35 +02:00
Alexandre Hajjar 2c765a80ba WIP ⚙️ Detect cycles: fix InversionNumMech following master 2020-06-15 15:25:35 +02:00
Alexandre Hajjar f26e2472ac WIP ⚙️ Detect cycles: visit (Non)Applicable nodes 2020-06-15 15:25:34 +02:00
Alexandre Hajjar c96a122d8a WIP ⚙️ Detect cycles: RecalculBroken & visit Formule node 2020-06-15 15:25:34 +02:00
Alexandre Hajjar 47f1620e5d WIP ⚙️ Detect cycles: finish all node types and visitors 2020-06-15 15:25:34 +02:00
Alexandre Hajjar dba5237a74 WIP ⚙️ Detect cycles: improve typing and structure 2020-06-15 15:25:34 +02:00
Alexandre Hajjar ff13a1aae2 WIP ⚙️ Detect cycles: fix typing problems 2020-06-15 15:25:34 +02:00
Alexandre Hajjar c45b78c2e5 WIP ⚙️ Detect cycles: solifidy types and guards 2020-06-15 15:25:34 +02:00
Alexandre Hajjar 78e347b994 WIP ⚙️ Detect cycles in parsed rules 2020-06-15 15:25:34 +02:00
Mael 8b5295b867
🖊 Corrige des coquilles dans la documentation publicode (#1068) 2020-06-08 23:13:31 +02:00
Maxime Quandalle b9ac00a6e8 ⚙️ Supprime l'argument `k` en paramètre des mécanismes 2020-06-06 14:18:45 +02:00
Maxime Quandalle b9f6d8249e ⚙️ Factorise la gestion des composantes hors des mécanismes 2020-06-06 14:18:23 +02:00
Maxime Quandalle 6bb8973809 🎨 Affiche différemment les règles non applicables dans une somme 2020-06-08 11:37:23 +02:00
Maxime Quandalle 38c2051232 ⚙️ Sépare les mécanismes dans des fichiers distincts
Refacto qui avait été commencée sans aller au bout.
Sort aussi quelques fonctions `evaluate` des fonctions de parsage
lorsque qu'elle n'utilisent pas les paramètres de `parse`.
2020-06-04 13:57:49 +02:00
Johan Girod 3f31d5d32f 🖋️ enlève les références à `useDefaultValues` de la documentation 2020-06-04 12:36:58 +02:00
Maxime Quandalle 7a2e7cff4d 🔥 Supprime la variable de contexte useDefaultValue 2020-06-04 12:36:58 +02:00
Maxime Quandalle ac8f09fd16 ⚙️ Intégre les missingVariables dans le moteur 2020-06-04 12:36:58 +02:00
Johan Girod d3fb23b2bb 🐎 charge la coloration syntaxique uniquement si besoin
- enlève la librairie react-syntax-highlighting des dépendances de publicodes
- affiche un fallback avec le code source non coloré pendant le chargement de la librairie
2020-06-03 18:11:33 +02:00
Johan Girod 9e81494e5e 🐎 mécanisme recalcul : si la situation ne change pas, le cache n'est pas supprimé 2020-06-03 14:41:11 +02:00
Johan Girod 16d5696378 🎨 améliore la gestion du `line-height` dans l'application 2020-05-28 12:24:49 +02:00
Johan Girod 3e978a6986 rajoute le bouton 'voir source' sur la documentation publicode 2020-05-27 11:45:01 +02:00
Johan Girod 871f63ff89 🖋️ ajoute de la doc publicodes sur les composants react exportés 2020-05-27 10:44:02 +02:00
Johan Girod dec259877d 🖋️ ajoute un paragraphe sur les peerDepencies dans la doc api 2020-05-27 09:45:13 +02:00
Johan Girod 60cae1f5ce 🐛 corrige une erreur dans l'affichage d'unité avec pourcentage 2020-05-26 17:33:26 +02:00
Johan Girod b175945d78 ajoute un prototype d'interface pour les warnings du moteur 2020-05-26 16:40:22 +02:00
Johan Girod 2351726034 corrige les tests 2020-05-26 16:15:12 +02:00
Johan Girod e4bcb40aa2 ⬆️ bump publicodes to beta.3 2020-05-26 15:01:57 +02:00
Johan Girod 612ea77cfc Ajoute les explications des mécanismes sur la documentation publicodes 2020-05-26 13:20:54 +02:00
Johan Girod 7b704445da 🖋️ améliore la doc api 2020-05-25 20:36:29 +02:00
Johan Girod cf9e2b4b3c 🖋️ améliore la doc api 2020-05-25 20:17:55 +02:00
Johan Girod c449c3dd3e 🖋️ met à jour la doc de l'intégration librairie sur mon-entreprise pour utiliser le paquet publicodes 2020-05-25 19:26:52 +02:00
Johan Girod 1e43f3d758 🔥 change l'api de formatValue pour une version plus cohérente 2020-05-25 17:06:15 +02:00