Skip to content
This repository was archived by the owner on Feb 14, 2025. It is now read-only.
This repository was archived by the owner on Feb 14, 2025. It is now read-only.

Erreurs lors de l'usage de constantFolding avec modele-social #44

@zhouzi

Description

@zhouzi

J'essaie d'appliquer les optimisations de constantFolding au modele-social.

J'ai rencontré une première erreur avec les règles privées, que j'ai pu régler en les passant toutes en non privé manuellement.

Je n'ai plus d'erreur mais l'évaluation retourne undefined, voilà mon code :

import { constantFolding } from "@publicodes/tools/optims";
import rules from "modele-social";
import Engine from "publicodes";

const optimizedRules = constantFolding(new Engine(rules), {
  toKeep(rule) {
    return true;
  },
});

const eurl = new Engine(optimizedRules);

eurl.setSituation({
  "impôt . foyer fiscal . situation de famille": "'célibataire'",
  "impôt . méthode de calcul": "'barème standard'",
  "dirigeant . rémunération . net . après impôt": 40000,
  "dirigeant . indépendant . IJSS": "non",
  "dirigeant . indépendant . revenus étrangers": "non",
  "dirigeant . indépendant . PL . régime général . taux spécifique retraite complémentaire":
    "non",
  "dirigeant . indépendant . conjoint collaborateur": "non",
  "dirigeant . indépendant . cotisations facultatives": "non",
  "entreprise . activités . saisonnière": "non",
  "situation personnelle . RSA": "non",
  "entreprise . activité . nature . libérale . réglementée": "non",
  "entreprise . activité . nature": "'libérale'",
  "situation personnelle . domiciliation fiscale à l'étranger": "non",
  "entreprise . date de création": "01/01/2023",
  "dirigeant . exonérations . ACRE": "non",
  "dirigeant . indépendant . cotisations et contributions . exonérations . pension invalidité":
    "non",
  "entreprise . imposition": "'IS'",
  "entreprise . associés": "'unique'",
  "entreprise . catégorie juridique": "'SARL'",
});

console.log(
  eurl
    .evaluate("dirigeant . indépendant . cotisations et contributions")
    .nodeValue
);
// undefined

Sans passer par l'usage de constantFolding, j'ai bien une valeur de retour (21861).

Il me semble faire un usage correct de constantFolding d'après la documentation et ce que j'en comprends alors je me demande si je ne suis pas tombé sur un bug, mis en lumière par le modele-social ?

Je continue les expérimentations de mon côté.

Metadata

Metadata

Assignees

Labels

🐛 bugSomething isn't working⚡ optimsIssues related to the `optims` module

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions