@tricoteuses/assemblee 1.10.5 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -1
- package/lib/amendements-CN7bRFdP.js +259 -0
- package/lib/amendements-CN7bRFdP.js.map +1 -0
- package/lib/amendements-Cg1lyCBp.js +735 -0
- package/lib/amendements-Cg1lyCBp.js.map +1 -0
- package/lib/api.d.ts +1 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts +1 -0
- package/lib/cleaners/actes_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/acteurs.d.ts +1 -0
- package/lib/cleaners/acteurs.d.ts.map +1 -0
- package/lib/cleaners/amendements.d.ts +1 -0
- package/lib/cleaners/amendements.d.ts.map +1 -0
- package/lib/cleaners/debats.d.ts +1 -0
- package/lib/cleaners/debats.d.ts.map +1 -0
- package/lib/cleaners/documents.d.ts +1 -0
- package/lib/cleaners/documents.d.ts.map +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts +1 -0
- package/lib/cleaners/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/cleaners/index.d.ts +10 -9
- package/lib/cleaners/index.d.ts.map +1 -0
- package/lib/cleaners/organes.d.ts +1 -0
- package/lib/cleaners/organes.d.ts.map +1 -0
- package/lib/cleaners/questions.d.ts +1 -0
- package/lib/cleaners/questions.d.ts.map +1 -0
- package/lib/cleaners/reunions.d.ts +1 -0
- package/lib/cleaners/reunions.d.ts.map +1 -0
- package/lib/cleaners/scrutins.d.ts +1 -0
- package/lib/cleaners/scrutins.d.ts.map +1 -0
- package/lib/cleaners/xml.d.ts +1 -0
- package/lib/cleaners/xml.d.ts.map +1 -0
- package/lib/cleaners.js +1138 -0
- package/lib/cleaners.js.map +1 -0
- package/lib/datasets.d.ts +4 -3
- package/lib/datasets.d.ts.map +1 -0
- package/lib/dates.d.ts +1 -0
- package/lib/dates.d.ts.map +1 -0
- package/lib/debats-BwZYgzXe.js +3978 -0
- package/lib/debats-BwZYgzXe.js.map +1 -0
- package/lib/dossiers_legislatifs.d.ts +3 -2
- package/lib/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/file_systems.d.ts +1 -0
- package/lib/file_systems.d.ts.map +1 -0
- package/lib/git.d.ts +1 -0
- package/lib/git.d.ts.map +1 -0
- package/lib/index.d.ts +18 -22
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1916 -285
- package/lib/index.js.map +1 -0
- package/lib/inserters.d.ts +6 -5
- package/lib/inserters.d.ts.map +1 -0
- package/lib/loaders.d.ts +13 -12
- package/lib/loaders.d.ts.map +1 -0
- package/lib/loaders.js +812 -1516
- package/lib/loaders.js.map +1 -0
- package/lib/logger.d.ts +1 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/organes.d.ts +2 -1
- package/lib/organes.d.ts.map +1 -0
- package/lib/parse-CzW8NHW5.js +2850 -0
- package/lib/parse-CzW8NHW5.js.map +1 -0
- package/lib/parsers/index.d.ts +3 -3
- package/lib/parsers/index.d.ts.map +1 -0
- package/lib/parsers/plf.d.ts +2 -0
- package/lib/parsers/plf.d.ts.map +1 -0
- package/lib/parsers/recherche_amendements.d.ts +3 -2
- package/lib/parsers/recherche_amendements.d.ts.map +1 -0
- package/lib/parsers/textes_lois.d.ts +2 -23
- package/lib/parsers/textes_lois.d.ts.map +1 -0
- package/lib/parsers.js +393 -0
- package/lib/parsers.js.map +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
- package/lib/raw_types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/raw_types/agendas.d.ts +1 -0
- package/lib/raw_types/agendas.d.ts.map +1 -0
- package/lib/raw_types/amendements.d.ts +1 -0
- package/lib/raw_types/amendements.d.ts.map +1 -0
- package/lib/raw_types/debats.d.ts +3 -2
- package/lib/raw_types/debats.d.ts.map +1 -0
- package/lib/raw_types/dossiers_legislatifs.d.ts +2 -1
- package/lib/raw_types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/raw_types/questions.d.ts +1 -0
- package/lib/raw_types/questions.d.ts.map +1 -0
- package/lib/raw_types/scrutins.d.ts +1 -0
- package/lib/raw_types/scrutins.d.ts.map +1 -0
- package/lib/schemas/acteurs_et_organes.d.json +982 -0
- package/lib/schemas/acteurs_et_organes.json +1166 -0
- package/lib/schemas/agendas.d.json +1561 -0
- package/lib/schemas/agendas.json +1745 -0
- package/lib/schemas/amendements.d.json +1901 -0
- package/lib/schemas/amendements.json +2085 -0
- package/lib/schemas/debats.d.json +623 -0
- package/lib/schemas/debats.json +842 -0
- package/lib/schemas/dossiers_legislatifs.d.json +3690 -0
- package/lib/schemas/dossiers_legislatifs.json +3874 -0
- package/lib/schemas/legislatures.d.json +17 -0
- package/lib/schemas/legislatures.json +17 -0
- package/lib/schemas/questions.d.json +520 -0
- package/lib/schemas/questions.json +704 -0
- package/lib/schemas/scrutins.d.json +517 -0
- package/lib/schemas/scrutins.json +701 -0
- package/lib/scripts/add_links_to_documents.d.ts +2 -0
- package/lib/scripts/add_links_to_documents.d.ts.map +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts +1 -0
- package/lib/scripts/clean_reorganized_data.d.ts.map +1 -0
- package/lib/scripts/copy-schemas.d.ts +2 -0
- package/lib/scripts/copy-schemas.d.ts.map +1 -0
- package/lib/scripts/diff_amendements.d.ts +1 -0
- package/lib/scripts/diff_amendements.d.ts.map +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts +1 -0
- package/lib/scripts/document_dossiers_legislatifs.d.ts.map +1 -0
- package/lib/scripts/generate-json-schemas.d.ts +2 -0
- package/lib/scripts/generate-json-schemas.d.ts.map +1 -0
- package/lib/scripts/get_today_reunions.d.ts +1 -0
- package/lib/scripts/get_today_reunions.d.ts.map +1 -0
- package/lib/scripts/merge_scrutins.d.ts +1 -0
- package/lib/scripts/merge_scrutins.d.ts.map +1 -0
- package/lib/scripts/process_open_dataset.d.ts +1 -0
- package/lib/scripts/process_open_dataset.d.ts.map +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts +1 -0
- package/lib/scripts/raw_types_from_amendements.d.ts.map +1 -0
- package/lib/scripts/reorganize_data.d.ts +1 -0
- package/lib/scripts/reorganize_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_deputes_photos.d.ts +2 -1
- package/lib/scripts/retrieve_deputes_photos.d.ts.map +1 -0
- package/lib/scripts/retrieve_documents.d.ts +1 -0
- package/lib/scripts/retrieve_documents.d.ts.map +1 -0
- package/lib/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/scripts/retrieve_open_data.d.ts.map +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts +1 -0
- package/lib/scripts/retrieve_pending_amendments.d.ts.map +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts.map +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts +1 -0
- package/lib/scripts/shared/cli_helpers.d.ts.map +1 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.d.ts.map +1 -0
- package/lib/scripts/test_load.d.ts +1 -0
- package/lib/scripts/test_load.d.ts.map +1 -0
- package/lib/scripts/test_load_big_files.d.ts +1 -0
- package/lib/scripts/test_load_big_files.d.ts.map +1 -0
- package/lib/scripts/validate_json.d.ts +1 -0
- package/lib/scripts/validate_json.d.ts.map +1 -0
- package/lib/shared_types/codes_actes.d.ts +1 -0
- package/lib/shared_types/codes_actes.d.ts.map +1 -0
- package/lib/strings.d.ts +1 -0
- package/lib/strings.d.ts.map +1 -0
- package/lib/types/acteurs_et_organes.d.ts +341 -0
- package/lib/types/acteurs_et_organes.d.ts.map +1 -0
- package/lib/types/agendas.d.ts +237 -10
- package/lib/types/agendas.d.ts.map +1 -0
- package/lib/types/amendements.d.ts +277 -1
- package/lib/types/amendements.d.ts.map +1 -0
- package/lib/types/debats.d.ts +53 -2
- package/lib/types/debats.d.ts.map +1 -0
- package/lib/types/dossiers_legislatifs.d.ts +404 -9
- package/lib/types/dossiers_legislatifs.d.ts.map +1 -0
- package/lib/types/legislatures.d.ts +1 -0
- package/lib/types/legislatures.d.ts.map +1 -0
- package/lib/types/questions.d.ts +100 -2
- package/lib/types/questions.d.ts.map +1 -0
- package/lib/types/scrutins.d.ts +102 -0
- package/lib/types/scrutins.d.ts.map +1 -0
- package/lib/urls.d.ts +3 -2
- package/lib/urls.d.ts.map +1 -0
- package/package.json +31 -95
- package/lib/api.js +0 -52
- package/lib/api.mjs +0 -45
- package/lib/bugs/acteur-00010/plugin.test.d.ts +0 -1
- package/lib/bugs/acteur-00010/plugin.test.js +0 -90
- package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
- package/lib/bugs/acteur-00010.d.ts +0 -7
- package/lib/bugs/acteur-00010.js +0 -116
- package/lib/bugs/acteur-00010.mjs +0 -26
- package/lib/bugs/agenda-00002/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00002/plugin.test.js +0 -124
- package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
- package/lib/bugs/agenda-00002.d.ts +0 -15
- package/lib/bugs/agenda-00002.js +0 -406
- package/lib/bugs/agenda-00002.mjs +0 -172
- package/lib/bugs/agenda-00008/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00008/plugin.test.js +0 -92
- package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
- package/lib/bugs/agenda-00008.d.ts +0 -7
- package/lib/bugs/agenda-00008.js +0 -123
- package/lib/bugs/agenda-00008.mjs +0 -26
- package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00011/plugin.test.js +0 -263
- package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
- package/lib/bugs/agenda-00011.d.ts +0 -16
- package/lib/bugs/agenda-00011.js +0 -333
- package/lib/bugs/agenda-00011.mjs +0 -125
- package/lib/bugs.d.ts +0 -21
- package/lib/bugs.js +0 -452
- package/lib/bugs.mjs +0 -70
- package/lib/cleaners/actes_legislatifs.js +0 -315
- package/lib/cleaners/actes_legislatifs.mjs +0 -253
- package/lib/cleaners/acteurs.js +0 -265
- package/lib/cleaners/acteurs.mjs +0 -180
- package/lib/cleaners/amendements.js +0 -294
- package/lib/cleaners/amendements.mjs +0 -227
- package/lib/cleaners/debats.js +0 -12
- package/lib/cleaners/debats.mjs +0 -5
- package/lib/cleaners/documents.js +0 -205
- package/lib/cleaners/documents.mjs +0 -133
- package/lib/cleaners/dossiers_legislatifs.js +0 -131
- package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
- package/lib/cleaners/index.js +0 -70
- package/lib/cleaners/index.mjs +0 -10
- package/lib/cleaners/organes.js +0 -65
- package/lib/cleaners/organes.mjs +0 -48
- package/lib/cleaners/questions.js +0 -12
- package/lib/cleaners/questions.mjs +0 -5
- package/lib/cleaners/reunions.js +0 -312
- package/lib/cleaners/reunions.mjs +0 -255
- package/lib/cleaners/scrutins.js +0 -340
- package/lib/cleaners/scrutins.mjs +0 -221
- package/lib/cleaners/xml.js +0 -74
- package/lib/cleaners/xml.mjs +0 -59
- package/lib/datasets.js +0 -837
- package/lib/datasets.mjs +0 -755
- package/lib/dates.js +0 -124
- package/lib/dates.mjs +0 -100
- package/lib/dossiers_legislatifs.js +0 -346
- package/lib/dossiers_legislatifs.mjs +0 -208
- package/lib/file_systems.js +0 -162
- package/lib/file_systems.mjs +0 -62
- package/lib/git.js +0 -223
- package/lib/git.mjs +0 -151
- package/lib/index.mjs +0 -17
- package/lib/inserters.js +0 -521
- package/lib/inserters.mjs +0 -337
- package/lib/loaders.mjs +0 -886
- package/lib/logger.js +0 -35
- package/lib/logger.mjs +0 -26
- package/lib/organes.js +0 -22
- package/lib/organes.mjs +0 -15
- package/lib/parsers/documents.d.ts +0 -62
- package/lib/parsers/documents.js +0 -453
- package/lib/parsers/documents.mjs +0 -370
- package/lib/parsers/index.js +0 -40
- package/lib/parsers/index.mjs +0 -4
- package/lib/parsers/recherche_amendements.js +0 -403
- package/lib/parsers/recherche_amendements.mjs +0 -167
- package/lib/parsers/textes_lois.js +0 -307
- package/lib/parsers/textes_lois.mjs +0 -264
- package/lib/raw_types/acteurs_et_organes.js +0 -1215
- package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
- package/lib/raw_types/agendas.js +0 -777
- package/lib/raw_types/agendas.mjs +0 -724
- package/lib/raw_types/amendements.js +0 -1052
- package/lib/raw_types/amendements.mjs +0 -993
- package/lib/raw_types/debats.js +0 -630
- package/lib/raw_types/debats.mjs +0 -573
- package/lib/raw_types/dossiers_legislatifs.js +0 -1529
- package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
- package/lib/raw_types/questions.js +0 -469
- package/lib/raw_types/questions.mjs +0 -416
- package/lib/raw_types/scrutins.js +0 -651
- package/lib/raw_types/scrutins.mjs +0 -598
- package/lib/schemas/acteur/Acteur.json +0 -56
- package/lib/schemas/acteur/AdresseElectronique.json +0 -52
- package/lib/schemas/acteur/AdressePostale.json +0 -75
- package/lib/schemas/acteur/Civ.json +0 -14
- package/lib/schemas/acteur/Collaborateur.json +0 -29
- package/lib/schemas/acteur/EtatCivil.json +0 -51
- package/lib/schemas/acteur/Ident.json +0 -40
- package/lib/schemas/acteur/Lieu.json +0 -66
- package/lib/schemas/acteur/Mandat.json +0 -192
- package/lib/schemas/acteur/Profession.json +0 -46
- package/lib/schemas/agenda/Agenda.json +0 -318
- package/lib/schemas/agenda/CycleDeVie.json +0 -45
- package/lib/schemas/agenda/PointOdj.json +0 -82
- package/lib/schemas/amendement/Amendement.json +0 -246
- package/lib/schemas/amendement/Diff.json +0 -25
- package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
- package/lib/schemas/amendement/Identifiant.json +0 -62
- package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
- package/lib/schemas/amendement/Representation.json +0 -67
- package/lib/schemas/amendement/Total.json +0 -26
- package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
- package/lib/schemas/converted_from_type/agendas.json +0 -1100
- package/lib/schemas/converted_from_type/amendements.json +0 -3191
- package/lib/schemas/converted_from_type/debats.json +0 -682
- package/lib/schemas/converted_from_type/deputes.json +0 -26
- package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
- package/lib/schemas/converted_from_type/legislatures.json +0 -16
- package/lib/schemas/converted_from_type/questions.json +0 -328
- package/lib/schemas/converted_from_type/scrutins.json +0 -393
- package/lib/schemas/debat/Contenu.json +0 -75
- package/lib/schemas/debat/Debat.json +0 -40
- package/lib/schemas/debat/Metadonnees.json +0 -75
- package/lib/schemas/debat/Orateur.json +0 -60
- package/lib/schemas/debat/Point.json +0 -169
- package/lib/schemas/debat/Sommaire.json +0 -71
- package/lib/schemas/debat/SommaireElement.json +0 -108
- package/lib/schemas/debat/Texte.json +0 -34
- package/lib/schemas/document/CodeLibelle.json +0 -25
- package/lib/schemas/document/Document.json +0 -385
- package/lib/schemas/document/Indexation.json +0 -38
- package/lib/schemas/dossier/ActeLegislatif.json +0 -211
- package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
- package/lib/schemas/dossier/Agenda.json +0 -23
- package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
- package/lib/schemas/dossier/Decision.json +0 -25
- package/lib/schemas/dossier/Dossier.json +0 -124
- package/lib/schemas/dossier/EtudeImpact.json +0 -29
- package/lib/schemas/dossier/EtudePlf.json +0 -105
- package/lib/schemas/dossier/Europe.json +0 -42
- package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
- package/lib/schemas/dossier/InfoJO.json +0 -23
- package/lib/schemas/dossier/Initiateur.json +0 -36
- package/lib/schemas/dossier/Motion.json +0 -27
- package/lib/schemas/dossier/Promulgation.json +0 -62
- package/lib/schemas/dossier/Rapporteur.json +0 -36
- package/lib/schemas/dossier/Texte.json +0 -47
- package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
- package/lib/schemas/organe/Organe.json +0 -136
- package/lib/schemas/organe/ViMoDe.json +0 -28
- package/lib/schemas/question/Auteur.json +0 -58
- package/lib/schemas/question/Cloture.json +0 -28
- package/lib/schemas/question/InfoJO.json +0 -40
- package/lib/schemas/question/MinAttribElement.json +0 -30
- package/lib/schemas/question/Question.json +0 -172
- package/lib/schemas/question/Renouvellement.json +0 -17
- package/lib/schemas/question/Signalement.json +0 -21
- package/lib/schemas/question/Texte.json +0 -24
- package/lib/schemas/scrutin/DecompteVoix.json +0 -35
- package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
- package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
- package/lib/schemas/scrutin/OrganeVotant.json +0 -88
- package/lib/schemas/scrutin/Scrutin.json +0 -187
- package/lib/schemas/scrutin/Votant.json +0 -37
- package/lib/scripts/bugs_helper.d.ts +0 -13
- package/lib/scripts/bugs_helper.js +0 -595
- package/lib/scripts/bugs_helper.mjs +0 -251
- package/lib/scripts/clean_reorganized_data.js +0 -613
- package/lib/scripts/clean_reorganized_data.mjs +0 -276
- package/lib/scripts/diff_amendements.js +0 -249
- package/lib/scripts/diff_amendements.mjs +0 -202
- package/lib/scripts/document_dossiers_legislatifs.js +0 -655
- package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
- package/lib/scripts/get_today_reunions.js +0 -37
- package/lib/scripts/get_today_reunions.mjs +0 -31
- package/lib/scripts/merge_scrutins.js +0 -97
- package/lib/scripts/merge_scrutins.mjs +0 -47
- package/lib/scripts/parse_textes_lois.d.ts +0 -1
- package/lib/scripts/parse_textes_lois.js +0 -171
- package/lib/scripts/parse_textes_lois.mjs +0 -140
- package/lib/scripts/process_open_dataset.js +0 -301
- package/lib/scripts/process_open_dataset.mjs +0 -134
- package/lib/scripts/raw_types_from_amendements.js +0 -135
- package/lib/scripts/raw_types_from_amendements.mjs +0 -134
- package/lib/scripts/reorganize_data.js +0 -805
- package/lib/scripts/reorganize_data.mjs +0 -517
- package/lib/scripts/retrieve_deputes_photos.js +0 -310
- package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
- package/lib/scripts/retrieve_documents.js +0 -547
- package/lib/scripts/retrieve_documents.mjs +0 -242
- package/lib/scripts/retrieve_open_data.js +0 -107
- package/lib/scripts/retrieve_open_data.mjs +0 -26
- package/lib/scripts/retrieve_pending_amendments.js +0 -206
- package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
- package/lib/scripts/retrieve_senateurs_photos.js +0 -234
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
- package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
- package/lib/scripts/retrieve_textes_lois.js +0 -240
- package/lib/scripts/retrieve_textes_lois.mjs +0 -85
- package/lib/scripts/shared/cli_helpers.js +0 -89
- package/lib/scripts/shared/cli_helpers.mjs +0 -81
- package/lib/scripts/test_iter_load.js +0 -155
- package/lib/scripts/test_iter_load.mjs +0 -72
- package/lib/scripts/test_load.js +0 -26
- package/lib/scripts/test_load.mjs +0 -16
- package/lib/scripts/test_load_big_files.js +0 -26
- package/lib/scripts/test_load_big_files.mjs +0 -16
- package/lib/scripts/validate_json.js +0 -353
- package/lib/scripts/validate_json.mjs +0 -184
- package/lib/shared_types/codes_actes.js +0 -231
- package/lib/shared_types/codes_actes.mjs +0 -224
- package/lib/strings.js +0 -16
- package/lib/strings.mjs +0 -7
- package/lib/types/acteurs_et_organes.js +0 -965
- package/lib/types/acteurs_et_organes.mjs +0 -906
- package/lib/types/agendas.js +0 -628
- package/lib/types/agendas.mjs +0 -575
- package/lib/types/amendements.js +0 -899
- package/lib/types/amendements.mjs +0 -842
- package/lib/types/debats.js +0 -619
- package/lib/types/debats.mjs +0 -562
- package/lib/types/dossiers_legislatifs.js +0 -1188
- package/lib/types/dossiers_legislatifs.mjs +0 -1130
- package/lib/types/legislatures.js +0 -17
- package/lib/types/legislatures.mjs +0 -10
- package/lib/types/questions.js +0 -454
- package/lib/types/questions.mjs +0 -401
- package/lib/types/scrutins.js +0 -556
- package/lib/types/scrutins.mjs +0 -503
- package/lib/urls.js +0 -325
- package/lib/urls.mjs +0 -258
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debats-BwZYgzXe.js","sources":["../src/types/acteurs_et_organes.js","../src/types/legislatures.js","../src/datasets.js","../src/types/agendas.js","../src/shared_types/codes_actes.js","../src/types/dossiers_legislatifs.js","../src/types/scrutins.js","../src/types/questions.js","../src/types/debats.js"],"sourcesContent":["// To parse this data:\n//\n// import { Convert, Acteur, Organe, ActeursEtOrganes } from \"./file\";\n//\n// const acteur = Convert.toActeur(json);\n// const organe = Convert.toOrgane(json);\n// const acteursEtOrganes = Convert.toActeursEtOrganes(json);\n//\n// These functions will throw an error if the JSON doesn't\n// match the expected interface, even if the JSON is valid.\n/**\n * Civilité\n *\n * Civilité\n */\nexport var Civ;\n(function (Civ) {\n Civ[\"M\"] = \"M.\";\n Civ[\"Mme\"] = \"Mme\";\n})(Civ || (Civ = {}));\nexport var TypeMandat;\n(function (TypeMandat) {\n TypeMandat[\"MandatAvecSuppleantType\"] = \"MandatAvecSuppleant_Type\";\n TypeMandat[\"MandatMissionType\"] = \"MandatMission_Type\";\n TypeMandat[\"MandatParlementaireType\"] = \"MandatParlementaire_type\";\n TypeMandat[\"MandatSimpleType\"] = \"MandatSimple_Type\";\n})(TypeMandat || (TypeMandat = {}));\n/**\n * Type de territoire de la circonscription du député (`{@link https://fr.wikipedia.org/wiki/R%C3%A9gion_fran%C3%A7aise | Métropolitain}`, `{@link https://fr.wikipedia.org/wiki/D%C3%A9partement_et_r%C3%A9gion_d%27outre-mer | Dom}`, `{@link https://fr.wikipedia.org/wiki/Collectivit%C3%A9_d%27outre-mer | Collectivités d'outre-mer et Nouvelle-Calédonie}` ou `{@link https://fr.wikipedia.org/wiki/Fran%C3%A7ais_%C3%A9tablis_hors_de_France | Français établis hors de France}`)\n */\nexport var RegionType;\n(function (RegionType) {\n RegionType[\"Collectivit\\u00E9sDOutreMerEtNouvelleCal\\u00E9donie\"] = \"Collectivit\\u00E9s d'outre-mer et Nouvelle-Cal\\u00E9donie\";\n RegionType[\"Dom\"] = \"Dom\";\n RegionType[\"Fran\\u00E7ais\\u00C9tablisHorsDeFrance\"] = \"Fran\\u00E7ais \\u00E9tablis hors de France\";\n RegionType[\"M\\u00E9tropolitain\"] = \"M\\u00E9tropolitain\";\n})(RegionType || (RegionType = {}));\n/**\n * Code du type d'organe\n */\nexport var CodeTypeOrgane;\n(function (CodeTypeOrgane) {\n CodeTypeOrgane[\"Api\"] = \"API\";\n CodeTypeOrgane[\"Assemblee\"] = \"ASSEMBLEE\";\n CodeTypeOrgane[\"Bureau\"] = \"BUREAU\";\n CodeTypeOrgane[\"Circonscription\"] = \"CIRCONSCRIPTION\";\n CodeTypeOrgane[\"Cjr\"] = \"CJR\";\n CodeTypeOrgane[\"Cmp\"] = \"CMP\";\n CodeTypeOrgane[\"Cnpe\"] = \"CNPE\";\n CodeTypeOrgane[\"Cnps\"] = \"CNPS\";\n CodeTypeOrgane[\"Comnl\"] = \"COMNL\";\n CodeTypeOrgane[\"Comper\"] = \"COMPER\";\n CodeTypeOrgane[\"Comsenat\"] = \"COMSENAT\";\n CodeTypeOrgane[\"Comspsenat\"] = \"COMSPSENAT\";\n CodeTypeOrgane[\"Confpt\"] = \"CONFPT\";\n CodeTypeOrgane[\"Constitu\"] = \"CONSTITU\";\n CodeTypeOrgane[\"Deleg\"] = \"DELEG\";\n CodeTypeOrgane[\"Delegbureau\"] = \"DELEGBUREAU\";\n CodeTypeOrgane[\"Delegsenat\"] = \"DELEGSENAT\";\n CodeTypeOrgane[\"Ga\"] = \"GA\";\n CodeTypeOrgane[\"Ge\"] = \"GE\";\n CodeTypeOrgane[\"Gevi\"] = \"GEVI\";\n CodeTypeOrgane[\"Gouvernement\"] = \"GOUVERNEMENT\";\n CodeTypeOrgane[\"Gp\"] = \"GP\";\n CodeTypeOrgane[\"Groupesenat\"] = \"GROUPESENAT\";\n CodeTypeOrgane[\"Hcj\"] = \"HCJ\";\n CodeTypeOrgane[\"Ministere\"] = \"MINISTERE\";\n CodeTypeOrgane[\"Miseval\"] = \"MISEVAL\";\n CodeTypeOrgane[\"Misinfo\"] = \"MISINFO\";\n CodeTypeOrgane[\"Misinfocom\"] = \"MISINFOCOM\";\n CodeTypeOrgane[\"Misinfopre\"] = \"MISINFOPRE\";\n CodeTypeOrgane[\"Offpar\"] = \"OFFPAR\";\n CodeTypeOrgane[\"Orgaint\"] = \"ORGAINT\";\n CodeTypeOrgane[\"Orgextparl\"] = \"ORGEXTPARL\";\n CodeTypeOrgane[\"Parpol\"] = \"PARPOL\";\n CodeTypeOrgane[\"Presrep\"] = \"PRESREP\";\n CodeTypeOrgane[\"Senat\"] = \"SENAT\";\n})(CodeTypeOrgane || (CodeTypeOrgane = {}));\n/**\n * Famille socio professionelle de l'INSEE.\n */\nexport var FamSocPro;\n(function (FamSocPro) {\n FamSocPro[\"AgriculteursExploitants\"] = \"Agriculteurs exploitants\";\n FamSocPro[\"ArtisansCommer\\u00E7antsChefsDEntreprises\"] = \"Artisans, commer\\u00E7ants, chefs d'entreprises\";\n FamSocPro[\"ArtisansCommer\\u00E7antsEtChefsDEntrepriseAncien\"] = \"Artisans, commer\\u00E7ants et chefs d'entreprise\";\n FamSocPro[\"AutresPersonnesSansActivit\\u00E9Professionnelle\"] = \"Autres personnes sans activit\\u00E9 professionnelle\";\n FamSocPro[\"CadresEtProfessionsIntellectuellesSup\\u00E9rieures\"] = \"Cadres et professions intellectuelles sup\\u00E9rieures\";\n FamSocPro[\"Employ\\u00E9s\"] = \"Employ\\u00E9s\";\n FamSocPro[\"Ouvriers\"] = \"Ouvriers\";\n FamSocPro[\"ProfessionsInterm\\u00E9diaires\"] = \"Professions interm\\u00E9diaires\";\n FamSocPro[\"ProfessionsInterm\\u00E9diairesAncien\"] = \"Professions Interm\\u00E9diaires\";\n FamSocPro[\"Retrait\\u00E9s\"] = \"Retrait\\u00E9s\";\n FamSocPro[\"SansProfessionD\\u00E9clar\\u00E9e\"] = \"Sans profession d\\u00E9clar\\u00E9e\";\n})(FamSocPro || (FamSocPro = {}));\nexport var TypeOrgane;\n(function (TypeOrgane) {\n TypeOrgane[\"GroupePolitiqueType\"] = \"GroupePolitique_type\";\n TypeOrgane[\"OrganeCirconscriptionType\"] = \"OrganeCirconscription_type\";\n TypeOrgane[\"OrganeExterneType\"] = \"OrganeExterne_Type\";\n TypeOrgane[\"OrganeExtraParlementaireType\"] = \"OrganeExtraParlementaire_type\";\n TypeOrgane[\"OrganeParlementaireInternational\"] = \"OrganeParlementaireInternational\";\n TypeOrgane[\"OrganeParlementaireType\"] = \"OrganeParlementaire_Type\";\n})(TypeOrgane || (TypeOrgane = {}));\nexport var CodeNatureDep;\n(function (CodeNatureDep) {\n CodeNatureDep[\"H\"] = \"H\";\n CodeNatureDep[\"M\"] = \"M\";\n CodeNatureDep[\"O\"] = \"O\";\n CodeNatureDep[\"T\"] = \"T\";\n})(CodeNatureDep || (CodeNatureDep = {}));\n/**\n * Position politique, uniquement pour les groupes politiques (dont le codeType est égal à GP).\n */\nexport var PositionPolitique;\n(function (PositionPolitique) {\n PositionPolitique[\"Majoritaire\"] = \"Majoritaire\";\n PositionPolitique[\"Minoritaire\"] = \"Minoritaire\";\n PositionPolitique[\"Opposition\"] = \"Opposition\";\n})(PositionPolitique || (PositionPolitique = {}));\n/**\n * Nom du régime politique républicain sous lequel l'organe a été créé. Le 20 aout 1944 le régime de vichy est remplacé par l'assemblée consultative provisoire. Le 21 octobre 1945 une assemblée constituante est créée et sera remplacée par la `{@link https://fr.wikipedia.org/wiki/Quatri%C3%A8me_R%C3%A9publique_(France) | 4ème République}` le 27 octobre 1946.\n */\nexport var Regime;\n(function (Regime) {\n Regime[\"Assembl\\u00E9eConsultativeProvisoire\"] = \"Assembl\\u00E9e consultative provisoire\";\n Regime[\"Assembl\\u00E9esNationalesConstituantes\"] = \"Assembl\\u00E9es nationales constituantes\";\n Regime[\"The3\\u00C8meR\\u00E9publique\"] = \"3\\u00E8me R\\u00E9publique\";\n Regime[\"The4\\u00C8meR\\u00E9publique\"] = \"4\\u00E8me R\\u00E9publique\";\n Regime[\"The5\\u00C8meR\\u00E9publique\"] = \"5\\u00E8me R\\u00E9publique\";\n})(Regime || (Regime = {}));\n// Converts JSON strings to/from your types\n// and asserts the results of JSON.parse at runtime\nexport class Convert {\n static toActeursEtOrganes(json) {\n return cast(JSON.parse(json), r(\"ActeursEtOrganes\"));\n }\n static acteursEtOrganesToJson(value) {\n return JSON.stringify(uncast(value, r(\"ActeursEtOrganes\")), null, 2);\n }\n static toActeur(json) {\n return cast(JSON.parse(json), r(\"Acteur\"));\n }\n static acteurToJson(value) {\n return JSON.stringify(uncast(value, r(\"Acteur\")), null, 2);\n }\n static toOrgane(json) {\n return cast(JSON.parse(json), r(\"Organe\"));\n }\n static organeToJson(value) {\n return JSON.stringify(uncast(value, r(\"Organe\")), null, 2);\n }\n}\nfunction invalidValue(typ, val, key = \"\") {\n if (key) {\n throw Error(`Invalid value for key \"${key}\". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);\n }\n throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);\n}\nfunction jsonToJSProps(typ) {\n if (typ.jsonToJS === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.json] = { key: p.js, typ: p.typ }));\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\nfunction jsToJSONProps(typ) {\n if (typ.jsToJSON === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.js] = { key: p.json, typ: p.typ }));\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\nfunction transform(val, typ, getProps, key = \"\") {\n function transformPrimitive(typ, val) {\n if (typeof typ === typeof val)\n return val;\n return invalidValue(typ, val, key);\n }\n function transformUnion(typs, val) {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n }\n catch (_) { }\n }\n return invalidValue(typs, val);\n }\n function transformEnum(cases, val) {\n if (cases.indexOf(val) !== -1)\n return val;\n return invalidValue(cases, val);\n }\n function transformArray(typ, val) {\n // val must be an array with no invalid elements\n if (!Array.isArray(val))\n return invalidValue(\"array\", val);\n return val.map((el) => transform(el, typ, getProps));\n }\n function transformDate(val) {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue(\"Date\", val);\n }\n return d;\n }\n function transformObject(props, additional, val) {\n if (val === null || typeof val !== \"object\" || Array.isArray(val)) {\n return invalidValue(\"object\", val);\n }\n const result = {};\n Object.getOwnPropertyNames(props).forEach((key) => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key)\n ? val[key]\n : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, prop.key);\n });\n Object.getOwnPropertyNames(val).forEach((key) => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = transform(val[key], additional, getProps, key);\n }\n });\n return result;\n }\n if (typ === \"any\")\n return val;\n if (typ === null) {\n if (val === null)\n return val;\n return invalidValue(typ, val);\n }\n // if (typ === false) return invalidValue(typ, val)\n while (typeof typ === \"object\" && typ.ref !== undefined) {\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ))\n return transformEnum(typ, val);\n if (typeof typ === \"object\") {\n return typ.hasOwnProperty(\"unionMembers\")\n ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty(\"arrayItems\")\n ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty(\"props\")\n ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== \"number\")\n return transformDate(val);\n return transformPrimitive(typ, val);\n}\nfunction cast(val, typ) {\n return transform(val, typ, jsonToJSProps);\n}\nfunction uncast(val, typ) {\n return transform(val, typ, jsToJSONProps);\n}\nfunction a(typ) {\n return { arrayItems: typ };\n}\nfunction u(...typs) {\n return { unionMembers: typs };\n}\nfunction o(props, additional) {\n return { props, additional };\n}\n// function m(additional: any) {\n// return { props: [], additional }\n// }\nfunction r(name) {\n return { ref: name };\n}\nconst typeMap = {\n ActeursEtOrganes: o([\n { json: \"organes\", js: \"organes\", typ: a(r(\"Organe\")) },\n { json: \"acteurs\", js: \"acteurs\", typ: a(r(\"Acteur\")) },\n ], false),\n Acteur: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"etatCivil\", js: \"etatCivil\", typ: r(\"EtatCivil\") },\n {\n json: \"profession\",\n js: \"profession\",\n typ: u(undefined, r(\"Profession\")),\n },\n { json: \"uriHatvp\", js: \"uriHatvp\", typ: u(undefined, \"\") },\n {\n json: \"adresses\",\n js: \"adresses\",\n typ: u(undefined, a(u(r(\"AdresseElectronique\"), r(\"AdressePostale\")))),\n },\n { json: \"mandats\", js: \"mandats\", typ: u(undefined, a(r(\"Mandat\"))) },\n { json: \"photo\", js: \"photo\", typ: u(undefined, r(\"Photo\")) },\n { json: \"deports\", js: \"deports\", typ: u(undefined, a(r(\"Deport\"))) },\n ], false),\n AdresseElectronique: o([\n { json: \"xsiType\", js: \"xsiType\", typ: \"\" },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"type\", js: \"type\", typ: \"\" },\n { json: \"typeLibelle\", js: \"typeLibelle\", typ: \"\" },\n { json: \"poids\", js: \"poids\", typ: u(undefined, \"\") },\n {\n json: \"adresseDeRattachement\",\n js: \"adresseDeRattachement\",\n typ: u(undefined, \"\"),\n },\n { json: \"valElec\", js: \"valElec\", typ: u(undefined, \"\") },\n ], false),\n AdressePostale: o([\n { json: \"xsiType\", js: \"xsiType\", typ: \"\" },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"type\", js: \"type\", typ: \"\" },\n { json: \"typeLibelle\", js: \"typeLibelle\", typ: \"\" },\n { json: \"poids\", js: \"poids\", typ: u(undefined, \"\") },\n { json: \"intitule\", js: \"intitule\", typ: u(undefined, \"\") },\n { json: \"numeroRue\", js: \"numeroRue\", typ: u(undefined, \"\") },\n { json: \"nomRue\", js: \"nomRue\", typ: u(undefined, \"\") },\n {\n json: \"complementAdresse\",\n js: \"complementAdresse\",\n typ: u(undefined, \"\"),\n },\n { json: \"codePostal\", js: \"codePostal\", typ: u(undefined, \"\") },\n { json: \"ville\", js: \"ville\", typ: u(undefined, \"\") },\n ], false),\n EtatCivil: o([\n { json: \"ident\", js: \"ident\", typ: r(\"Ident\") },\n { json: \"infoNaissance\", js: \"infoNaissance\", typ: r(\"InfoNaissance\") },\n { json: \"dateDeces\", js: \"dateDeces\", typ: u(undefined, Date) },\n ], false),\n Ident: o([\n { json: \"civ\", js: \"civ\", typ: r(\"Civ\") },\n { json: \"prenom\", js: \"prenom\", typ: \"\" },\n { json: \"nom\", js: \"nom\", typ: \"\" },\n { json: \"alpha\", js: \"alpha\", typ: \"\" },\n { json: \"trigramme\", js: \"trigramme\", typ: u(undefined, \"\") },\n ], false),\n InfoNaissance: o([\n { json: \"dateNais\", js: \"dateNais\", typ: u(undefined, Date) },\n { json: \"villeNais\", js: \"villeNais\", typ: u(undefined, \"\") },\n { json: \"depNais\", js: \"depNais\", typ: u(undefined, \"\") },\n { json: \"paysNais\", js: \"paysNais\", typ: u(undefined, \"\") },\n ], false),\n Mandat: o([\n { json: \"xsiType\", js: \"xsiType\", typ: u(undefined, r(\"TypeMandat\")) },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: u(undefined, \"\") },\n { json: \"typeOrgane\", js: \"typeOrgane\", typ: r(\"CodeTypeOrgane\") },\n { json: \"dateDebut\", js: \"dateDebut\", typ: Date },\n {\n json: \"datePublication\",\n js: \"datePublication\",\n typ: u(undefined, Date),\n },\n { json: \"dateFin\", js: \"dateFin\", typ: u(undefined, Date) },\n { json: \"preseance\", js: \"preseance\", typ: u(undefined, \"\") },\n { json: \"nominPrincipale\", js: \"nominPrincipale\", typ: \"\" },\n { json: \"infosQualite\", js: \"infosQualite\", typ: r(\"InfosQualite\") },\n { json: \"organesRefs\", js: \"organesRefs\", typ: a(\"\") },\n { json: \"suppleant\", js: \"suppleant\", typ: u(undefined, r(\"Suppleant\")) },\n { json: \"election\", js: \"election\", typ: u(undefined, r(\"Election\")) },\n { json: \"mandature\", js: \"mandature\", typ: u(undefined, r(\"Mandature\")) },\n {\n json: \"collaborateurs\",\n js: \"collaborateurs\",\n typ: u(undefined, a(r(\"Collaborateur\"))),\n },\n { json: \"libelle\", js: \"libelle\", typ: u(undefined, \"\") },\n {\n json: \"missionSuivanteRef\",\n js: \"missionSuivanteRef\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"missionPrecedenteRef\",\n js: \"missionPrecedenteRef\",\n typ: u(undefined, \"\"),\n },\n ], false),\n Collaborateur: o([\n { json: \"qualite\", js: \"qualite\", typ: u(undefined, r(\"Civ\")) },\n { json: \"prenom\", js: \"prenom\", typ: \"\" },\n { json: \"nom\", js: \"nom\", typ: \"\" },\n ], false),\n Election: o([\n { json: \"lieu\", js: \"lieu\", typ: r(\"Lieu\") },\n { json: \"causeMandat\", js: \"causeMandat\", typ: u(undefined, \"\") },\n {\n json: \"refCirconscription\",\n js: \"refCirconscription\",\n typ: u(undefined, \"\"),\n },\n ], false),\n Lieu: o([\n { json: \"region\", js: \"region\", typ: u(undefined, \"\") },\n {\n json: \"regionType\",\n js: \"regionType\",\n typ: u(undefined, r(\"RegionType\")),\n },\n { json: \"departement\", js: \"departement\", typ: u(undefined, \"\") },\n { json: \"numDepartement\", js: \"numDepartement\", typ: u(undefined, \"\") },\n { json: \"numCirco\", js: \"numCirco\", typ: u(undefined, \"\") },\n ], false),\n InfosQualite: o([\n { json: \"codeQualite\", js: \"codeQualite\", typ: u(undefined, \"\") },\n { json: \"libQualite\", js: \"libQualite\", typ: \"\" },\n { json: \"libQualiteSex\", js: \"libQualiteSex\", typ: u(undefined, \"\") },\n ], false),\n Mandature: o([\n {\n json: \"datePriseFonction\",\n js: \"datePriseFonction\",\n typ: u(undefined, Date),\n },\n { json: \"causeFin\", js: \"causeFin\", typ: u(undefined, \"\") },\n {\n json: \"premiereElection\",\n js: \"premiereElection\",\n typ: u(undefined, \"\"),\n },\n { json: \"placeHemicycle\", js: \"placeHemicycle\", typ: u(undefined, \"\") },\n {\n json: \"mandatRemplaceRef\",\n js: \"mandatRemplaceRef\",\n typ: u(undefined, \"\"),\n },\n { json: \"matriculeVote\", js: \"matriculeVote\", typ: u(undefined, \"\") },\n ], false),\n Suppleant: o([\n { json: \"dateDebut\", js: \"dateDebut\", typ: Date },\n { json: \"dateFin\", js: \"dateFin\", typ: u(undefined, Date) },\n { json: \"suppleantRef\", js: \"suppleantRef\", typ: \"\" },\n ], false),\n Profession: o([\n { json: \"libelleCourant\", js: \"libelleCourant\", typ: u(undefined, \"\") },\n { json: \"socProcInsee\", js: \"socProcInsee\", typ: r(\"SocProcInsee\") },\n ], false),\n SocProcInsee: o([\n { json: \"catSocPro\", js: \"catSocPro\", typ: u(undefined, \"\") },\n { json: \"famSocPro\", js: \"famSocPro\", typ: u(undefined, r(\"FamSocPro\")) },\n ], false),\n Deport: o([\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"chronotag\", js: \"chronotag\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: \"\" },\n { json: \"refActeur\", js: \"refActeur\", typ: \"\" },\n { json: \"dateCreation\", js: \"dateCreation\", typ: Date },\n { json: \"datePublication\", js: \"datePublication\", typ: Date },\n { json: \"portee\", js: \"portee\", typ: r(\"CodeEtLibelle\") },\n { json: \"lecture\", js: \"lecture\", typ: r(\"CodeEtLibelle\") },\n { json: \"instance\", js: \"instance\", typ: r(\"CodeEtLibelle\") },\n { json: \"cible\", js: \"cible\", typ: r(\"Cible\") },\n { json: \"explication\", js: \"explication\", typ: u(undefined, \"\") },\n ], false),\n Cible: o([\n { json: \"type\", js: \"type\", typ: r(\"CodeEtLibelle\") },\n { json: \"referenceTextuelle\", js: \"referenceTextuelle\", typ: \"\" },\n ], false),\n CodeEtLibelle: o([\n { json: \"code\", js: \"code\", typ: \"\" },\n { json: \"libelle\", js: \"libelle\", typ: \"\" },\n ], false),\n Organe: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n { json: \"xsiType\", js: \"xsiType\", typ: u(undefined, r(\"TypeOrgane\")) },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"codeType\", js: \"codeType\", typ: r(\"CodeTypeOrgane\") },\n { json: \"libelle\", js: \"libelle\", typ: \"\" },\n { json: \"libelleEdition\", js: \"libelleEdition\", typ: u(undefined, \"\") },\n { json: \"libelleAbrege\", js: \"libelleAbrege\", typ: \"\" },\n { json: \"libelleAbrev\", js: \"libelleAbrev\", typ: \"\" },\n { json: \"viMoDe\", js: \"viMoDe\", typ: r(\"ViMoDe\") },\n {\n json: \"organeParentRef\",\n js: \"organeParentRef\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"organePrecedentRef\",\n js: \"organePrecedentRef\",\n typ: u(undefined, \"\"),\n },\n { json: \"regime\", js: \"regime\", typ: u(undefined, r(\"Regime\")) },\n {\n json: \"legislature\",\n js: \"legislature\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"secretariat\",\n js: \"secretariat\",\n typ: u(undefined, r(\"Secretariat\")),\n },\n { json: \"numero\", js: \"numero\", typ: u(undefined, \"\") },\n { json: \"lieu\", js: \"lieu\", typ: u(undefined, r(\"OrganeLieu\")) },\n {\n json: \"regimeJuridique\",\n js: \"regimeJuridique\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"siteInternet\",\n js: \"siteInternet\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"nombreReunionsAnnuelles\",\n js: \"nombreReunionsAnnuelles\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"positionPolitique\",\n js: \"positionPolitique\",\n typ: u(undefined, r(\"PositionPolitique\")),\n },\n { json: \"preseance\", js: \"preseance\", typ: u(undefined, \"\") },\n { json: \"couleurAssociee\", js: \"couleurAssociee\", typ: u(undefined, \"\") },\n {\n json: \"listePays\",\n js: \"listePays\",\n typ: u(undefined, a(\"\")),\n },\n ], false),\n OrganeLieu: o([\n { json: \"region\", js: \"region\", typ: r(\"Region\") },\n { json: \"departement\", js: \"departement\", typ: r(\"Departement\") },\n ], false),\n Departement: o([\n {\n json: \"codeNatureDep\",\n js: \"codeNatureDep\",\n typ: u(undefined, r(\"CodeNatureDep\")),\n },\n { json: \"code\", js: \"code\", typ: u(undefined, \"\") },\n { json: \"libelle\", js: \"libelle\", typ: u(undefined, \"\") },\n ], false),\n Region: o([\n { json: \"type\", js: \"type\", typ: u(undefined, r(\"RegionType\")) },\n { json: \"libelle\", js: \"libelle\", typ: u(undefined, \"\") },\n ], false),\n Secretariat: o([\n { json: \"secretaire01\", js: \"secretaire01\", typ: u(undefined, \"\") },\n { json: \"secretaire02\", js: \"secretaire02\", typ: u(undefined, \"\") },\n ], false),\n ViMoDe: o([\n { json: \"dateDebut\", js: \"dateDebut\", typ: u(undefined, Date) },\n { json: \"dateAgrement\", js: \"dateAgrement\", typ: u(undefined, Date) },\n { json: \"dateFin\", js: \"dateFin\", typ: u(undefined, Date) },\n ], false),\n Photo: o([\n { json: \"chemin\", js: \"chemin\", typ: \"\" },\n { json: \"cheminMosaique\", js: \"cheminMosaique\", typ: \"\" },\n { json: \"hauteur\", js: \"hauteur\", typ: 0 },\n { json: \"largeur\", js: \"largeur\", typ: 0 },\n { json: \"xMosaique\", js: \"xMosaique\", typ: 0 },\n { json: \"yMosaique\", js: \"yMosaique\", typ: 0 },\n ], false),\n Civ: [\"M.\", \"Mme\"],\n TypeMandat: [\n \"MandatAvecSuppleant_Type\",\n \"MandatMission_Type\",\n \"MandatParlementaire_type\",\n \"MandatSimple_Type\",\n ],\n RegionType: [\n \"Collectivités d'outre-mer et Nouvelle-Calédonie\",\n \"Dom\",\n \"Français établis hors de France\",\n \"Métropolitain\",\n ],\n CodeTypeOrgane: [\n \"API\",\n \"ASSEMBLEE\",\n \"BUREAU\",\n \"CIRCONSCRIPTION\",\n \"CJR\",\n \"CMP\",\n \"CNPE\",\n \"CNPS\",\n \"COMNL\",\n \"COMPER\",\n \"COMSENAT\",\n \"COMSPSENAT\",\n \"CONFPT\",\n \"CONSTITU\",\n \"DELEG\",\n \"DELEGBUREAU\",\n \"DELEGSENAT\",\n \"GA\",\n \"GE\",\n \"GEVI\",\n \"GOUVERNEMENT\",\n \"GP\",\n \"GROUPESENAT\",\n \"HCJ\",\n \"MINISTERE\",\n \"MISEVAL\",\n \"MISINFO\",\n \"MISINFOCOM\",\n \"MISINFOPRE\",\n \"OFFPAR\",\n \"ORGAINT\",\n \"ORGEXTPARL\",\n \"PARPOL\",\n \"PRESREP\",\n \"SENAT\",\n ],\n FamSocPro: [\n \"Agriculteurs exploitants\",\n \"Artisans, commerçants et chefs d'entreprise\",\n \"Artisans, commerçants, chefs d'entreprises\",\n \"Autres personnes sans activité professionnelle\",\n \"Cadres et professions intellectuelles supérieures\",\n \"Employés\",\n \"Ouvriers\",\n \"Professions Intermédiaires\",\n \"Professions intermédiaires\",\n \"Retraités\",\n \"Sans profession déclarée\",\n ],\n TypeOrgane: [\n \"GroupePolitique_type\",\n \"OrganeCirconscription_type\",\n \"OrganeExterne_Type\",\n \"OrganeExtraParlementaire_type\",\n \"OrganeParlementaireInternational\",\n \"OrganeParlementaire_Type\",\n ],\n CodeNatureDep: [\"H\", \"M\", \"O\", \"T\"],\n PositionPolitique: [\"Majoritaire\", \"Minoritaire\", \"Opposition\"],\n Regime: [\n \"Assemblée consultative provisoire\",\n \"Assemblées nationales constituantes\",\n \"3ème République\",\n \"4ème République\",\n \"5ème République\",\n ],\n};\n//# sourceMappingURL=acteurs_et_organes.js.map","export var Legislature;\n(function (Legislature) {\n Legislature[Legislature[\"Quatorze\"] = 14] = \"Quatorze\";\n Legislature[Legislature[\"Quinze\"] = 15] = \"Quinze\";\n Legislature[Legislature[\"Seize\"] = 16] = \"Seize\";\n Legislature[Legislature[\"DixSept\"] = 17] = \"DixSept\";\n Legislature[Legislature[\"DixHuit\"] = 18] = \"DixHuit\";\n Legislature[Legislature[\"All\"] = 0] = \"All\";\n})(Legislature || (Legislature = {}));\n//# sourceMappingURL=legislatures.js.map","import fs from \"fs-extra\";\nimport assert from \"node:assert\";\nimport { createHash } from \"node:crypto\";\nimport path from \"node:path\";\nimport { Legislature } from \"./types/legislatures\";\nexport var DatasetStructure;\n(function (DatasetStructure) {\n DatasetStructure[DatasetStructure[\"SingleFile\"] = 0] = \"SingleFile\";\n DatasetStructure[DatasetStructure[\"SegmentedFiles\"] = 1] = \"SegmentedFiles\";\n})(DatasetStructure || (DatasetStructure = {}));\nexport var EnabledDatasets;\n(function (EnabledDatasets) {\n EnabledDatasets[EnabledDatasets[\"None\"] = 0] = \"None\";\n EnabledDatasets[EnabledDatasets[\"ActeursEtOrganes\"] = 1] = \"ActeursEtOrganes\";\n EnabledDatasets[EnabledDatasets[\"Agendas\"] = 2] = \"Agendas\";\n EnabledDatasets[EnabledDatasets[\"Amendements\"] = 4] = \"Amendements\";\n EnabledDatasets[EnabledDatasets[\"DossiersLegislatifs\"] = 8] = \"DossiersLegislatifs\";\n EnabledDatasets[EnabledDatasets[\"Photos\"] = 16] = \"Photos\";\n EnabledDatasets[EnabledDatasets[\"Scrutins\"] = 32] = \"Scrutins\";\n EnabledDatasets[EnabledDatasets[\"Questions\"] = 64] = \"Questions\";\n EnabledDatasets[EnabledDatasets[\"ComptesRendusSeances\"] = 128] = \"ComptesRendusSeances\";\n EnabledDatasets[EnabledDatasets[\"All\"] = 255] = \"All\";\n})(EnabledDatasets || (EnabledDatasets = {}));\n// The zip files (named NAME.json.zip) usually contain a single subfolder named \"json\"\n// containing the actual contents\n// We'd rather rename the folder NAME.json\nfunction repairForJsonSubdirectory(dataset, dataDir) {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n if (fs.existsSync(path.join(dataDir, \"json\"))) {\n fs.moveSync(path.join(dataDir, \"json\"), targetDir);\n }\n else {\n fs.mkdirSync(targetDir);\n }\n}\nexport const datasets = {\n acteursEtOrganes: [\n {\n // AMO10 (XVII)\n //\n // Contient les députés actifs\n // * avec tous les mandats en cours\n // * y compris avec leur parti politique (typeOrgane: \"PARPOL\")\n // * mais sans les mandats achevés (y compris dans cette législature)\n //\n // Organes :\n // * Contient seulement les organes correspondants aux mandats en cours\n // * avec le xsiType de l'organe\n // * avec des commissions sénatoriales (permanentes et spéciales) en cours\n // * avec des délégations sénatoriales en cours\n // * avec des groupes sénatoriaux en cours\n // * avec des ministères en cours\n // * avec les Présidences de la République (y compris Sarkozy)\n // * avec le Conseil constitutionnel\n //\n // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO20\n // (qui est lui même un sous-ensemble de l'AMO30).\n // Il n'apporte donc absolument rien par rapport à AMO20 ou l'AMO30.\n filename: \"AMO10_deputes_actifs_mandats_actifs_organes_XVII.json\",\n ignoreForWeb: true,\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Députés actifs et organes de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/amo/deputes_actifs_mandats_actifs_organes/AMO10_deputes_actifs_mandats_actifs_organes.json.zip\",\n },\n {\n // AMO10 (XVI)\n //\n // Contient les députés actifs\n // * avec tous les mandats en cours\n // * y compris avec leur parti politique (typeOrgane: \"PARPOL\")\n // * mais sans les mandats achevés (y compris dans cette législature)\n //\n // Organes :\n // * Contient seulement les organes correspondants aux mandats en cours\n // * avec le xsiType de l'organe\n // * avec des commissions sénatoriales (permanentes et spéciales) en cours\n // * avec des délégations sénatoriales en cours\n // * avec des groupes sénatoriaux en cours\n // * avec des ministères en cours\n // * avec les Présidences de la République (y compris Sarkozy)\n // * avec le Conseil constitutionnel\n //\n // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO20\n // (qui est lui même un sous-ensemble de l'AMO30).\n // Il n'apporte donc absolument rien par rapport à AMO20 ou l'AMO30.\n filename: \"AMO10_deputes_actifs_mandats_actifs_organes_XVI.json\",\n ignoreForWeb: true,\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Députés actifs et organes de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/amo/deputes_actifs_mandats_actifs_organes/AMO10_deputes_actifs_mandats_actifs_organes.json.zip\",\n },\n {\n // AMO10 (XV)\n //\n // Contient les députés actifs\n // * avec tous les mandats en cours\n // * y compris avec leur parti politique (typeOrgane: \"PARPOL\")\n // * mais sans les mandats achevés (y compris dans cette législature)\n //\n // Organes :\n // * Contient seulement les organes correspondants aux mandats en cours\n // * avec le xsiType de l'organe\n // * avec des commissions sénatoriales (permanentes et spéciales) en cours\n // * avec des délégations sénatoriales en cours\n // * avec des groupes sénatoriaux en cours\n // * avec des ministères en cours\n // * avec les Présidences de la République (y compris Sarkozy)\n // * avec le Conseil constitutionnel\n //\n // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO20\n // (qui est lui même un sous-ensemble de l'AMO30).\n // Il n'apporte donc absolument rien par rapport à AMO20 ou l'AMO30.\n filename: \"AMO10_deputes_actifs_mandats_actifs_organes_XV.json\",\n ignoreForWeb: true,\n legislature: Legislature.Quinze,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Députés actifs et organes de la XVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/amo/deputes_actifs_mandats_actifs_organes/AMO10_deputes_actifs_mandats_actifs_organes_XV.json.zip\",\n },\n {\n // AMO20 (XVII)\n //\n // Contient les députés de la législature, actifs ou non (invalidés, etc), les sénateurs actuels\n // Pour les députés :\n // * avec tous leurs mandats de la législature\n // * y compris les mandats achevés\n // * y compris leurs partis politiques (typeOrgane: \"PARPOL\")\n // * mais sans les mandats des législatures précédentes (qui sont dans AMO40)\n //\n // Contient tous les organes référencés par les mandats\n // * avec le xsiType de l'organe\n // * avec des commissions sénatoriales (permanentes et spéciales) en cours\n // * avec des délégations sénatoriales en cours\n // * avec des groupes sénatoriaux en cours\n // * avec des ministères en cours\n // * avec les Présidences de la République (y compris Sarkozy)\n // * avec le Conseil constitutionnel\n //\n // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO30.\n // Il n'apporte donc absolument rien par rapport à l'AMO30.\n filename: \"AMO20_dep_sen_min_tous_mandats_et_organes_XVII.json\",\n ignoreForWeb: true,\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Acteurs et organes de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/amo/deputes_senateurs_ministres_legislature/AMO20_dep_sen_min_tous_mandats_et_organes.json.zip\",\n },\n {\n // AMO20 (XVI)\n //\n // Contient les députés de la législature, actifs ou non (invalidés, etc), les sénateurs actuels\n // Pour les députés :\n // * avec tous leurs mandats de la législature\n // * y compris les mandats achevés\n // * y compris leurs partis politiques (typeOrgane: \"PARPOL\")\n // * mais sans les mandats des législatures précédentes (qui sont dans AMO40)\n //\n // Contient tous les organes référencés par les mandats\n // * avec le xsiType de l'organe\n // * avec des commissions sénatoriales (permanentes et spéciales) en cours\n // * avec des délégations sénatoriales en cours\n // * avec des groupes sénatoriaux en cours\n // * avec des ministères en cours\n // * avec les Présidences de la République (y compris Sarkozy)\n // * avec le Conseil constitutionnel\n //\n // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO30.\n // Il n'apporte donc absolument rien par rapport à l'AMO30.\n filename: \"AMO20_dep_sen_min_tous_mandats_et_organes_XVI.json\",\n ignoreForWeb: true,\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Acteurs et organes de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/amo/deputes_senateurs_ministres_legislature/AMO20_dep_sen_min_tous_mandats_et_organes.json.zip\",\n },\n {\n // AMO20 (XV)\n //\n // Contient les députés de la législature, actifs ou non (invalidés, etc), les sénateurs actuels\n // Pour les députés :\n // * avec tous leurs mandats de la législature\n // * y compris les mandats achevés\n // * y compris leurs partis politiques (typeOrgane: \"PARPOL\")\n // * mais sans les mandats des législatures précédentes (qui sont dans AMO40)\n //\n // Contient tous les organes référencés par les mandats\n // * avec le xsiType de l'organe\n // * avec des commissions sénatoriales (permanentes et spéciales) en cours\n // * avec des délégations sénatoriales en cours\n // * avec des groupes sénatoriaux en cours\n // * avec des ministères en cours\n // * avec les Présidences de la République (y compris Sarkozy)\n // * avec le Conseil constitutionnel\n //\n // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO30.\n // Il n'apporte donc absolument rien par rapport à l'AMO30.\n filename: \"AMO20_dep_sen_min_tous_mandats_et_organes_XV.json\",\n ignoreForWeb: true,\n legislature: Legislature.Quinze,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Acteurs et organes de la XVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/amo/deputes_senateurs_ministres_legislature/AMO20_dep_sen_min_tous_mandats_et_organes_XV.json.zip\",\n },\n {\n // AMO20 (XIV)\n //\n // Comme AMO20 (XV) mais pour la XIVème législature\n // Tous les acteurs sauf un (PA429892) sont présents en plus à jour dans AMO30.\n // Cet acteur PA429892 (ancienne Sénatrice) n'est présent dans aucun des autres\n // fichiers AMO.\n // Tous les organes sont présents en plus complets dans AMO30.\n //\n // Ce fichier est donc à un détail prêt (PA429892) un sous-ensemble d'AMO30.\n // Il n'apporte donc quasiment rien par rapport à l'AMO30.\n filename: \"AMO20_dep_sen_min_tous_mandats_et_organes_XIV.json\",\n ignoreForWeb: true,\n legislature: Legislature.Quatorze,\n structure: DatasetStructure.SingleFile,\n title: \"Acteurs et organes de la XIVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/14/amo/deputes_senateurs_ministres_legislatures_XIV/AMO20_dep_sen_min_tous_mandats_et_organes_XIV.json.zip\",\n },\n {\n // AMO30 (XVII)\n //\n // Ce fichier contient tous les acteurs et organes.\n // C'est un sur-ensemble des fichiers AMO20.\n filename: \"AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json\",\n legislature: Legislature.All,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Historique de tous les acteurs et organes depuis la XIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/amo/tous_acteurs_mandats_organes_xi_legislature/AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json.zip\",\n },\n // {\n // // AMO30 (XVI)\n // //\n // // Ce fichier contient tous les acteurs et organes.\n // // C'est un sur-ensemble des fichiers AMO20.\n // filename: \"AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json\",\n // legislature: Legislature.All,\n // repairZip: repairForJsonSubdirectory,\n // structure: DatasetStructure.SegmentedFiles,\n // title:\n // \"Historique de tous les acteurs et organes depuis la XIème législature\",\n // url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/amo/tous_acteurs_mandats_organes_xi_legislature/AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json.zip\",\n // },\n // {\n // // AMO30 (XV)\n // //\n // // Ce fichier contient tous les acteurs et organes.\n // // C'est un sur-ensemble des fichiers AMO20.\n // filename: \"AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json\",\n // legislature: Legislature.All,\n // repairZip: (dataset: Dataset, dataDir: string) => {\n // const targetDir = path.join(dataDir, dataset.filename)\n // if (fs.existsSync(targetDir)) {\n // fs.removeSync(targetDir)\n // }\n // fs.moveSync(path.join(dataDir, \"json\"), targetDir)\n // },\n // structure: DatasetStructure.SegmentedFiles,\n // title:\n // \"Historique de tous les acteurs et organes depuis la XIème législature\",\n // url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/amo/tous_acteurs_mandats_organes_xi_legislature/AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json.zip\",\n // },\n {\n // AMO40 (XVII)\n //\n // Contient les députés actifs (les mêmes qu'AMO20)\n // * avec presque tous leurs mandats\n // * y compris les mandats achevés et ceux des législatures précédentes\n // * y compris leurs partis politiques précédents\n // * mais sans leur parti politique actuel (typeOrgane: \"PARPOL\")\n //\n // Contient beaucoup d'organes référencés, y compris ceux des législatures\n // précédentes\n // * mais il manque le xsiType des organes\n // * ne contient pas les organes sénatoriaux\n // * ne contient pas les ministères\n // * ne contient pas la Présidence de la République\n // * ne contient pas le Conseil constitutionnel\n //\n // Pour les acteurs, ce dépôt est un sous-ensemble strict de AMO30 :\n // Il a moins d'acteurs et il sont moins complets.\n //\n // Pour les organes :\n // Quand l'organe est aussi présent dans AMO30, il vaut mieux prendre celui\n // d'AMO30, car il contient le xsiType (c'est la seule différence semble-t-i).\n // Sinon, il faut le prendre seulement si on est intéressé par les législatures\n // précédentes.\n filename: \"AMO40_deputes_actifs_mandats_actifs_organes_divises_XVII.json\",\n ignoreForWeb: true,\n legislature: Legislature.DixSept,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.mkdirSync(targetDir);\n if (fs.pathExistsSync(path.join(dataDir, \"acteur\"))) {\n // Note; Le répertoire acteur peut disparaître en fin de législature\n // quand les mandats des députés s'interrompent.\n fs.moveSync(path.join(dataDir, \"acteur\"), path.join(targetDir, \"acteur\"));\n }\n fs.moveSync(path.join(dataDir, \"organe\"), path.join(targetDir, \"organe\"));\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Députés actifs et organes de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/amo/deputes_actifs_mandats_actifs_organes_divises/AMO40_deputes_actifs_mandats_actifs_organes_divises.json.zip\",\n },\n {\n // AMO40 (XVI)\n //\n // Contient les députés actifs (les mêmes qu'AMO20)\n // * avec presque tous leurs mandats\n // * y compris les mandats achevés et ceux des législatures précédentes\n // * y compris leurs partis politiques précédents\n // * mais sans leur parti politique actuel (typeOrgane: \"PARPOL\")\n //\n // Contient beaucoup d'organes référencés, y compris ceux des législatures\n // précédentes\n // * mais il manque le xsiType des organes\n // * ne contient pas les organes sénatoriaux\n // * ne contient pas les ministères\n // * ne contient pas la Présidence de la République\n // * ne contient pas le Conseil constitutionnel\n //\n // Pour les acteurs, ce dépôt est un sous-ensemble strict de AMO30 :\n // Il a moins d'acteurs et il sont moins complets.\n //\n // Pour les organes :\n // Quand l'organe est aussi présent dans AMO30, il vaut mieux prendre celui\n // d'AMO30, car il contient le xsiType (c'est la seule différence semble-t-i).\n // Sinon, il faut le prendre seulement si on est intéressé par les législatures\n // précédentes.\n filename: \"AMO40_deputes_actifs_mandats_actifs_organes_divises_XVI.json\",\n ignoreForWeb: true,\n legislature: Legislature.Seize,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.mkdirSync(targetDir);\n if (fs.pathExistsSync(path.join(dataDir, \"acteur\"))) {\n // Note; Le répertoire acteur peut disparaître en fin de législature\n // quand les mandats des députés s'interrompent.\n fs.moveSync(path.join(dataDir, \"acteur\"), path.join(targetDir, \"acteur\"));\n }\n fs.moveSync(path.join(dataDir, \"organe\"), path.join(targetDir, \"organe\"));\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Députés actifs et organes de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/amo/deputes_actifs_mandats_actifs_organes_divises/AMO40_deputes_actifs_mandats_actifs_organes_divises.json.zip\",\n },\n {\n // AMO40 (XV)\n //\n // Contient les députés actifs (les mêmes qu'AMO20)\n // * avec presque tous leurs mandats\n // * y compris les mandats achevés et ceux des législatures précédentes\n // * y compris leurs partis politiques précédents\n // * mais sans leur parti politique actuel (typeOrgane: \"PARPOL\")\n //\n // Contient beaucoup d'organes référencés, y compris ceux des législatures\n // précédentes\n // * mais il manque le xsiType des organes\n // * ne contient pas les organes sénatoriaux\n // * ne contient pas les ministères\n // * ne contient pas la Présidence de la République\n // * ne contient pas le Conseil constitutionnel\n //\n // Pour les acteurs, ce dépôt est un sous-ensemble strict de AMO30 :\n // Il a moins d'acteurs et il sont moins complets.\n //\n // Pour les organes :\n // Quand l'organe est aussi présent dans AMO30, il vaut mieux prendre celui\n // d'AMO30, car il contient le xsiType (c'est la seule différence semble-t-i).\n // Sinon, il faut le prendre seulement si on est intéressé par les législatures\n // précédentes.\n filename: \"AMO40_deputes_actifs_mandats_actifs_organes_divises_XV.json\",\n ignoreForWeb: true,\n legislature: Legislature.Quinze,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.mkdirSync(targetDir);\n fs.moveSync(path.join(dataDir, \"acteur\"), path.join(targetDir, \"acteur\"));\n fs.moveSync(path.join(dataDir, \"organe\"), path.join(targetDir, \"organe\"));\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Députés actifs et organes de la XVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/amo/deputes_actifs_mandats_actifs_organes_divises/AMO40_deputes_actifs_mandats_actifs_organes_divises_XV.json.zip\",\n },\n {\n // AMO50 (XVII)\n //\n // Attention, ce fichier n'est pas mis à jour régulièrement !\n //\n // Pour les acteurs :\n // * c'est un sous ensemble obsolète d'AMO30\n // * il manque les xsiType aux mandats\n //\n // Pour les organes :\n // * c'est un sous ensemble obsolète d'AMO30\n // * il manque les xsiType\n //\n // Ce fichier n'apporte donc absolument rien par rapport à l'AMO30,\n // dont il est un sous ensemble obsolète.\n filename: \"AMO50_acteurs_mandats_organes_divises_XVII.json\",\n ignoreForWeb: true,\n legislature: Legislature.DixSept,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.mkdirSync(targetDir);\n fs.moveSync(path.join(dataDir, \"mandat\"), path.join(targetDir, \"mandat\"));\n fs.moveSync(path.join(dataDir, \"acteur\"), path.join(targetDir, \"acteur\"));\n fs.moveSync(path.join(dataDir, \"organe\"), path.join(targetDir, \"organe\"));\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Acteurs, mandats et organes de la XVIIème législature (fichiers séparés, y compris mandats)\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/amo/acteurs_mandats_organes_divises/AMO50_acteurs_mandats_organes_divises.json.zip\",\n },\n {\n // AMO50 (XVI)\n //\n // Attention, ce fichier n'est pas mis à jour régulièrement !\n //\n // Pour les acteurs :\n // * c'est un sous ensemble obsolète d'AMO30\n // * il manque les xsiType aux mandats\n //\n // Pour les organes :\n // * c'est un sous ensemble obsolète d'AMO30\n // * il manque les xsiType\n //\n // Ce fichier n'apporte donc absolument rien par rapport à l'AMO30,\n // dont il est un sous ensemble obsolète.\n filename: \"AMO50_acteurs_mandats_organes_divises_XVI.json\",\n ignoreForWeb: true,\n legislature: Legislature.Seize,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.mkdirSync(targetDir);\n fs.moveSync(path.join(dataDir, \"mandat\"), path.join(targetDir, \"mandat\"));\n fs.moveSync(path.join(dataDir, \"acteur\"), path.join(targetDir, \"acteur\"));\n fs.moveSync(path.join(dataDir, \"organe\"), path.join(targetDir, \"organe\"));\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Acteurs, mandats et organes de la XVIème législature (fichiers séparés, y compris mandats)\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/amo/acteurs_mandats_organes_divises/AMO50_acteurs_mandats_organes_divises.json.zip\",\n },\n {\n // AMO50 (XV)\n //\n // Attention, ce fichier n'est pas mis à jour régulièrement !\n //\n // Pour les acteurs :\n // * c'est un sous ensemble obsolète d'AMO30\n // * il manque les xsiType aux mandats\n //\n // Pour les organes :\n // * c'est un sous ensemble obsolète d'AMO30\n // * il manque les xsiType\n //\n // Ce fichier n'apporte donc absolument rien par rapport à l'AMO30,\n // dont il est un sous ensemble obsolète.\n filename: \"AMO50_acteurs_mandats_organes_divises_XV.json\",\n ignoreForWeb: true,\n legislature: Legislature.Quinze,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.mkdirSync(targetDir);\n fs.moveSync(path.join(dataDir, \"mandat\"), path.join(targetDir, \"mandat\"));\n fs.moveSync(path.join(dataDir, \"acteur\"), path.join(targetDir, \"acteur\"));\n fs.moveSync(path.join(dataDir, \"organe\"), path.join(targetDir, \"organe\"));\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Acteurs, mandats et organes de la XVème législature (fichiers séparés, y compris mandats)\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/amo/acteurs_mandats_organes_divises/AMO50_acteurs_mandats_organes_divises_XV.json.zip\",\n },\n ],\n agendas: [\n {\n filename: \"Agenda_XVII.json\",\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Agenda de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/vp/reunions/Agenda.json.zip\",\n },\n {\n filename: \"Agenda_XVI.json\",\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Agenda de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/vp/reunions/Agenda.json.zip\",\n },\n {\n filename: \"Agenda_XV.json\",\n legislature: Legislature.Quinze,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Agenda de la XVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/vp/reunions/Agenda_XV.json.zip\",\n },\n {\n filename: \"Agenda_XIV.json\",\n legislature: Legislature.Quatorze,\n structure: DatasetStructure.SingleFile,\n title: \"Agenda de la XIVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/14/vp/reunions/Agenda_XIV.json.zip\",\n },\n ],\n amendements: [\n {\n filename: \"Amendements_XVII.json\",\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Amendements de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/loi/amendements_div_legis/Amendements.json.zip\",\n },\n {\n filename: \"Amendements_XVI.json\",\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Amendements de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/loi/amendements_div_legis/Amendements.json.zip\",\n },\n {\n filename: \"Amendements_XV.json\",\n legislature: Legislature.Quinze,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Amendements de la XVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/loi/amendements_legis/Amendements_XV.json.zip\",\n },\n // {\n // filename: \"Amendements_XIV.json\",\n // ignoreForWeb: true,\n // legislature: Legislature.Quatorze,\n // structure: DatasetStructure.SingleFile,\n // title: \"Amendements de la XIVème législature\",\n // url:\n // \"https://data.assemblee-nationale.fr/static/openData/repository/14/loi/amendements_legis_XIV/Amendements_XIV.json.zip\",\n // },\n ],\n dossiersLegislatifs: [\n {\n filename: \"Dossiers_Legislatifs_XVII.json\",\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Dossiers législatifs de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/loi/dossiers_legislatifs/Dossiers_Legislatifs.json.zip\",\n },\n {\n filename: \"Dossiers_Legislatifs_XVI.json\",\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Dossiers législatifs de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/loi/dossiers_legislatifs/Dossiers_Legislatifs.json.zip\",\n },\n {\n filename: \"Dossiers_Legislatifs_XV.json\",\n legislature: Legislature.Quinze,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Dossiers législatifs de la XVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/loi/dossiers_legislatifs/Dossiers_Legislatifs_XV.json.zip\",\n },\n {\n filename: \"Dossiers_Legislatifs_XIV.json\",\n legislature: Legislature.Quatorze,\n structure: DatasetStructure.SingleFile,\n title: \"Dossiers législatifs de la XIVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/14/loi/dossiers_legislatifs/Dossiers_Legislatifs_XIV.json.zip\",\n },\n ],\n scrutins: [\n {\n filename: \"Scrutins_XVII.json\",\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Scrutins de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/loi/scrutins/Scrutins.json.zip\",\n },\n {\n filename: \"Scrutins_XVI.json\",\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Scrutins de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/loi/scrutins/Scrutins.json.zip\",\n },\n {\n filename: \"Scrutins_XV.json\",\n legislature: Legislature.Quinze,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Scrutins de la XVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/15/loi/scrutins/Scrutins_XV.json.zip\",\n },\n {\n filename: \"Scrutins_XIV.json\",\n legislature: Legislature.Quatorze,\n structure: DatasetStructure.SingleFile,\n title: \"Scrutins de la XIVème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/14/loi/scrutins/Scrutins_XIV.json.zip\",\n },\n ],\n questions: [\n {\n filename: \"Questions_ecrites_XVII.json\",\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Questions écrites de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/questions/questions_ecrites/Questions_ecrites.json.zip\",\n },\n {\n filename: \"Questions_ecrites_XVI.json\",\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Questions écrites de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/questions/questions_ecrites/Questions_ecrites.json.zip\",\n },\n {\n filename: \"Questions_gouvernement_XVII.json\",\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Questions au gouvernement de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/questions/questions_gouvernement/Questions_gouvernement.json.zip\",\n },\n {\n filename: \"Questions_gouvernement_XVI.json\",\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Questions au gouvernement de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/questions/questions_gouvernement/Questions_gouvernement.json.zip\",\n },\n {\n filename: \"Questions_orales_XVII.json\",\n legislature: Legislature.DixSept,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Questions orales sans débats de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/questions/questions_orales_sans_debat/Questions_orales_sans_debat.json.zip\",\n },\n {\n filename: \"Questions_orales_XVI.json\",\n legislature: Legislature.Seize,\n repairZip: repairForJsonSubdirectory,\n structure: DatasetStructure.SegmentedFiles,\n title: \"Questions orales sans débats de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/questions/questions_orales_sans_debat/Questions_orales_sans_debat.json.zip\",\n },\n ],\n comptesRendusSeances: [\n {\n filename: \"Comptes_Rendus_Seances_XVII.xml\",\n legislature: Legislature.DixSept,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.moveSync(path.join(dataDir, \"xml\"), targetDir);\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Comptes rendus des séances publiques de la XVIIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/17/vp/syceronbrut/syseron.xml.zip\",\n },\n {\n filename: \"Comptes_Rendus_Seances_XVI.xml\",\n legislature: Legislature.Seize,\n repairZip: (dataset, dataDir) => {\n const targetDir = path.join(dataDir, dataset.filename);\n if (fs.existsSync(targetDir)) {\n fs.removeSync(targetDir);\n }\n fs.moveSync(path.join(dataDir, \"xml\"), targetDir);\n },\n structure: DatasetStructure.SegmentedFiles,\n title: \"Comptes rendus des séances publiques de la XVIème législature\",\n url: \"https://data.assemblee-nationale.fr/static/openData/repository/16/vp/syceronbrut/syseron.xml.zip\",\n },\n ],\n};\nconst schemaByDirectory = {\n \".*Agenda_.*\": \"agenda\",\n \".*Scrutins_.*\": \"scrutin\",\n \".*Questions_.*\": \"question\",\n \".*Amendements_.*\": \"amendement\",\n \".*Dossiers_Legislatifs_.*/documents\": \"document\",\n \".*Dossiers_Legislatifs_.*/dossiers\": \"dossier\",\n \".*acteurs_mandats_organes/organes\": \"organe\",\n \".*acteurs_mandats_organes/acteurs\": \"acteur\",\n \".*AMO30_tous_acteurs_tous_mandats_tous_organes_historique.*/organes\": \"organe\",\n \".*AMO30_tous_acteurs_tous_mandats_tous_organes_historique.*/acteurs\": \"acteur\",\n \".*Comptes_Rendus_Seances_.*\": \"debat\",\n};\nexport function getDatasets() {\n return [\n \"Agenda_XIV\",\n \"Agenda_XV\",\n \"Agenda_XVI\",\n \"Agenda_XVII\",\n \"Scrutins_XIV\",\n \"Scrutins_XV\",\n \"Scrutins_XVI\",\n \"Scrutins_XVII\",\n \"Questions_Ecrites_XVI\",\n \"Questions_Ecrites_XVII\",\n \"Questions_Gouvernement_XVI\",\n \"Questions_Gouvernement_XVII\",\n \"Amendements_XIV\",\n \"Amendements_XV\",\n \"Amendements_XVI\",\n \"Amendements_XVII\",\n \"Dossiers_Legislatifs_XIV\",\n \"Dossiers_Legislatifs_XV\",\n \"Dossiers_Legislatifs_XVI\",\n \"Dossiers_Legislatifs_XVII\",\n \"AMO30_tous_acteurs_tous_mandats_tous_organes_historique\",\n \"acteurs_mandats_organes\",\n \"Comptes_Rendus_Seances_XVI\",\n \"Comptes_Rendus_Seances_XVII\",\n ];\n}\nexport function validDataset(dir) {\n for (const dataset of getDatasets()) {\n if (dir.includes(dataset))\n return true;\n }\n return false;\n}\nexport function getSchemas() {\n return Object.values(schemaByDirectory);\n}\nexport function datasetDirectorySchema(dataset) {\n let directories;\n if (dataset.includes(\"Dossiers_Legislatifs_\")) {\n directories = [`${dataset}/documents`, `${dataset}/dossiers`];\n }\n else if (dataset.includes(\"acteurs_mandats_organes\") ||\n dataset.includes(\"AMO30_tous_acteurs_tous_mandats_tous_organes_historique\")) {\n directories = [`${dataset}/organes`, `${dataset}/acteurs`];\n }\n else {\n directories = [dataset];\n }\n let results = [];\n for (const directory of directories) {\n for (const re of Object.keys(schemaByDirectory)) {\n if (new RegExp(re).exec(directory))\n results.push([`${directory}/**/*.json`, schemaByDirectory[re]]);\n }\n }\n return results;\n}\nexport function fileDatasetUrl(filename) {\n const re = \"^.*/(.*)_nettoye/(.*)\";\n const match = new RegExp(re).exec(filename);\n if (match == null)\n return null;\n let [dataset, file] = [match[1], match[2]];\n if (dataset == \"AMO30_tous_acteurs_tous_mandats_tous_organes_historique\")\n dataset = \"acteurs_mandats_organes\";\n return [dataset, file];\n}\nexport function diffUpstream(filename) {\n const datasetUrl = fileDatasetUrl(filename);\n if (datasetUrl == null)\n return filename;\n const [dataset, file] = datasetUrl;\n const sum = createHash(\"sha1\").update(file).digest(\"hex\").toString();\n return `[${file}](https://git.en-root.org/tricoteuses/data.tricoteuses.fr/${dataset}/-/compare/upstream...master#${sum})`;\n}\nexport function masterUrl(filename) {\n const datasetUrl = fileDatasetUrl(filename);\n if (datasetUrl == null)\n return filename;\n const [dataset, file] = datasetUrl;\n return `[${file}](https://git.en-root.org/tricoteuses/data.tricoteuses.fr/${dataset}/-/tree/master/${file})`;\n}\nexport function filterByLegislature(datasets, legislature) {\n // When a given legislature is 0, it is the same as giving no legislature:\n // It means \"every legislatures\".\n if (legislature !== 0 && legislature !== undefined) {\n for (let [key, value] of Object.entries(datasets)) {\n datasets[key] = value.filter((dataset) => dataset.legislature === Legislature.All ||\n legislature === dataset.legislature);\n }\n }\n return datasets;\n}\nexport function getEnabledDatasets(categories) {\n categories.map((datasetName) => assert.notStrictEqual(EnabledDatasets[datasetName], undefined, `Unknown name of dataset: ${datasetName}`));\n return categories.reduce((enabledDatasets, datasetName) => enabledDatasets |\n EnabledDatasets[datasetName], EnabledDatasets.None);\n}\n//# sourceMappingURL=datasets.js.map","// To parse this data:\n//\n// import { Convert, Reunion, Agendas } from \"./file\";\n//\n// const reunion = Convert.toReunion(json);\n// const agendas = Convert.toAgendas(json);\n//\n// These functions will throw an error if the JSON doesn't\n// match the expected interface, even if the JSON is valid.\nexport var ReunionXsiType;\n(function (ReunionXsiType) {\n ReunionXsiType[\"ReunionCommissionType\"] = \"reunionCommission_type\";\n ReunionXsiType[\"ReunionInitParlementaireType\"] = \"reunionInitParlementaire_type\";\n ReunionXsiType[\"SeanceType\"] = \"seance_type\";\n})(ReunionXsiType || (ReunionXsiType = {}));\n/**\n * Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique, chaque point de l'ordre du jour est fixé par la `{@link https://fr.wikipedia.org/wiki/Conf%C3%A9rence_des_pr%C3%A9sidents_de_l%27Assembl%C3%A9e_nationale | conférence des présidents}` et a donc la valeur 'podjSeanceConfPres_type' pour le champ xsiType. Dans tout les autres cas la valeur est 'podjReunion_type'\n */\nexport var PointOdjXsiType;\n(function (PointOdjXsiType) {\n PointOdjXsiType[\"PodjReunionType\"] = \"podjReunion_type\";\n PointOdjXsiType[\"PodjSeanceConfPresType\"] = \"podjSeanceConfPres_type\";\n})(PointOdjXsiType || (PointOdjXsiType = {}));\n/**\n * La réunion ou le point de l'ordre du est valide si le champ contient la valeur 'Eventuel' ou 'Confirmé'. Si la valeur est 'Annulé' ou 'Supprimé', aucun des champs de la réunion ou de l'ordre du jour n'a de signification définie. Par exemple, si une réunion est 'Annulé' et que le champ concernant l'ordre du jour est présent, il doit être ignoré car son contenu n'est pas nécessairement cohérent.\n */\nexport var EtatCycleDeVie;\n(function (EtatCycleDeVie) {\n EtatCycleDeVie[\"Annul\\u00E9\"] = \"Annul\\u00E9\";\n EtatCycleDeVie[\"Confirm\\u00E9\"] = \"Confirm\\u00E9\";\n EtatCycleDeVie[\"Eventuel\"] = \"Eventuel\";\n EtatCycleDeVie[\"Supprim\\u00E9\"] = \"Supprim\\u00E9\";\n})(EtatCycleDeVie || (EtatCycleDeVie = {}));\n/**\n * Vaut ODJPR pour les ordre du jour prioritaires (quel que soit le lieu ou se tient la réunion) et ODJSN pour les ordre du jour des réunions qui se tiennent au Sénat.\n */\nexport var NatureTravauxOdj;\n(function (NatureTravauxOdj) {\n NatureTravauxOdj[\"Odjpr\"] = \"ODJPR\";\n NatureTravauxOdj[\"Odjsn\"] = \"ODJSN\";\n})(NatureTravauxOdj || (NatureTravauxOdj = {}));\n/**\n * L'article du `{@link http://www2.assemblee-nationale.fr/content/download/73698/754101/version/2/file/reglement.pdf | règlement de l'assemblée nationale}` qui justifie ce point de l'ordre du jour (par exemple: la `{@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/textes-de-reference/reglement-de-l-assemblee-nationale/titre-ii/premiere-partie/chapitre-v | procédure d'examen simplifiée}`).\n */\nexport var Procedure;\n(function (Procedure) {\n Procedure[\"DiscussionG\\u00E9n\\u00E9raleCommune\"] = \"discussion g\\u00E9n\\u00E9rale commune\";\n Procedure[\"Proc\\u00E9dureDExamenSimplifi\\u00E9eArticle103\"] = \"proc\\u00E9dure d'examen simplifi\\u00E9e-Article 103\";\n Procedure[\"Proc\\u00E9dureDExamenSimplifi\\u00E9eArticle106\"] = \"proc\\u00E9dure d'examen simplifi\\u00E9e-Article 106\";\n Procedure[\"Proc\\u00E9dureDExamenSimplifi\\u00E9eArticle107\"] = \"proc\\u00E9dure d'examen simplifi\\u00E9e-Article 107\";\n Procedure[\"Proc\\u00E9dureDeL\\u00E9gislationEnCommissionArticle1071\"] = \"proc\\u00E9dure de l\\u00E9gislation en commission-Article 107-1\";\n})(Procedure || (Procedure = {}));\n/**\n * Type de point de l'ordre du jour (par exemple: Discussion, Examen, Suite de la discussion, Amendements (Art. 88), etc.\n */\nexport var TypePointOdj;\n(function (TypePointOdj) {\n TypePointOdj[\"AmendementsArt88\"] = \"Amendements (Art. 88)\";\n TypePointOdj[\"AmendementsArt91\"] = \"Amendements (Art. 91)\";\n TypePointOdj[\"Audition\"] = \"Audition\";\n TypePointOdj[\"AuditionMinistre\"] = \"Audition ministre\";\n TypePointOdj[\"AuditionMinistreOuverte\\u00C0LaPresse\"] = \"Audition ministre ouverte \\u00E0 la presse\";\n TypePointOdj[\"AuditionOuverte\\u00C0LaPresse\"] = \"Audition ouverte \\u00E0 la presse\";\n TypePointOdj[\"Communication\"] = \"Communication\";\n TypePointOdj[\"ConstitutionDeMissionDInformation\"] = \"Constitution de mission d'information\";\n TypePointOdj[\"Discussion\"] = \"Discussion\";\n TypePointOdj[\"D\\u00E9batDInitiativeParlementaire\"] = \"D\\u00E9bat d'initiative parlementaire\";\n TypePointOdj[\"D\\u00E9clarationDuGouvernementSuivieDUnD\\u00E9bat\"] = \"D\\u00E9claration du Gouvernement suivie d'un d\\u00E9bat\";\n TypePointOdj[\"EchangesDeVues\"] = \"Echanges de vues\";\n TypePointOdj[\"Examen\"] = \"Examen\";\n TypePointOdj[\"ExplicationsDeVoteDesGroupesEtVoteParScrutinPublic\"] = \"Explications de vote des groupes et vote par scrutin public\";\n TypePointOdj[\"ExplicationsDeVoteEtVoteParScrutinPublic\"] = \"Explications de vote et vote par scrutin public\";\n TypePointOdj[\"FixationDeLOrdreDuJour\"] = \"Fixation de l'ordre du jour\";\n TypePointOdj[\"NominationBureau\"] = \"Nomination bureau\";\n TypePointOdj[\"NominationCandidatsOrganismeExtraparlementaire\"] = \"Nomination candidats organisme extraparlementaire\";\n TypePointOdj[\"NominationDUnMembreDUneMissionDInformation\"] = \"Nomination d'un membre d'une mission d'information\";\n TypePointOdj[\"NominationRapporteur\"] = \"Nomination rapporteur\";\n TypePointOdj[\"NominationRapporteurDApplication\"] = \"Nomination rapporteur d'application\";\n TypePointOdj[\"NominationRapporteurDInformation\"] = \"Nomination rapporteur d'information\";\n TypePointOdj[\"NominationRapporteurPourAvis\"] = \"Nomination rapporteur pour avis\";\n TypePointOdj[\"OuvertureEtCl\\u00F4tureDeSession\"] = \"Ouverture et cl\\u00F4ture de session\";\n TypePointOdj[\"QuestionsAuGouvernement\"] = \"Questions au Gouvernement\";\n TypePointOdj[\"QuestionsOralesSansD\\u00E9bat\"] = \"Questions orales sans d\\u00E9bat\";\n TypePointOdj[\"Rapport\"] = \"Rapport\";\n TypePointOdj[\"RapportDInformation\"] = \"Rapport d'information\";\n TypePointOdj[\"RapportPourAvis\"] = \"Rapport pour avis\";\n TypePointOdj[\"SeancesReserveesGroupeOppositionOuMinoritaire\"] = \"S\\u00E9ances r\\u00E9serv\\u00E9es \\u00E0 un groupe de l'opposition ou minoritaire\";\n TypePointOdj[\"SuiteDeLaDiscussion\"] = \"Suite de la discussion\";\n TypePointOdj[\"TableRonde\"] = \"Table ronde\";\n TypePointOdj[\"VoteParScrutinPublic\"] = \"Vote par scrutin public\";\n TypePointOdj[\"VoteSolennel\"] = \"Vote solennel\";\n})(TypePointOdj || (TypePointOdj = {}));\n/**\n * Le contenu de ce champ n'est pas défini.\n */\nexport var FormatReunion;\n(function (FormatReunion) {\n FormatReunion[\"AuditionExterne\"] = \"AuditionExterne\";\n FormatReunion[\"AuditionParPresidentCommission\"] = \"AuditionParPresidentCommission\";\n FormatReunion[\"AuditionParRapporteur\"] = \"AuditionParRapporteur\";\n FormatReunion[\"Ordinaire\"] = \"Ordinaire\";\n})(FormatReunion || (FormatReunion = {}));\n/**\n * Numéro de la séance dans la journée.\n */\nexport var Quantieme;\n(function (Quantieme) {\n Quantieme[\"Deuxi\\u00E8me\"] = \"Deuxi\\u00E8me\";\n Quantieme[\"Premi\\u00E8re\"] = \"Premi\\u00E8re\";\n Quantieme[\"Troisi\\u00E8me\"] = \"Troisi\\u00E8me\";\n Quantieme[\"Unique\"] = \"Unique\";\n})(Quantieme || (Quantieme = {}));\n/**\n * La valeur est 'absent' ou 'excusé' si la personne n'a pas participé à la réunion, 'présent' sinon.\n */\nexport var Presence;\n(function (Presence) {\n Presence[\"Absent\"] = \"absent\";\n Presence[\"Excus\\u00E9\"] = \"excus\\u00E9\";\n Presence[\"Pr\\u00E9sent\"] = \"pr\\u00E9sent\";\n})(Presence || (Presence = {}));\n/**\n * Type de personne auditionnée (acteur interne ou personne externe).\n */\nexport var PersonneAuditionneeXsiType;\n(function (PersonneAuditionneeXsiType) {\n PersonneAuditionneeXsiType[\"IdActeurType\"] = \"IdActeur_type\";\n PersonneAuditionneeXsiType[\"IdPersonneExterneType\"] = \"IdPersonneExterne_type\";\n})(PersonneAuditionneeXsiType || (PersonneAuditionneeXsiType = {}));\n/**\n * Le contenu de ce champ n'est pas défini.\n */\nexport var TypeReunion;\n(function (TypeReunion) {\n TypeReunion[\"Dep\"] = \"DEP\";\n TypeReunion[\"Ga\"] = \"GA\";\n TypeReunion[\"Ge\"] = \"GE\";\n TypeReunion[\"Gevi\"] = \"GEVI\";\n TypeReunion[\"Gp\"] = \"GP\";\n TypeReunion[\"H\\u00E9Aur\\u00E9lien\"] = \"H\\u00C9 Aur\\u00E9lien\";\n})(TypeReunion || (TypeReunion = {}));\n// Converts JSON strings to/from your types\n// and asserts the results of JSON.parse at runtime\nexport class Convert {\n static toAgendas(json) {\n return cast(JSON.parse(json), r(\"Agendas\"));\n }\n static agendasToJson(value) {\n return JSON.stringify(uncast(value, r(\"Agendas\")), null, 2);\n }\n static toReunion(json) {\n return cast(JSON.parse(json), r(\"Reunion\"));\n }\n static reunionToJson(value) {\n return JSON.stringify(uncast(value, r(\"Reunion\")), null, 2);\n }\n}\nfunction invalidValue(typ, val, key = \"\") {\n if (key) {\n throw Error(`Invalid value for key \"${key}\". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);\n }\n throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);\n}\nfunction jsonToJSProps(typ) {\n if (typ.jsonToJS === undefined) {\n var map = {};\n typ.props.forEach((p) => (map[p.json] = { key: p.js, typ: p.typ }));\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\nfunction jsToJSONProps(typ) {\n if (typ.jsToJSON === undefined) {\n var map = {};\n typ.props.forEach((p) => (map[p.js] = { key: p.json, typ: p.typ }));\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\nfunction transform(val, typ, getProps, key = \"\") {\n function transformPrimitive(typ, val) {\n if (typeof typ === typeof val)\n return val;\n return invalidValue(typ, val, key);\n }\n function transformUnion(typs, val) {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n }\n catch (_) { }\n }\n return invalidValue(typs, val);\n }\n function transformEnum(cases, val) {\n if (cases.indexOf(val) !== -1)\n return val;\n return invalidValue(cases, val);\n }\n function transformArray(typ, val) {\n // val must be an array with no invalid elements\n if (!Array.isArray(val))\n return invalidValue(\"array\", val);\n return val.map((el) => transform(el, typ, getProps));\n }\n function transformDate(val) {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue(\"Date\", val);\n }\n return d;\n }\n function transformObject(props, additional, val) {\n if (val === null || typeof val !== \"object\" || Array.isArray(val)) {\n return invalidValue(\"object\", val);\n }\n const result = {};\n Object.getOwnPropertyNames(props).forEach((key) => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key)\n ? val[key]\n : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, prop.key);\n });\n Object.getOwnPropertyNames(val).forEach((key) => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = transform(val[key], additional, getProps, key);\n }\n });\n return result;\n }\n if (typ === \"any\")\n return val;\n if (typ === null) {\n if (val === null)\n return val;\n return invalidValue(typ, val);\n }\n // if (typ === false) return invalidValue(typ, val)\n while (typeof typ === \"object\" && typ.ref !== undefined) {\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ))\n return transformEnum(typ, val);\n if (typeof typ === \"object\") {\n return typ.hasOwnProperty(\"unionMembers\")\n ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty(\"arrayItems\")\n ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty(\"props\")\n ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== \"number\")\n return transformDate(val);\n return transformPrimitive(typ, val);\n}\nfunction cast(val, typ) {\n return transform(val, typ, jsonToJSProps);\n}\nfunction uncast(val, typ) {\n return transform(val, typ, jsToJSONProps);\n}\nfunction a(typ) {\n return { arrayItems: typ };\n}\nfunction u(...typs) {\n return { unionMembers: typs };\n}\nfunction o(props, additional) {\n return { props, additional };\n}\n// function m(additional: any) {\n// return { props: [], additional }\n// }\nfunction r(name) {\n return { ref: name };\n}\nconst typeMap = {\n Agendas: o([{ json: \"reunions\", js: \"reunions\", typ: a(r(\"Reunion\")) }], false),\n Reunion: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n {\n json: \"xsiType\",\n js: \"xsiType\",\n typ: u(undefined, r(\"ReunionXsiType\")),\n },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"timestampDebut\", js: \"timestampDebut\", typ: Date },\n { json: \"timestampFin\", js: \"timestampFin\", typ: u(undefined, Date) },\n { json: \"lieu\", js: \"lieu\", typ: u(undefined, r(\"LieuReunion\")) },\n { json: \"cycleDeVie\", js: \"cycleDeVie\", typ: r(\"CycleDeVie\") },\n {\n json: \"demandeurs\",\n js: \"demandeurs\",\n typ: u(undefined, r(\"Demandeurs\")),\n },\n { json: \"organeReuniRef\", js: \"organeReuniRef\", typ: u(undefined, \"\") },\n {\n json: \"typeReunion\",\n js: \"typeReunion\",\n typ: u(undefined, r(\"TypeReunion\")),\n },\n {\n json: \"participants\",\n js: \"participants\",\n typ: u(undefined, r(\"Participants\")),\n },\n { json: \"sessionRef\", js: \"sessionRef\", typ: u(undefined, \"\") },\n {\n json: \"ouverturePresse\",\n js: \"ouverturePresse\",\n typ: u(undefined, false),\n },\n { json: \"odj\", js: \"odj\", typ: u(undefined, r(\"Odj\")) },\n { json: \"compteRenduRef\", js: \"compteRenduRef\", typ: u(undefined, \"\") },\n {\n json: \"identifiants\",\n js: \"identifiants\",\n typ: u(undefined, r(\"Identifiants\")),\n },\n {\n json: \"formatReunion\",\n js: \"formatReunion\",\n typ: u(undefined, r(\"FormatReunion\")),\n },\n {\n json: \"infosReunionsInternationale\",\n js: \"infosReunionsInternationale\",\n typ: u(undefined, r(\"InfosReunionsInternationale\")),\n },\n {\n json: \"captationVideo\",\n js: \"captationVideo\",\n typ: u(undefined, false),\n },\n { json: \"visioConference\", js: \"visioConference\", typ: u(undefined, \"\") },\n ], false),\n Odj: o([\n {\n json: \"convocationOdj\",\n js: \"convocationOdj\",\n typ: u(undefined, a(\"\")),\n },\n { json: \"resumeOdj\", js: \"resumeOdj\", typ: u(undefined, a(\"\")) },\n {\n json: \"pointsOdj\",\n js: \"pointsOdj\",\n typ: u(undefined, a(r(\"PointOdj\"))),\n },\n ], false),\n PointOdj: o([\n { json: \"xsiType\", js: \"xsiType\", typ: r(\"PointOdjXsiType\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"cycleDeVie\", js: \"cycleDeVie\", typ: r(\"CycleDeVie\") },\n { json: \"objet\", js: \"objet\", typ: \"\" },\n { json: \"procedure\", js: \"procedure\", typ: u(undefined, r(\"Procedure\")) },\n {\n json: \"dossiersLegislatifsRefs\",\n js: \"dossiersLegislatifsRefs\",\n typ: u(undefined, a(\"\")),\n },\n { json: \"typePointOdj\", js: \"typePointOdj\", typ: r(\"TypePointOdj\") },\n { json: \"comiteSecret\", js: \"comiteSecret\", typ: false },\n {\n json: \"natureTravauxOdj\",\n js: \"natureTravauxOdj\",\n typ: u(undefined, r(\"NatureTravauxOdj\")),\n },\n { json: \"dateConfPres\", js: \"dateConfPres\", typ: u(undefined, Date) },\n {\n json: \"dateLettreMinistre\",\n js: \"dateLettreMinistre\",\n typ: u(undefined, Date),\n },\n ], false),\n CycleDeVie: o([\n { json: \"etat\", js: \"etat\", typ: r(\"EtatCycleDeVie\") },\n { json: \"chrono\", js: \"chrono\", typ: r(\"Chrono\") },\n ], false),\n Chrono: o([\n { json: \"creation\", js: \"creation\", typ: Date },\n { json: \"cloture\", js: \"cloture\", typ: u(undefined, Date) },\n ], false),\n Demandeurs: o([\n {\n json: \"acteurs\",\n js: \"acteurs\",\n typ: u(undefined, a(r(\"DemandeurActeur\"))),\n },\n { json: \"organe\", js: \"organe\", typ: u(undefined, r(\"DemandeurOrgane\")) },\n ], false),\n DemandeurActeur: o([\n { json: \"nom\", js: \"nom\", typ: u(undefined, \"\") },\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n ], false),\n DemandeurOrgane: o([\n { json: \"nom\", js: \"nom\", typ: \"\" },\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n ], false),\n Identifiants: o([\n { json: \"numSeanceJo\", js: \"numSeanceJo\", typ: u(undefined, \"\") },\n { json: \"idJo\", js: \"idJo\", typ: u(undefined, \"\") },\n { json: \"quantieme\", js: \"quantieme\", typ: r(\"Quantieme\") },\n { json: \"dateSeance\", js: \"dateSeance\", typ: Date },\n ], false),\n InfosReunionsInternationale: o([\n {\n json: \"estReunionInternationale\",\n js: \"estReunionInternationale\",\n typ: false,\n },\n { json: \"listePays\", js: \"listePays\", typ: u(undefined, a(\"\")) },\n {\n json: \"informationsComplementaires\",\n js: \"informationsComplementaires\",\n typ: u(undefined, \"\"),\n },\n ], false),\n LieuReunion: o([\n { json: \"code\", js: \"code\", typ: u(undefined, \"\") },\n { json: \"libelleCourt\", js: \"libelleCourt\", typ: u(undefined, \"\") },\n { json: \"libelleLong\", js: \"libelleLong\", typ: u(undefined, \"\") },\n { json: \"lieuRef\", js: \"lieuRef\", typ: u(undefined, \"\") },\n ], false),\n Participants: o([\n {\n json: \"participantsInternes\",\n js: \"participantsInternes\",\n typ: u(undefined, a(r(\"ParticipantInterne\"))),\n },\n {\n json: \"personnesAuditionnees\",\n js: \"personnesAuditionnees\",\n typ: u(undefined, a(r(\"PersonneAuditionnee\"))),\n },\n ], false),\n ParticipantInterne: o([\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n { json: \"presence\", js: \"presence\", typ: r(\"Presence\") },\n ], false),\n PersonneAuditionnee: o([\n { json: \"xsiType\", js: \"xsiType\", typ: r(\"PersonneAuditionneeXsiType\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"ident\", js: \"ident\", typ: r(\"IdentPersonneAuditionnee\") },\n { json: \"dateNais\", js: \"dateNais\", typ: u(undefined, Date) },\n ], false),\n IdentPersonneAuditionnee: o([\n { json: \"civ\", js: \"civ\", typ: r(\"Civ\") },\n { json: \"prenom\", js: \"prenom\", typ: \"\" },\n { json: \"nom\", js: \"nom\", typ: \"\" },\n { json: \"alpha\", js: \"alpha\", typ: u(undefined, \"\") },\n { json: \"trigramme\", js: \"trigramme\", typ: u(undefined, \"\") },\n ], false),\n ReunionXsiType: [\n \"reunionCommission_type\",\n \"reunionInitParlementaire_type\",\n \"seance_type\",\n ],\n PointOdjXsiType: [\"podjReunion_type\", \"podjSeanceConfPres_type\"],\n EtatCycleDeVie: [\"Annulé\", \"Confirmé\", \"Eventuel\", \"Supprimé\"],\n NatureTravauxOdj: [\"ODJPR\", \"ODJSN\"],\n Procedure: [\n \"discussion générale commune\",\n \"procédure d'examen simplifiée-Article 103\",\n \"procédure d'examen simplifiée-Article 106\",\n \"procédure d'examen simplifiée-Article 107\",\n \"procédure de législation en commission-Article 107-1\",\n ],\n TypePointOdj: [\n \"Amendements (Art. 88)\",\n \"Amendements (Art. 91)\",\n \"Audition\",\n \"Audition ministre\",\n \"Audition ministre ouverte à la presse\",\n \"Audition ouverte à la presse\",\n \"Communication\",\n \"Constitution de mission d'information\",\n \"Discussion\",\n \"Débat d'initiative parlementaire\",\n \"Déclaration du Gouvernement suivie d'un débat\",\n \"Echanges de vues\",\n \"Examen\",\n \"Explications de vote des groupes et vote par scrutin public\",\n \"Explications de vote et vote par scrutin public\",\n \"Fixation de l'ordre du jour\",\n \"Nomination bureau\",\n \"Nomination candidats organisme extraparlementaire\",\n \"Nomination d'un membre d'une mission d'information\",\n \"Nomination rapporteur\",\n \"Nomination rapporteur d'application\",\n \"Nomination rapporteur d'information\",\n \"Nomination rapporteur pour avis\",\n \"Ouverture et clôture de session\",\n \"Questions au Gouvernement\",\n \"Questions orales sans débat\",\n \"Rapport\",\n \"Rapport d'information\",\n \"Rapport pour avis\",\n \"Séances réservées à un groupe de l'opposition ou minoritaire\",\n \"Suite de la discussion\",\n \"Table ronde\",\n \"Vote par scrutin public\",\n \"Vote solennel\",\n ],\n FormatReunion: [\n \"AuditionExterne\",\n \"AuditionParPresidentCommission\",\n \"AuditionParRapporteur\",\n \"Ordinaire\",\n ],\n Quantieme: [\"Deuxième\", \"Première\", \"Troisième\", \"Unique\"],\n Presence: [\"absent\", \"excusé\", \"présent\"],\n Civ: [\"M.\", \"Mme\"],\n PersonneAuditionneeXsiType: [\"IdActeur_type\", \"IdPersonneExterne_type\"],\n TypeReunion: [\"DEP\", \"GA\", \"GE\", \"GEVI\", \"GP\", \"HÉ Aurélien\"],\n};\n//# sourceMappingURL=agendas.js.map","export var CodeActe;\n(function (CodeActe) {\n CodeActe[\"An1\"] = \"AN1\";\n CodeActe[\"An1Acin\"] = \"AN1-ACIN\";\n CodeActe[\"An1Avce\"] = \"AN1-AVCE\";\n CodeActe[\"An1Com\"] = \"AN1-COM\";\n CodeActe[\"An1ComAvis\"] = \"AN1-COM-AVIS\";\n CodeActe[\"An1ComAvisNomin\"] = \"AN1-COM-AVIS-NOMIN\";\n CodeActe[\"An1ComAvisRapport\"] = \"AN1-COM-AVIS-RAPPORT\";\n CodeActe[\"An1ComAvisReunion\"] = \"AN1-COM-AVIS-REUNION\";\n CodeActe[\"An1ComAvisSaisie\"] = \"AN1-COM-AVIS-SAISIE\";\n CodeActe[\"An1ComFond\"] = \"AN1-COM-FOND\";\n CodeActe[\"An1ComFondNomin\"] = \"AN1-COM-FOND-NOMIN\";\n CodeActe[\"An1ComFondRapport\"] = \"AN1-COM-FOND-RAPPORT\";\n CodeActe[\"An1ComFondReunion\"] = \"AN1-COM-FOND-REUNION\";\n CodeActe[\"An1ComFondSaisie\"] = \"AN1-COM-FOND-SAISIE\";\n CodeActe[\"An1Debats\"] = \"AN1-DEBATS\";\n CodeActe[\"An1DebatsDec\"] = \"AN1-DEBATS-DEC\";\n CodeActe[\"An1DebatsMotion\"] = \"AN1-DEBATS-MOTION\";\n CodeActe[\"An1DebatsMotionVote\"] = \"AN1-DEBATS-MOTION-VOTE\";\n CodeActe[\"An1DebatsSeance\"] = \"AN1-DEBATS-SEANCE\";\n CodeActe[\"An1Depot\"] = \"AN1-DEPOT\";\n CodeActe[\"An1Dgvt\"] = \"AN1-DGVT\";\n CodeActe[\"An1Dptlettrect\"] = \"AN1-DPTLETTRECT\";\n CodeActe[\"An1Eti\"] = \"AN1-ETI\";\n CodeActe[\"An1Motion\"] = \"AN1-MOTION\";\n CodeActe[\"An1MotionVote\"] = \"AN1-MOTION-VOTE\";\n CodeActe[\"An1Procacc\"] = \"AN1-PROCACC\";\n CodeActe[\"An1Recbureau\"] = \"AN1-RECBUREAU\";\n CodeActe[\"An1Rtrini\"] = \"AN1-RTRINI\";\n CodeActe[\"An2\"] = \"AN2\";\n CodeActe[\"An20\"] = \"AN20\";\n CodeActe[\"An20Comenq\"] = \"AN20-COMENQ\";\n CodeActe[\"An20ComenqCrea\"] = \"AN20-COMENQ-CREA\";\n CodeActe[\"An20ComenqNomin\"] = \"AN20-COMENQ-NOMIN\";\n CodeActe[\"An20ComenqRapport\"] = \"AN20-COMENQ-RAPPORT\";\n CodeActe[\"An20Misinf\"] = \"AN20-MISINF\";\n CodeActe[\"An20MisinfCrea\"] = \"AN20-MISINF-CREA\";\n CodeActe[\"An20MisinfNomin\"] = \"AN20-MISINF-NOMIN\";\n CodeActe[\"An20MisinfRapport\"] = \"AN20-MISINF-RAPPORT\";\n CodeActe[\"An20Rapport\"] = \"AN20-RAPPORT\";\n CodeActe[\"An21\"] = \"AN21\";\n CodeActe[\"An21Apan\"] = \"AN21-APAN\";\n CodeActe[\"An21Debats\"] = \"AN21-DEBATS\";\n CodeActe[\"An21DebatsMotionVote\"] = \"AN21-DEBATS-MOTION-VOTE\";\n CodeActe[\"An21DebatsSeance\"] = \"AN21-DEBATS-SEANCE\";\n CodeActe[\"An21Dgvt\"] = \"AN21-DGVT\";\n CodeActe[\"An21Motion\"] = \"AN21-MOTION\";\n CodeActe[\"An21MotionVote\"] = \"AN21-MOTION-VOTE\";\n CodeActe[\"An21Mpr\"] = \"AN21-MPR\";\n CodeActe[\"An2Com\"] = \"AN2-COM\";\n CodeActe[\"An2ComAvis\"] = \"AN2-COM-AVIS\";\n CodeActe[\"An2ComAvisRapport\"] = \"AN2-COM-AVIS-RAPPORT\";\n CodeActe[\"An2ComAvisReunion\"] = \"AN2-COM-AVIS-REUNION\";\n CodeActe[\"An2ComAvisSaisie\"] = \"AN2-COM-AVIS-SAISIE\";\n CodeActe[\"An2ComFond\"] = \"AN2-COM-FOND\";\n CodeActe[\"An2ComFondNomin\"] = \"AN2-COM-FOND-NOMIN\";\n CodeActe[\"An2ComFondRapport\"] = \"AN2-COM-FOND-RAPPORT\";\n CodeActe[\"An2ComFondReunion\"] = \"AN2-COM-FOND-REUNION\";\n CodeActe[\"An2ComFondSaisie\"] = \"AN2-COM-FOND-SAISIE\";\n CodeActe[\"An2Debats\"] = \"AN2-DEBATS\";\n CodeActe[\"An2DebatsDec\"] = \"AN2-DEBATS-DEC\";\n CodeActe[\"An2DebatsSeance\"] = \"AN2-DEBATS-SEANCE\";\n CodeActe[\"An2Depot\"] = \"AN2-DEPOT\";\n CodeActe[\"An3\"] = \"AN3\";\n CodeActe[\"An3Com\"] = \"AN3-COM\";\n CodeActe[\"An3ComFond\"] = \"AN3-COM-FOND\";\n CodeActe[\"An3ComFondNomin\"] = \"AN3-COM-FOND-NOMIN\";\n CodeActe[\"An3ComFondRapport\"] = \"AN3-COM-FOND-RAPPORT\";\n CodeActe[\"An3ComFondReunion\"] = \"AN3-COM-FOND-REUNION\";\n CodeActe[\"An3ComFondSaisie\"] = \"AN3-COM-FOND-SAISIE\";\n CodeActe[\"An3Debats\"] = \"AN3-DEBATS\";\n CodeActe[\"An3DebatsDec\"] = \"AN3-DEBATS-DEC\";\n CodeActe[\"An3DebatsSeance\"] = \"AN3-DEBATS-SEANCE\";\n CodeActe[\"An3Depot\"] = \"AN3-DEPOT\";\n CodeActe[\"AnAppli\"] = \"AN-APPLI\";\n CodeActe[\"AnAppliRapport\"] = \"AN-APPLI-RAPPORT\";\n CodeActe[\"Anldef\"] = \"ANLDEF\";\n CodeActe[\"AnldefCom\"] = \"ANLDEF-COM\";\n CodeActe[\"AnldefComFond\"] = \"ANLDEF-COM-FOND\";\n CodeActe[\"AnldefComFondRapport\"] = \"ANLDEF-COM-FOND-RAPPORT\";\n CodeActe[\"AnldefComFondReunion\"] = \"ANLDEF-COM-FOND-REUNION\";\n CodeActe[\"AnldefComFondSaisie\"] = \"ANLDEF-COM-FOND-SAISIE\";\n CodeActe[\"AnldefDebats\"] = \"ANLDEF-DEBATS\";\n CodeActe[\"AnldefDebatsDec\"] = \"ANLDEF-DEBATS-DEC\";\n CodeActe[\"AnldefDebatsMotionVote\"] = \"ANLDEF-DEBATS-MOTION-VOTE\";\n CodeActe[\"AnldefDebatsSeance\"] = \"ANLDEF-DEBATS-SEANCE\";\n CodeActe[\"AnldefDepot\"] = \"ANLDEF-DEPOT\";\n CodeActe[\"AnldefDgvt\"] = \"ANLDEF-DGVT\";\n CodeActe[\"AnldefMotion\"] = \"ANLDEF-MOTION\";\n CodeActe[\"AnldefMotionVote\"] = \"ANLDEF-MOTION-VOTE\";\n CodeActe[\"Anluni\"] = \"ANLUNI\";\n CodeActe[\"AnluniCom\"] = \"ANLUNI-COM\";\n CodeActe[\"AnluniComCae\"] = \"ANLUNI-COM-CAE\";\n CodeActe[\"AnluniComCaeDec\"] = \"ANLUNI-COM-CAE-DEC\";\n CodeActe[\"AnluniComCaeNomin\"] = \"ANLUNI-COM-CAE-NOMIN\";\n CodeActe[\"AnluniComCaeRapport\"] = \"ANLUNI-COM-CAE-RAPPORT\";\n CodeActe[\"AnluniComCaeReunion\"] = \"ANLUNI-COM-CAE-REUNION\";\n CodeActe[\"AnluniComCaeSaisie\"] = \"ANLUNI-COM-CAE-SAISIE\";\n CodeActe[\"AnluniComFond\"] = \"ANLUNI-COM-FOND\";\n CodeActe[\"AnluniComFondNomin\"] = \"ANLUNI-COM-FOND-NOMIN\";\n CodeActe[\"AnluniComFondRapport\"] = \"ANLUNI-COM-FOND-RAPPORT\";\n CodeActe[\"AnluniComFondReunion\"] = \"ANLUNI-COM-FOND-REUNION\";\n CodeActe[\"AnluniComFondSaisie\"] = \"ANLUNI-COM-FOND-SAISIE\";\n CodeActe[\"AnluniDebats\"] = \"ANLUNI-DEBATS\";\n CodeActe[\"AnluniDebatsDec\"] = \"ANLUNI-DEBATS-DEC\";\n CodeActe[\"AnluniDebatsSeance\"] = \"ANLUNI-DEBATS-SEANCE\";\n CodeActe[\"AnluniDepot\"] = \"ANLUNI-DEPOT\";\n CodeActe[\"AnluniRtrini\"] = \"ANLUNI-RTRINI\";\n CodeActe[\"Annlec\"] = \"ANNLEC\";\n CodeActe[\"AnnlecCom\"] = \"ANNLEC-COM\";\n CodeActe[\"AnnlecComAvis\"] = \"ANNLEC-COM-AVIS\";\n CodeActe[\"AnnlecComAvisNomin\"] = \"ANNLEC-COM-AVIS-NOMIN\";\n CodeActe[\"AnnlecComAvisRapport\"] = \"ANNLEC-COM-AVIS-RAPPORT\";\n CodeActe[\"AnnlecComAvisReunion\"] = \"ANNLEC-COM-AVIS-REUNION\";\n CodeActe[\"AnnlecComAvisSaisie\"] = \"ANNLEC-COM-AVIS-SAISIE\";\n CodeActe[\"AnnlecComFond\"] = \"ANNLEC-COM-FOND\";\n CodeActe[\"AnnlecComFondNomin\"] = \"ANNLEC-COM-FOND-NOMIN\";\n CodeActe[\"AnnlecComFondRapport\"] = \"ANNLEC-COM-FOND-RAPPORT\";\n CodeActe[\"AnnlecComFondReunion\"] = \"ANNLEC-COM-FOND-REUNION\";\n CodeActe[\"AnnlecComFondSaisie\"] = \"ANNLEC-COM-FOND-SAISIE\";\n CodeActe[\"AnnlecDebats\"] = \"ANNLEC-DEBATS\";\n CodeActe[\"AnnlecDebatsDec\"] = \"ANNLEC-DEBATS-DEC\";\n CodeActe[\"AnnlecDebatsMotionVote\"] = \"ANNLEC-DEBATS-MOTION-VOTE\";\n CodeActe[\"AnnlecDebatsSeance\"] = \"ANNLEC-DEBATS-SEANCE\";\n CodeActe[\"AnnlecDepot\"] = \"ANNLEC-DEPOT\";\n CodeActe[\"AnnlecDgvt\"] = \"ANNLEC-DGVT\";\n CodeActe[\"AnnlecMotion\"] = \"ANNLEC-MOTION\";\n CodeActe[\"AnnlecMotionVote\"] = \"ANNLEC-MOTION-VOTE\";\n CodeActe[\"Cc\"] = \"CC\";\n CodeActe[\"CcConclusion\"] = \"CC-CONCLUSION\";\n CodeActe[\"CcSaisieAn\"] = \"CC-SAISIE-AN\";\n CodeActe[\"CcSaisieDroit\"] = \"CC-SAISIE-DROIT\";\n CodeActe[\"CcSaisiePan\"] = \"CC-SAISIE-PAN\";\n CodeActe[\"CcSaisiePm\"] = \"CC-SAISIE-PM\";\n CodeActe[\"CcSaisiePr\"] = \"CC-SAISIE-PR\";\n CodeActe[\"CcSaisiePsn\"] = \"CC-SAISIE-PSN\";\n CodeActe[\"CcSaisieSn\"] = \"CC-SAISIE-SN\";\n CodeActe[\"Cg22\"] = \"CG22\";\n CodeActe[\"Cg22Conv\"] = \"CG22-CONV\";\n CodeActe[\"Cg22Debats\"] = \"CG22-DEBATS\";\n CodeActe[\"Cg22DebatsDec\"] = \"CG22-DEBATS-DEC\";\n CodeActe[\"Cg22DebatsSeance\"] = \"CG22-DEBATS-SEANCE\";\n CodeActe[\"Cmp\"] = \"CMP\";\n CodeActe[\"CmpCom\"] = \"CMP-COM\";\n CodeActe[\"CmpComNomin\"] = \"CMP-COM-NOMIN\";\n CodeActe[\"CmpComRapportAn\"] = \"CMP-COM-RAPPORT-AN\";\n CodeActe[\"CmpComRapportSn\"] = \"CMP-COM-RAPPORT-SN\";\n CodeActe[\"CmpDebats\"] = \"CMP-DEBATS\";\n CodeActe[\"CmpDebatsAn\"] = \"CMP-DEBATS-AN\";\n CodeActe[\"CmpDebatsAnDec\"] = \"CMP-DEBATS-AN-DEC\";\n CodeActe[\"CmpDebatsAnSeance\"] = \"CMP-DEBATS-AN-SEANCE\";\n CodeActe[\"CmpDebatsDec\"] = \"CMP-DEBATS-DEC\";\n CodeActe[\"CmpDebatsSn\"] = \"CMP-DEBATS-SN\";\n CodeActe[\"CmpDebatsSnDec\"] = \"CMP-DEBATS-SN-DEC\";\n CodeActe[\"CmpDebatsSnSeance\"] = \"CMP-DEBATS-SN-SEANCE\";\n CodeActe[\"CmpDec\"] = \"CMP-DEC\";\n CodeActe[\"CmpDepot\"] = \"CMP-DEPOT\";\n CodeActe[\"CmpDgvt\"] = \"CMP-DGVT\";\n CodeActe[\"CmpMotion\"] = \"CMP-MOTION\";\n CodeActe[\"CmpMotionVote\"] = \"CMP-MOTION-VOTE\";\n CodeActe[\"CmpSaisie\"] = \"CMP-SAISIE\";\n CodeActe[\"Eu\"] = \"EU\";\n CodeActe[\"EuDec\"] = \"EU-DEC\";\n CodeActe[\"Motion\"] = \"MOTION\";\n CodeActe[\"MotionVote\"] = \"MOTION-VOTE\";\n CodeActe[\"Prom\"] = \"PROM\";\n CodeActe[\"PromPub\"] = \"PROM-PUB\";\n CodeActe[\"Sn1\"] = \"SN1\";\n CodeActe[\"Sn1Avce\"] = \"SN1-AVCE\";\n CodeActe[\"Sn1Com\"] = \"SN1-COM\";\n CodeActe[\"Sn1ComAvis\"] = \"SN1-COM-AVIS\";\n CodeActe[\"Sn1ComAvisNomin\"] = \"SN1-COM-AVIS-NOMIN\";\n CodeActe[\"Sn1ComAvisRapport\"] = \"SN1-COM-AVIS-RAPPORT\";\n CodeActe[\"Sn1ComAvisSaisie\"] = \"SN1-COM-AVIS-SAISIE\";\n CodeActe[\"Sn1ComFond\"] = \"SN1-COM-FOND\";\n CodeActe[\"Sn1ComFondNomin\"] = \"SN1-COM-FOND-NOMIN\";\n CodeActe[\"Sn1ComFondRapport\"] = \"SN1-COM-FOND-RAPPORT\";\n CodeActe[\"Sn1ComFondSaisie\"] = \"SN1-COM-FOND-SAISIE\";\n CodeActe[\"Sn1Debats\"] = \"SN1-DEBATS\";\n CodeActe[\"Sn1DebatsDec\"] = \"SN1-DEBATS-DEC\";\n CodeActe[\"Sn1DebatsMotion\"] = \"SN1-DEBATS-MOTION\";\n CodeActe[\"Sn1DebatsMotionVote\"] = \"SN1-DEBATS-MOTION-VOTE\";\n CodeActe[\"Sn1DebatsSeance\"] = \"SN1-DEBATS-SEANCE\";\n CodeActe[\"Sn1Depot\"] = \"SN1-DEPOT\";\n CodeActe[\"Sn1Dptlettrect\"] = \"SN1-DPTLETTRECT\";\n CodeActe[\"Sn1Eti\"] = \"SN1-ETI\";\n CodeActe[\"Sn1Procacc\"] = \"SN1-PROCACC\";\n CodeActe[\"Sn1Rtrini\"] = \"SN1-RTRINI\";\n CodeActe[\"Sn2\"] = \"SN2\";\n CodeActe[\"Sn2Com\"] = \"SN2-COM\";\n CodeActe[\"Sn2ComAvis\"] = \"SN2-COM-AVIS\";\n CodeActe[\"Sn2ComAvisNomin\"] = \"SN2-COM-AVIS-NOMIN\";\n CodeActe[\"Sn2ComAvisRapport\"] = \"SN2-COM-AVIS-RAPPORT\";\n CodeActe[\"Sn2ComAvisSaisie\"] = \"SN2-COM-AVIS-SAISIE\";\n CodeActe[\"Sn2ComFond\"] = \"SN2-COM-FOND\";\n CodeActe[\"Sn2ComFondNomin\"] = \"SN2-COM-FOND-NOMIN\";\n CodeActe[\"Sn2ComFondRapport\"] = \"SN2-COM-FOND-RAPPORT\";\n CodeActe[\"Sn2ComFondSaisie\"] = \"SN2-COM-FOND-SAISIE\";\n CodeActe[\"Sn2Debats\"] = \"SN2-DEBATS\";\n CodeActe[\"Sn2DebatsDec\"] = \"SN2-DEBATS-DEC\";\n CodeActe[\"Sn2DebatsSeance\"] = \"SN2-DEBATS-SEANCE\";\n CodeActe[\"Sn2Depot\"] = \"SN2-DEPOT\";\n CodeActe[\"Sn3\"] = \"SN3\";\n CodeActe[\"Sn3Com\"] = \"SN3-COM\";\n CodeActe[\"Sn3ComFond\"] = \"SN3-COM-FOND\";\n CodeActe[\"Sn3ComFondRapport\"] = \"SN3-COM-FOND-RAPPORT\";\n CodeActe[\"Sn3ComFondSaisie\"] = \"SN3-COM-FOND-SAISIE\";\n CodeActe[\"Sn3Debats\"] = \"SN3-DEBATS\";\n CodeActe[\"Sn3DebatsDec\"] = \"SN3-DEBATS-DEC\";\n CodeActe[\"Sn3DebatsSeance\"] = \"SN3-DEBATS-SEANCE\";\n CodeActe[\"Sn3Depot\"] = \"SN3-DEPOT\";\n CodeActe[\"Snnlec\"] = \"SNNLEC\";\n CodeActe[\"SnnlecCom\"] = \"SNNLEC-COM\";\n CodeActe[\"SnnlecComFond\"] = \"SNNLEC-COM-FOND\";\n CodeActe[\"SnnlecComFondNomin\"] = \"SNNLEC-COM-FOND-NOMIN\";\n CodeActe[\"SnnlecComFondRapport\"] = \"SNNLEC-COM-FOND-RAPPORT\";\n CodeActe[\"SnnlecComFondSaisie\"] = \"SNNLEC-COM-FOND-SAISIE\";\n CodeActe[\"SnnlecDebats\"] = \"SNNLEC-DEBATS\";\n CodeActe[\"SnnlecDebatsDec\"] = \"SNNLEC-DEBATS-DEC\";\n CodeActe[\"SnnlecDebatsSeance\"] = \"SNNLEC-DEBATS-SEANCE\";\n CodeActe[\"SnnlecDepot\"] = \"SNNLEC-DEPOT\";\n})(CodeActe || (CodeActe = {}));\n//# sourceMappingURL=codes_actes.js.map","// To parse this data:\n//\n// import { Convert, Document, DossierParlementaire, DossiersLegislatifs } from \"./file\";\n//\n// const document = Convert.toDocument(json);\n// const dossierParlementaire = Convert.toDossierParlementaire(json);\n// const dossiersLegislatifs = Convert.toDossiersLegislatifs(json);\n//\n// These functions will throw an error if the JSON doesn't\n// match the expected interface, even if the JSON is valid.\nimport { CodeActe } from \"../shared_types/codes_actes\";\nexport var DossierParlementaireXsiType;\n(function (DossierParlementaireXsiType) {\n DossierParlementaireXsiType[\"DossierCommissionEnqueteType\"] = \"DossierCommissionEnquete_Type\";\n DossierParlementaireXsiType[\"DossierIniativeExecutifType\"] = \"DossierIniativeExecutif_Type\";\n DossierParlementaireXsiType[\"DossierLegislatifType\"] = \"DossierLegislatif_Type\";\n DossierParlementaireXsiType[\"DossierMissionControleType\"] = \"DossierMissionControle_Type\";\n DossierParlementaireXsiType[\"DossierMissionInformationType\"] = \"DossierMissionInformation_Type\";\n DossierParlementaireXsiType[\"DossierResolutionAn\"] = \"DossierResolutionAN\";\n})(DossierParlementaireXsiType || (DossierParlementaireXsiType = {}));\n/**\n * Le contenu de ce champ n'est pas défini.\n */\nexport var TypeBudget;\n(function (TypeBudget) {\n TypeBudget[\"BudgetAnnexe\"] = \"Budget annexe\";\n TypeBudget[\"BudgetG\\u00E9n\\u00E9ral\"] = \"Budget g\\u00E9n\\u00E9ral\";\n TypeBudget[\"CompteDeConcoursFinancier\"] = \"Compte de concours financier\";\n TypeBudget[\"CompteSp\\u00E9cial\"] = \"Compte sp\\u00E9cial\";\n TypeBudget[\"Premi\\u00E8rePartie\"] = \"Premi\\u00E8re partie\";\n})(TypeBudget || (TypeBudget = {}));\n/**\n * Au premier niveau le type est toujours 'mission principale', au second niveau (c'est à dire inclus dans la liste **missions**) le type peut être 'mission secondaire' ou 'partie de mission'.\n */\nexport var TypeMission;\n(function (TypeMission) {\n TypeMission[\"MissionPrincipale\"] = \"mission principale\";\n TypeMission[\"MissionSecondaire\"] = \"mission secondaire\";\n TypeMission[\"PartieDeMission\"] = \"partie de mission\";\n})(TypeMission || (TypeMission = {}));\n/**\n * Titre donné en raison du mandat, similaire à **libQualiteSex** dans le `{@link acteur.html#mandat | mandat}` de l'auteur.\n */\nexport var Qualite;\n(function (Qualite) {\n Qualite[\"Auteur\"] = \"auteur\";\n Qualite[\"Cosignataire\"] = \"cosignataire\";\n Qualite[\"Rapporteur\"] = \"rapporteur\";\n Qualite[\"RapporteurG\\u00E9n\\u00E9ral\"] = \"rapporteur g\\u00E9n\\u00E9ral\";\n Qualite[\"RapporteurPourAvis\"] = \"rapporteur pour avis\";\n Qualite[\"RapporteurSp\\u00E9cial\"] = \"rapporteur sp\\u00E9cial\";\n})(Qualite || (Qualite = {}));\nexport var TypeActeLegislatif;\n(function (TypeActeLegislatif) {\n TypeActeLegislatif[\"AdoptionEuropeType\"] = \"Adoption_Europe_Type\";\n TypeActeLegislatif[\"ConclusionEtapeCcType\"] = \"ConclusionEtapeCC_Type\";\n TypeActeLegislatif[\"ConvocationCongresType\"] = \"ConvocationCongres_Type\";\n TypeActeLegislatif[\"CreationOrganeTemporaireType\"] = \"CreationOrganeTemporaire_Type\";\n TypeActeLegislatif[\"DecisionMotionCensureType\"] = \"DecisionMotionCensure_Type\";\n TypeActeLegislatif[\"DecisionRecevabiliteBureauType\"] = \"DecisionRecevabiliteBureau_Type\";\n TypeActeLegislatif[\"DecisionType\"] = \"Decision_Type\";\n TypeActeLegislatif[\"DeclarationGouvernementType\"] = \"DeclarationGouvernement_Type\";\n TypeActeLegislatif[\"DepotAccordInternationalType\"] = \"DepotAccordInternational_Type\";\n TypeActeLegislatif[\"DepotAvisConseilEtatType\"] = \"DepotAvisConseilEtat_Type\";\n TypeActeLegislatif[\"DepotInitiativeNavetteType\"] = \"DepotInitiativeNavette_Type\";\n TypeActeLegislatif[\"DepotInitiativeType\"] = \"DepotInitiative_Type\";\n TypeActeLegislatif[\"DepotLettreRectificativeType\"] = \"DepotLettreRectificative_Type\";\n TypeActeLegislatif[\"DepotMotionCensureType\"] = \"DepotMotionCensure_Type\";\n TypeActeLegislatif[\"DepotMotionReferendaireType\"] = \"DepotMotionReferendaire_Type\";\n TypeActeLegislatif[\"DepotRapportType\"] = \"DepotRapport_Type\";\n TypeActeLegislatif[\"DiscussionCommissionType\"] = \"DiscussionCommission_Type\";\n TypeActeLegislatif[\"DiscussionSeancePubliqueType\"] = \"DiscussionSeancePublique_Type\";\n TypeActeLegislatif[\"EtapeType\"] = \"Etape_Type\";\n TypeActeLegislatif[\"EtudeImpactType\"] = \"EtudeImpact_Type\";\n TypeActeLegislatif[\"MotionProcedureType\"] = \"MotionProcedure_Type\";\n TypeActeLegislatif[\"NominRapporteursType\"] = \"NominRapporteurs_Type\";\n TypeActeLegislatif[\"ProcedureAccelereType\"] = \"ProcedureAccelere_Type\";\n TypeActeLegislatif[\"PromulgationType\"] = \"Promulgation_Type\";\n TypeActeLegislatif[\"RenvoiCmpType\"] = \"RenvoiCMP_Type\";\n TypeActeLegislatif[\"RenvoiPrealableType\"] = \"RenvoiPrealable_Type\";\n TypeActeLegislatif[\"RetraitInitiativeType\"] = \"RetraitInitiative_Type\";\n TypeActeLegislatif[\"SaisieComAvisType\"] = \"SaisieComAvis_Type\";\n TypeActeLegislatif[\"SaisieComFondType\"] = \"SaisieComFond_Type\";\n TypeActeLegislatif[\"SaisineConseilConstitType\"] = \"SaisineConseilConstit_Type\";\n})(TypeActeLegislatif || (TypeActeLegislatif = {}));\n/**\n * BTA pour Bibard du Texte Adopté ou TAP pour Texte Adopté Provisoire.\n */\nexport var TypeTexte;\n(function (TypeTexte) {\n TypeTexte[\"Bta\"] = \"BTA\";\n TypeTexte[\"Tap\"] = \"TAP\";\n})(TypeTexte || (TypeTexte = {}));\nexport var Motif;\n(function (Motif) {\n Motif[\"EnApplicationDeLArticle612DeLaConstitution\"] = \"En application de l'article 61\\u00A72 de la Constitution\";\n})(Motif || (Motif = {}));\nexport var TypeJo;\n(function (TypeJo) {\n TypeJo[\"JoLoiDecret\"] = \"JO_LOI_DECRET\";\n})(TypeJo || (TypeJo = {}));\nexport var Cause;\n(function (Cause) {\n Cause[\"DossierAbsorb\\u00E9\"] = \"Dossier absorb\\u00E9\";\n Cause[\"ExamenCommun\"] = \"Examen commun\";\n})(Cause || (Cause = {}));\n/**\n * Type du document externe (par exemple: Décret).\n */\nexport var TexteExterneAssocieTypeDoc;\n(function (TexteExterneAssocieTypeDoc) {\n TexteExterneAssocieTypeDoc[\"Decret\"] = \"D\\u00E9cret\";\n})(TexteExterneAssocieTypeDoc || (TexteExterneAssocieTypeDoc = {}));\nexport var TypeDocument;\n(function (TypeDocument) {\n TypeDocument[\"AccordInternationalType\"] = \"accordInternational_Type\";\n TypeDocument[\"AvisConseilEtatType\"] = \"avisConseilEtat_Type\";\n TypeDocument[\"DocumentEtudeImpactType\"] = \"documentEtudeImpact_Type\";\n TypeDocument[\"RapportParlementaireType\"] = \"rapportParlementaire_Type\";\n TypeDocument[\"TexteLoiType\"] = \"texteLoi_Type\";\n})(TypeDocument || (TypeDocument = {}));\nexport var StatutAdoption;\n(function (StatutAdoption) {\n StatutAdoption[\"Adoptcom\"] = \"ADOPTCOM\";\n StatutAdoption[\"Adoptseance\"] = \"ADOPTSEANCE\";\n StatutAdoption[\"Rejetseance\"] = \"REJETSEANCE\";\n})(StatutAdoption || (StatutAdoption = {}));\nexport var TypeCorrection;\n(function (TypeCorrection) {\n TypeCorrection[\"Rectifi\\u00E9\"] = \"Rectifi\\u00E9\";\n})(TypeCorrection || (TypeCorrection = {}));\n/**\n * Le contenu de ce champ n'est pas défini.\n */\nexport var DocumentDenominationStructurelle;\n(function (DocumentDenominationStructurelle) {\n DocumentDenominationStructurelle[\"Allocution\"] = \"Allocution\";\n DocumentDenominationStructurelle[\"Avis\"] = \"Avis\";\n DocumentDenominationStructurelle[\"D\\u00E9claration\"] = \"D\\u00E9claration\";\n DocumentDenominationStructurelle[\"Lettre\"] = \"Lettre\";\n DocumentDenominationStructurelle[\"Message\"] = \"Message\";\n DocumentDenominationStructurelle[\"Motion\"] = \"Motion\";\n DocumentDenominationStructurelle[\"ProjetDeLoi\"] = \"Projet de loi\";\n DocumentDenominationStructurelle[\"PropositionDeLoi\"] = \"Proposition de loi\";\n DocumentDenominationStructurelle[\"PropositionDeR\\u00E9solution\"] = \"Proposition de r\\u00E9solution\";\n DocumentDenominationStructurelle[\"Rapport\"] = \"Rapport\";\n DocumentDenominationStructurelle[\"RapportDInformation\"] = \"Rapport d'information\";\n DocumentDenominationStructurelle[\"R\\u00E9solution\"] = \"R\\u00E9solution\";\n})(DocumentDenominationStructurelle || (DocumentDenominationStructurelle = {}));\n/**\n * Le contenu de ce champ n'est pas défini.\n */\nexport var Provenance;\n(function (Provenance) {\n Provenance[\"Commission\"] = \"Commission\";\n Provenance[\"S\\u00E9ance\"] = \"S\\u00E9ance\";\n Provenance[\"TexteD\\u00E9pos\\u00E9\"] = \"Texte D\\u00E9pos\\u00E9\";\n})(Provenance || (Provenance = {}));\n// Converts JSON strings to/from your types\n// and asserts the results of JSON.parse at runtime\nexport class Convert {\n static toDossiersLegislatifs(json) {\n return cast(JSON.parse(json), r(\"DossiersLegislatifs\"));\n }\n static dossiersLegislatifsToJson(value) {\n return JSON.stringify(uncast(value, r(\"DossiersLegislatifs\")), null, 2);\n }\n static toDocument(json) {\n return cast(JSON.parse(json), r(\"Document\"));\n }\n static documentToJson(value) {\n return JSON.stringify(uncast(value, r(\"Document\")), null, 2);\n }\n static toDossierParlementaire(json) {\n return cast(JSON.parse(json), r(\"DossierParlementaire\"));\n }\n static dossierParlementaireToJson(value) {\n return JSON.stringify(uncast(value, r(\"DossierParlementaire\")), null, 2);\n }\n}\nfunction invalidValue(typ, val, key = \"\") {\n if (key) {\n throw Error(`Invalid value for key \"${key}\". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);\n }\n throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);\n}\nfunction jsonToJSProps(typ) {\n if (typ.jsonToJS === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.json] = { key: p.js, typ: p.typ }));\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\nfunction jsToJSONProps(typ) {\n if (typ.jsToJSON === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.js] = { key: p.json, typ: p.typ }));\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\nfunction transform(val, typ, getProps, key = \"\") {\n function transformPrimitive(typ, val) {\n if (typeof typ === typeof val)\n return val;\n return invalidValue(typ, val, key);\n }\n function transformUnion(typs, val) {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n }\n catch (_) { }\n }\n return invalidValue(typs, val);\n }\n function transformEnum(cases, val) {\n if (cases.indexOf(val) !== -1)\n return val;\n return invalidValue(cases, val);\n }\n function transformArray(typ, val) {\n // val must be an array with no invalid elements\n if (!Array.isArray(val))\n return invalidValue(\"array\", val);\n return val.map((el) => transform(el, typ, getProps));\n }\n function transformDate(val) {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue(\"Date\", val);\n }\n return d;\n }\n function transformObject(props, additional, val) {\n if (val === null || typeof val !== \"object\" || Array.isArray(val)) {\n return invalidValue(\"object\", val);\n }\n const result = {};\n Object.getOwnPropertyNames(props).forEach((key) => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key)\n ? val[key]\n : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, prop.key);\n });\n Object.getOwnPropertyNames(val).forEach((key) => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = transform(val[key], additional, getProps, key);\n }\n });\n return result;\n }\n if (typ === \"any\")\n return val;\n if (typ === null) {\n if (val === null)\n return val;\n return invalidValue(typ, val);\n }\n // if (typ === false) return invalidValue(typ, val)\n while (typeof typ === \"object\" && typ.ref !== undefined) {\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ))\n return transformEnum(typ, val);\n if (typeof typ === \"object\") {\n return typ.hasOwnProperty(\"unionMembers\")\n ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty(\"arrayItems\")\n ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty(\"props\")\n ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== \"number\")\n return transformDate(val);\n return transformPrimitive(typ, val);\n}\nfunction cast(val, typ) {\n return transform(val, typ, jsonToJSProps);\n}\nfunction uncast(val, typ) {\n return transform(val, typ, jsToJSONProps);\n}\nfunction a(typ) {\n return { arrayItems: typ };\n}\nfunction u(...typs) {\n return { unionMembers: typs };\n}\nfunction o(props, additional) {\n return { props, additional };\n}\n// function m(additional: any) {\n// return { props: [], additional };\n// }\nfunction r(name) {\n return { ref: name };\n}\nconst typeMap = {\n DossiersLegislatifs: o([\n {\n json: \"textesLegislatifs\",\n js: \"textesLegislatifs\",\n typ: a(r(\"Document\")),\n },\n {\n json: \"dossiersParlementaires\",\n js: \"dossiersParlementaires\",\n typ: a(r(\"DossierParlementaire\")),\n },\n ], false),\n DossierParlementaire: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n {\n json: \"xsiType\",\n js: \"xsiType\",\n typ: u(undefined, r(\"DossierParlementaireXsiType\")),\n },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: \"\" },\n { json: \"titreDossier\", js: \"titreDossier\", typ: r(\"TitreDossier\") },\n {\n json: \"procedureParlementaire\",\n js: \"procedureParlementaire\",\n typ: r(\"ProcedureParlementaire\"),\n },\n {\n json: \"initiateur\",\n js: \"initiateur\",\n typ: u(undefined, r(\"Initiateur\")),\n },\n {\n json: \"actesLegislatifs\",\n js: \"actesLegislatifs\",\n typ: u(undefined, a(r(\"ActeLegislatif\"))),\n },\n {\n json: \"fusionDossier\",\n js: \"fusionDossier\",\n typ: u(undefined, r(\"FusionDossier\")),\n },\n {\n json: \"indexation\",\n js: \"indexation\",\n typ: u(undefined, r(\"Indexation\")),\n },\n { json: \"plf\", js: \"plf\", typ: u(undefined, a(r(\"EtudePlf\"))) },\n ], false),\n EtudePlf: o([\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n { json: \"texteAssocie\", js: \"texteAssocie\", typ: u(undefined, \"\") },\n {\n json: \"rapporteurs\",\n js: \"rapporteurs\",\n typ: u(undefined, a(r(\"Rapporteur\"))),\n },\n {\n json: \"missionMinefi\",\n js: \"missionMinefi\",\n typ: u(undefined, r(\"MissionMinefi\")),\n },\n { json: \"ordreDiqs\", js: \"ordreDiqs\", typ: \"\" },\n { json: \"ordreCommission\", js: \"ordreCommission\", typ: \"\" },\n ], false),\n MissionMinefi: o([\n { json: \"typeMission\", js: \"typeMission\", typ: r(\"TypeMission\") },\n { json: \"codeMission\", js: \"codeMission\", typ: u(undefined, \"\") },\n { json: \"libelleLong\", js: \"libelleLong\", typ: \"\" },\n { json: \"libelleCourt\", js: \"libelleCourt\", typ: \"\" },\n { json: \"typeBudget\", js: \"typeBudget\", typ: r(\"TypeBudget\") },\n {\n json: \"missions\",\n js: \"missions\",\n typ: u(undefined, a(r(\"MissionMinefi\"))),\n },\n ], false),\n ActeLegislatif: o([\n { json: \"xsiType\", js: \"xsiType\", typ: r(\"TypeActeLegislatif\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n {\n json: \"codeActe\",\n js: \"codeActe\",\n typ: r(\"CodeActe\"),\n },\n { json: \"libelleActe\", js: \"libelleActe\", typ: r(\"LibelleActe\") },\n { json: \"organeRef\", js: \"organeRef\", typ: u(undefined, \"\") },\n { json: \"dateActe\", js: \"dateActe\", typ: u(undefined, Date) },\n {\n json: \"actesLegislatifs\",\n js: \"actesLegislatifs\",\n typ: u(undefined, a(r(\"ActeLegislatif\"))),\n },\n { json: \"anneeDecision\", js: \"anneeDecision\", typ: u(undefined, \"\") },\n {\n json: \"auteurMotion\",\n js: \"auteurMotion\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"auteursRefs\",\n js: \"auteursRefs\",\n typ: u(undefined, a(\"\")),\n },\n {\n json: \"casSaisine\",\n js: \"casSaisine\",\n typ: u(undefined, r(\"TypeDeclaration\")),\n },\n { json: \"codeLoi\", js: \"codeLoi\", typ: u(undefined, \"\") },\n {\n json: \"contributionInternaute\",\n js: \"contributionInternaute\",\n typ: u(undefined, r(\"ContributionInternaute\")),\n },\n {\n json: \"decision\",\n js: \"decision\",\n typ: u(undefined, r(\"TypeDeclaration\")),\n },\n {\n json: \"depotInitialLectureDefinitiveRef\",\n js: \"depotInitialLectureDefinitiveRef\",\n typ: u(undefined, \"\"),\n },\n { json: \"formuleDecision\", js: \"formuleDecision\", typ: u(undefined, \"\") },\n { json: \"infoJo\", js: \"infoJo\", typ: u(undefined, r(\"InfoJo\")) },\n { json: \"infoJoce\", js: \"infoJoce\", typ: u(undefined, r(\"InfoJoce\")) },\n {\n json: \"infoJoRect\",\n js: \"infoJoRect\",\n typ: u(undefined, a(r(\"InfoJo\"))),\n },\n {\n json: \"initiateur\",\n js: \"initiateur\",\n typ: u(undefined, r(\"Initiateur\")),\n },\n { json: \"motif\", js: \"motif\", typ: u(undefined, r(\"Motif\")) },\n { json: \"numDecision\", js: \"numDecision\", typ: u(undefined, \"\") },\n { json: \"odjRef\", js: \"odjRef\", typ: u(undefined, \"\") },\n { json: \"provenanceRef\", js: \"provenanceRef\", typ: u(undefined, \"\") },\n {\n json: \"rapporteurs\",\n js: \"rapporteurs\",\n typ: u(undefined, a(r(\"Rapporteur\"))),\n },\n { json: \"referenceNor\", js: \"referenceNor\", typ: u(undefined, \"\") },\n { json: \"reunionRef\", js: \"reunionRef\", typ: u(undefined, \"\") },\n {\n json: \"statutAdoption\",\n js: \"statutAdoption\",\n typ: u(undefined, r(\"TypeDeclaration\")),\n },\n {\n json: \"statutConclusion\",\n js: \"statutConclusion\",\n typ: u(undefined, r(\"TypeDeclaration\")),\n },\n {\n json: \"texteAdopteRef\",\n js: \"texteAdopteRef\",\n typ: u(undefined, \"\"),\n },\n { json: \"texteAssocieRef\", js: \"texteAssocieRef\", typ: u(undefined, \"\") },\n {\n json: \"texteEuropeen\",\n js: \"texteEuropeen\",\n typ: u(undefined, r(\"TexteEuropeen\")),\n },\n {\n json: \"texteExterneAssocie\",\n js: \"texteExterneAssocie\",\n typ: u(undefined, r(\"TexteExterneAssocie\")),\n },\n { json: \"texteLoiRef\", js: \"texteLoiRef\", typ: u(undefined, \"\") },\n {\n json: \"textesAssocies\",\n js: \"textesAssocies\",\n typ: u(undefined, a(r(\"TexteAssocie\"))),\n },\n { json: \"titreLoi\", js: \"titreLoi\", typ: u(undefined, \"\") },\n {\n json: \"typeDeclaration\",\n js: \"typeDeclaration\",\n typ: u(undefined, r(\"TypeDeclaration\")),\n },\n {\n json: \"typeMotion\",\n js: \"typeMotion\",\n typ: u(undefined, r(\"TypeDeclaration\")),\n },\n {\n json: \"typeMotionCensure\",\n js: \"typeMotionCensure\",\n typ: u(undefined, r(\"TypeDeclaration\")),\n },\n { json: \"urlConclusion\", js: \"urlConclusion\", typ: u(undefined, \"\") },\n {\n json: \"urlEcheancierLoi\",\n js: \"urlEcheancierLoi\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"urlLegifrance\",\n js: \"urlLegifrance\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"voteRefs\",\n js: \"voteRefs\",\n typ: u(undefined, a(\"\")),\n },\n ], false),\n LibelleActe: o([\n { json: \"nomCanonique\", js: \"nomCanonique\", typ: \"\" },\n { json: \"libelleCourt\", js: \"libelleCourt\", typ: u(undefined, \"\") },\n ], false),\n Rapporteur: o([\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n { json: \"typeRapporteur\", js: \"typeRapporteur\", typ: r(\"Qualite\") },\n { json: \"etudePlfRef\", js: \"etudePlfRef\", typ: u(undefined, \"\") },\n ], false),\n TypeDeclaration: o([\n { json: \"famCode\", js: \"famCode\", typ: \"\" },\n { json: \"libelle\", js: \"libelle\", typ: \"\" },\n ], false),\n TexteAssocie: o([\n { json: \"typeTexte\", js: \"typeTexte\", typ: r(\"TypeTexte\") },\n { json: \"texteAssocieRef\", js: \"texteAssocieRef\", typ: \"\" },\n ], false),\n ContributionInternaute: o([\n { json: \"dateOuverture\", js: \"dateOuverture\", typ: u(undefined, \"\") },\n { json: \"dateFermeture\", js: \"dateFermeture\", typ: u(undefined, \"\") },\n ], false),\n InfoJoce: o([\n { json: \"refJoce\", js: \"refJoce\", typ: \"\" },\n { json: \"dateJoce\", js: \"dateJoce\", typ: \"\" },\n ], false),\n InitiateurActeur: o([\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n { json: \"mandatRef\", js: \"mandatRef\", typ: u(undefined, \"\") },\n ], false),\n TexteEuropeen: o([\n { json: \"typeTexteEuropeen\", js: \"typeTexteEuropeen\", typ: \"\" },\n { json: \"titreTexteEuropeen\", js: \"titreTexteEuropeen\", typ: \"\" },\n ], false),\n InfoJo: o([\n { json: \"typeJo\", js: \"typeJo\", typ: r(\"TypeJo\") },\n { json: \"dateJo\", js: \"dateJo\", typ: \"\" },\n { json: \"numJo\", js: \"numJo\", typ: \"\" },\n { json: \"urlLegifrance\", js: \"urlLegifrance\", typ: u(undefined, \"\") },\n { json: \"referenceNor\", js: \"referenceNor\", typ: u(undefined, \"\") },\n ], false),\n FusionDossier: o([\n { json: \"cause\", js: \"cause\", typ: r(\"Cause\") },\n { json: \"dossierAbsorbantRef\", js: \"dossierAbsorbantRef\", typ: \"\" },\n ], false),\n Indexation: o([{ json: \"themes\", js: \"themes\", typ: r(\"Themes\") }], false),\n Themes: o([\n { json: \"@niveau\", js: \"@niveau\", typ: \"\" },\n { json: \"theme\", js: \"theme\", typ: r(\"Theme\") },\n ], false),\n Theme: o([{ json: \"libelleTheme\", js: \"libelleTheme\", typ: \"\" }], false),\n Initiateur: o([\n {\n json: \"acteurs\",\n js: \"acteurs\",\n typ: u(undefined, a(r(\"InitiateurActeur\"))),\n },\n { json: \"organeRef\", js: \"organeRef\", typ: u(undefined, \"\") },\n ], false),\n ProcedureParlementaire: o([\n { json: \"code\", js: \"code\", typ: \"\" },\n { json: \"libelle\", js: \"libelle\", typ: \"\" },\n ], false),\n TitreDossier: o([\n { json: \"titre\", js: \"titre\", typ: \"\" },\n { json: \"titreChemin\", js: \"titreChemin\", typ: u(undefined, \"\") },\n { json: \"senatChemin\", js: \"senatChemin\", typ: u(undefined, \"\") },\n ], false),\n TexteExterneAssocie: o([\n { json: \"typeDoc\", js: \"typeDoc\", typ: r(\"TexteExterneAssocieTypeDoc\") },\n { json: \"texteRef\", js: \"texteRef\", typ: \"\" },\n { json: \"titreDoc\", js: \"titreDoc\", typ: \"\" },\n { json: \"urlDoc\", js: \"urlDoc\", typ: \"\" },\n ], false),\n Document: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n { json: \"xsiType\", js: \"xsiType\", typ: r(\"TypeDocument\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: u(undefined, \"\") },\n { json: \"cycleDeVie\", js: \"cycleDeVie\", typ: r(\"CycleDeVieDocument\") },\n {\n json: \"denominationStructurelle\",\n js: \"denominationStructurelle\",\n typ: r(\"DocumentDenominationStructurelle\"),\n },\n {\n json: \"provenance\",\n js: \"provenance\",\n typ: u(undefined, r(\"Provenance\")),\n },\n { json: \"titres\", js: \"titres\", typ: r(\"Titres\") },\n {\n json: \"divisions\",\n js: \"divisions\",\n typ: u(undefined, a(r(\"Division\"))),\n },\n { json: \"dossierRef\", js: \"dossierRef\", typ: \"\" },\n {\n json: \"classification\",\n js: \"classification\",\n typ: r(\"Classification\"),\n },\n { json: \"auteurs\", js: \"auteurs\", typ: a(r(\"Auteur\")) },\n {\n json: \"correction\",\n js: \"correction\",\n typ: u(undefined, r(\"Correction\")),\n },\n { json: \"notice\", js: \"notice\", typ: r(\"Notice\") },\n {\n json: \"indexation\",\n js: \"indexation\",\n typ: u(undefined, r(\"Indexation\")),\n },\n {\n json: \"imprimerie\",\n js: \"imprimerie\",\n typ: u(undefined, r(\"Imprimerie\")),\n },\n {\n json: \"coSignataires\",\n js: \"coSignataires\",\n typ: u(undefined, a(r(\"CoSignataireElement\"))),\n },\n {\n json: \"depotAmendements\",\n js: \"depotAmendements\",\n typ: u(undefined, r(\"DepotAmendements\")),\n },\n {\n json: \"organesReferents\",\n js: \"organesReferents\",\n typ: u(undefined, a(\"\")),\n },\n { json: \"rapportPublie\", js: \"rapportPublie\", typ: u(undefined, false) },\n {\n json: \"subdivisions\",\n js: \"subdivisions\",\n typ: u(null, u(undefined, a(r(\"Subdivision\")))),\n },\n ], false),\n Subdivision: o([\n { json: \"id\", js: \"id\", typ: \"\" },\n { json: \"type\", js: \"type\", typ: u(undefined, \"\") },\n { json: \"niveau\", js: \"niveau\", typ: 0 },\n { json: \"niveauRelatif\", js: \"niveauRelatif\", typ: 0 },\n {\n json: \"titres\",\n js: \"titres\",\n typ: u(null, a(r(\"ContenuSubdivision\"))),\n },\n {\n json: \"alineas\",\n js: \"alineas\",\n typ: u(null, a(r(\"ContenuSubdivision\"))),\n },\n ], false),\n ContenuSubdivision: o([\n { json: \"texte\", js: \"texte\", typ: u(undefined, \"\") },\n { json: \"html\", js: \"html\", typ: u(undefined, \"\") },\n ], false),\n Auteur: o([\n { json: \"acteur\", js: \"acteur\", typ: u(undefined, r(\"AuteurActeur\")) },\n {\n json: \"organeRef\",\n js: \"organeRef\",\n typ: u(undefined, \"\"),\n },\n ], false),\n AuteurActeur: o([\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n { json: \"qualite\", js: \"qualite\", typ: r(\"Qualite\") },\n ], false),\n Classification: o([\n { json: \"famille\", js: \"famille\", typ: u(undefined, r(\"Famille\")) },\n { json: \"type\", js: \"type\", typ: r(\"ProcedureParlementaire\") },\n { json: \"sousType\", js: \"sousType\", typ: u(undefined, r(\"SousType\")) },\n {\n json: \"statutAdoption\",\n js: \"statutAdoption\",\n typ: u(undefined, r(\"StatutAdoption\")),\n },\n ], false),\n Famille: o([\n { json: \"depot\", js: \"depot\", typ: r(\"ProcedureParlementaire\") },\n { json: \"classe\", js: \"classe\", typ: r(\"ProcedureParlementaire\") },\n {\n json: \"espece\",\n js: \"espece\",\n typ: u(undefined, r(\"ProcedureParlementaire\")),\n },\n ], false),\n SousType: o([\n { json: \"code\", js: \"code\", typ: \"\" },\n { json: \"libelle\", js: \"libelle\", typ: u(undefined, \"\") },\n { json: \"libelleEdition\", js: \"libelleEdition\", typ: u(undefined, \"\") },\n ], false),\n CoSignataireElement: o([\n {\n json: \"acteurRef\",\n js: \"acteurRef\",\n typ: u(undefined, \"\"),\n },\n { json: \"dateCosignature\", js: \"dateCosignature\", typ: \"\" },\n {\n json: \"dateRetraitCosignature\",\n js: \"dateRetraitCosignature\",\n typ: u(undefined, \"\"),\n },\n { json: \"edite\", js: \"edite\", typ: false },\n {\n json: \"organe\",\n js: \"organe\",\n typ: u(undefined, r(\"CoSignataireOrgane\")),\n },\n ], false),\n CoSignataireOrgane: o([\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n { json: \"etApparentes\", js: \"etApparentes\", typ: false },\n ], false),\n Correction: o([\n {\n json: \"typeCorrection\",\n js: \"typeCorrection\",\n typ: r(\"TypeCorrection\"),\n },\n {\n json: \"niveauCorrection\",\n js: \"niveauCorrection\",\n typ: u(undefined, \"\"),\n },\n ], false),\n CycleDeVieDocument: o([{ json: \"chrono\", js: \"chrono\", typ: r(\"ChronoDocument\") }], false),\n ChronoDocument: o([\n { json: \"dateCreation\", js: \"dateCreation\", typ: u(undefined, Date) },\n { json: \"dateDepot\", js: \"dateDepot\", typ: u(undefined, Date) },\n {\n json: \"datePublication\",\n js: \"datePublication\",\n typ: u(undefined, Date),\n },\n {\n json: \"datePublicationWeb\",\n js: \"datePublicationWeb\",\n typ: u(undefined, Date),\n },\n ], false),\n DepotAmendements: o([\n {\n json: \"amendementsSeance\",\n js: \"amendementsSeance\",\n typ: r(\"AmendementsSeance\"),\n },\n {\n json: \"amendementsCommission\",\n js: \"amendementsCommission\",\n typ: u(undefined, a(r(\"AmendementsCommission\"))),\n },\n ], false),\n AmendementsCommission: o([\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n { json: \"amendable\", js: \"amendable\", typ: false },\n ], false),\n AmendementsSeance: o([{ json: \"amendable\", js: \"amendable\", typ: false }], false),\n Division: o([\n { json: \"xsiType\", js: \"xsiType\", typ: r(\"TypeDocument\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: u(undefined, \"\") },\n { json: \"cycleDeVie\", js: \"cycleDeVie\", typ: r(\"CycleDeVieDocument\") },\n {\n json: \"denominationStructurelle\",\n js: \"denominationStructurelle\",\n typ: \"\",\n },\n { json: \"titres\", js: \"titres\", typ: r(\"Titres\") },\n {\n json: \"divisions\",\n js: \"divisions\",\n typ: u(undefined, a(r(\"Division\"))),\n },\n { json: \"dossierRef\", js: \"dossierRef\", typ: \"\" },\n {\n json: \"classification\",\n js: \"classification\",\n typ: r(\"Classification\"),\n },\n { json: \"auteurs\", js: \"auteurs\", typ: a(r(\"Auteur\")) },\n {\n json: \"organesReferents\",\n js: \"organesReferents\",\n typ: u(undefined, a(\"\")),\n },\n {\n json: \"correction\",\n js: \"correction\",\n typ: u(undefined, r(\"Correction\")),\n },\n { json: \"notice\", js: \"notice\", typ: r(\"Notice\") },\n {\n json: \"indexation\",\n js: \"indexation\",\n typ: u(undefined, r(\"Indexation\")),\n },\n {\n json: \"imprimerie\",\n js: \"imprimerie\",\n typ: u(undefined, r(\"Imprimerie\")),\n },\n { json: \"rapportPublie\", js: \"rapportPublie\", typ: u(undefined, false) },\n ], false),\n Imprimerie: o([\n { json: \"dian\", js: \"dian\", typ: u(undefined, \"\") },\n { json: \"isbn\", js: \"isbn\", typ: u(undefined, \"\") },\n { json: \"nbPage\", js: \"nbPage\", typ: u(undefined, \"\") },\n { json: \"prix\", js: \"prix\", typ: u(undefined, \"\") },\n ], false),\n Notice: o([\n { json: \"numNotice\", js: \"numNotice\", typ: u(undefined, \"\") },\n { json: \"formule\", js: \"formule\", typ: u(undefined, \"\") },\n { json: \"adoptionConforme\", js: \"adoptionConforme\", typ: false },\n ], false),\n Titres: o([\n { json: \"titrePrincipal\", js: \"titrePrincipal\", typ: \"\" },\n { json: \"titrePrincipalCourt\", js: \"titrePrincipalCourt\", typ: \"\" },\n ], false),\n DossierParlementaireXsiType: [\n \"DossierCommissionEnquete_Type\",\n \"DossierIniativeExecutif_Type\",\n \"DossierLegislatif_Type\",\n \"DossierMissionControle_Type\",\n \"DossierMissionInformation_Type\",\n \"DossierResolutionAN\",\n ],\n TypeBudget: [\n \"Budget annexe\",\n \"Budget général\",\n \"Compte de concours financier\",\n \"Compte spécial\",\n \"Première partie\",\n ],\n TypeMission: [\n \"mission principale\",\n \"mission secondaire\",\n \"partie de mission\",\n ],\n Qualite: [\n \"auteur\",\n \"cosignataire\",\n \"rapporteur\",\n \"rapporteur général\",\n \"rapporteur pour avis\",\n \"rapporteur spécial\",\n ],\n TypeActeLegislatif: [\n \"Adoption_Europe_Type\",\n \"ConclusionEtapeCC_Type\",\n \"ConvocationCongres_Type\",\n \"CreationOrganeTemporaire_Type\",\n \"DecisionMotionCensure_Type\",\n \"DecisionRecevabiliteBureau_Type\",\n \"Decision_Type\",\n \"DeclarationGouvernement_Type\",\n \"DepotAccordInternational_Type\",\n \"DepotAvisConseilEtat_Type\",\n \"DepotInitiativeNavette_Type\",\n \"DepotInitiative_Type\",\n \"DepotLettreRectificative_Type\",\n \"DepotMotionCensure_Type\",\n \"DepotMotionReferendaire_Type\",\n \"DepotRapport_Type\",\n \"DiscussionCommission_Type\",\n \"DiscussionSeancePublique_Type\",\n \"Etape_Type\",\n \"EtudeImpact_Type\",\n \"MotionProcedure_Type\",\n \"NominRapporteurs_Type\",\n \"ProcedureAccelere_Type\",\n \"Promulgation_Type\",\n \"RenvoiCMP_Type\",\n \"RenvoiPrealable_Type\",\n \"RetraitInitiative_Type\",\n \"SaisieComAvis_Type\",\n \"SaisieComFond_Type\",\n \"SaisineConseilConstit_Type\",\n ],\n CodeActe: Object.values(CodeActe),\n TypeTexte: [\"BTA\", \"TAP\"],\n Motif: [\"En application de l'article 61§2 de la Constitution\"],\n TypeJo: [\"JO_LOI_DECRET\"],\n Cause: [\"Dossier absorbé\", \"Examen commun\"],\n TexteExterneAssocieTypeDoc: [\"Décret\"],\n TypeDocument: [\n \"accordInternational_Type\",\n \"avisConseilEtat_Type\",\n \"documentEtudeImpact_Type\",\n \"rapportParlementaire_Type\",\n \"texteLoi_Type\",\n ],\n StatutAdoption: [\"ADOPTCOM\", \"ADOPTSEANCE\", \"REJETSEANCE\"],\n TypeCorrection: [\"Rectifié\"],\n DocumentDenominationStructurelle: [\n \"Allocution\",\n \"Avis\",\n \"Déclaration\",\n \"Lettre\",\n \"Message\",\n \"Motion\",\n \"Projet de loi\",\n \"Proposition de loi\",\n \"Proposition de résolution\",\n \"Rapport\",\n \"Rapport d'information\",\n \"Résolution\",\n ],\n Provenance: [\"Commission\", \"Séance\", \"Texte Déposé\"],\n};\n//# sourceMappingURL=dossiers_legislatifs.js.map","// To parse this data:\n//\n// import { Convert, Scrutins } from \"./file\";\n//\n// const scrutins = Convert.toScrutins(json);\n//\n// These functions will throw an error if the JSON doesn't\n// match the expected interface, even if the JSON is valid.\n/**\n * La signification de ce champ n'est pas définie.\n */\nexport var ModePublicationDesVotes;\n(function (ModePublicationDesVotes) {\n ModePublicationDesVotes[\"DecompteDissidentsPositionGroupe\"] = \"DecompteDissidentsPositionGroupe\";\n ModePublicationDesVotes[\"DecompteNominatif\"] = \"DecompteNominatif\";\n})(ModePublicationDesVotes || (ModePublicationDesVotes = {}));\nexport var Code;\n(function (Code) {\n Code[\"Adopt\\u00E9\"] = \"adopt\\u00E9\";\n Code[\"Rejet\\u00E9\"] = \"rejet\\u00E9\";\n})(Code || (Code = {}));\nexport var Libelle;\n(function (Libelle) {\n Libelle[\"LAssembl\\u00E9eNationaleAAdopt\\u00E9\"] = \"l'Assembl\\u00E9e nationale a adopt\\u00E9\";\n Libelle[\"LAssembl\\u00E9eNationaleNAPasAdopt\\u00E9\"] = \"L'Assembl\\u00E9e nationale n'a pas adopt\\u00E9\";\n Libelle[\"LeCongr\\u00E8sDuParlementAAdopt\\u00E9\"] = \"Le Congr\\u00E8s du Parlement a adopt\\u00E9\";\n Libelle[\"LeCongr\\u00E8sDuParlementNAPasAdopt\\u00E9\"] = \"Le Congr\\u00E8s du Parlement n'a pas adopt\\u00E9\";\n})(Libelle || (Libelle = {}));\nexport var CodeTypeVote;\n(function (CodeTypeVote) {\n CodeTypeVote[\"Moc\"] = \"MOC\";\n CodeTypeVote[\"Sat\"] = \"SAT\";\n CodeTypeVote[\"Spo\"] = \"SPO\";\n CodeTypeVote[\"Sps\"] = \"SPS\";\n CodeTypeVote[\"Ssg\"] = \"SSG\";\n})(CodeTypeVote || (CodeTypeVote = {}));\nexport var LibelleTypeVote;\n(function (LibelleTypeVote) {\n LibelleTypeVote[\"MotionDeCensure\"] = \"motion de censure\";\n LibelleTypeVote[\"ScrutinPublicOrdinaire\"] = \"scrutin public ordinaire\";\n LibelleTypeVote[\"ScrutinPublicSolennel\"] = \"scrutin public solennel\";\n LibelleTypeVote[\"Scrutin\\u00C0LaTribune\"] = \"scrutin \\u00E0 la tribune\";\n LibelleTypeVote[\"ScrutinSolennelCongr\\u00E8s\"] = \"Scrutin solennel congr\\u00E8s\";\n})(LibelleTypeVote || (LibelleTypeVote = {}));\n/**\n * La signification de ce champ n'est pas définie.\n */\nexport var TypeMajorite;\n(function (TypeMajorite) {\n TypeMajorite[\"Majorit\\u00E9AbsolueDesSuffragesExprim\\u00E9s\"] = \"Majorit\\u00E9 absolue des suffrages exprim\\u00E9s\";\n TypeMajorite[\"majorit\\u00E9AbsolueDesSuffragesExprim\\u00E9s\"] = \"majorit\\u00E9 absolue des suffrages exprim\\u00E9s\";\n TypeMajorite[\"majorit\\u00E9DesMembresComposantLAssembl\\u00E9eNationale\"] = \"majorit\\u00E9 des membres composant l'Assembl\\u00E9e nationale\";\n TypeMajorite[\"majorit\\u00E9DesMembresComposantsComposantLAssembl\\u00E9e\"] = \"majorit\\u00E9 des membres composants composant l'Assembl\\u00E9e\";\n TypeMajorite[\"majorit\\u00E9DesMembresComposantsComposantLAssembl\\u00E9eNationale\"] = \"majorit\\u00E9 des membres composants composant l'Assembl\\u00E9e nationale\";\n TypeMajorite[\"Majorit\\u00E9RequisePourUnCongr\\u00E8s\"] = \"Majorit\\u00E9 requise pour un Congr\\u00E8s\";\n TypeMajorite[\"Majorit\\u00E9RequisePourUneMotionDeCensure\"] = \"Majorit\\u00E9 requise pour une motion de censure\";\n})(TypeMajorite || (TypeMajorite = {}));\nexport var CausePositionVote;\n(function (CausePositionVote) {\n CausePositionVote[\"Mg\"] = \"MG\";\n CausePositionVote[\"Pan\"] = \"PAN\";\n CausePositionVote[\"Pse\"] = \"PSE\";\n})(CausePositionVote || (CausePositionVote = {}));\nexport var PositionMajoritaire;\n(function (PositionMajoritaire) {\n PositionMajoritaire[\"Abstention\"] = \"abstention\";\n PositionMajoritaire[\"Contre\"] = \"contre\";\n PositionMajoritaire[\"Pour\"] = \"pour\";\n})(PositionMajoritaire || (PositionMajoritaire = {}));\nexport var LieuVote;\n(function (LieuVote) {\n LieuVote[\"Congr\\u00E8s\"] = \"Congr\\u00E8s\";\n LieuVote[\"H\\u00E9micycle\"] = \"H\\u00E9micycle\";\n LieuVote[\"Salons\"] = \"Salons\";\n})(LieuVote || (LieuVote = {}));\n// Converts JSON strings to/from your types\n// and asserts the results of JSON.parse at runtime\nexport class Convert {\n static toScrutins(json) {\n return cast(JSON.parse(json), r(\"Scrutins\"));\n }\n static scrutinsToJson(value) {\n return JSON.stringify(uncast(value, r(\"Scrutins\")), null, 2);\n }\n static toScrutin(json) {\n return cast(JSON.parse(json), r(\"Scrutin\"));\n }\n static scrutinToJson(value) {\n return JSON.stringify(uncast(value, r(\"Scrutin\")), null, 2);\n }\n}\nfunction invalidValue(typ, val, key = \"\") {\n if (key) {\n throw Error(`Invalid value for key \"${key}\". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);\n }\n throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);\n}\nfunction jsonToJSProps(typ) {\n if (typ.jsonToJS === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.json] = { key: p.js, typ: p.typ }));\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\nfunction jsToJSONProps(typ) {\n if (typ.jsToJSON === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.js] = { key: p.json, typ: p.typ }));\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\nfunction transform(val, typ, getProps, key = \"\") {\n function transformPrimitive(typ, val) {\n if (typeof typ === typeof val)\n return val;\n return invalidValue(typ, val, key);\n }\n function transformUnion(typs, val) {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n }\n catch (_) { }\n }\n return invalidValue(typs, val);\n }\n function transformEnum(cases, val) {\n if (cases.indexOf(val) !== -1)\n return val;\n return invalidValue(cases, val);\n }\n function transformArray(typ, val) {\n // val must be an array with no invalid elements\n if (!Array.isArray(val))\n return invalidValue(\"array\", val);\n return val.map((el) => transform(el, typ, getProps));\n }\n function transformDate(val) {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue(\"Date\", val);\n }\n return d;\n }\n function transformObject(props, additional, val) {\n if (val === null || typeof val !== \"object\" || Array.isArray(val)) {\n return invalidValue(\"object\", val);\n }\n const result = {};\n Object.getOwnPropertyNames(props).forEach((key) => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key)\n ? val[key]\n : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, prop.key);\n });\n Object.getOwnPropertyNames(val).forEach((key) => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = transform(val[key], additional, getProps, key);\n }\n });\n return result;\n }\n if (typ === \"any\")\n return val;\n if (typ === null) {\n if (val === null)\n return val;\n return invalidValue(typ, val);\n }\n // if (typ === false) return invalidValue(typ, val)\n while (typeof typ === \"object\" && typ.ref !== undefined) {\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ))\n return transformEnum(typ, val);\n if (typeof typ === \"object\") {\n return typ.hasOwnProperty(\"unionMembers\")\n ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty(\"arrayItems\")\n ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty(\"props\")\n ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== \"number\")\n return transformDate(val);\n return transformPrimitive(typ, val);\n}\nfunction cast(val, typ) {\n return transform(val, typ, jsonToJSProps);\n}\nfunction uncast(val, typ) {\n return transform(val, typ, jsToJSONProps);\n}\nfunction a(typ) {\n return { arrayItems: typ };\n}\nfunction u(...typs) {\n return { unionMembers: typs };\n}\nfunction o(props, additional) {\n return { props, additional };\n}\n// function m(additional: any) {\n// return { props: [], additional }\n// }\nfunction r(name) {\n return { ref: name };\n}\nconst typeMap = {\n Scrutins: o([{ json: \"scrutins\", js: \"scrutins\", typ: a(r(\"Scrutin\")) }], false),\n Scrutin: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"numero\", js: \"numero\", typ: \"\" },\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: \"\" },\n { json: \"sessionRef\", js: \"sessionRef\", typ: \"\" },\n { json: \"seanceRef\", js: \"seanceRef\", typ: \"\" },\n { json: \"dateScrutin\", js: \"dateScrutin\", typ: Date },\n { json: \"quantiemeJourSeance\", js: \"quantiemeJourSeance\", typ: \"\" },\n { json: \"typeVote\", js: \"typeVote\", typ: r(\"TypeVote\") },\n { json: \"sort\", js: \"sort\", typ: r(\"SortScrutin\") },\n { json: \"titre\", js: \"titre\", typ: \"\" },\n { json: \"demandeur\", js: \"demandeur\", typ: r(\"Demandeur\") },\n { json: \"objet\", js: \"objet\", typ: r(\"Objet\") },\n {\n json: \"modePublicationDesVotes\",\n js: \"modePublicationDesVotes\",\n typ: r(\"ModePublicationDesVotes\"),\n },\n { json: \"syntheseVote\", js: \"syntheseVote\", typ: r(\"SyntheseVote\") },\n {\n json: \"ventilationVotes\",\n js: \"ventilationVotes\",\n typ: r(\"VentilationVotes\"),\n },\n {\n json: \"miseAuPoint\",\n js: \"miseAuPoint\",\n typ: u(undefined, r(\"MiseAuPoint\")),\n },\n { json: \"lieuVote\", js: \"lieuVote\", typ: u(undefined, r(\"LieuVote\")) },\n ], false),\n Demandeur: o([{ json: \"texte\", js: \"texte\", typ: u(undefined, \"\") }], false),\n MiseAuPoint: o([\n {\n json: \"nonVotants\",\n js: \"nonVotants\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"pour\",\n js: \"pour\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"contre\",\n js: \"contre\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"abstentions\",\n js: \"abstentions\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"nonVotantsVolontaires\",\n js: \"nonVotantsVolontaires\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"dysfonctionnement\",\n js: \"dysfonctionnement\",\n typ: u(undefined, r(\"Dysfonctionnement\")),\n },\n ], false),\n Dysfonctionnement: o([\n {\n json: \"nonVotants\",\n js: \"nonVotants\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"pour\",\n js: \"pour\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"contre\",\n js: \"contre\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"abstentions\",\n js: \"abstentions\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"nonVotantsVolontaires\",\n js: \"nonVotantsVolontaires\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n ], false),\n Objet: o([{ json: \"libelle\", js: \"libelle\", typ: \"\" }], false),\n SortScrutin: o([\n { json: \"code\", js: \"code\", typ: r(\"Code\") },\n { json: \"libelle\", js: \"libelle\", typ: r(\"Libelle\") },\n ], false),\n SyntheseVote: o([\n { json: \"nombreVotants\", js: \"nombreVotants\", typ: \"\" },\n { json: \"suffragesExprimes\", js: \"suffragesExprimes\", typ: \"\" },\n { json: \"nbrSuffragesRequis\", js: \"nbrSuffragesRequis\", typ: \"\" },\n { json: \"annonce\", js: \"annonce\", typ: r(\"Libelle\") },\n { json: \"decompte\", js: \"decompte\", typ: r(\"DecompteVoix\") },\n ], false),\n TypeVote: o([\n { json: \"codeTypeVote\", js: \"codeTypeVote\", typ: r(\"CodeTypeVote\") },\n {\n json: \"libelleTypeVote\",\n js: \"libelleTypeVote\",\n typ: r(\"LibelleTypeVote\"),\n },\n { json: \"typeMajorite\", js: \"typeMajorite\", typ: r(\"TypeMajorite\") },\n ], false),\n VentilationVotes: o([\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n { json: \"groupes\", js: \"groupes\", typ: a(r(\"VentilationVotesGroupe\")) },\n ], false),\n VentilationVotesGroupe: o([\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n { json: \"nombreMembresGroupe\", js: \"nombreMembresGroupe\", typ: \"\" },\n { json: \"vote\", js: \"vote\", typ: r(\"Vote\") },\n ], false),\n Vote: o([\n {\n json: \"positionMajoritaire\",\n js: \"positionMajoritaire\",\n typ: r(\"PositionMajoritaire\"),\n },\n { json: \"decompteVoix\", js: \"decompteVoix\", typ: r(\"DecompteVoix\") },\n {\n json: \"decompteNominatif\",\n js: \"decompteNominatif\",\n typ: r(\"DecompteNominatif\"),\n },\n ], false),\n DecompteNominatif: o([\n {\n json: \"nonVotants\",\n js: \"nonVotants\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"pour\",\n js: \"pour\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"contre\",\n js: \"contre\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n {\n json: \"abstentions\",\n js: \"abstentions\",\n typ: u(undefined, a(r(\"Votant\"))),\n },\n ], false),\n Votant: o([\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n { json: \"mandatRef\", js: \"mandatRef\", typ: \"\" },\n { json: \"parDelegation\", js: \"parDelegation\", typ: u(undefined, false) },\n { json: \"numPlace\", js: \"numPlace\", typ: u(undefined, 0) },\n {\n json: \"causePositionVote\",\n js: \"causePositionVote\",\n typ: u(undefined, r(\"CausePositionVote\")),\n },\n ], false),\n DecompteVoix: o([\n { json: \"pour\", js: \"pour\", typ: \"\" },\n { json: \"contre\", js: \"contre\", typ: \"\" },\n { json: \"nonVotants\", js: \"nonVotants\", typ: u(undefined, \"\") },\n { json: \"abstentions\", js: \"abstentions\", typ: u(undefined, \"\") },\n {\n json: \"nonVotantsVolontaires\",\n js: \"nonVotantsVolontaires\",\n typ: u(undefined, \"\"),\n },\n ], false),\n ModePublicationDesVotes: [\n \"DecompteDissidentsPositionGroupe\",\n \"DecompteNominatif\",\n ],\n Code: [\"adopté\", \"rejeté\"],\n Libelle: [\n \"l'Assemblée nationale a adopté\",\n \"L'Assemblée nationale n'a pas adopté\",\n \"Le Congrès du Parlement a adopté\",\n \"Le Congrès du Parlement n'a pas adopté\",\n ],\n CodeTypeVote: [\"MOC\", \"SAT\", \"SPO\", \"SPS\", \"SSG\"],\n LibelleTypeVote: [\n \"motion de censure\",\n \"scrutin public ordinaire\",\n \"scrutin public solennel\",\n \"scrutin à la tribune\",\n \"Scrutin solennel congrès\",\n ],\n TypeMajorite: [\n \"Majorité absolue des suffrages exprimés\",\n \"majorité absolue des suffrages exprimés\",\n \"majorité des membres composant l'Assemblée nationale\",\n \"majorité des membres composants composant l'Assemblée\",\n \"majorité des membres composants composant l'Assemblée nationale\",\n \"Majorité requise pour un Congrès\",\n \"Majorité requise pour une motion de censure\",\n ],\n CausePositionVote: [\"MG\", \"PAN\", \"PSE\"],\n PositionMajoritaire: [\"abstention\", \"contre\", \"pour\"],\n LieuVote: [\"Congrès\", \"Hémicycle\", \"Salons\"],\n};\n//# sourceMappingURL=scrutins.js.map","// To parse this data:\n//\n// import { Convert, Questions } from \"./file\";\n//\n// const questions = Convert.toQuestions(json);\n//\n// These functions will throw an error if the JSON doesn't\n// match the expected interface, even if the JSON is valid.\nexport var QuestionXsiType;\n(function (QuestionXsiType) {\n QuestionXsiType[\"QuestionEcrite\"] = \"QuestionEcrite_Type\";\n QuestionXsiType[\"QuestionGouvernement\"] = \"QuestionGouvernement_Type\";\n QuestionXsiType[\"QuestionOrale\"] = \"QuestionOrale_Type\";\n})(QuestionXsiType || (QuestionXsiType = {}));\n/**\n * Type de Journal Officiel.\n */\nexport var TypeJo;\n(function (TypeJo) {\n TypeJo[\"JoQuestion\"] = \"JO_QUESTION\";\n TypeJo[\"JoLoiDecret\"] = \"JO_LOI_DECRET\";\n TypeJo[\"JoDebate\"] = \"JO_DEBAT\";\n})(TypeJo || (TypeJo = {}));\nexport var Type;\n(function (Type) {\n Type[\"Qe\"] = \"QE\";\n Type[\"Qg\"] = \"QG\";\n Type[\"Qosd\"] = \"QOSD\";\n})(Type || (Type = {}));\n// Converts JSON strings to/from your types\n// and asserts the results of JSON.parse at runtime\nexport class Convert {\n static toQuestions(json) {\n return cast(JSON.parse(json), r(\"Questions\"));\n }\n static questionsToJson(value) {\n return JSON.stringify(uncast(value, r(\"Questions\")), null, 2);\n }\n static toQuestion(json) {\n return cast(JSON.parse(json), r(\"Question\"));\n }\n static questionToJson(value) {\n return JSON.stringify(uncast(value, r(\"Question\")), null, 2);\n }\n}\nfunction invalidValue(typ, val, key = \"\") {\n if (key) {\n throw Error(`Invalid value for key \"${key}\". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);\n }\n throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);\n}\nfunction jsonToJSProps(typ) {\n if (typ.jsonToJS === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.json] = { key: p.js, typ: p.typ }));\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\nfunction jsToJSONProps(typ) {\n if (typ.jsToJSON === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.js] = { key: p.json, typ: p.typ }));\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\nfunction transform(val, typ, getProps, key = \"\") {\n function transformPrimitive(typ, val) {\n if (typeof typ === typeof val)\n return val;\n return invalidValue(typ, val, key);\n }\n function transformUnion(typs, val) {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n }\n catch (_) { }\n }\n return invalidValue(typs, val);\n }\n function transformEnum(cases, val) {\n if (cases.indexOf(val) !== -1)\n return val;\n return invalidValue(cases, val);\n }\n function transformArray(typ, val) {\n // val must be an array with no invalid elements\n if (!Array.isArray(val))\n return invalidValue(\"array\", val);\n return val.map((el) => transform(el, typ, getProps));\n }\n function transformDate(val) {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue(\"Date\", val);\n }\n return d;\n }\n function transformObject(props, additional, val) {\n if (val === null || typeof val !== \"object\" || Array.isArray(val)) {\n return invalidValue(\"object\", val);\n }\n const result = {};\n Object.getOwnPropertyNames(props).forEach((key) => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key)\n ? val[key]\n : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, prop.key);\n });\n Object.getOwnPropertyNames(val).forEach((key) => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = transform(val[key], additional, getProps, key);\n }\n });\n return result;\n }\n if (typ === \"any\")\n return val;\n if (typ === null) {\n if (val === null)\n return val;\n return invalidValue(typ, val);\n }\n if (typ === false)\n return invalidValue(typ, val);\n while (typeof typ === \"object\" && typ.ref !== undefined) {\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ))\n return transformEnum(typ, val);\n if (typeof typ === \"object\") {\n return typ.hasOwnProperty(\"unionMembers\")\n ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty(\"arrayItems\")\n ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty(\"props\")\n ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== \"number\")\n return transformDate(val);\n return transformPrimitive(typ, val);\n}\nfunction cast(val, typ) {\n return transform(val, typ, jsonToJSProps);\n}\nfunction uncast(val, typ) {\n return transform(val, typ, jsToJSONProps);\n}\nfunction a(typ) {\n return { arrayItems: typ };\n}\nfunction u(...typs) {\n return { unionMembers: typs };\n}\nfunction o(props, additional) {\n return { props, additional };\n}\n// function m(additional: any) {\n// return { props: [], additional };\n// }\nfunction r(name) {\n return { ref: name };\n}\nconst typeMap = {\n Questions: o([{ json: \"questions\", js: \"questions\", typ: a(r(\"Question\")) }], false),\n Question: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n { json: \"@xsi:type\", js: \"@xsi:type\", typ: r(\"QuestionXsiType\") },\n { json: \"uid\", js: \"uid\", typ: \"\" },\n { json: \"identifiant\", js: \"identifiant\", typ: r(\"Identifiant\") },\n { json: \"type\", js: \"type\", typ: r(\"Type\") },\n { json: \"indexationAN\", js: \"indexationAN\", typ: r(\"IndexationAn\") },\n { json: \"auteur\", js: \"auteur\", typ: r(\"Auteur\") },\n { json: \"minInt\", js: \"minInt\", typ: r(\"Groupe\") },\n { json: \"minAttribs\", js: \"minAttribs\", typ: r(\"MinAttribs\") },\n {\n json: \"textesQuestion\",\n js: \"textesQuestion\",\n typ: u(r(\"TextesQuestion\"), null, undefined),\n },\n {\n json: \"textesReponse\",\n js: \"textesReponse\",\n typ: u(r(\"TextesReponse\"), null, undefined),\n },\n { json: \"cloture\", js: \"cloture\", typ: u(r(\"Cloture\"), null, undefined) },\n {\n json: \"signalement\",\n js: \"signalement\",\n typ: u(r(\"Signalement\"), null, undefined),\n },\n {\n json: \"renouvellements\",\n js: \"renouvellements\",\n typ: u(r(\"Renouvellements\"), null, undefined),\n },\n ], false),\n Auteur: o([\n { json: \"identite\", js: \"identite\", typ: r(\"Identite\") },\n { json: \"groupe\", js: \"groupe\", typ: r(\"Groupe\") },\n ], false),\n Groupe: o([\n { json: \"organeRef\", js: \"organeRef\", typ: \"\" },\n { json: \"abrege\", js: \"abrege\", typ: \"\" },\n { json: \"developpe\", js: \"developpe\", typ: \"\" },\n ], false),\n Identite: o([\n { json: \"acteurRef\", js: \"acteurRef\", typ: \"\" },\n { json: \"mandatRef\", js: \"mandatRef\", typ: \"\" },\n ], false),\n Cloture: o([\n { json: \"codeCloture\", js: \"codeCloture\", typ: \"\" },\n {\n json: \"libelleCloture\",\n js: \"libelleCloture\",\n typ: \"\",\n },\n { json: \"dateCloture\", js: \"dateCloture\", typ: Date },\n { json: \"infoJO\", js: \"infoJO\", typ: u(r(\"InfoJo\"), null) },\n ], false),\n Identifiant: o([\n { json: \"numero\", js: \"numero\", typ: \"\" },\n { json: \"regime\", js: \"regime\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: \"\" },\n ], false),\n IndexationAn: o([\n { json: \"rubrique\", js: \"rubrique\", typ: u(\"\", null) },\n { json: \"teteAnalyse\", js: \"teteAnalyse\", typ: null },\n { json: \"analyses\", js: \"analyses\", typ: r(\"Analyse\") },\n ], false),\n Analyse: o([{ json: \"analyse\", js: \"analyse\", typ: u(\"\", null) }], false),\n MinAttribs: o([\n {\n json: \"minAttrib\",\n js: \"minAttrib\",\n typ: u(a(r(\"MinAttribElement\")), r(\"MinAttribElement\")),\n },\n ], false),\n MinAttribElement: o([\n { json: \"infoJO\", js: \"infoJO\", typ: r(\"InfoJo\") },\n { json: \"denomination\", js: \"denomination\", typ: r(\"Groupe\") },\n ], false),\n InfoJo: o([\n { json: \"typeJO\", js: \"typeJO\", typ: u(r(\"TypeJo\"), null) },\n { json: \"dateJO\", js: \"dateJO\", typ: \"\" },\n { json: \"pageJO\", js: \"pageJO\", typ: u(\"\", null) },\n { json: \"numJO\", js: \"numJO\", typ: u(\"\", null) },\n { json: \"urlLegifrance\", js: \"urlLegifrance\", typ: u(\"\", null) },\n { json: \"referenceNOR\", js: \"referenceNOR\", typ: u(\"\", null) },\n ], false),\n TextesQuestion: o([\n {\n json: \"texteQuestion\",\n js: \"texteQuestion\",\n typ: u(a(r(\"Texte\")), r(\"Texte\")),\n },\n ], false),\n Texte: o([\n { json: \"infoJO\", js: \"infoJO\", typ: r(\"InfoJo\") },\n { json: \"texte\", js: \"texte\", typ: u(\"\", null) },\n { json: \"erratum\", js: \"erratum\", typ: u(undefined, \"\") },\n ], false),\n TextesReponse: o([\n {\n json: \"texteReponse\",\n js: \"texteReponse\",\n typ: u(a(r(\"Texte\")), r(\"Texte\")),\n },\n ], false),\n Signalement: o([\n { json: \"infoJO\", js: \"infoJO\", typ: r(\"InfoJo\") },\n { json: \"dateDepotSignal\", js: \"dateDepotSignal\", typ: \"\" },\n ], false),\n Renouvellements: o([\n {\n json: \"renouvellement\",\n js: \"renouvellement\",\n typ: u(a(r(\"Renouvellement\")), r(\"Renouvellement\")),\n },\n ], false),\n Renouvellement: o([{ json: \"infoJO\", js: \"infoJO\", typ: r(\"InfoJo\") }], false),\n QuestionXsiType: [\n \"QuestionEcrite_Type\",\n \"QuestionGouvernement_Type\",\n \"QuestionOrale_Type\",\n ],\n TypeJo: [\"JO_QUESTION\", \"JO_LOI_DECRET\", \"JO_DEBAT\"],\n Type: [\"QE\", \"QG\", \"QOSD\"],\n};\n//# sourceMappingURL=questions.js.map","// To parse this data:\n//\n// import { Convert, ComptesRendus } from \"./file\";\n//\n// const compteRendu = Convert.toComptesRendus(json);\n//\n// These functions will throw an error if the JSON doesn't\n// match the expected interface, even if the JSON is valid.\n/**\n * Décision prise à l'issue du point de débat.\n */\nexport var Decision;\n(function (Decision) {\n Decision[\"AdoptionAmendementMainLev\\u00E9eAdt\"] = \"ADOPTION amendement (main lev\\u00E9e) adt\";\n Decision[\"AdoptionDUnArticleVote\\u00C0MainLev\\u00E9e\"] = \"ADOPTION d\\u2019un article (vote \\u00E0 main lev\\u00E9e)\";\n Decision[\"AdoptionDUnSousAmendementMainLev\\u00E9eSsAdt\"] = \"ADOPTION d\\u2019un sous-amendement (main lev\\u00E9e) ss-adt\";\n Decision[\"AdoptionDePlusieursAmendementsMainLev\\u00E9eAdts\"] = \"ADOPTION de plusieurs amendements (main lev\\u00E9e) adts\";\n Decision[\"AdoptionDePlusieursSousAmendementsMainLev\\u00E9eSsAdts\"] = \"ADOPTION de plusieurs sous-amendements (main lev\\u00E9e) ss-adts\";\n Decision[\"Empty\"] = \"\";\n Decision[\"RejetDUnAmendementMainLev\\u00E9eAdt\"] = \"REJET d\\u2019un amendement (main lev\\u00E9e) adt\";\n Decision[\"RejetDUnArticleVote\\u00C0MainLev\\u00E9e\"] = \"REJET d\\u2019un article (vote \\u00E0 main lev\\u00E9e)\";\n Decision[\"RejetDUnSousAmendementMainLev\\u00E9eSsAdt\"] = \"REJET d\\u2019un sous-amendement (main lev\\u00E9e) ss-adt\";\n Decision[\"RejetDePlusieursAmendementsMainLev\\u00E9eAdts\"] = \"REJET de plusieurs amendements (main lev\\u00E9e) adts\";\n Decision[\"RejetDePlusieursSousAmendementsMainLev\\u00E9eSsAdts\"] = \"REJET de plusieurs sous-amendements (main lev\\u00E9e) ss-adts\";\n Decision[\"RejetMotionDeRejetPr\\u00E9alableMainLev\\u00E9e\"] = \"REJET motion de rejet pr\\u00E9alable (main lev\\u00E9e)\";\n})(Decision || (Decision = {}));\n// Converts JSON strings to/from your types\n// and asserts the results of JSON.parse at runtime\nexport class Convert {\n static toComptesRendus(json) {\n return cast(JSON.parse(json), r(\"ComptesRendus\"));\n }\n static comptesRendusToJson(value) {\n return JSON.stringify(uncast(value, r(\"ComptesRendus\")), null, 2);\n }\n static toCompteRendu(json) {\n return cast(JSON.parse(json), r(\"CompteRendu\"));\n }\n static compteRenduToJson(value) {\n return JSON.stringify(uncast(value, r(\"CompteRendu\")), null, 2);\n }\n}\nfunction invalidValue(typ, val, key, parent = \"\") {\n const prettyTyp = prettyTypeName(typ);\n const parentText = parent ? ` on ${parent}` : \"\";\n const keyText = key ? ` for key \"${key}\"` : \"\";\n throw Error(`Invalid value${keyText}${parentText}. Expected ${prettyTyp} but got ${JSON.stringify(val)}`);\n}\nfunction prettyTypeName(typ) {\n if (Array.isArray(typ)) {\n if (typ.length === 2 && typ[0] === undefined) {\n return `an optional ${prettyTypeName(typ[1])}`;\n }\n else {\n return `one of [${typ\n .map((a) => {\n return prettyTypeName(a);\n })\n .join(\", \")}]`;\n }\n }\n else if (typeof typ === \"object\" && typ.literal !== undefined) {\n return typ.literal;\n }\n else {\n return typeof typ;\n }\n}\nfunction jsonToJSProps(typ) {\n if (typ.jsonToJS === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.json] = { key: p.js, typ: p.typ }));\n typ.jsonToJS = map;\n }\n return typ.jsonToJS;\n}\nfunction jsToJSONProps(typ) {\n if (typ.jsToJSON === undefined) {\n const map = {};\n typ.props.forEach((p) => (map[p.js] = { key: p.json, typ: p.typ }));\n typ.jsToJSON = map;\n }\n return typ.jsToJSON;\n}\nfunction transform(val, typ, getProps, key = \"\", parent = \"\") {\n function transformPrimitive(typ, val) {\n if (typeof typ === typeof val)\n return val;\n return invalidValue(typ, val, key, parent);\n }\n function transformUnion(typs, val) {\n // val must validate against one typ in typs\n const l = typs.length;\n for (let i = 0; i < l; i++) {\n const typ = typs[i];\n try {\n return transform(val, typ, getProps);\n }\n catch (_) { }\n }\n return invalidValue(typs, val, key, parent);\n }\n function transformEnum(cases, val) {\n if (cases.indexOf(val) !== -1)\n return val;\n return invalidValue(cases.map((a) => {\n return l(a);\n }), val, key, parent);\n }\n function transformArray(typ, val) {\n // val must be an array with no invalid elements\n if (!Array.isArray(val))\n return invalidValue(l(\"array\"), val, key, parent);\n return val.map((el) => transform(el, typ, getProps));\n }\n function transformDate(val) {\n if (val === null) {\n return null;\n }\n const d = new Date(val);\n if (isNaN(d.valueOf())) {\n return invalidValue(l(\"Date\"), val, key, parent);\n }\n return d;\n }\n function transformObject(props, additional, val) {\n if (val === null || typeof val !== \"object\" || Array.isArray(val)) {\n return invalidValue(l(ref || \"object\"), val, key, parent);\n }\n const result = {};\n Object.getOwnPropertyNames(props).forEach((key) => {\n const prop = props[key];\n const v = Object.prototype.hasOwnProperty.call(val, key)\n ? val[key]\n : undefined;\n result[prop.key] = transform(v, prop.typ, getProps, key, ref);\n });\n Object.getOwnPropertyNames(val).forEach((key) => {\n if (!Object.prototype.hasOwnProperty.call(props, key)) {\n result[key] = transform(val[key], additional, getProps, key, ref);\n }\n });\n return result;\n }\n if (typ === \"any\")\n return val;\n if (typ === null) {\n if (val === null)\n return val;\n return invalidValue(typ, val, key, parent);\n }\n if (typ === false)\n return invalidValue(typ, val, key, parent);\n let ref = undefined;\n while (typeof typ === \"object\" && typ.ref !== undefined) {\n ref = typ.ref;\n typ = typeMap[typ.ref];\n }\n if (Array.isArray(typ))\n return transformEnum(typ, val);\n if (typeof typ === \"object\") {\n return typ.hasOwnProperty(\"unionMembers\")\n ? transformUnion(typ.unionMembers, val)\n : typ.hasOwnProperty(\"arrayItems\")\n ? transformArray(typ.arrayItems, val)\n : typ.hasOwnProperty(\"props\")\n ? transformObject(getProps(typ), typ.additional, val)\n : invalidValue(typ, val, key, parent);\n }\n // Numbers can be parsed by Date but shouldn't be.\n if (typ === Date && typeof val !== \"number\")\n return transformDate(val);\n return transformPrimitive(typ, val);\n}\nfunction cast(val, typ) {\n return transform(val, typ, jsonToJSProps);\n}\nfunction uncast(val, typ) {\n return transform(val, typ, jsToJSONProps);\n}\nfunction l(typ) {\n return { literal: typ };\n}\nfunction a(typ) {\n return { arrayItems: typ };\n}\nfunction u(...typs) {\n return { unionMembers: typs };\n}\nfunction o(props, additional) {\n return { props, additional };\n}\n// function m(additional: any) {\n// return { props: [], additional };\n// }\nfunction r(name) {\n return { ref: name };\n}\nconst typeMap = {\n ComptesRendus: o([{ json: \"comptesRendus\", js: \"comptesRendus\", typ: a(r(\"CompteRendu\")) }], false),\n CompteRendu: o([\n { json: \"schemaVersion\", js: \"schemaVersion\", typ: u(undefined, \"\") },\n { json: \"uid\", js: \"uid\", typ: u(undefined, \"\") },\n { json: \"seanceRef\", js: \"seanceRef\", typ: \"\" },\n { json: \"sessionRef\", js: \"sessionRef\", typ: \"\" },\n { json: \"metadonnees\", js: \"metadonnees\", typ: r(\"Metadonnees\") },\n { json: \"contenu\", js: \"contenu\", typ: r(\"Contenu\") },\n ], false),\n Contenu: o([\n { json: \"quantiemes\", js: \"quantiemes\", typ: r(\"Quantiemes\") },\n {\n json: \"ouvertureSeance\",\n js: \"ouvertureSeance\",\n typ: u(undefined, u(a(r(\"Point\")), r(\"Point\"))),\n },\n { json: \"point\", js: \"point\", typ: u(a(r(\"Point\")), r(\"Point\")) },\n { json: \"finSeance\", js: \"finSeance\", typ: u(undefined, r(\"FinSeance\")) },\n {\n json: \"paragraphe\",\n js: \"paragraphe\",\n typ: u(undefined, a(r(\"Point\"))),\n },\n ], false),\n FinSeance: o([{ json: \"point\", js: \"point\", typ: r(\"Point\") }], false),\n Orateurs: o([\n {\n json: \"orateur\",\n js: \"orateur\",\n typ: u(a(r(\"OrateurElement\")), r(\"OrateurElement\")),\n },\n ], false),\n OrateurElement: o([\n { json: \"nom\", js: \"nom\", typ: u(undefined, \"\") },\n { json: \"id\", js: \"id\", typ: u(undefined, \"\") },\n { json: \"qualite\", js: \"qualite\", typ: u(undefined, \"\") },\n ], false),\n Texte: o([\n { json: \"_\", js: \"_\", typ: u(undefined, \"\") },\n { json: \"id_syceron\", js: \"id_syceron\", typ: u(undefined, \"\") },\n { json: \"stime\", js: \"stime\", typ: u(undefined, \"\") },\n { json: \"sup\", js: \"sup\", typ: u(undefined, \"\") },\n {\n json: \"lienAdt\",\n js: \"lienAdt\",\n typ: u(undefined, u(a(r(\"Texte\")), r(\"Texte\"))),\n },\n ], false),\n Point: o([\n { json: \"nivpoint\", js: \"nivpoint\", typ: u(undefined, \"\") },\n { json: \"valeur_ptsodj\", js: \"valeur_ptsodj\", typ: u(undefined, \"\") },\n { json: \"ordinal_prise\", js: \"ordinal_prise\", typ: u(undefined, \"\") },\n { json: \"id_preparation\", js: \"id_preparation\", typ: u(undefined, \"\") },\n {\n json: \"ordre_absolu_seance\",\n js: \"ordre_absolu_seance\",\n typ: u(undefined, \"\"),\n },\n { json: \"code_grammaire\", js: \"code_grammaire\", typ: u(undefined, \"\") },\n { json: \"code_style\", js: \"code_style\", typ: u(undefined, \"\") },\n { json: \"code_parole\", js: \"code_parole\", typ: u(undefined, \"\") },\n { json: \"sommaire\", js: \"sommaire\", typ: u(undefined, \"\") },\n { json: \"id_syceron\", js: \"id_syceron\", typ: u(undefined, \"\") },\n { json: \"valeur\", js: \"valeur\", typ: u(undefined, \"\") },\n {\n json: \"orateurs\",\n js: \"orateurs\",\n typ: u(r(\"Orateurs\"), u(\"\", undefined)),\n },\n { json: \"texte\", js: \"texte\", typ: u(r(\"Texte\"), u(\"\", undefined)) },\n {\n json: \"paragraphe\",\n js: \"paragraphe\",\n typ: u(undefined, u(a(r(\"Point\")), r(\"Point\"))),\n },\n {\n json: \"interExtraction\",\n js: \"interExtraction\",\n typ: u(undefined, u(a(r(\"Point\")), r(\"Point\"))),\n },\n {\n json: \"point\",\n js: \"point\",\n typ: u(undefined, u(a(r(\"Point\")), r(\"Point\"))),\n },\n { json: \"structure\", js: \"structure\", typ: u(undefined, \"\") },\n { json: \"id_acteur\", js: \"id_acteur\", typ: u(undefined, \"\") },\n { json: \"id_mandat\", js: \"id_mandat\", typ: u(undefined, \"\") },\n {\n json: \"id_nomination_oe\",\n js: \"id_nomination_oe\",\n typ: u(undefined, \"\"),\n },\n {\n json: \"id_nomination_op\",\n js: \"id_nomination_op\",\n typ: u(undefined, \"\"),\n },\n { json: \"orateur\", js: \"orateur\", typ: u(undefined, \"\") },\n { json: \"bibard\", js: \"bibard\", typ: u(undefined, \"\") },\n { json: \"art\", js: \"art\", typ: u(undefined, \"\") },\n { json: \"adt\", js: \"adt\", typ: u(undefined, \"\") },\n { json: \"ssadt\", js: \"ssadt\", typ: u(undefined, \"\") },\n { json: \"roledebat\", js: \"roledebat\", typ: u(undefined, \"\") },\n { json: \"type_debat\", js: \"type_debat\", typ: u(undefined, \"\") },\n {\n json: \"changementPresidence\",\n js: \"changementPresidence\",\n typ: u(undefined, u(a(r(\"Point\")), r(\"Point\"))),\n },\n { json: \"decision\", js: \"decision\", typ: u(undefined, r(\"Decision\")) },\n {\n json: \"ouvertureSeance\",\n js: \"ouvertureSeance\",\n typ: u(undefined, r(\"Point\")),\n },\n { json: \"nom_orateur\", js: \"nom_orateur\", typ: u(undefined, \"\") },\n { json: \"qualite\", js: \"qualite\", typ: u(undefined, \"\") },\n ], false),\n Quantiemes: o([\n { json: \"journee\", js: \"journee\", typ: \"\" },\n { json: \"session\", js: \"session\", typ: \"\" },\n ], false),\n Metadonnees: o([\n { json: \"dateSeance\", js: \"dateSeance\", typ: \"\" },\n { json: \"dateSeanceJour\", js: \"dateSeanceJour\", typ: \"\" },\n { json: \"numSeanceJour\", js: \"numSeanceJour\", typ: \"\" },\n { json: \"numSeance\", js: \"numSeance\", typ: \"\" },\n { json: \"typeAssemblee\", js: \"typeAssemblee\", typ: \"\" },\n { json: \"legislature\", js: \"legislature\", typ: \"\" },\n { json: \"session\", js: \"session\", typ: \"\" },\n { json: \"nomFichierJo\", js: \"nomFichierJo\", typ: \"\" },\n { json: \"validite\", js: \"validite\", typ: \"\" },\n { json: \"etat\", js: \"etat\", typ: \"\" },\n { json: \"diffusion\", js: \"diffusion\", typ: \"\" },\n { json: \"version\", js: \"version\", typ: \"\" },\n { json: \"environnement\", js: \"environnement\", typ: \"\" },\n { json: \"heureGeneration\", js: \"heureGeneration\", typ: Date },\n { json: \"sommaire\", js: \"sommaire\", typ: r(\"Sommaire\") },\n ], false),\n Sommaire: o([\n { json: \"presidentSeance\", js: \"presidentSeance\", typ: r(\"Texte\") },\n {\n json: \"sommaire1\",\n js: \"sommaire1\",\n typ: u(a(r(\"SommaireElement\")), r(\"SommaireElement\")),\n },\n {\n json: \"sommaire3\",\n js: \"sommaire3\",\n typ: u(undefined, u(a(r(\"SommaireElement\")), r(\"SommaireElement\"))),\n },\n {\n json: \"sommaire2\",\n js: \"sommaire2\",\n typ: u(undefined, u(a(r(\"SommaireElement\")), r(\"SommaireElement\"))),\n },\n {\n json: \"para\",\n js: \"para\",\n typ: u(undefined, u(a(r(\"Texte\")), r(\"Texte\"))),\n },\n ], false),\n SommaireElement: o([\n { json: \"valeur_pts_odj\", js: \"valeur_pts_odj\", typ: u(undefined, \"\") },\n {\n json: \"titreStruct\",\n js: \"titreStruct\",\n typ: u(undefined, r(\"TitreStruct\")),\n },\n {\n json: \"para\",\n js: \"para\",\n typ: u(undefined, u(a(u(r(\"Texte\"), \"\")), r(\"Texte\"))),\n },\n {\n json: \"sommaire2\",\n js: \"sommaire2\",\n typ: u(undefined, u(a(r(\"SommaireElement\")), r(\"SommaireElement\"))),\n },\n {\n json: \"sommaire3\",\n js: \"sommaire3\",\n typ: u(undefined, u(a(r(\"SommaireElement\")), r(\"SommaireElement\"))),\n },\n {\n json: \"presidentSeance\",\n js: \"presidentSeance\",\n typ: u(undefined, u(a(r(\"Texte\")), r(\"Texte\"))),\n },\n { json: \"type_debat\", js: \"type_debat\", typ: u(undefined, \"\") },\n ], false),\n TitreStruct: o([\n { json: \"id_syceron\", js: \"id_syceron\", typ: \"\" },\n { json: \"intitule\", js: \"intitule\", typ: u(undefined, \"\") },\n { json: \"sousIntitule\", js: \"sousIntitule\", typ: u(undefined, \"\") },\n { json: \"type_debat\", js: \"type_debat\", typ: u(undefined, \"\") },\n ], false),\n Decision: [\n \"ADOPTION amendement (main levée) adt\",\n \"ADOPTION d’un article (vote à main levée)\",\n \"ADOPTION d’un sous-amendement (main levée) ss-adt\",\n \"ADOPTION de plusieurs amendements (main levée) adts\",\n \"ADOPTION de plusieurs sous-amendements (main levée) ss-adts\",\n \"\",\n \"REJET d’un amendement (main levée) adt\",\n \"REJET d’un article (vote à main levée)\",\n \"REJET d’un sous-amendement (main levée) ss-adt\",\n \"REJET de plusieurs amendements (main levée) adts\",\n \"REJET de plusieurs sous-amendements (main levée) ss-adts\",\n \"REJET motion de rejet préalable (main levée)\",\n ],\n};\n//# sourceMappingURL=debats.js.map"],"names":["Civ","TypeMandat","RegionType","CodeTypeOrgane","FamSocPro","TypeOrgane","CodeNatureDep","PositionPolitique","Regime","cast","r","uncast","invalidValue","jsonToJSProps","jsToJSONProps","transform","typ","val","l","key","typeMap","a","u","o","Legislature","DatasetStructure","EnabledDatasets","ReunionXsiType","PointOdjXsiType","EtatCycleDeVie","NatureTravauxOdj","Procedure","TypePointOdj","FormatReunion","Quantieme","Presence","PersonneAuditionneeXsiType","TypeReunion","Convert","CodeActe","DossierParlementaireXsiType","TypeBudget","TypeMission","Qualite","TypeActeLegislatif","TypeTexte","Motif","TypeJo","Cause","TexteExterneAssocieTypeDoc","TypeDocument","StatutAdoption","TypeCorrection","DocumentDenominationStructurelle","Provenance","ModePublicationDesVotes","Code","Libelle","CodeTypeVote","LibelleTypeVote","TypeMajorite","CausePositionVote","PositionMajoritaire","LieuVote","QuestionXsiType","Type","Decision"],"mappings":"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"}
|