@tricoteuses/assemblee 1.10.5 → 2.0.2

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