@tricoteuses/assemblee 2.0.2 → 2.1.0
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 +26 -8
- package/lib/amendements-40Z7OJLT.js +682 -0
- package/lib/amendements-DcffXOt8.js +154 -0
- package/lib/api.d.ts +0 -1
- package/lib/cleaners/actes_legislatifs.d.ts +0 -1
- package/lib/cleaners/acteurs.d.ts +0 -1
- package/lib/cleaners/amendements.d.ts +0 -1
- package/lib/cleaners/debats.d.ts +0 -1
- package/lib/cleaners/documents.d.ts +0 -1
- package/lib/cleaners/dossiers_legislatifs.d.ts +0 -1
- package/lib/cleaners/index.d.ts +0 -1
- package/lib/cleaners/organes.d.ts +0 -1
- package/lib/cleaners/questions.d.ts +0 -1
- package/lib/cleaners/reunions.d.ts +0 -1
- package/lib/cleaners/scrutins.d.ts +0 -1
- package/lib/cleaners/xml.d.ts +0 -1
- package/lib/cleaners.js +508 -1082
- package/lib/datasets.d.ts +0 -1
- package/lib/dates.d.ts +0 -1
- package/lib/dossiers_legislatifs.d.ts +1 -3
- package/lib/file_systems.d.ts +0 -1
- package/lib/git.d.ts +0 -1
- package/lib/index.d.ts +8 -9
- package/lib/index.js +857 -1211
- package/lib/inserters.d.ts +0 -1
- package/lib/loaders-DX6btNsl.js +4201 -0
- package/lib/loaders.d.ts +0 -1
- package/lib/loaders.js +27 -983
- package/lib/logger.d.ts +0 -1
- package/lib/organes.d.ts +0 -1
- package/lib/parse-Ccs6wcUg.js +2512 -0
- package/lib/parsers/index.d.ts +0 -1
- package/lib/parsers/plf.d.ts +0 -1
- package/lib/parsers/recherche_amendements.d.ts +3 -1
- package/lib/parsers/textes_lois.d.ts +0 -1
- package/lib/parsers.js +292 -287
- package/lib/raw_types/acteurs_et_organes.d.ts +0 -1
- package/lib/raw_types/agendas.d.ts +0 -1
- package/lib/raw_types/amendements.d.ts +0 -1
- package/lib/raw_types/debats.d.ts +0 -1
- package/lib/raw_types/dossiers_legislatifs.d.ts +8 -9
- package/lib/raw_types/questions.d.ts +0 -1
- package/lib/raw_types/scrutins.d.ts +0 -1
- package/lib/schemas/acteurs_et_organes.json +26 -26
- package/lib/schemas/agendas.json +47 -47
- package/lib/schemas/amendements.json +69 -68
- package/lib/schemas/dossiers_legislatifs.json +112 -112
- package/lib/schemas/questions.json +25 -25
- package/lib/schemas/scrutins.json +15 -15
- package/lib/scripts/add_links_to_documents.d.ts +0 -1
- package/lib/scripts/clean_reorganized_data.d.ts +0 -1
- package/lib/scripts/copy-schemas.d.ts +0 -1
- package/lib/scripts/diff_amendements.d.ts +0 -1
- package/lib/scripts/document_dossiers_legislatifs.d.ts +0 -1
- package/lib/scripts/generate-json-schemas.d.ts +0 -1
- package/lib/scripts/get_today_reunions.d.ts +0 -1
- package/lib/scripts/merge_scrutins.d.ts +0 -1
- package/lib/scripts/process_open_dataset.d.ts +0 -1
- package/lib/scripts/raw_types_from_amendements.d.ts +0 -1
- package/lib/scripts/reorganize_data.d.ts +0 -1
- package/lib/scripts/retrieve_deputes_photos.d.ts +0 -1
- package/lib/scripts/retrieve_documents.d.ts +0 -1
- package/lib/scripts/retrieve_open_data.d.ts +0 -1
- package/lib/scripts/retrieve_pending_amendments.d.ts +0 -1
- package/lib/scripts/retrieve_senateurs_photos.d.ts +0 -1
- package/lib/scripts/shared/cli_helpers.d.ts +0 -1
- package/lib/scripts/test_iter_load.d.ts +0 -1
- package/lib/scripts/test_load.d.ts +0 -1
- package/lib/scripts/test_load_big_files.d.ts +0 -1
- package/lib/scripts/validate_json.d.ts +0 -1
- package/lib/shared_types/codes_actes.d.ts +0 -1
- package/lib/strings.d.ts +0 -1
- package/lib/types/acteurs_et_organes.d.ts +26 -27
- package/lib/types/agendas.d.ts +21 -22
- package/lib/types/amendements.d.ts +76 -51
- package/lib/types/debats.d.ts +0 -1
- package/lib/types/dossiers_legislatifs.d.ts +51 -52
- package/lib/types/legislatures.d.ts +0 -1
- package/lib/types/questions.d.ts +22 -25
- package/lib/types/scrutins.d.ts +15 -16
- package/lib/urls.d.ts +0 -1
- package/package.json +12 -4
- package/lib/amendements-CN7bRFdP.js +0 -259
- package/lib/amendements-CN7bRFdP.js.map +0 -1
- package/lib/amendements-Cg1lyCBp.js +0 -735
- package/lib/amendements-Cg1lyCBp.js.map +0 -1
- package/lib/api.d.ts.map +0 -1
- package/lib/cleaners/actes_legislatifs.d.ts.map +0 -1
- package/lib/cleaners/acteurs.d.ts.map +0 -1
- package/lib/cleaners/amendements.d.ts.map +0 -1
- package/lib/cleaners/debats.d.ts.map +0 -1
- package/lib/cleaners/documents.d.ts.map +0 -1
- package/lib/cleaners/dossiers_legislatifs.d.ts.map +0 -1
- package/lib/cleaners/index.d.ts.map +0 -1
- package/lib/cleaners/organes.d.ts.map +0 -1
- package/lib/cleaners/questions.d.ts.map +0 -1
- package/lib/cleaners/reunions.d.ts.map +0 -1
- package/lib/cleaners/scrutins.d.ts.map +0 -1
- package/lib/cleaners/xml.d.ts.map +0 -1
- package/lib/cleaners.js.map +0 -1
- package/lib/datasets.d.ts.map +0 -1
- package/lib/dates.d.ts.map +0 -1
- package/lib/debats-BwZYgzXe.js +0 -3978
- package/lib/debats-BwZYgzXe.js.map +0 -1
- package/lib/dossiers_legislatifs.d.ts.map +0 -1
- package/lib/file_systems.d.ts.map +0 -1
- package/lib/git.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/inserters.d.ts.map +0 -1
- package/lib/loaders.d.ts.map +0 -1
- package/lib/loaders.js.map +0 -1
- package/lib/logger.d.ts.map +0 -1
- package/lib/organes.d.ts.map +0 -1
- package/lib/parse-CzW8NHW5.js +0 -2850
- package/lib/parse-CzW8NHW5.js.map +0 -1
- package/lib/parsers/index.d.ts.map +0 -1
- package/lib/parsers/plf.d.ts.map +0 -1
- package/lib/parsers/recherche_amendements.d.ts.map +0 -1
- package/lib/parsers/textes_lois.d.ts.map +0 -1
- package/lib/parsers.js.map +0 -1
- package/lib/raw_types/acteurs_et_organes.d.ts.map +0 -1
- package/lib/raw_types/agendas.d.ts.map +0 -1
- package/lib/raw_types/amendements.d.ts.map +0 -1
- package/lib/raw_types/debats.d.ts.map +0 -1
- package/lib/raw_types/dossiers_legislatifs.d.ts.map +0 -1
- package/lib/raw_types/questions.d.ts.map +0 -1
- package/lib/raw_types/scrutins.d.ts.map +0 -1
- package/lib/schemas/acteurs_et_organes.d.json +0 -982
- package/lib/schemas/agendas.d.json +0 -1561
- package/lib/schemas/amendements.d.json +0 -1901
- package/lib/schemas/debats.d.json +0 -623
- package/lib/schemas/dossiers_legislatifs.d.json +0 -3690
- package/lib/schemas/legislatures.d.json +0 -17
- package/lib/schemas/questions.d.json +0 -520
- package/lib/schemas/scrutins.d.json +0 -517
- package/lib/scripts/add_links_to_documents.d.ts.map +0 -1
- package/lib/scripts/clean_reorganized_data.d.ts.map +0 -1
- package/lib/scripts/copy-schemas.d.ts.map +0 -1
- package/lib/scripts/diff_amendements.d.ts.map +0 -1
- package/lib/scripts/document_dossiers_legislatifs.d.ts.map +0 -1
- package/lib/scripts/generate-json-schemas.d.ts.map +0 -1
- package/lib/scripts/get_today_reunions.d.ts.map +0 -1
- package/lib/scripts/merge_scrutins.d.ts.map +0 -1
- package/lib/scripts/process_open_dataset.d.ts.map +0 -1
- package/lib/scripts/raw_types_from_amendements.d.ts.map +0 -1
- package/lib/scripts/reorganize_data.d.ts.map +0 -1
- package/lib/scripts/retrieve_deputes_photos.d.ts.map +0 -1
- package/lib/scripts/retrieve_documents.d.ts.map +0 -1
- package/lib/scripts/retrieve_open_data.d.ts.map +0 -1
- package/lib/scripts/retrieve_pending_amendments.d.ts.map +0 -1
- package/lib/scripts/retrieve_senateurs_photos.d.ts.map +0 -1
- package/lib/scripts/shared/cli_helpers.d.ts.map +0 -1
- package/lib/scripts/test_iter_load.d.ts.map +0 -1
- package/lib/scripts/test_load.d.ts.map +0 -1
- package/lib/scripts/test_load_big_files.d.ts.map +0 -1
- package/lib/scripts/validate_json.d.ts.map +0 -1
- package/lib/shared_types/codes_actes.d.ts.map +0 -1
- package/lib/strings.d.ts.map +0 -1
- package/lib/types/acteurs_et_organes.d.ts.map +0 -1
- package/lib/types/agendas.d.ts.map +0 -1
- package/lib/types/amendements.d.ts.map +0 -1
- package/lib/types/debats.d.ts.map +0 -1
- package/lib/types/dossiers_legislatifs.d.ts.map +0 -1
- package/lib/types/legislatures.d.ts.map +0 -1
- package/lib/types/questions.d.ts.map +0 -1
- package/lib/types/scrutins.d.ts.map +0 -1
- package/lib/urls.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
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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"}
|