Erreur plus explicite en cas de mécanisme non trouvé
parent
ea66dbd1d5
commit
e69048db3e
|
@ -128,6 +128,13 @@ barème:
|
|||
L'assiette est décomposée en plusieurs tranches, qui sont multipliées par un taux spécifique.
|
||||
Les tranches sont très souvent exprimées sous forme de facteurs (par exemple [1, 2, 4]) d'une variable que l'on appelle multiplicateur, par exemple le plafond de la sécurité sociale.
|
||||
|
||||
|
||||
barème linéaire:
|
||||
type: numeric
|
||||
description: |
|
||||
C'est un barème en taux non marginaux, très simple. C'est le mécanisme de calcul de l'impôt neutre, aussi appelé impôt non personnalisé.
|
||||
Il est composé de tranches qui se suivent. Il suffit de trouver l'assiette qui correspond à la tranche, et de multiplier le taux associé avec l'assiette.
|
||||
|
||||
complément:
|
||||
type: numeric
|
||||
description: |
|
||||
|
|
|
@ -702,7 +702,7 @@ export let mecanismProduct = (recurse, k, v) => {
|
|||
à: 1
|
||||
```
|
||||
*/
|
||||
let desugarScale = recurse => ({ tranches }) =>
|
||||
let desugarScale = recurse => tranches =>
|
||||
tranches
|
||||
.map(
|
||||
t =>
|
||||
|
|
|
@ -38,6 +38,7 @@ import {
|
|||
mecanismSum,
|
||||
mecanismProduct,
|
||||
mecanismScale,
|
||||
mecanismLinearScale,
|
||||
mecanismMax,
|
||||
mecanismMin,
|
||||
mecanismError,
|
||||
|
@ -223,13 +224,12 @@ export let treatObject = (rules, rule) => rawNode => {
|
|||
let mecanisms = intersection(keys(rawNode), keys(knownMecanisms))
|
||||
|
||||
if (mecanisms.length != 1) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.log(
|
||||
'Erreur : On ne devrait reconnaître que un et un seul mécanisme dans cet objet',
|
||||
mecanisms,
|
||||
rawNode
|
||||
)
|
||||
throw new Error('OUPS !')
|
||||
throw new Error(`OUPS : On ne devrait reconnaître que un et un seul mécanisme dans cet objet
|
||||
Objet YAML : ${JSON.stringify(rawNode)}
|
||||
Mécanismes implémentés correspondants : ${JSON.stringify(mecanisms)}
|
||||
Cette liste doit avoir un et un seul élément.
|
||||
Vérifier que le mécanisme est dans l'objet 'dispatch' et dans les'knownMecanisms.yaml'
|
||||
`)
|
||||
}
|
||||
|
||||
let k = head(mecanisms),
|
||||
|
@ -242,6 +242,7 @@ export let treatObject = (rules, rule) => rawNode => {
|
|||
somme: mecanismSum,
|
||||
multiplication: mecanismProduct,
|
||||
barème: mecanismScale,
|
||||
'barème linéaire': mecanismLinearScale,
|
||||
'le maximum de': mecanismMax,
|
||||
'le minimum de': mecanismMin,
|
||||
complément: mecanismComplement,
|
||||
|
|
Loading…
Reference in New Issue