Fixed compilation to examples

Had to rename fields of allocations familiales because of a stupid record field confusion in OCaml
This commit is contained in:
Denis Merigoux 2022-02-07 18:38:31 +01:00
parent 1c4a0bdd5d
commit 5c6a43da57
No known key found for this signature in database
GPG Key ID: EE99DCFA365C3EE3
10 changed files with 9165 additions and 11263 deletions

View File

@ -327,11 +327,13 @@ let format_ctx (type_ordering : Scopelang.Dependency.TVertex.t list) (fmt : Form
Format.fprintf fmt "\t\tself.%a = %a" format_struct_field_name struct_field Format.fprintf fmt "\t\tself.%a = %a" format_struct_field_name struct_field
format_struct_field_name struct_field)) format_struct_field_name struct_field))
struct_fields format_struct_name struct_name struct_fields format_struct_name struct_name
(Format.pp_print_list (if List.length struct_fields > 0 then
Format.pp_print_list
~pp_sep:(fun fmt () -> Format.fprintf fmt " and@ ") ~pp_sep:(fun fmt () -> Format.fprintf fmt " and@ ")
(fun _fmt (struct_field, _) -> (fun _fmt (struct_field, _) ->
Format.fprintf fmt "self.%a == other.%a" format_struct_field_name struct_field Format.fprintf fmt "self.%a == other.%a" format_struct_field_name struct_field
format_struct_field_name struct_field)) format_struct_field_name struct_field)
else fun fmt _ -> Format.fprintf fmt "True")
struct_fields format_struct_name struct_name struct_fields format_struct_name struct_name
(Format.pp_print_list (Format.pp_print_list
~pp_sep:(fun fmt () -> Format.fprintf fmt ",") ~pp_sep:(fun fmt () -> Format.fprintf fmt ",")

View File

@ -69,31 +69,31 @@ déclaration structure EnfantEntrée:
donnée d_a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen donnée d_a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen
déclaration champ d'application InterfaceAllocationsFamiliales: déclaration champ d'application InterfaceAllocationsFamiliales:
entrée date_courante contenu date entrée i_date_courante contenu date
entrée enfants contenu collection EnfantEntrée entrée i_enfants contenu collection EnfantEntrée
interne enfants_à_charge contenu collection Enfant interne enfants_à_charge contenu collection Enfant
allocations_familiales champ d'application AllocationsFamiliales allocations_familiales champ d'application AllocationsFamiliales
entrée ressources_ménage contenu argent entrée i_ressources_ménage contenu argent
entrée résidence contenu Collectivité entrée i_résidence contenu Collectivité
sortie montant_versé contenu argent sortie i_montant_versé contenu argent
entrée personne_charge_effective_permanente_est_parent condition entrée i_personne_charge_effective_permanente_est_parent condition
entrée personne_charge_effective_permanente_remplit_titre_I condition entrée i_personne_charge_effective_permanente_remplit_titre_I condition
entrée avait_enfant_à_charge_avant_1er_janvier_2012 condition entrée i_avait_enfant_à_charge_avant_1er_janvier_2012 condition
champ d'application InterfaceAllocationsFamiliales: champ d'application InterfaceAllocationsFamiliales:
définition allocations_familiales.date_courante égal à date_courante définition allocations_familiales.date_courante égal à i_date_courante
définition allocations_familiales.enfants_à_charge égal à enfants_à_charge définition allocations_familiales.enfants_à_charge égal à enfants_à_charge
définition allocations_familiales.ressources_ménage égal à ressources_ménage définition allocations_familiales.ressources_ménage égal à i_ressources_ménage
définition allocations_familiales.résidence égal à résidence définition allocations_familiales.résidence égal à i_résidence
définition montant_versé égal à allocations_familiales.montant_versé définition i_montant_versé égal à allocations_familiales.montant_versé
règle allocations_familiales.personne_charge_effective_permanente_est_parent règle allocations_familiales.personne_charge_effective_permanente_est_parent
sous condition personne_charge_effective_permanente_est_parent conséquence sous condition i_personne_charge_effective_permanente_est_parent conséquence
rempli rempli
règle allocations_familiales.personne_charge_effective_permanente_remplit_titre_I règle allocations_familiales.personne_charge_effective_permanente_remplit_titre_I
sous condition personne_charge_effective_permanente_remplit_titre_I conséquence sous condition i_personne_charge_effective_permanente_remplit_titre_I conséquence
rempli rempli
règle allocations_familiales.avait_enfant_à_charge_avant_1er_janvier_2012 règle allocations_familiales.avait_enfant_à_charge_avant_1er_janvier_2012
sous condition avait_enfant_à_charge_avant_1er_janvier_2012 conséquence sous condition i_avait_enfant_à_charge_avant_1er_janvier_2012 conséquence
rempli rempli
``` ```
@ -109,18 +109,18 @@ particulières imposant une scolarité plus longue.
```catala ```catala
champ d'application InterfaceAllocationsFamiliales: champ d'application InterfaceAllocationsFamiliales:
définition enfants_à_charge égal à application pour enfant dans enfants de définition enfants_à_charge égal à application pour enfant dans i_enfants de
Enfant { Enfant {
-- identifiant : enfant.d_identifiant -- identifiant : enfant.d_identifiant
-- rémuneration_mensuelle : enfant.d_rémuneration_mensuelle -- rémuneration_mensuelle : enfant.d_rémuneration_mensuelle
-- date_de_naissance : enfant.d_date_de_naissance -- date_de_naissance : enfant.d_date_de_naissance
-- prise_en_charge : enfant.d_prise_en_charge -- prise_en_charge : enfant.d_prise_en_charge
-- âge: accès_année de -- âge: accès_année de
(|0000-01-01| +@ (date_courante -@ enfant.d_date_de_naissance)) (|0000-01-01| +@ (i_date_courante -@ enfant.d_date_de_naissance))
-- obligation_scolaire : -- obligation_scolaire :
(si enfant.d_date_de_naissance +@ 3 an >=@ date_courante alors (si enfant.d_date_de_naissance +@ 3 an >=@ i_date_courante alors
Avant Avant
sinon (si enfant.d_date_de_naissance +@ 16 an >=@ date_courante alors sinon (si enfant.d_date_de_naissance +@ 16 an >=@ i_date_courante alors
Pendant Pendant
sinon Après)) sinon Après))
-- a_déjà_ouvert_droit_aux_allocations_familiales: -- a_déjà_ouvert_droit_aux_allocations_familiales:

View File

@ -52,26 +52,26 @@ déclaration champ d'application Test1:
données champ d'application Données données champ d'application Données
champ d'application Test1: champ d'application Test1:
définition f.enfants égal à définition f.i_enfants égal à
[données.enfant1;données.enfant2;données.enfant3;données.enfant4] [données.enfant1;données.enfant2;données.enfant3;données.enfant4]
définition f.ressources_ménage égal à 30 000 € définition f.i_ressources_ménage égal à 30 000 €
définition f.date_courante égal à |2020-05-01| définition f.i_date_courante égal à |2020-05-01|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 351,26€ assertion f.i_montant_versé = 351,26€
déclaration champ d'application Test2: déclaration champ d'application Test2:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
données champ d'application Données données champ d'application Données
champ d'application Test2: champ d'application Test2:
définition f.enfants égal à définition f.i_enfants égal à
[données.enfant1;données.enfant2;données.enfant5] [données.enfant1;données.enfant2;données.enfant5]
définition f.ressources_ménage égal à 30 000 € définition f.i_ressources_ménage égal à 30 000 €
définition f.date_courante égal à |2020-05-01| définition f.i_date_courante égal à |2020-05-01|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 216,27€ assertion f.i_montant_versé = 216,27€
déclaration champ d'application Test3: déclaration champ d'application Test3:
@ -79,42 +79,42 @@ déclaration champ d'application Test3:
données champ d'application Données données champ d'application Données
champ d'application Test3: champ d'application Test3:
définition f.enfants égal à [données.enfant1] définition f.i_enfants égal à [données.enfant1]
définition f.ressources_ménage égal à 63540 € définition f.i_ressources_ménage égal à 63540 €
définition f.date_courante égal à |2020-05-01| définition f.i_date_courante égal à |2020-05-01|
définition f.résidence égal à Guyane définition f.i_résidence égal à Guyane
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 24,35 € assertion f.i_montant_versé = 24,35 €
déclaration champ d'application Test4: déclaration champ d'application Test4:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
données champ d'application Données données champ d'application Données
champ d'application Test4: champ d'application Test4:
définition f.enfants égal à [données.enfant1; données.enfant3] définition f.i_enfants égal à [données.enfant1; données.enfant3]
définition f.ressources_ménage égal à 67 250 € définition f.i_ressources_ménage égal à 67 250 €
définition f.date_courante égal à |2020-05-01| définition f.i_date_courante égal à |2020-05-01|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 99,37€ assertion f.i_montant_versé = 99,37€
déclaration champ d'application Test5: déclaration champ d'application Test5:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
données champ d'application Données données champ d'application Données
champ d'application Test5: champ d'application Test5:
définition f.enfants égal à [données.enfant1] définition f.i_enfants égal à [données.enfant1]
définition f.ressources_ménage égal à 30 000 € définition f.i_ressources_ménage égal à 30 000 €
définition f.date_courante égal à |2020-05-01| définition f.i_date_courante égal à |2020-05-01|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 0,00€ assertion f.i_montant_versé = 0,00€
déclaration champ d'application Test6: déclaration champ d'application Test6:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
champ d'application Test6: champ d'application Test6:
définition f.enfants égal à [EnfantEntrée { définition f.i_enfants égal à [EnfantEntrée {
-- d_identifiant: 0 -- d_identifiant: 0
-- d_date_de_naissance: |2009-11-10| -- d_date_de_naissance: |2009-11-10|
-- d_rémuneration_mensuelle: 439€ -- d_rémuneration_mensuelle: 439€
@ -127,30 +127,30 @@ champ d'application Test6:
-- d_prise_en_charge: EffectiveEtPermanente -- d_prise_en_charge: EffectiveEtPermanente
-- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai
}] }]
définition f.ressources_ménage égal à 78 830 € définition f.i_ressources_ménage égal à 78 830 €
définition f.date_courante égal à |2020-05-01| définition f.i_date_courante égal à |2020-05-01|
définition f.résidence égal à Guadeloupe définition f.i_résidence égal à Guadeloupe
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 66,25€ assertion f.i_montant_versé = 66,25€
déclaration champ d'application Test7: déclaration champ d'application Test7:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
données champ d'application Données données champ d'application Données
champ d'application Test7: champ d'application Test7:
définition f.enfants égal à définition f.i_enfants égal à
[données.enfant1;données.enfant2;données.enfant3;données.enfant4] [données.enfant1;données.enfant2;données.enfant3;données.enfant4]
définition f.ressources_ménage égal à 30 000 € définition f.i_ressources_ménage égal à 30 000 €
définition f.date_courante égal à |2021-02-01| définition f.i_date_courante égal à |2021-02-01|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 417,51€ assertion f.i_montant_versé = 417,51€
déclaration champ d'application Test8: déclaration champ d'application Test8:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
champ d'application Test8: champ d'application Test8:
définition f.enfants égal à [EnfantEntrée { définition f.i_enfants égal à [EnfantEntrée {
-- d_identifiant: 0 -- d_identifiant: 0
-- d_date_de_naissance: |2004-01-01| -- d_date_de_naissance: |2004-01-01|
-- d_rémuneration_mensuelle: 0€ -- d_rémuneration_mensuelle: 0€
@ -163,17 +163,17 @@ champ d'application Test8:
-- d_prise_en_charge: EffectiveEtPermanente -- d_prise_en_charge: EffectiveEtPermanente
-- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai
}] }]
définition f.ressources_ménage égal à 69945 € définition f.i_ressources_ménage égal à 69945 €
définition f.date_courante égal à |2021-01-01| définition f.i_date_courante égal à |2021-01-01|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 197,74€ assertion f.i_montant_versé = 197,74€
déclaration champ d'application Test9: déclaration champ d'application Test9:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
champ d'application Test9: champ d'application Test9:
définition f.enfants égal à [EnfantEntrée { définition f.i_enfants égal à [EnfantEntrée {
-- d_identifiant: 0 -- d_identifiant: 0
-- d_date_de_naissance: |2001-07-27| -- d_date_de_naissance: |2001-07-27|
-- d_rémuneration_mensuelle: 1258€ -- d_rémuneration_mensuelle: 1258€
@ -186,17 +186,17 @@ champ d'application Test9:
-- d_prise_en_charge: ServicesSociauxAllocationVerséeAuxServicesSociaux -- d_prise_en_charge: ServicesSociauxAllocationVerséeAuxServicesSociaux
-- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai
}] }]
définition f.ressources_ménage égal à 75786 € définition f.i_ressources_ménage égal à 75786 €
définition f.date_courante égal à |2020-05-01| définition f.i_date_courante égal à |2020-05-01|
définition f.résidence égal à Guadeloupe définition f.i_résidence égal à Guadeloupe
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 0€ assertion f.i_montant_versé = 0€
déclaration champ d'application Test10: déclaration champ d'application Test10:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
champ d'application Test10: champ d'application Test10:
définition f.enfants égal à [EnfantEntrée { définition f.i_enfants égal à [EnfantEntrée {
-- d_identifiant: 0 -- d_identifiant: 0
-- d_date_de_naissance: |2003-02-22| -- d_date_de_naissance: |2003-02-22|
-- d_rémuneration_mensuelle: 0€ -- d_rémuneration_mensuelle: 0€
@ -209,17 +209,17 @@ champ d'application Test10:
-- d_prise_en_charge: GardeAlternéePartageAllocations -- d_prise_en_charge: GardeAlternéePartageAllocations
-- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai
}] }]
définition f.ressources_ménage égal à 30000 € définition f.i_ressources_ménage égal à 30000 €
définition f.date_courante égal à |2020-04-20| définition f.i_date_courante égal à |2020-04-20|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 99,37€ assertion f.i_montant_versé = 99,37€
déclaration champ d'application Test11: déclaration champ d'application Test11:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
champ d'application Test11: champ d'application Test11:
définition f.enfants égal à [EnfantEntrée { définition f.i_enfants égal à [EnfantEntrée {
-- d_identifiant: 0 -- d_identifiant: 0
-- d_date_de_naissance: |2003-02-22| -- d_date_de_naissance: |2003-02-22|
-- d_rémuneration_mensuelle: 0€ -- d_rémuneration_mensuelle: 0€
@ -239,17 +239,17 @@ champ d'application Test11:
-- d_prise_en_charge: EffectiveEtPermanente -- d_prise_en_charge: EffectiveEtPermanente
-- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai
}] }]
définition f.ressources_ménage égal à 30000 € définition f.i_ressources_ménage égal à 30000 €
définition f.date_courante égal à |2021-12-31| définition f.i_date_courante égal à |2021-12-31|
définition f.résidence égal à Métropole définition f.i_résidence égal à Métropole
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 435,55€ assertion f.i_montant_versé = 435,55€
déclaration champ d'application Test12: déclaration champ d'application Test12:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
champ d'application Test12: champ d'application Test12:
définition f.enfants égal à [EnfantEntrée { définition f.i_enfants égal à [EnfantEntrée {
-- d_identifiant: 0 -- d_identifiant: 0
-- d_date_de_naissance: |2003-02-22| -- d_date_de_naissance: |2003-02-22|
-- d_rémuneration_mensuelle: 0€ -- d_rémuneration_mensuelle: 0€
@ -276,27 +276,27 @@ champ d'application Test12:
-- d_prise_en_charge: EffectiveEtPermanente -- d_prise_en_charge: EffectiveEtPermanente
-- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai
}] }]
définition f.ressources_ménage égal à 20000 € définition f.i_ressources_ménage égal à 20000 €
définition f.date_courante égal à |2019-08-26| définition f.i_date_courante égal à |2019-08-26|
définition f.résidence égal à Mayotte définition f.i_résidence égal à Mayotte
règle f.avait_enfant_à_charge_avant_1er_janvier_2012 rempli règle f.i_avait_enfant_à_charge_avant_1er_janvier_2012 rempli
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 315,84€ assertion f.i_montant_versé = 315,84€
déclaration champ d'application Test13: déclaration champ d'application Test13:
f champ d'application InterfaceAllocationsFamiliales f champ d'application InterfaceAllocationsFamiliales
champ d'application Test13: champ d'application Test13:
définition f.enfants égal à [EnfantEntrée { définition f.i_enfants égal à [EnfantEntrée {
-- d_identifiant: 0 -- d_identifiant: 0
-- d_date_de_naissance: |2008-02-22| -- d_date_de_naissance: |2008-02-22|
-- d_rémuneration_mensuelle: 0€ -- d_rémuneration_mensuelle: 0€
-- d_prise_en_charge: EffectiveEtPermanente -- d_prise_en_charge: EffectiveEtPermanente
-- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai
}] }]
définition f.ressources_ménage égal à 65000 € définition f.i_ressources_ménage égal à 65000 €
définition f.date_courante égal à |2019-08-26| définition f.i_date_courante égal à |2019-08-26|
définition f.résidence égal à Mayotte définition f.i_résidence égal à Mayotte
règle f.personne_charge_effective_permanente_est_parent rempli règle f.i_personne_charge_effective_permanente_est_parent rempli
assertion f.montant_versé = 34,99€ assertion f.i_montant_versé = 34,99€
``` ```

File diff suppressed because one or more lines are too long

View File

@ -22,15 +22,14 @@ let compute_allocations_familiales ~(current_date : Runtime.date)
let result = let result =
AF.interface_allocations_familiales AF.interface_allocations_familiales
{ {
AF.date_courante_in = (fun _ -> current_date); AF.i_date_courante_in = (fun _ -> current_date);
AF.enfants_in = (fun _ -> children); AF.i_enfants_in = (fun _ -> children);
AF.enfants_a_charge_in = no_input; AF.i_ressources_menage_in = (fun _ -> money_of_units_int income);
AF.ressources_menage_in = (fun _ -> money_of_units_int income); AF.i_residence_in = (fun _ -> residence);
AF.residence_in = (fun _ -> residence); AF.i_personne_charge_effective_permanente_est_parent_in = (fun _ -> is_parent);
AF.montant_verse_in = no_input; AF.i_personne_charge_effective_permanente_remplit_titre_I_in = (fun _ -> fills_title_I);
AF.personne_charge_effective_permanente_est_parent_in = (fun _ -> is_parent); AF.i_avait_enfant_a_charge_avant_1er_janvier_2012_in =
AF.personne_charge_effective_permanente_remplit_titre_I_in = (fun _ -> fills_title_I); (fun _ -> had_rights_open_before_2012);
AF.avait_enfant_a_charge_avant_1er_janvier_2012_in = (fun _ -> had_rights_open_before_2012);
} }
in in
money_to_float result.AF.montant_verse_out money_to_float result.AF.i_montant_verse_out

View File

@ -199,20 +199,20 @@ let _ =
let result = let result =
AF.interface_allocations_familiales AF.interface_allocations_familiales
{ {
AF.personne_charge_effective_permanente_est_parent_in = AF.i_personne_charge_effective_permanente_est_parent_in =
(fun _ -> (fun _ ->
Js.to_bool input##.personneQuiAssumeLaChargeEffectivePermanenteEstParent); Js.to_bool input##.personneQuiAssumeLaChargeEffectivePermanenteEstParent);
AF.personne_charge_effective_permanente_remplit_titre_I_in = AF.i_personne_charge_effective_permanente_remplit_titre_I_in =
(fun _ -> (fun _ ->
Js.to_bool Js.to_bool
input##.personneQuiAssumeLaChargeEffectivePermanenteRemplitConditionsTitreISecuriteSociale); input##.personneQuiAssumeLaChargeEffectivePermanenteRemplitConditionsTitreISecuriteSociale);
AF.date_courante_in = AF.i_date_courante_in =
(fun _ -> (fun _ ->
date_of_numbers date_of_numbers
input##.currentDate##getUTCFullYear input##.currentDate##getUTCFullYear
input##.currentDate##getUTCMonth input##.currentDate##getUTCMonth
input##.currentDate##getUTCDate); input##.currentDate##getUTCDate);
AF.enfants_in = AF.i_enfants_in =
(fun _ -> (fun _ ->
Array.map Array.map
(fun (child : enfant_entree Js.t) -> (fun (child : enfant_entree Js.t) ->
@ -242,9 +242,8 @@ let _ =
money_of_units_int child##.remunerationMensuelle; money_of_units_int child##.remunerationMensuelle;
}) })
(Js.to_array input##.children)); (Js.to_array input##.children));
AF.enfants_a_charge_in = no_input; AF.i_ressources_menage_in = (fun _ -> money_of_units_int input##.income);
AF.ressources_menage_in = (fun _ -> money_of_units_int input##.income); AF.i_residence_in =
AF.residence_in =
(fun _ -> (fun _ ->
match Js.to_string input##.residence with match Js.to_string input##.residence with
| "Métropole" -> AF.Metropole () | "Métropole" -> AF.Metropole ()
@ -257,10 +256,9 @@ let _ =
| "Saint Martin" -> AF.SaintMartin () | "Saint Martin" -> AF.SaintMartin ()
| "Mayotte" -> AF.Mayotte () | "Mayotte" -> AF.Mayotte ()
| _ -> failwith "unknown collectivite!"); | _ -> failwith "unknown collectivite!");
AF.montant_verse_in = no_input; AF.i_avait_enfant_a_charge_avant_1er_janvier_2012_in =
AF.avait_enfant_a_charge_avant_1er_janvier_2012_in =
(fun _ -> Js.to_bool input##.avaitEnfantAChargeAvant1erJanvier2012); (fun _ -> Js.to_bool input##.avaitEnfantAChargeAvant1erJanvier2012);
} }
in in
money_to_float result.AF.montant_verse_out) money_to_float result.AF.i_montant_verse_out)
end) end)

File diff suppressed because it is too large Load Diff

View File

@ -62,28 +62,16 @@ type enfant = {
a_deja_ouvert_droit_aux_allocations_familiales : bool; a_deja_ouvert_droit_aux_allocations_familiales : bool;
} }
type interface_allocations_familiales_out = { type interface_allocations_familiales_out = { i_montant_verse_out : money }
date_courante_out : date;
enfants_out : enfant_entree array;
enfants_a_charge_out : enfant array;
ressources_menage_out : money;
residence_out : collectivite;
montant_verse_out : money;
personne_charge_effective_permanente_est_parent_out : bool;
personne_charge_effective_permanente_remplit_titre_I_out : bool;
avait_enfant_a_charge_avant_1er_janvier_2012_out : bool;
}
type interface_allocations_familiales_in = { type interface_allocations_familiales_in = {
date_courante_in : unit -> date; i_date_courante_in : unit -> date;
enfants_in : unit -> enfant_entree array; i_enfants_in : unit -> enfant_entree array;
enfants_a_charge_in : unit -> enfant array; i_ressources_menage_in : unit -> money;
ressources_menage_in : unit -> money; i_residence_in : unit -> collectivite;
residence_in : unit -> collectivite; i_personne_charge_effective_permanente_est_parent_in : unit -> bool;
montant_verse_in : unit -> money; i_personne_charge_effective_permanente_remplit_titre_I_in : unit -> bool;
personne_charge_effective_permanente_est_parent_in : unit -> bool; i_avait_enfant_a_charge_avant_1er_janvier_2012_in : unit -> bool;
personne_charge_effective_permanente_remplit_titre_I_in : unit -> bool;
avait_enfant_a_charge_avant_1er_janvier_2012_in : unit -> bool;
} }
val interface_allocations_familiales : val interface_allocations_familiales :

File diff suppressed because it is too large Load Diff

View File

@ -38,15 +38,13 @@ def allocations_familiales(
avait_enfant_a_charge_avant_1er_janvier_2012: bool avait_enfant_a_charge_avant_1er_janvier_2012: bool
): ):
out = interface_allocations_familiales(InterfaceAllocationsFamilialesIn( out = interface_allocations_familiales(InterfaceAllocationsFamilialesIn(
date_courante_in=lambda _: date_of_datetime(date_courante), i_date_courante_in=lambda _: date_of_datetime(date_courante),
enfants_in=lambda _: [enfant.to_allocations_familiales() i_enfants_in=lambda _: [enfant.to_allocations_familiales()
for enfant in enfants], for enfant in enfants],
ressources_menage_in=lambda _: money_of_units_int(ressources_menage), i_ressources_menage_in=lambda _: money_of_units_int(ressources_menage),
residence_in=lambda _: Collectivite(residence, Unit()), i_residence_in=lambda _: Collectivite(residence, Unit()),
personne_charge_effective_permanente_est_parent_in=lambda _: personne_charge_effective_permanente_est_parent, i_personne_charge_effective_permanente_est_parent_in=lambda _: personne_charge_effective_permanente_est_parent,
personne_charge_effective_permanente_remplit_titre_I_in=lambda _: personne_charge_effective_permanente_remplit_titre_I, i_personne_charge_effective_permanente_remplit_titre_I_in=lambda _: personne_charge_effective_permanente_remplit_titre_I,
enfants_a_charge_in=no_input(), i_avait_enfant_a_charge_avant_1er_janvier_2012_in=lambda _: avait_enfant_a_charge_avant_1er_janvier_2012
montant_verse_in=no_input(),
avait_enfant_a_charge_avant_1er_janvier_2012_in=lambda _: avait_enfant_a_charge_avant_1er_janvier_2012
)) ))
return money_to_float(out.montant_verse_out) return money_to_float(out.i_montant_verse_out)