:cogs: Ajout du type booléen dans la syntaxe
parent
bc893afca6
commit
d0726b616c
|
@ -3,6 +3,7 @@
|
|||
|
||||
main ->
|
||||
CalcExpression {% id %}
|
||||
| Boolean {% id %}
|
||||
| Variable {% id %}
|
||||
| NegatedVariable {% id %}
|
||||
| ModifiedVariable {% id %}
|
||||
|
@ -54,7 +55,6 @@ ArithmeticOperator -> "+" {% id %}
|
|||
| "/" {% id %}
|
||||
|
||||
|
||||
# BooleanVariableExpression -> ("!" _):? Variable {% d => (['BooleanVariableExpression', ...d]) %}
|
||||
|
||||
|
||||
Variable -> VariableFragment (_ Dot _ VariableFragment {% d => d[3] %}):* {% d => ({
|
||||
|
@ -82,3 +82,9 @@ _ -> [\s] {% d => null %}
|
|||
number -> [0-9]:+ ([\.] [0-9]:+):? {% d => ({category: 'value', nodeValue: parseFloat(d[0].join("")+(d[1]?(d[1][0]+d[1][1].join("")):""))}) %}
|
||||
|
||||
percentage -> [0-9]:+ ([\.] [0-9]:+):? [\%] {% d => ({category: 'percentage', nodeValue: parseFloat(d[0].join("")+(d[1]?(d[1][0]+d[1][1].join("")):""))/100}) %}
|
||||
|
||||
Boolean -> "oui" {% d=> ({category: 'boolean', nodeValue: true}) %}
|
||||
| "non" {% d=> ({category: 'boolean', nodeValue: false}) %}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -60,10 +60,18 @@ export let treatString = (rules, rule) => rawNode => {
|
|||
|
||||
let [parseResult, ...additionnalResults] = nearley().feed(rawNode).results
|
||||
|
||||
if (additionnalResults && additionnalResults.length > 0)
|
||||
throw "Attention ! L'expression <" +
|
||||
rawNode +
|
||||
'> ne peut être traitée de façon univoque'
|
||||
if (
|
||||
additionnalResults &&
|
||||
additionnalResults.length > 0 &&
|
||||
parseResult.category !== 'boolean'
|
||||
) {
|
||||
// booleans, 'oui' and 'non', have an exceptional resolving precedence
|
||||
throw new Error(
|
||||
"Attention ! L'expression <" +
|
||||
rawNode +
|
||||
'> ne peut être traitée de façon univoque'
|
||||
)
|
||||
}
|
||||
|
||||
if (
|
||||
!contains(parseResult.category)([
|
||||
|
@ -72,10 +80,13 @@ export let treatString = (rules, rule) => rawNode => {
|
|||
'filteredVariable',
|
||||
'comparison',
|
||||
'negatedVariable',
|
||||
'percentage'
|
||||
'percentage',
|
||||
'boolean'
|
||||
])
|
||||
)
|
||||
throw "Attention ! Erreur de traitement de l'expression : " + rawNode
|
||||
throw new Error(
|
||||
"Attention ! Erreur de traitement de l'expression : " + rawNode
|
||||
)
|
||||
|
||||
if (parseResult.category == 'variable')
|
||||
return treatVariable(rules, rule)(parseResult)
|
||||
|
@ -90,6 +101,14 @@ export let treatString = (rules, rule) => rawNode => {
|
|||
treatVariable(rules, rule)(parseResult.variable)
|
||||
)
|
||||
|
||||
if (parseResult.category == 'boolean') {
|
||||
return {
|
||||
nodeValue: parseResult.nodeValue,
|
||||
// eslint-disable-next-line
|
||||
jsx: () => <span className="boolean">{rawNode}</span>
|
||||
}
|
||||
}
|
||||
|
||||
// We don't need to handle category == 'value' because YAML then returns it as
|
||||
// numerical value, not a String: it goes to treatNumber
|
||||
if (parseResult.category == 'percentage')
|
||||
|
|
|
@ -681,13 +681,23 @@
|
|||
- CDD
|
||||
par défaut: CDI
|
||||
|
||||
|
||||
- espace: contrat salarié
|
||||
nom: assimilé salarié
|
||||
description: |
|
||||
Certains dirigeants d'entreprise (c'est notamment le cas pour les SASU) sont considérés par la sécurité sociale comme assimilés aux salariés. Ils sont alors au régime général de la sécurité sociale.
|
||||
question: Le salarié est-il considéré comme "assimilé salarié" ?
|
||||
références:
|
||||
Le régime des dirigeants: https://www.urssaf.fr/portail/home/employeur/creer/choisir-une-forme-juridique/le-statut-du-dirigeant/les-dirigeants-rattaches-au-regi.html
|
||||
|
||||
|
||||
- espace: contrat salarié
|
||||
nom: type de contrat
|
||||
formule:
|
||||
variations:
|
||||
- si: assimilé
|
||||
- si: assimilé salarié
|
||||
alors: CDI
|
||||
- sinon: choix type de contrat
|
||||
- sinon: choix du type de contrat
|
||||
|
||||
- espace: contrat salarié . type de contrat
|
||||
nom: CDD
|
||||
|
@ -809,8 +819,8 @@
|
|||
nom: statut cadre
|
||||
formule:
|
||||
variations:
|
||||
- si: assimilé
|
||||
alors: 'oui'
|
||||
- si: assimilé salarié
|
||||
alors: oui
|
||||
- sinon: choix statut cadre
|
||||
|
||||
- espace: contrat salarié
|
||||
|
|
Loading…
Reference in New Issue