@tricoteuses/assemblee 3.0.10 → 3.0.12

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.
@@ -1,4938 +0,0 @@
1
- import r from "fs-extra";
2
- import re from "node:assert";
3
- import o from "node:path";
4
- import "glob";
5
- import "node:fs/promises";
6
- import { getChangedFilesSinceCommit as He } from "./git.js";
7
- import { z as e } from "zod";
8
- import { E as _, F as d, G as T, H as P, I as $, J as j, K as C, L as _e, B as Oe } from "./amendements-CusGbzsz.js";
9
- import { T as Tn, Q as En, D as Pn } from "./questions-BwsFy7G_.js";
10
- var l = /* @__PURE__ */ ((t) => (t[t.Quatorze = 14] = "Quatorze", t[t.Quinze = 15] = "Quinze", t[t.Seize = 16] = "Seize", t[t.DixSept = 17] = "DixSept", t[t.DixHuit = 18] = "DixHuit", t[t.All = 0] = "All", t))(l || {});
11
- const vn = [
12
- /**
13
- * Assemblée parlementaire internationale
14
- */
15
- "API",
16
- /**
17
- * Assemblée nationale
18
- */
19
- "ASSEMBLEE",
20
- /**
21
- * Bureau de l'Assemblée nationale
22
- */
23
- "BUREAU",
24
- /**
25
- * Circonscription
26
- */
27
- "CIRCONSCRIPTION",
28
- /**
29
- * Cour de justice de la République
30
- */
31
- "CJR",
32
- /**
33
- * Commission mixte paritaire
34
- */
35
- "CMP",
36
- /**
37
- * Commission d'enquête
38
- */
39
- "CNPE",
40
- /**
41
- * Commission spéciale
42
- */
43
- "CNPS",
44
- /**
45
- * Commission spéciale autre
46
- */
47
- "COMNL",
48
- /**
49
- * Commission permanente
50
- */
51
- "COMPER",
52
- /**
53
- * Commission sénatoriale
54
- */
55
- "COMSENAT",
56
- /**
57
- * Commission spéciale sénatoriale
58
- */
59
- "COMSPSENAT",
60
- /**
61
- * Conférence des présidents
62
- */
63
- "CONFPT",
64
- /**
65
- * Conseil constitutionnel
66
- */
67
- "CONSTITU",
68
- /**
69
- * Délégation
70
- */
71
- "DELEG",
72
- /**
73
- * Délégation du Bureau
74
- */
75
- "DELEGBUREAU",
76
- /**
77
- * Délégation sénatoriale
78
- */
79
- "DELEGSENAT",
80
- /**
81
- * Groupe d'amitié
82
- */
83
- "GA",
84
- /**
85
- * Groupe d'études
86
- */
87
- "GE",
88
- /**
89
- * Groupe d'études à vocation internationale
90
- */
91
- "GEVI",
92
- /**
93
- * Gouvernement
94
- */
95
- "GOUVERNEMENT",
96
- /**
97
- * Groupe politique
98
- */
99
- "GP",
100
- /**
101
- * Groupe sénatorial
102
- */
103
- "GROUPESENAT",
104
- /**
105
- * Haute Cour de Justice
106
- */
107
- "HCJ",
108
- /**
109
- * Ministère
110
- */
111
- "MINISTERE",
112
- /**
113
- * Mission d'application des lois autorisant la ratification ou l'approbation de textes internationaux depuis la XVIe législature
114
- */
115
- "MISAPPL",
116
- /**
117
- * Mission d'évaluation
118
- */
119
- "MISEVAL",
120
- /**
121
- * Groupe de travail
122
- */
123
- "MISGRTR",
124
- /**
125
- * Mission d'information
126
- */
127
- "MISINFO",
128
- /**
129
- * Mission d'information commune
130
- */
131
- "MISINFOCOM",
132
- /**
133
- * Missions d'information de la conférence des Présidents
134
- */
135
- "MISINFOPRE",
136
- /**
137
- * Office parlementaire ou délégation mixte
138
- */
139
- "OFFPAR",
140
- /**
141
- * Organisme international
142
- */
143
- "ORGAINT",
144
- /**
145
- * Organisme extra-parlementaire
146
- */
147
- "ORGEXTPARL",
148
- /**
149
- * Parti politique
150
- */
151
- "PARPOL",
152
- /**
153
- * Présidence de la République
154
- */
155
- "PRESREP",
156
- /**
157
- * Sénat
158
- */
159
- "SENAT"
160
- ], le = e.enum(vn), Mn = ["M.", "Mme"], K = e.enum(Mn).meta({ description: "Civilité" }), Ln = ["H", "M", "O", "T"], et = e.enum(Ln), wn = [
161
- "Ain",
162
- "Aisne",
163
- "Allier",
164
- "Alpes-de-Haute-Provence",
165
- "Alpes-Maritimes",
166
- "Ardennes",
167
- "Ardèche",
168
- "Ariège",
169
- "Aube",
170
- "Aude",
171
- "Aveyron",
172
- "Bas-Rhin",
173
- "Bouches-du-Rhône",
174
- "Calvados",
175
- "Cantal",
176
- "Charente",
177
- "Charente-Maritime",
178
- "Cher",
179
- "Comores",
180
- "Corrèze",
181
- "Corse",
182
- "Corse-du-Sud",
183
- "Creuse",
184
- "Côte-d'Or",
185
- "Côtes-d'Armor",
186
- "Côtes-du-Nord",
187
- "Deux-Sèvres",
188
- "Dordogne",
189
- "Doubs",
190
- "Drôme",
191
- "Essonne",
192
- "Eure",
193
- "Eure-et-Loir",
194
- "Finistère",
195
- "Français établis hors de France",
196
- "Gard",
197
- "Gers",
198
- "Gironde",
199
- "Guadeloupe",
200
- "Guyane",
201
- "Haut-Rhin",
202
- "Haute-Corse",
203
- "Haute-Garonne",
204
- "Haute-Loire",
205
- "Haute-Marne",
206
- "Haute-Savoie",
207
- "Haute-Saône",
208
- "Haute-Vienne",
209
- "Hautes-Alpes",
210
- "Hautes-Pyrénées",
211
- "Hauts-de-Seine",
212
- "Hérault",
213
- "Ille-et-Vilaine",
214
- "Indre",
215
- "Indre-et-Loire",
216
- "Isère",
217
- "Jura",
218
- "Landes",
219
- "Loir-et-Cher",
220
- "Loire",
221
- "Loire-Atlantique",
222
- "Loiret",
223
- "Lot",
224
- "Lot-et-Garonne",
225
- "Lozère",
226
- "Maine-et-Loire",
227
- "Manche",
228
- "Marne",
229
- "Martinique",
230
- "Mayenne",
231
- "Mayotte",
232
- "Meurthe-et-Moselle",
233
- "Meuse",
234
- "Morbihan",
235
- "Moselle",
236
- "Nièvre",
237
- "Nord",
238
- "Nouvelle-Calédonie",
239
- "Oise",
240
- "Orne",
241
- "Paris",
242
- "Pas-de-Calais",
243
- "Polynésie Française",
244
- "Puy-de-Dôme",
245
- "Pyrénées-Atlantiques",
246
- "Pyrénées-Orientales",
247
- "Rhône",
248
- "Réunion",
249
- "Saint-Barthélemy et Saint-Martin",
250
- "Saint-Martin",
251
- "Saint-Pierre-et-Miquelon",
252
- "Sarthe",
253
- "Savoie",
254
- "Saône-et-Loire",
255
- "Seine-et-Marne",
256
- "Seine-Inférieure",
257
- "Seine-Maritime",
258
- "Seine-Saint-Denis",
259
- "Somme",
260
- "Tarn",
261
- "Tarn-et-Garonne",
262
- "Territoire de Belfort",
263
- "Val-d'Oise",
264
- "Val-de-Marne",
265
- "Var",
266
- "Vaucluse",
267
- "Vendée",
268
- "Vienne",
269
- "Vosges",
270
- "Wallis-et-Futuna",
271
- "Yonne",
272
- "Yvelines"
273
- ], Y = e.enum(wn), xn = [
274
- "Agriculteurs exploitants",
275
- "Artisans, commerçants, chefs d'entreprises",
276
- "Artisans, commerçants et chefs d'entreprise",
277
- "Autres personnes sans activité professionnelle",
278
- "Cadres et professions intellectuelles supérieures",
279
- "Employés",
280
- "Ouvriers",
281
- "Professions intermédiaires",
282
- "Professions Intermédiaires",
283
- "Retraités",
284
- "Sans profession déclarée"
285
- ], tt = e.enum(xn).meta({ description: "Famille socio professionelle de l'INSEE." }), Vn = [
286
- "Auvergne-Rhône-Alpes",
287
- "Bourgogne-Franche-Comté",
288
- "Bretagne",
289
- "Centre-Val de Loire",
290
- "Corse",
291
- "Français établis hors de France",
292
- "Grand Est",
293
- "Guadeloupe",
294
- "Guyane",
295
- "Hauts-de-France",
296
- "Ile-de-France",
297
- "Martinique",
298
- "Mayotte",
299
- "Normandie",
300
- "Nouvelle-Aquitaine",
301
- "Nouvelle-Calédonie",
302
- "Occitanie",
303
- "Pays de la Loire",
304
- "Polynésie française",
305
- "Provence-Alpes-Côte d'Azur",
306
- "Réunion",
307
- "Saint-Barthélemy et Saint-Martin",
308
- "Saint-Pierre-et-Miquelon",
309
- "Wallis-et-Futuna"
310
- ], ge = e.enum(Vn), Fn = [
311
- "MandatAvecSuppleant_Type",
312
- "MandatMission_Type",
313
- "MandatParlementaire_type",
314
- "MandatSimple_Type"
315
- ], nt = e.enum(Fn), qn = [
316
- "GroupePolitique_type",
317
- "OrganeCirconscription_type",
318
- "OrganeExterne_Type",
319
- "OrganeExtraParlementaire_type",
320
- "OrganeParlementaireInternational",
321
- "OrganeParlementaire_Type"
322
- ], Ne = e.enum(qn), Jn = [
323
- "Majoritaire",
324
- "Minoritaire",
325
- "Opposition"
326
- ], Re = e.enum(Jn).meta({
327
- description: "Position politique, uniquement pour les groupes politiques (dont le codeType est égal à GP)."
328
- }), Xn = [
329
- "Assemblée consultative provisoire",
330
- "Assemblées nationales constituantes",
331
- "3ème République",
332
- "4ème République",
333
- "5ème République"
334
- ], De = e.enum(Xn).meta({
335
- description: "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."
336
- }), $n = [
337
- "Collectivités d'outre-mer et Nouvelle-Calédonie",
338
- "Dom",
339
- "Français établis hors de France",
340
- "Métropolitain"
341
- ], fe = e.enum($n).meta({
342
- description: "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})"
343
- }), Un = ["IdActeur_type"], Bn = e.enum(Un), U = e.object({
344
- "@xmlns:xsi": e.string(),
345
- "@xsi:nil": e.string()
346
- }), it = e.object({
347
- "@xmlns:xsi": e.string().optional(),
348
- "@xsi:type": Bn,
349
- "#text": e.string()
350
- }), Qn = e.object({
351
- civ: K,
352
- prenom: e.string(),
353
- nom: e.string(),
354
- alpha: e.string(),
355
- trigramme: e.union([U, e.string()]).nullable().optional()
356
- }), kn = e.object({
357
- dateNais: e.union([U, _()]).nullable(),
358
- villeNais: e.union([U, e.string()]).nullable().optional(),
359
- depNais: e.union([U, Y]).nullable().optional(),
360
- paysNais: e.union([U, e.string()]).nullable().optional()
361
- }), ot = e.object({
362
- ident: Qn,
363
- infoNaissance: kn.optional(),
364
- dateDeces: e.union([U, _()]).nullable()
365
- }), zn = e.object({
366
- catSocPro: e.union([U, e.string()]).nullable().optional(),
367
- famSocPro: e.union([U, tt]).nullable().optional()
368
- }), Gn = e.object({
369
- libelleCourant: e.union([U, e.string()]).nullable().optional(),
370
- socProcINSEE: zn.optional()
371
- }), Wn = e.object({
372
- adresse: d(e.record(e.string(), e.string().nullable())).optional(),
373
- "@xmlns:xsi": e.string().optional(),
374
- "@xsi:nil": e.string().optional()
375
- }), Zn = e.object({
376
- codeQualite: e.string().nullable(),
377
- libQualite: e.string(),
378
- libQualiteSex: e.string().nullable()
379
- }), Hn = e.object({
380
- organeRef: d(T())
381
- }), Kn = e.object({
382
- dateDebut: $(),
383
- dateFin: _().nullable(),
384
- suppleantRef: P()
385
- }), Yn = e.object({
386
- suppleant: Kn
387
- }), ei = e.object({
388
- region: ge.nullable(),
389
- regionType: fe.nullable(),
390
- departement: Y.nullable(),
391
- numDepartement: e.string().nullable(),
392
- numCirco: e.string().nullable()
393
- }), ti = e.object({
394
- lieu: ei,
395
- causeMandat: e.string().nullable(),
396
- refCirconscription: e.string().nullable().optional()
397
- }), ni = e.object({
398
- qualite: K.nullable(),
399
- prenom: e.string(),
400
- nom: e.string(),
401
- dateDebut: e.null(),
402
- dateFin: e.null()
403
- }), ii = e.object({
404
- collaborateur: d(ni)
405
- }), oi = e.object({
406
- HATVP_URI: e.null()
407
- }), si = e.object({
408
- datePriseFonction: _().nullable(),
409
- causeFin: e.string().nullable(),
410
- premiereElection: e.string().nullable(),
411
- placeHemicycle: e.string().nullable(),
412
- mandatRemplaceRef: e.string().nullable().optional(),
413
- matriculeVote: e.string().nullable().optional()
414
- }), st = e.object({
415
- "@xmlns:xsi": e.string().optional(),
416
- "@xsi:type": nt.optional(),
417
- uid: j(),
418
- acteurRef: P(),
419
- legislature: e.string().nullable(),
420
- typeOrgane: le,
421
- dateDebut: $(),
422
- datePublication: _().nullable(),
423
- dateFin: _().nullable(),
424
- preseance: e.string().nullable(),
425
- nominPrincipale: e.string(),
426
- infosQualite: Zn,
427
- organes: Hn,
428
- libelle: e.string().nullable().optional(),
429
- missionSuivanteRef: e.string().nullable().optional(),
430
- missionPrecedenteRef: e.string().nullable().optional(),
431
- suppleants: Yn.nullable().optional(),
432
- chambre: e.null().optional(),
433
- election: ti.optional(),
434
- InfosHorsSIAN: oi.optional(),
435
- mandature: si.optional(),
436
- collaborateurs: e.union([e.array(e.null()), ii]).nullable().optional()
437
- }), at = e.object({
438
- mandat: d(st)
439
- }), ai = e.object({
440
- "@xmlns": e.string().optional(),
441
- uid: it,
442
- etatCivil: ot,
443
- profession: Gn,
444
- uri_hatvp: e.union([U, e.string()]).nullable().optional(),
445
- adresses: Wn.nullable(),
446
- mandats: at.optional(),
447
- "@xmlns:xsi": e.string().optional()
448
- });
449
- e.object({
450
- acteur: ai
451
- });
452
- const ri = e.object({
453
- uid: it,
454
- etatCivil: ot,
455
- uri_hatvp: e.string().nullable().optional(),
456
- mandats: at
457
- }), li = e.object({
458
- acteur: e.array(ri)
459
- }), rt = e.object({
460
- dateDebut: _().nullable(),
461
- dateAgrement: _().nullable(),
462
- dateFin: _().nullable()
463
- }), lt = e.object({
464
- secretaire01: e.string().nullable(),
465
- secretaire02: e.string().nullable()
466
- }), ci = e.object({
467
- codeNatureDep: et.nullable(),
468
- code: e.string().nullable(),
469
- libelle: Y.nullable()
470
- }), ui = e.object({
471
- type: fe.nullable(),
472
- libelle: ge.nullable()
473
- }), pi = e.object({
474
- region: ui,
475
- departement: ci
476
- }), mi = e.object({
477
- paysRef: d(e.string())
478
- }), di = e.object({
479
- "@xmlns": e.string().optional(),
480
- "@xmlns:xsi": e.string(),
481
- "@xsi:type": Ne.optional(),
482
- uid: j(),
483
- codeType: le,
484
- libelle: e.string(),
485
- libelleEdition: e.string().nullable(),
486
- libelleAbrege: e.string(),
487
- libelleAbrev: e.string(),
488
- viMoDe: rt,
489
- organeParent: T().nullable().optional(),
490
- organePrecedentRef: T().nullable().optional(),
491
- chambre: e.null().optional(),
492
- regime: De.nullable().optional(),
493
- legislature: e.string().nullable().optional(),
494
- regimeJuridique: e.string().nullable().optional(),
495
- siteInternet: e.string().nullable().optional(),
496
- nombreReunionsAnnuelles: e.string().nullable().optional(),
497
- secretariat: lt.optional(),
498
- numero: e.string().nullable().optional(),
499
- lieu: pi.optional(),
500
- positionPolitique: Re.nullable().optional(),
501
- preseance: e.string().nullable().optional(),
502
- couleurAssociee: e.string().nullable().optional(),
503
- listePays: mi.nullable().optional()
504
- });
505
- e.object({
506
- organe: di
507
- });
508
- const gi = e.object({
509
- "@xsi:type": Ne,
510
- uid: j(),
511
- codeType: le,
512
- libelle: e.string(),
513
- libelleEdition: e.string().nullable(),
514
- libelleAbrege: e.string(),
515
- libelleAbrev: e.string(),
516
- viMoDe: rt,
517
- regimeJuridique: e.string().nullable().optional(),
518
- regime: De.nullable().optional(),
519
- legislature: e.string().nullable().optional(),
520
- secretariat: lt.optional(),
521
- positionPolitique: Re.nullable().optional()
522
- }), fi = e.object({
523
- organe: e.array(gi)
524
- }), pe = e.object({
525
- code: e.string(),
526
- libelle: e.string()
527
- }), Si = e.object({
528
- type: pe,
529
- referenceTextuelle: e.string(),
530
- references: e.null()
531
- }), bi = e.object({
532
- "@xmlns": e.string(),
533
- "@xmlns:xsi": e.string(),
534
- uid: j(),
535
- chronotag: e.string(),
536
- legislature: e.string(),
537
- refActeur: P(),
538
- dateCreation: $(),
539
- datePublication: _(),
540
- portee: pe,
541
- lecture: pe,
542
- instance: pe,
543
- cible: Si,
544
- explication: e.string().nullable()
545
- });
546
- e.object({
547
- deport: bi
548
- });
549
- e.object({
550
- mandat: st
551
- });
552
- const Ai = e.object({
553
- "@xmlns:xsi": e.string(),
554
- organes: fi,
555
- acteurs: li
556
- });
557
- e.object({
558
- export: Ai
559
- });
560
- const Ci = [
561
- "AuditionExterne",
562
- "AuditionParPresidentCommission",
563
- "AuditionParRapporteur",
564
- "Ordinaire"
565
- ], ct = e.enum(Ci), hi = ["ODJPR", "ODJSN"], ut = e.enum(hi), _i = [
566
- "podjReunion_type",
567
- "podjSeanceConfPres_type"
568
- ], pt = e.enum(_i), ji = ["absent", "excusé", "présent"], mt = e.enum(ji), yi = [
569
- "discussion générale commune",
570
- "procédure d'examen simplifiée-Article 103",
571
- "procédure d'examen simplifiée-Article 106",
572
- "procédure d'examen simplifiée-Article 107",
573
- "procédure de législation en commission-Article 107-1"
574
- ], dt = e.enum(yi), Oi = [
575
- "Deuxième",
576
- "Première",
577
- "Troisième",
578
- "Unique"
579
- ], gt = e.enum(Oi), Ni = [
580
- "reunionCommission_type",
581
- "reunionInitParlementaire_type",
582
- "seance_type"
583
- ], ft = e.enum(Ni), Ri = [
584
- "Amendements (Art. 88)",
585
- "Amendements (Art. 91)",
586
- "Audition",
587
- "Audition ministre",
588
- "Audition ministre ouverte à la presse",
589
- "Audition ouverte à la presse",
590
- "Communication",
591
- "Constitution de mission d'information",
592
- "Discussion",
593
- "Débat d'initiative parlementaire",
594
- "Déclaration du Gouvernement suivie d'un débat",
595
- "Echanges de vues",
596
- "Examen",
597
- "Explications de vote des groupes et vote par scrutin public",
598
- "Explications de vote et vote par scrutin public",
599
- "Fixation de l'ordre du jour",
600
- "Nomination bureau",
601
- "Nomination candidats organisme extraparlementaire",
602
- "Nomination d'un membre d'une mission d'information",
603
- "Nomination rapporteur",
604
- "Nomination rapporteur d'application",
605
- "Nomination rapporteur d'information",
606
- "Nomination rapporteur pour avis",
607
- "Ouverture et clôture de session",
608
- "Questions au Gouvernement",
609
- "Questions orales sans débat",
610
- "Rapport",
611
- "Rapport d'information",
612
- "Rapport pour avis",
613
- "Séances réservées à un groupe de l'opposition ou minoritaire",
614
- "Suite de la discussion",
615
- "Table ronde",
616
- "Vote par scrutin public",
617
- "Vote solennel"
618
- ], St = e.enum(Ri), Di = [
619
- "DEP",
620
- "GA",
621
- "GE",
622
- "GEVI",
623
- "GP",
624
- "HÉ Aurélien"
625
- ], Ie = e.enum(Di), Ii = [
626
- "Annulé",
627
- "Confirmé",
628
- "Eventuel",
629
- "Supprimé"
630
- ], Ti = e.enum(Ii), Ei = [
631
- "IdActeur_type",
632
- "IdPersonneExterne_type"
633
- ], Pi = e.enum(Ei), vi = e.object({
634
- creation: e.string(),
635
- cloture: e.string().nullable()
636
- }), Te = e.object({
637
- etat: Ti,
638
- chrono: vi
639
- }), Mi = e.object({
640
- dossierRef: d(e.string())
641
- }), Ke = e.object({
642
- item: d(e.string())
643
- }), Li = e.object({
644
- "@xsi:type": pt,
645
- uid: j(),
646
- cycleDeVie: Te,
647
- objet: e.string(),
648
- demandeurPoint: e.null(),
649
- procedure: dt.nullable(),
650
- dossiersLegislatifsRefs: e.union([
651
- Mi,
652
- e.null()
653
- ]),
654
- typePointODJ: St,
655
- comiteSecret: e.string(),
656
- textesAssocies: e.null(),
657
- natureTravauxODJ: ut.optional(),
658
- dateConfPres: C(),
659
- dateLettreMinistre: C()
660
- }), wi = e.object({
661
- pointODJ: d(Li)
662
- }), bt = e.object({
663
- convocationODJ: Ke.nullable(),
664
- resumeODJ: Ke.nullable(),
665
- pointsODJ: wi.nullable().optional()
666
- }), At = e.object({
667
- nom: e.string().nullable(),
668
- acteurRef: P()
669
- }), Ct = e.object({
670
- nom: e.string(),
671
- organeRef: T()
672
- }), xi = e.object({
673
- acteur: At.optional(),
674
- organe: Ct.optional()
675
- }), ht = e.object({
676
- acteur: d(At).optional(),
677
- organe: Ct.optional()
678
- }), Vi = e.object({
679
- paysRef: d(e.string())
680
- }), Fi = e.object({
681
- estReunionInternationale: e.string(),
682
- listePays: Vi.nullable(),
683
- informationsComplementaires: e.string().nullable().optional()
684
- }), _t = e.object({
685
- code: e.string().nullable().optional(),
686
- libelleCourt: e.string().nullable().optional(),
687
- libelleLong: e.string().nullable(),
688
- lieuRef: e.string().nullable().optional()
689
- }), jt = e.object({
690
- acteurRef: P(),
691
- presence: mt
692
- }), qi = e.object({
693
- participantInterne: d(jt)
694
- }), Ji = e.object({
695
- participantInterne: e.array(jt)
696
- }), Xi = e.object({
697
- personneAuditionnee: e.array(e.null()).nullable()
698
- }), $i = e.object({
699
- "@xsi:type": Pi,
700
- "#text": e.string()
701
- }), Ui = e.object({
702
- civ: K,
703
- prenom: e.string(),
704
- nom: e.string(),
705
- alpha: C(),
706
- trigramme: e.string().nullable().optional()
707
- }), Bi = e.object({
708
- uid: $i,
709
- ident: Ui,
710
- dateNais: _().nullable()
711
- }), Qi = e.object({
712
- personneAuditionnee: d(Bi)
713
- }), ki = e.object({
714
- participantsInternes: e.union([
715
- qi,
716
- e.null()
717
- ]),
718
- personnesAuditionnees: e.union([
719
- Xi,
720
- e.null()
721
- ])
722
- }), zi = e.object({
723
- participantsInternes: e.union([
724
- Ji,
725
- e.null()
726
- ]),
727
- personnesAuditionnees: e.union([
728
- Qi,
729
- e.null()
730
- ])
731
- }), yt = e.object({
732
- numSeanceJO: e.string().nullable(),
733
- idJO: e.string().nullable(),
734
- quantieme: gt,
735
- DateSeance: e.string()
736
- }), Gi = e.object({
737
- "@xmlns": e.string(),
738
- "@xmlns:xsi": e.string(),
739
- "@xsi:type": ft,
740
- uid: j(),
741
- timeStampDebut: $(),
742
- timeStampFin: C(),
743
- lieu: _t.optional(),
744
- cycleDeVie: Te,
745
- demandeurs: ht.nullable().optional(),
746
- organeReuniRef: e.string().nullable(),
747
- typeReunion: Ie.optional(),
748
- demandeur: xi.nullable().optional(),
749
- participants: ki.nullable().optional(),
750
- visioConference: e.string().nullable().optional(),
751
- ODJ: bt.nullable().optional(),
752
- sessionRef: e.string().nullable().optional(),
753
- ouverturePresse: C(),
754
- captationVideo: C(),
755
- compteRenduRef: e.string().nullable().optional(),
756
- formatReunion: ct.optional(),
757
- infosReunionsInternationale: Fi.optional(),
758
- identifiants: yt.optional()
759
- });
760
- e.object({
761
- reunion: Gi
762
- });
763
- const Wi = e.object({
764
- uid: j(),
765
- timeStampDebut: $(),
766
- timeStampFin: C(),
767
- lieu: _t,
768
- cycleDeVie: Te,
769
- demandeurs: ht.nullable().optional(),
770
- organeReuniRef: e.string().nullable(),
771
- typeReunion: Ie.optional(),
772
- "@xmlns:xsi": C(),
773
- demandeur: e.null().optional(),
774
- participants: zi.nullable().optional(),
775
- sessionRef: e.string().nullable().optional(),
776
- ouverturePresse: C(),
777
- ODJ: bt.optional(),
778
- compteRenduRef: e.string().nullable().optional(),
779
- identifiants: yt.optional()
780
- }), Zi = e.object({
781
- reunion: e.array(Wi)
782
- });
783
- e.object({
784
- reunions: Zi
785
- });
786
- const Hi = [
787
- "AN1",
788
- "AN1-ACIN",
789
- "AN1-AVCE",
790
- "AN1-COM",
791
- "AN1-COM-AVIS",
792
- "AN1-COM-AVIS-NOMIN",
793
- "AN1-COM-AVIS-RAPPORT",
794
- "AN1-COM-AVIS-REUNION",
795
- "AN1-COM-AVIS-SAISIE",
796
- "AN1-COM-FOND",
797
- "AN1-COM-FOND-NOMIN",
798
- "AN1-COM-FOND-RAPPORT",
799
- "AN1-COM-FOND-REUNION",
800
- "AN1-COM-FOND-SAISIE",
801
- "AN1-DEBATS",
802
- "AN1-DEBATS-DEC",
803
- "AN1-DEBATS-MOTION",
804
- "AN1-DEBATS-MOTION-VOTE",
805
- "AN1-DEBATS-SEANCE",
806
- "AN1-DEPOT",
807
- "AN1-DGVT",
808
- "AN1-DPTLETTRECT",
809
- "AN1-ETI",
810
- "AN1-MOTION",
811
- "AN1-MOTION-VOTE",
812
- "AN1-PROCACC",
813
- "AN1-RECBUREAU",
814
- "AN1-RTRINI",
815
- "AN2",
816
- "AN20",
817
- "AN20-COMENQ",
818
- "AN20-COMENQ-CREA",
819
- "AN20-COMENQ-NOMIN",
820
- "AN20-COMENQ-RAPPORT",
821
- "AN20-MISINF",
822
- "AN20-MISINF-CREA",
823
- "AN20-MISINF-NOMIN",
824
- "AN20-MISINF-RAPPORT",
825
- "AN20-RAPPORT",
826
- "AN21",
827
- "AN21-APAN",
828
- "AN21-DEBATS",
829
- "AN21-DEBATS-MOTION-VOTE",
830
- "AN21-DEBATS-SEANCE",
831
- "AN21-DGVT",
832
- "AN21-MOTION",
833
- "AN21-MOTION-VOTE",
834
- "AN21-MPR",
835
- "AN2-COM",
836
- "AN2-COM-AVIS",
837
- "AN2-COM-AVIS-RAPPORT",
838
- "AN2-COM-AVIS-REUNION",
839
- "AN2-COM-AVIS-SAISIE",
840
- "AN2-COM-FOND",
841
- "AN2-COM-FOND-NOMIN",
842
- "AN2-COM-FOND-RAPPORT",
843
- "AN2-COM-FOND-REUNION",
844
- "AN2-COM-FOND-SAISIE",
845
- "AN2-DEBATS",
846
- "AN2-DEBATS-DEC",
847
- "AN2-DEBATS-SEANCE",
848
- "AN2-DEPOT",
849
- "AN3",
850
- "AN3-COM",
851
- "AN3-COM-FOND",
852
- "AN3-COM-FOND-NOMIN",
853
- "AN3-COM-FOND-RAPPORT",
854
- "AN3-COM-FOND-REUNION",
855
- "AN3-COM-FOND-SAISIE",
856
- "AN3-DEBATS",
857
- "AN3-DEBATS-DEC",
858
- "AN3-DEBATS-SEANCE",
859
- "AN3-DEPOT",
860
- "AN-APPLI",
861
- "AN-APPLI-RAPPORT",
862
- "ANLDEF",
863
- "ANLDEF-COM",
864
- "ANLDEF-COM-FOND",
865
- "ANLDEF-COM-FOND-RAPPORT",
866
- "ANLDEF-COM-FOND-REUNION",
867
- "ANLDEF-COM-FOND-SAISIE",
868
- "ANLDEF-DEBATS",
869
- "ANLDEF-DEBATS-DEC",
870
- "ANLDEF-DEBATS-MOTION-VOTE",
871
- "ANLDEF-DEBATS-SEANCE",
872
- "ANLDEF-DEPOT",
873
- "ANLDEF-DGVT",
874
- "ANLDEF-MOTION",
875
- "ANLDEF-MOTION-VOTE",
876
- "ANLUNI",
877
- "ANLUNI-COM",
878
- "ANLUNI-COM-CAE",
879
- "ANLUNI-COM-CAE-DEC",
880
- "ANLUNI-COM-CAE-NOMIN",
881
- "ANLUNI-COM-CAE-RAPPORT",
882
- "ANLUNI-COM-CAE-REUNION",
883
- "ANLUNI-COM-CAE-SAISIE",
884
- "ANLUNI-COM-FOND",
885
- "ANLUNI-COM-FOND-NOMIN",
886
- "ANLUNI-COM-FOND-RAPPORT",
887
- "ANLUNI-COM-FOND-REUNION",
888
- "ANLUNI-COM-FOND-SAISIE",
889
- "ANLUNI-DEBATS",
890
- "ANLUNI-DEBATS-DEC",
891
- "ANLUNI-DEBATS-SEANCE",
892
- "ANLUNI-DEPOT",
893
- "ANLUNI-RTRINI",
894
- "ANNLEC",
895
- "ANNLEC-COM",
896
- "ANNLEC-COM-AVIS",
897
- "ANNLEC-COM-AVIS-NOMIN",
898
- "ANNLEC-COM-AVIS-RAPPORT",
899
- "ANNLEC-COM-AVIS-REUNION",
900
- "ANNLEC-COM-AVIS-SAISIE",
901
- "ANNLEC-COM-FOND",
902
- "ANNLEC-COM-FOND-NOMIN",
903
- "ANNLEC-COM-FOND-RAPPORT",
904
- "ANNLEC-COM-FOND-REUNION",
905
- "ANNLEC-COM-FOND-SAISIE",
906
- "ANNLEC-DEBATS",
907
- "ANNLEC-DEBATS-DEC",
908
- "ANNLEC-DEBATS-MOTION-VOTE",
909
- "ANNLEC-DEBATS-SEANCE",
910
- "ANNLEC-DEPOT",
911
- "ANNLEC-DGVT",
912
- "ANNLEC-MOTION",
913
- "ANNLEC-MOTION-VOTE",
914
- "CC",
915
- "CC-CONCLUSION",
916
- "CC-SAISIE-AN",
917
- "CC-SAISIE-DROIT",
918
- "CC-SAISIE-PAN",
919
- "CC-SAISIE-PM",
920
- "CC-SAISIE-PR",
921
- "CC-SAISIE-PSN",
922
- "CC-SAISIE-SN",
923
- "CG22",
924
- "CG22-CONV",
925
- "CG22-DEBATS",
926
- "CG22-DEBATS-DEC",
927
- "CG22-DEBATS-SEANCE",
928
- "CMP",
929
- "CMP-COM",
930
- "CMP-COM-NOMIN",
931
- "CMP-COM-RAPPORT-AN",
932
- "CMP-COM-RAPPORT-SN",
933
- "CMP-DEBATS",
934
- "CMP-DEBATS-AN",
935
- "CMP-DEBATS-AN-DEC",
936
- "CMP-DEBATS-AN-SEANCE",
937
- "CMP-DEBATS-DEC",
938
- "CMP-DEBATS-SN",
939
- "CMP-DEBATS-SN-DEC",
940
- "CMP-DEBATS-SN-SEANCE",
941
- "CMP-DEC",
942
- "CMP-DEPOT",
943
- "CMP-DGVT",
944
- "CMP-MOTION",
945
- "CMP-MOTION-VOTE",
946
- "CMP-SAISIE",
947
- "EU",
948
- "EU-DEC",
949
- "MOTION",
950
- "MOTION-VOTE",
951
- "PROM",
952
- "PROM-PUB",
953
- "SN1",
954
- "SN1-AVCE",
955
- "SN1-COM",
956
- "SN1-COM-AVIS",
957
- "SN1-COM-AVIS-NOMIN",
958
- "SN1-COM-AVIS-RAPPORT",
959
- "SN1-COM-AVIS-SAISIE",
960
- "SN1-COM-FOND",
961
- "SN1-COM-FOND-NOMIN",
962
- "SN1-COM-FOND-RAPPORT",
963
- "SN1-COM-FOND-SAISIE",
964
- "SN1-DEBATS",
965
- "SN1-DEBATS-DEC",
966
- "SN1-DEBATS-MOTION",
967
- "SN1-DEBATS-MOTION-VOTE",
968
- "SN1-DEBATS-SEANCE",
969
- "SN1-DEPOT",
970
- "SN1-DPTLETTRECT",
971
- "SN1-ETI",
972
- "SN1-PROCACC",
973
- "SN1-RTRINI",
974
- "SN2",
975
- "SN2-COM",
976
- "SN2-COM-AVIS",
977
- "SN2-COM-AVIS-NOMIN",
978
- "SN2-COM-AVIS-RAPPORT",
979
- "SN2-COM-AVIS-SAISIE",
980
- "SN2-COM-FOND",
981
- "SN2-COM-FOND-NOMIN",
982
- "SN2-COM-FOND-RAPPORT",
983
- "SN2-COM-FOND-SAISIE",
984
- "SN2-DEBATS",
985
- "SN2-DEBATS-DEC",
986
- "SN2-DEBATS-SEANCE",
987
- "SN2-DEPOT",
988
- "SN3",
989
- "SN3-COM",
990
- "SN3-COM-FOND",
991
- "SN3-COM-FOND-RAPPORT",
992
- "SN3-COM-FOND-SAISIE",
993
- "SN3-DEBATS",
994
- "SN3-DEBATS-DEC",
995
- "SN3-DEBATS-SEANCE",
996
- "SN3-DEPOT",
997
- "SNNLEC",
998
- "SNNLEC-COM",
999
- "SNNLEC-COM-FOND",
1000
- "SNNLEC-COM-FOND-NOMIN",
1001
- "SNNLEC-COM-FOND-RAPPORT",
1002
- "SNNLEC-COM-FOND-SAISIE",
1003
- "SNNLEC-DEBATS",
1004
- "SNNLEC-DEBATS-DEC",
1005
- "SNNLEC-DEBATS-SEANCE",
1006
- "SNNLEC-DEPOT"
1007
- ], Ot = e.enum(Hi), Ki = [
1008
- "accordInternational_Type",
1009
- "avisConseilEtat_Type",
1010
- "documentEtudeImpact_Type",
1011
- "rapportParlementaire_Type",
1012
- "texteLoi_Type"
1013
- ], Se = e.enum(Ki), Yi = [
1014
- "auteur",
1015
- "cosignataire",
1016
- "rapporteur",
1017
- "rapporteur général",
1018
- "rapporteur pour avis",
1019
- "rapporteur spécial"
1020
- ], be = e.enum(Yi), eo = [
1021
- "ACCPRESRP",
1022
- "APPART1515",
1023
- "APPART341",
1024
- "APPLOI",
1025
- "AUE",
1026
- "AUTRATCONV",
1027
- "AVECVOTE",
1028
- "CENSURE492",
1029
- "CENSURE493",
1030
- "COMENQ",
1031
- "COMPA",
1032
- "COMSPCPTE",
1033
- "CONST",
1034
- "CTRLBUDG",
1035
- "DIVERS",
1036
- "ENGRESPTXT",
1037
- "ENQU",
1038
- "FIN",
1039
- "FINGEST",
1040
- "FINRECT",
1041
- "FINSSOC",
1042
- "FINSSOCREC",
1043
- "IMPACTLOIS",
1044
- "LEGDELEGAN",
1045
- "MINFOCOMPER",
1046
- "MODREGLTAN",
1047
- "NOTEOPECST",
1048
- "OFFPARL",
1049
- "ORG",
1050
- "PETITION",
1051
- "PRESIDAGE",
1052
- "PRESIDASS",
1053
- "PRESIDREP",
1054
- "PROPACTCOM",
1055
- "PRPDIT",
1056
- "RECT",
1057
- "REFART11",
1058
- "RGLTBUDG",
1059
- "RGLTBUDG2",
1060
- "SUPP",
1061
- "SUSPOURS",
1062
- "TVXINSTITEUROP"
1063
- ], Nt = e.enum(eo), to = [
1064
- "ADOPTCOM",
1065
- "ADOPTSEANCE",
1066
- "REJETSEANCE"
1067
- ], Rt = e.enum(to), no = ["Rectifié"], Dt = e.enum(no), io = [
1068
- "Allocution",
1069
- "Avis",
1070
- "Déclaration",
1071
- "Lettre",
1072
- "Message",
1073
- "Motion",
1074
- "Projet de loi",
1075
- "Proposition de loi",
1076
- "Proposition de résolution",
1077
- "Rapport",
1078
- "Rapport d'information",
1079
- "Résolution"
1080
- ], Ee = e.enum(
1081
- io
1082
- ), oo = [
1083
- "Commission",
1084
- "Séance",
1085
- "Texte Déposé"
1086
- ], Pe = e.enum(oo), so = [
1087
- "DossierCommissionEnquete_Type",
1088
- "DossierIniativeExecutif_Type",
1089
- "DossierLegislatif_Type",
1090
- "DossierMissionControle_Type",
1091
- "DossierMissionInformation_Type",
1092
- "DossierResolutionAN"
1093
- ], It = e.enum(
1094
- so
1095
- ), ao = [
1096
- "Budget annexe",
1097
- "Budget général",
1098
- "Compte de concours financier",
1099
- "Compte spécial",
1100
- "Première partie"
1101
- ], Tt = e.enum(ao), ro = [
1102
- "mission principale",
1103
- "mission secondaire",
1104
- "partie de mission"
1105
- ], Et = e.enum(ro), lo = [
1106
- "Adoption_Europe_Type",
1107
- "ConclusionEtapeCC_Type",
1108
- "ConvocationCongres_Type",
1109
- "CreationOrganeTemporaire_Type",
1110
- "DecisionMotionCensure_Type",
1111
- "DecisionRecevabiliteBureau_Type",
1112
- "Decision_Type",
1113
- "DeclarationGouvernement_Type",
1114
- "DepotAccordInternational_Type",
1115
- "DepotAvisConseilEtat_Type",
1116
- "DepotInitiativeNavette_Type",
1117
- "DepotInitiative_Type",
1118
- "DepotLettreRectificative_Type",
1119
- "DepotMotionCensure_Type",
1120
- "DepotMotionReferendaire_Type",
1121
- "DepotRapport_Type",
1122
- "DiscussionCommission_Type",
1123
- "DiscussionSeancePublique_Type",
1124
- "Etape_Type",
1125
- "EtudeImpact_Type",
1126
- "MotionProcedure_Type",
1127
- "NominRapporteurs_Type",
1128
- "ProcedureAccelere_Type",
1129
- "Promulgation_Type",
1130
- "RenvoiPrealable_Type",
1131
- "RenvoiCMP_Type",
1132
- "RetraitInitiative_Type",
1133
- "SaisieComAvis_Type",
1134
- "SaisieComFond_Type",
1135
- "SaisineConseilConstit_Type"
1136
- ], co = e.enum(lo), uo = ["BTA", "TAP"], Pt = e.enum(uo), po = [
1137
- "En application de l'article 61§2 de la Constitution"
1138
- ], vt = e.enum(po), mo = ["JO_LOI_DECRET"], Mt = e.enum(mo), go = ["Dossier absorbé", "Examen commun"], Lt = e.enum(go), fo = ["Décret"], wt = e.enum(
1139
- fo
1140
- ), Z = e.object({
1141
- code: e.string(),
1142
- libelle: e.string()
1143
- }), So = e.object({
1144
- code: Nt,
1145
- libelle: C(),
1146
- libelleEdition: C()
1147
- }), bo = e.object({
1148
- depot: Z,
1149
- classe: Z,
1150
- espece: Z.optional()
1151
- }), ve = e.object({
1152
- famille: bo.nullable(),
1153
- type: Z,
1154
- sousType: So.nullable(),
1155
- statutAdoption: Rt.nullable()
1156
- }), Ao = e.object({
1157
- dateCreation: _(),
1158
- dateDepot: _(),
1159
- datePublication: _(),
1160
- datePublicationWeb: _()
1161
- }), Me = e.object({
1162
- chrono: Ao
1163
- }), Le = e.object({
1164
- titrePrincipal: e.string(),
1165
- titrePrincipalCourt: e.string()
1166
- }), Co = e.object({
1167
- acteurRef: P(),
1168
- qualite: be
1169
- }), ho = e.object({
1170
- organeRef: T()
1171
- }), _o = e.object({
1172
- acteur: Co.optional(),
1173
- organe: ho.optional()
1174
- }), we = e.object({
1175
- auteur: d(_o)
1176
- }), xe = e.object({
1177
- typeCorrection: Dt,
1178
- niveauCorrection: C()
1179
- }), Ve = e.object({
1180
- numNotice: C(),
1181
- formule: C(),
1182
- adoptionConforme: e.string()
1183
- }), Fe = e.object({
1184
- DIAN: e.string().nullable().optional(),
1185
- ISBN: e.string().nullable().optional(),
1186
- ISSN: e.string().nullable().optional(),
1187
- nbPage: e.string().nullable().optional(),
1188
- prix: e.string().nullable()
1189
- }), jo = e.object({
1190
- libelleTheme: e.string()
1191
- }), yo = e.object({
1192
- "@niveau": e.string(),
1193
- theme: jo
1194
- }), ce = e.object({
1195
- themes: yo
1196
- }), xt = e.object({
1197
- organeRef: d(T())
1198
- }), Oo = e.object({
1199
- acteurRef: P()
1200
- }), No = e.object({
1201
- organeRef: T(),
1202
- etApparentes: e.string()
1203
- }), Ro = e.object({
1204
- acteur: Oo.optional(),
1205
- dateCosignature: e.string(),
1206
- dateRetraitCosignature: e.string().nullable(),
1207
- edite: e.string(),
1208
- organe: No.optional()
1209
- }), Vt = e.object({
1210
- coSignataire: d(Ro)
1211
- }), Do = e.object({
1212
- amendable: e.string(),
1213
- dateLimiteDepot: e.null()
1214
- }), Io = e.object({
1215
- organeRef: T(),
1216
- amendable: e.string(),
1217
- dateLimiteDepot: e.null()
1218
- }), To = e.object({
1219
- commission: d(Io)
1220
- }), Ft = e.object({
1221
- amendementsSeance: Do,
1222
- amendementsCommission: To.optional()
1223
- }), Eo = e.lazy(
1224
- () => e.object({
1225
- "@xsi:type": Se,
1226
- uid: j(),
1227
- legislature: e.string().nullable(),
1228
- cycleDeVie: Me,
1229
- denominationStructurelle: e.string(),
1230
- titres: Le,
1231
- divisions: qe.nullable(),
1232
- dossierRef: e.string(),
1233
- redacteur: e.null(),
1234
- classification: ve,
1235
- auteurs: we,
1236
- organesReferents: xt.nullable().optional(),
1237
- correction: xe.nullable(),
1238
- notice: Ve,
1239
- indexation: ce.nullable(),
1240
- imprimerie: Fe.nullable(),
1241
- coSignataires: e.null().optional(),
1242
- depotAmendements: e.null().optional(),
1243
- rapportPublie: e.union([e.literal("true"), e.literal("false"), e.literal("undefined")]).optional()
1244
- })
1245
- ), qe = e.object({
1246
- division: d(Eo)
1247
- }), Po = e.object({
1248
- dateSuppression: $()
1249
- }), vo = e.object({
1250
- "@xmlns": e.string(),
1251
- "@xmlns:xsi": e.string(),
1252
- "@xsi:type": Se,
1253
- uid: j(),
1254
- metadatas: Po
1255
- }), Mo = e.object({
1256
- "@xmlns": e.string(),
1257
- "@xmlns:xsi": e.string(),
1258
- "@xsi:type": Se,
1259
- uid: j(),
1260
- legislature: e.string().nullable(),
1261
- cycleDeVie: Me,
1262
- denominationStructurelle: Ee,
1263
- provenance: Pe.optional(),
1264
- titres: Le,
1265
- divisions: qe.nullable(),
1266
- dossierRef: e.string(),
1267
- redacteur: e.null(),
1268
- classification: ve,
1269
- auteurs: we,
1270
- correction: xe.nullable(),
1271
- notice: Ve,
1272
- indexation: ce.nullable(),
1273
- imprimerie: Fe.nullable(),
1274
- coSignataires: Vt.nullable().optional(),
1275
- depotAmendements: Ft.nullable().optional(),
1276
- organesReferents: xt.nullable().optional(),
1277
- rapportPublie: e.union([e.literal("true"), e.literal("false"), e.literal("undefined")]).optional()
1278
- });
1279
- e.object({
1280
- document: e.union([Mo, vo])
1281
- });
1282
- const Lo = e.object({
1283
- "@xsi:type": Se,
1284
- uid: j(),
1285
- legislature: e.string().nullable(),
1286
- cycleDeVie: Me,
1287
- denominationStructurelle: Ee,
1288
- provenance: Pe.optional(),
1289
- titres: Le,
1290
- divisions: qe.nullable(),
1291
- dossierRef: e.string(),
1292
- redacteur: e.null(),
1293
- classification: ve,
1294
- auteurs: we,
1295
- correction: xe.nullable(),
1296
- notice: Ve,
1297
- indexation: ce.nullable(),
1298
- imprimerie: Fe.nullable(),
1299
- coSignataires: Vt.nullable().optional(),
1300
- depotAmendements: Ft.nullable().optional(),
1301
- rapportPublie: e.union([e.literal("true"), e.literal("false"), e.literal("undefined")]).optional()
1302
- }), wo = e.object({
1303
- document: e.array(Lo)
1304
- }), qt = e.object({
1305
- titre: e.string(),
1306
- titreChemin: e.string().nullable(),
1307
- senatChemin: e.string().nullable()
1308
- }), xo = e.object({
1309
- uid: j()
1310
- }), Vo = e.object({
1311
- organeRef: xo
1312
- }), Fo = e.object({
1313
- organe: Vo
1314
- }), qo = e.object({
1315
- acteurRef: P(),
1316
- mandatRef: e.string()
1317
- }), Jo = e.object({
1318
- acteur: d(qo)
1319
- }), Je = e.object({
1320
- acteurs: Jo.optional(),
1321
- organes: Fo.optional()
1322
- }), Xo = e.object({
1323
- acteurRef: C(),
1324
- organeRef: C()
1325
- }), Jt = e.object({
1326
- cause: Lt,
1327
- dossierAbsorbantRef: e.string()
1328
- }), je = e.object({
1329
- acteurRef: P(),
1330
- typeRapporteur: be,
1331
- etudePLFRef: C()
1332
- }), $o = e.object({
1333
- rapporteur: d(je)
1334
- }), Xt = e.lazy(
1335
- () => e.object({
1336
- typeMission: Et,
1337
- codeMission: C(),
1338
- libelleLong: _e(),
1339
- libelleCourt: _e(),
1340
- typeBudget: Tt,
1341
- missions: Uo.optional()
1342
- })
1343
- ), Uo = e.object({
1344
- mission: d(Xt)
1345
- }), Bo = e.object({
1346
- uid: j(),
1347
- organeRef: T(),
1348
- texteAssocie: C(),
1349
- rapporteur: e.union([d(je), je]).optional(),
1350
- missionMinefi: Xt.optional(),
1351
- ordreDIQS: e.string(),
1352
- ordreCommission: e.string()
1353
- }), $t = e.object({
1354
- EtudePLF: e.array(Bo)
1355
- }), z = e.object({
1356
- fam_code: e.string(),
1357
- libelle: C()
1358
- }), Qo = e.object({
1359
- nomCanonique: e.string(),
1360
- libelleCourt: C()
1361
- }), ko = e.object({
1362
- dateFermeture: e.string().nullable(),
1363
- dateOuverture: C()
1364
- }), zo = e.object({
1365
- voteRef: d(e.string())
1366
- }), Go = e.object({
1367
- typeTexte: Pt,
1368
- refTexteAssocie: e.string()
1369
- }), Wo = e.object({
1370
- texteAssocie: d(Go)
1371
- }), Zo = e.object({
1372
- acteurRef: d(P())
1373
- }), he = e.object({
1374
- typeJO: Mt,
1375
- dateJO: e.string(),
1376
- pageJO: e.null(),
1377
- numJO: e.string(),
1378
- urlLegifrance: _e(),
1379
- referenceNOR: C()
1380
- }), Ho = e.object({
1381
- typeTexteEuropeen: e.string(),
1382
- titreTexteEuropeen: e.string()
1383
- }), Ko = e.object({
1384
- refJOCE: e.string(),
1385
- dateJOCE: e.string()
1386
- }), Yo = e.object({
1387
- typeDoc: wt,
1388
- texteRef: e.string(),
1389
- titreDoc: e.string(),
1390
- urlDoc: e.string()
1391
- }), es = e.lazy(
1392
- () => e.object({
1393
- "@xsi:type": co,
1394
- uid: j(),
1395
- codeActe: Ot,
1396
- libelleActe: Qo,
1397
- organeRef: C(),
1398
- dateActe: _(),
1399
- actesLegislatifs: Xe.nullable().optional(),
1400
- texteAssocie: C(),
1401
- contributionInternaute: ko.optional(),
1402
- provenance: C(),
1403
- depotInitialLectureDefinitiveRef: e.union([e.null(), e.string()]).optional(),
1404
- initiateur: Je.optional(),
1405
- statutConclusion: z.optional(),
1406
- reunionRef: e.string().nullable().optional(),
1407
- odjRef: e.string().nullable().optional(),
1408
- odSeancejRef: e.null().optional(),
1409
- voteRefs: zo.nullable().optional(),
1410
- textesAssocies: Wo.optional(),
1411
- rapporteurs: $o.optional(),
1412
- reunion: e.null().optional(),
1413
- texteAdopte: e.string().nullable().optional(),
1414
- casSaisine: z.optional(),
1415
- decision: z.optional(),
1416
- formuleDecision: C(),
1417
- initiateurs: Xo.nullable().optional(),
1418
- motif: vt.optional(),
1419
- urlConclusion: C(),
1420
- numDecision: C(),
1421
- anneeDecision: C(),
1422
- typeDeclaration: z.optional(),
1423
- typeMotionCensure: z.optional(),
1424
- auteurs: Zo.nullable().optional(),
1425
- typeMotion: z.optional(),
1426
- auteurMotion: C(),
1427
- dateRetrait: e.null().optional(),
1428
- texteLoiRef: C(),
1429
- infoJO: he.nullable().optional(),
1430
- urlEcheancierLoi: e.string().nullable().optional(),
1431
- codeLoi: C(),
1432
- titreLoi: e.string().nullable().optional(),
1433
- infoJORect: e.union([d(he), he]).optional(),
1434
- texteEuropeen: Ho.optional(),
1435
- infoJOCE: Ko.optional(),
1436
- statutAdoption: z.optional(),
1437
- urlLegifrance: C(),
1438
- referenceNOR: C(),
1439
- texteExterneAssocie: Yo.optional()
1440
- })
1441
- ), Xe = e.object({
1442
- acteLegislatif: d(es)
1443
- }), ts = e.object({
1444
- "@xmlns": e.string(),
1445
- "@xmlns:xsi": e.string(),
1446
- "@xsi:type": It,
1447
- uid: j(),
1448
- legislature: e.string(),
1449
- titreDossier: qt,
1450
- procedureParlementaire: Z,
1451
- initiateur: Je.nullable(),
1452
- actesLegislatifs: Xe.nullable(),
1453
- indexation: ce.optional(),
1454
- fusionDossier: Jt.nullable(),
1455
- PLF: $t.optional()
1456
- });
1457
- e.object({
1458
- dossierParlementaire: ts
1459
- });
1460
- const ns = e.object({
1461
- "@xsi:type": It.optional(),
1462
- uid: j(),
1463
- legislature: e.string(),
1464
- titreDossier: qt,
1465
- procedureParlementaire: Z,
1466
- initiateur: Je.nullable(),
1467
- actesLegislatifs: Xe,
1468
- indexation: ce.optional(),
1469
- fusionDossier: Jt.nullable(),
1470
- PLF: $t.optional()
1471
- }), is = e.object({
1472
- dossierParlementaire: ns
1473
- }), os = e.object({
1474
- dossier: e.array(is)
1475
- }), ss = e.object({
1476
- "@xmlns:xsi": e.string(),
1477
- textesLegislatifs: wo,
1478
- dossiersLegislatifs: os
1479
- });
1480
- e.object({
1481
- export: ss
1482
- });
1483
- const as = ["MG", "PAN", "PSE"], Ut = e.enum(as), rs = ["adopté", "rejeté"], Bt = e.enum(rs), ls = ["MOC", "SAT", "SPO", "SPS", "SSG"], Qt = e.enum(ls), cs = [
1484
- "l'Assemblée nationale a adopté",
1485
- "L'Assemblée nationale n'a pas adopté",
1486
- "Le Congrès du Parlement a adopté",
1487
- "Le Congrès du Parlement n'a pas adopté"
1488
- ], $e = e.enum(cs), us = [
1489
- "motion de censure",
1490
- "scrutin public ordinaire",
1491
- "scrutin public solennel",
1492
- "scrutin à la tribune",
1493
- "Scrutin solennel congrès"
1494
- ], kt = e.enum(us), ps = ["Congrès", "Hémicycle", "Salons"], zt = e.enum(ps), ms = [
1495
- "DecompteDissidentsPositionGroupe",
1496
- "DecompteNominatif"
1497
- ], Gt = e.enum(
1498
- ms
1499
- ), ds = [
1500
- "abstention",
1501
- "contre",
1502
- "pour"
1503
- ], Wt = e.enum(ds), gs = [
1504
- "Majorité absolue des suffrages exprimés",
1505
- "majorité absolue des suffrages exprimés",
1506
- "majorité des membres composant l'Assemblée nationale",
1507
- "majorité des membres composants composant l'Assemblée",
1508
- "majorité des membres composants composant l'Assemblée nationale",
1509
- "Majorité requise pour un Congrès",
1510
- "Majorité requise pour une motion de censure"
1511
- ], Zt = e.enum(gs), fs = Bt, Ht = $e, Ss = e.object({
1512
- texte: e.string().nullable(),
1513
- referenceLegislative: e.null()
1514
- }), bs = e.object({
1515
- libelle: e.string(),
1516
- referenceLegislative: e.null(),
1517
- dossierLegislatif: e.null().optional()
1518
- }), As = e.object({
1519
- code: fs,
1520
- libelle: Ht
1521
- }), Cs = e.object({
1522
- codeTypeVote: Qt,
1523
- libelleTypeVote: kt,
1524
- typeMajorite: Zt
1525
- }), hs = e.object({
1526
- pour: e.string(),
1527
- contre: e.string(),
1528
- abstentions: e.string(),
1529
- nonVotants: e.string().nullable(),
1530
- nonVotantsVolontaires: e.string().optional()
1531
- }), _s = e.object({
1532
- nombreVotants: e.string(),
1533
- suffragesExprimes: e.string(),
1534
- nbrSuffragesRequis: e.string(),
1535
- annonce: Ht,
1536
- decompte: hs
1537
- }), js = e.object({
1538
- acteurRef: P(),
1539
- mandatRef: e.string(),
1540
- parDelegation: e.string().optional(),
1541
- numPlace: e.string().nullable().optional(),
1542
- causePositionVote: Ut.optional()
1543
- }), E = e.object({
1544
- votant: d(js)
1545
- }), ys = e.object({
1546
- pour: e.string(),
1547
- contre: e.string(),
1548
- abstention: e.string().optional(),
1549
- nonVotant: e.string().nullable().optional(),
1550
- nonVotants: e.string().optional(),
1551
- abstentions: e.string().optional(),
1552
- nonVotantsVolontaires: e.string().optional()
1553
- }), Os = e.object({
1554
- nonVotant: e.null().optional(),
1555
- nonVotants: e.union([E, e.string()]).nullable().optional(),
1556
- pour: E.nullable().optional(),
1557
- contre: E.nullable().optional(),
1558
- abstention: E.nullable().optional(),
1559
- abstentions: E.nullable().optional(),
1560
- pours: E.nullable().optional(),
1561
- contres: E.nullable().optional()
1562
- }), Ns = e.object({
1563
- positionMajoritaire: Wt,
1564
- decompteVoix: ys,
1565
- decompteNominatif: Os
1566
- }), Rs = e.object({
1567
- organeRef: T(),
1568
- nombreMembresGroupe: e.string(),
1569
- vote: Ns
1570
- }), Ds = e.object({
1571
- groupe: d(Rs)
1572
- }), Is = e.object({
1573
- organeRef: T(),
1574
- groupes: Ds
1575
- }), Ts = e.object({
1576
- organe: Is
1577
- }), Es = e.object({
1578
- nonVotants: E.nullable(),
1579
- pour: E.nullable(),
1580
- contre: E.nullable(),
1581
- abstentions: E.nullable(),
1582
- nonVotantsVolontaires: E.nullable()
1583
- }), Ps = e.object({
1584
- nonVotants: d(E.nullable()).nullable(),
1585
- pour: E.nullable().optional(),
1586
- contre: E.nullable().optional(),
1587
- abstentions: d(E.nullable()).optional(),
1588
- nonVotantsVolontaires: d(
1589
- E.nullable()
1590
- ).optional(),
1591
- pours: E.nullable().optional(),
1592
- contres: E.nullable().optional(),
1593
- dysfonctionnement: Es.optional()
1594
- }), Kt = e.object({
1595
- "@xmlns:xsi": e.string(),
1596
- "@xmlns": e.string().optional(),
1597
- uid: j(),
1598
- numero: e.string(),
1599
- organeRef: T(),
1600
- legislature: e.string(),
1601
- sessionRef: e.string(),
1602
- seanceRef: e.string(),
1603
- dateScrutin: $(),
1604
- quantiemeJourSeance: e.string(),
1605
- typeVote: Cs,
1606
- sort: As,
1607
- titre: e.string(),
1608
- demandeur: Ss,
1609
- objet: bs,
1610
- modePublicationDesVotes: Gt,
1611
- syntheseVote: _s,
1612
- ventilationVotes: Ts,
1613
- miseAuPoint: Ps.nullable(),
1614
- lieuVote: zt.optional()
1615
- });
1616
- e.object({
1617
- scrutin: Kt
1618
- });
1619
- const vs = e.object({
1620
- scrutin: d(Kt)
1621
- });
1622
- e.object({
1623
- scrutins: vs
1624
- });
1625
- const Ms = /^((?<documentType>ACIN|ALCN|AVCE|AVIS|DECL|ETDI|LETT|MESS|MION|PION|PNRE|PRJL|RAPP|RINF|RION)(?<chambre>AN|CG|SN)(?<republique>R\d+)[LS](?<legislature>\d+)(?<etat>B|BTA|BTC|TAP)(?<numero>\d+)(-.*)?)|((?<documentType2>MION)(?<chambre2>AN|SN)(?<republique2>R\d+)[LS](?<legislature2>\d+)-N(?<numero2>\d+))$/, Ls = /^DL(R\d+)(L\d+)N(\d+)$/, ws = /^RU(AN|CG|SN)(R\d+)(L\d+)([AS]\d{4})(IDC|IDFL?|IDS)(\d+)$/, xs = /^VT(AN|CG)(R\d+)(L\d+)V(\d+)$/, Vs = /^CR(S|C)(AN|CG)(R\d+)(L\d+)(S\d+)((?:O|E|D|PO)\d+)(N\d+)$/, Fs = /^QAN(R\d+)(L\d+)Q(E|G|OSD)(\d+)$/, qs = [
1626
- "Annulé",
1627
- "Confirmé",
1628
- "Eventuel",
1629
- "Supprimé"
1630
- ], Js = e.enum(qs), Xs = [
1631
- "IdActeur_type",
1632
- "IdPersonneExterne_type"
1633
- ], $s = e.enum(
1634
- Xs
1635
- ), Us = e.object({
1636
- creation: e.union([e.date(), e.iso.datetime({ offset: !0 }).pipe(e.coerce.date())]).meta({ description: "Date de création." }),
1637
- cloture: e.union([e.date(), e.iso.datetime({ offset: !0 }).pipe(e.coerce.date())]).optional().meta({ description: "Date de fin." })
1638
- }), Yt = e.object({
1639
- etat: Js.meta({
1640
- description: "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."
1641
- }),
1642
- chrono: Us
1643
- }), Bs = e.object({
1644
- xsiType: pt.meta({
1645
- description: "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'"
1646
- }),
1647
- uid: j().meta({ description: "Identifiant unique du point ODJ" }),
1648
- cycleDeVie: Yt.meta({
1649
- description: "Cycle de vie du point de l'ordre du jour."
1650
- }),
1651
- objet: e.string().meta({
1652
- description: "Description du point de l'ordre du jour en texte libre."
1653
- }),
1654
- procedure: dt.optional().meta({
1655
- description: "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})."
1656
- }),
1657
- dossiersLegislatifsRefs: e.array(e.string()).optional().meta({
1658
- description: "Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique ou bien 'reunionCommission_type', c'est à dire une commission, liste des identifiants uniques (uid) des {@link DossierParlementaire | dossiers législatifs} dont il sera question."
1659
- }),
1660
- typePointOdj: St.meta({
1661
- description: "Type de point de l'ordre du jour (par exemple: Discussion, Examen, Suite de la discussion, Amendements (Art. 88), etc."
1662
- }),
1663
- comiteSecret: e.boolean().meta({ description: "Le contenu de ce champ n'est pas défini." }),
1664
- natureTravauxOdj: ut.optional().meta({
1665
- description: "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."
1666
- }),
1667
- dateConfPres: e.union([e.date(), e.iso.date().pipe(e.coerce.date())]).optional().meta({
1668
- description: "Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique, date à laquelle 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} a ajouté ce point à l'ordre du jour."
1669
- }),
1670
- dateLettreMinistre: e.union([e.date(), e.iso.date().pipe(e.coerce.date())]).optional().meta({
1671
- description: "Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique, date de la lettre du premier ministre qui demande l'inscription d'un texte à l'ordre du jour {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/l-organisation-des-travaux-de-l-assemblee-nationale/la-fixation-de-l-ordre-du-jour-et-la-conference-des-presidents | au nom du gouvernement}."
1672
- })
1673
- }), Qs = e.object({
1674
- convocationOdj: e.array(e.string()).optional().meta({ description: "Texte décrivant l'objet de la réunion." }),
1675
- resumeOdj: e.array(e.string()).optional().meta({ description: "Texte court décrivant l'objet de la réunion." }),
1676
- pointsOdj: e.array(Bs).optional().meta({
1677
- description: "Liste des points inscrits à l'ordre du jour de la réunion"
1678
- })
1679
- }), ks = e.object({
1680
- nom: e.string().optional().meta({ description: "Civilité Prénom Nom {@link Acteur | de l'acteur}." }),
1681
- acteurRef: P().meta({
1682
- description: "Référence à l'acteur"
1683
- })
1684
- }), zs = e.object({
1685
- nom: e.string().meta({ description: "Nom de l'{@link Organe | organe}" }),
1686
- organeRef: T().meta({
1687
- description: "Référence à l'organe"
1688
- })
1689
- }), Gs = e.object({
1690
- acteurs: e.array(ks).optional().meta({
1691
- description: "Liste des {@link Acteur | personnes} à l'initiative de la réunion."
1692
- }),
1693
- organe: zs.optional()
1694
- }), Ws = e.object({
1695
- code: e.string().optional().meta({
1696
- description: "Code du lieu de la réunion: S pour sénat, AN pour assemblée nationale, CG pour congrès, SALREU* pour les salles de réunion."
1697
- }),
1698
- libelleCourt: e.string().optional().meta({ description: "Nom du lieu de la réunion." }),
1699
- libelleLong: e.string().optional().meta({
1700
- description: "Nom du lieu de la réunion et une indication sur son addresse."
1701
- }),
1702
- lieuRef: e.string().optional()
1703
- }), Zs = e.object({
1704
- acteurRef: P().meta({
1705
- description: "Référence à l'acteur participant"
1706
- }),
1707
- presence: mt.meta({
1708
- description: "La valeur est 'absent' ou 'excusé' si la personne n'a pas participé à la réunion, 'présent' sinon."
1709
- })
1710
- }), Hs = e.object({
1711
- civ: K.meta({ description: "Civilité." }),
1712
- prenom: e.string().meta({ description: "Prénom." }),
1713
- nom: e.string().meta({ description: "Nom de famille." }),
1714
- alpha: e.string().optional().meta({ description: "Le contenu de ce champ n'est pas défini." }),
1715
- trigramme: e.string().optional().meta({ description: "Le contenu de ce champ n'est pas défini." })
1716
- }), Ks = e.object({
1717
- xsiType: $s.meta({
1718
- description: "Type de personne auditionnée (acteur interne ou personne externe)."
1719
- }),
1720
- uid: e.string().meta({
1721
- description: "Identifiant unique de l'{@link Acteur | acteur} ou bien, dans le cas ou il ne s'agit pas d'un acteur, un identifiant unique de personne externe débutant par PE qui est utilisé uniquement dans ce contexte."
1722
- }),
1723
- ident: Hs,
1724
- dateNais: e.union([e.date(), e.iso.datetime({ offset: !0 }).pipe(e.coerce.date())]).optional().meta({ description: "Date de naissance." })
1725
- }), Ys = e.object({
1726
- participantsInternes: e.array(Zs).optional().meta({ description: "Liste des personnes participant à la réunion." }),
1727
- personnesAuditionnees: e.array(Ks).optional().meta({
1728
- description: "Liste des personnes auditionnées durant la réunion."
1729
- })
1730
- }), ea = e.object({
1731
- numSeanceJo: e.string().optional().meta({
1732
- description: "Numérotation de la séance selon l'ordre du journal officiel."
1733
- }),
1734
- idJo: e.string().optional().meta({
1735
- description: "Identifiant du journal officiel composé de l'année sur quatre chiffres et du numéro de séance (**numSeanceJo**) sur quatre chiffres (exemple: 20190053)."
1736
- }),
1737
- quantieme: gt.meta({
1738
- description: "Numéro de la séance dans la journée."
1739
- }),
1740
- dateSeance: e.union([e.date(), e.iso.date().pipe(e.coerce.date())]).meta({ description: "Date à laquelle la séance publique a lieu." })
1741
- }), ta = e.object({
1742
- estReunionInternationale: e.boolean().meta({
1743
- description: "'false' si la réunion ne concerne pas l'international, 'true' sinon."
1744
- }),
1745
- listePays: e.array(e.string()).optional().meta({ description: "Le contenu de ce champ n'est pas défini." }),
1746
- informationsComplementaires: e.string().optional().meta({
1747
- description: "Contient parfois le nom de la personne qui organise la réunion."
1748
- })
1749
- }), en = e.object({
1750
- schemaVersion: e.string().optional().meta({ description: "Le contenu de ce champ n'est pas défini." }),
1751
- xsiType: ft.optional(),
1752
- uid: j().meta({ description: "Identifiant unique de la réunion" }),
1753
- timestampDebut: e.union([e.date(), e.iso.datetime({ offset: !0 }).pipe(e.coerce.date())]).meta({ description: "Date et heure du début de la réunion." }),
1754
- timestampFin: e.union([
1755
- e.date(),
1756
- e.iso.date().pipe(e.coerce.date()),
1757
- e.iso.datetime({ offset: !0 }).pipe(e.coerce.date())
1758
- ]).optional().meta({ description: "Date et heure de la fin de la réunion." }),
1759
- lieu: Ws.optional().meta({
1760
- description: "Lieu de la réunion."
1761
- }),
1762
- cycleDeVie: Yt.meta({
1763
- description: "Cycle de vie de la réunion."
1764
- }),
1765
- demandeurs: Gs.optional().meta({
1766
- description: "Le cas échéant l'{@link Organe | organe} et/ou les {@link Acteur | acteurs} à l'initiative de la réunion."
1767
- }),
1768
- organeReuniRef: e.string().optional().meta({
1769
- description: "Le cas échéant, l'organe qui se réunit. Ce n'est pas nécessairement identique au demandeur. Par exemple le président de l'assemblée nationale convoque la conférence des présidents."
1770
- }),
1771
- typeReunion: Ie.optional().meta({
1772
- description: "Le contenu de ce champ n'est pas défini."
1773
- }),
1774
- participants: Ys.optional(),
1775
- sessionRef: e.string().optional(),
1776
- ouverturePresse: e.boolean().optional().meta({
1777
- description: "'true' si la réunion est accessible à la presse, 'false' sinon"
1778
- }),
1779
- odj: Qs.optional(),
1780
- compteRenduRef: e.string().optional().meta({
1781
- description: "Identifiant unique du {@link http://data.assemblee-nationale.fr/travaux-parlementaires/debats | compte rendu} d'une séance publique. Uniquement si xsiType égal à 'seance_type'."
1782
- }),
1783
- transcriptionRef: e.string().optional(),
1784
- identifiants: ea.optional().meta({
1785
- description: "Identifiant de la séance publique. Uniquement si xsiType égal à 'seance_type'."
1786
- }),
1787
- formatReunion: ct.optional().meta({
1788
- description: "Le contenu de ce champ n'est pas défini."
1789
- }),
1790
- infosReunionsInternationale: ta.optional().meta({
1791
- description: "Informations sur les personnes et pays concernées par une réunion de commission qui concerne l'international, le cas échéant. Uniquement si xsiType égal à 'reunionCommission_type'."
1792
- }),
1793
- captationVideo: e.boolean().optional().meta({ description: "Vrai si la réunion est enregistrée en vidéo." }),
1794
- visioConference: e.string().optional(),
1795
- urlVideo: e.string().optional().meta({ description: "Lien m3u8 de la video de la réunion." }),
1796
- timecodeDebutVideo: e.number().optional().meta({ description: "Timecode de début de la vidéo de la réunion." })
1797
- }), na = e.object({
1798
- reunions: e.array(en)
1799
- });
1800
- function ia(t) {
1801
- const n = en.safeParse(JSON.parse(t));
1802
- if (!n.success)
1803
- throw new Error(tn("ReunionClean", n.error));
1804
- return n.data;
1805
- }
1806
- function oa(t) {
1807
- const n = na.safeParse(JSON.parse(t));
1808
- if (!n.success)
1809
- throw new Error(tn("AgendasClean", n.error));
1810
- return n.data;
1811
- }
1812
- function sa(t) {
1813
- return JSON.stringify(t, null, 2);
1814
- }
1815
- function aa(t) {
1816
- return JSON.stringify(t, null, 2);
1817
- }
1818
- function tn(t, n) {
1819
- const i = n.issues.map((s) => ` - ${s.path.join(".")}: ${s.message}`).join(`
1820
- `);
1821
- return `Invalid ${t}:
1822
- ${i}`;
1823
- }
1824
- const Ue = {
1825
- toReunion: ia,
1826
- reunionToJson: sa,
1827
- toAgendas: oa,
1828
- agendasToJson: aa
1829
- }, ra = [
1830
- /**
1831
- * Accord international
1832
- *
1833
- * International agreement
1834
- */
1835
- "accordInternational_Type",
1836
- /**
1837
- * Avis Conseil d'État
1838
- *
1839
- * Opinion from the Council of State
1840
- */
1841
- "avisConseilEtat_Type",
1842
- /**
1843
- * Document étude d'impact
1844
- *
1845
- * Impact assessment document
1846
- */
1847
- "documentEtudeImpact_Type",
1848
- /**
1849
- * Rapport parlementaire
1850
- *
1851
- * Parliamentary report
1852
- */
1853
- "rapportParlementaire_Type",
1854
- /**
1855
- * Texte de loi
1856
- *
1857
- * Legislative text
1858
- */
1859
- "texteLoi_Type"
1860
- ], nn = e.enum(ra), la = [
1861
- /**
1862
- * Dossier commission d'enquête
1863
- *
1864
- * Commission of inquiry dossier
1865
- */
1866
- "DossierCommissionEnquete_Type",
1867
- /**
1868
- * Dossier initiative exécutif
1869
- *
1870
- * Executive initiative dossier
1871
- */
1872
- "DossierIniativeExecutif_Type",
1873
- /**
1874
- * Dossier législatif
1875
- *
1876
- * Legislative dossier
1877
- */
1878
- "DossierLegislatif_Type",
1879
- /**
1880
- * Dossier mission contrôle
1881
- *
1882
- * Control mission dossier
1883
- */
1884
- "DossierMissionControle_Type",
1885
- /**
1886
- * Dossier mission information
1887
- *
1888
- * Information mission dossier
1889
- */
1890
- "DossierMissionInformation_Type",
1891
- /**
1892
- * Dossier résolution AN
1893
- *
1894
- * National Assembly resolution dossier
1895
- */
1896
- "DossierResolutionAN"
1897
- ], ca = e.enum(
1898
- la
1899
- ), ua = [
1900
- /**
1901
- * Adoption Europe
1902
- *
1903
- * Adoption of European legislation
1904
- */
1905
- "Adoption_Europe_Type",
1906
- /**
1907
- * Conclusion étape CC
1908
- *
1909
- * Conclusion of Constitutional Council stage
1910
- */
1911
- "ConclusionEtapeCC_Type",
1912
- /**
1913
- * Convocation congrès
1914
- *
1915
- * Convocation of Congress
1916
- */
1917
- "ConvocationCongres_Type",
1918
- /**
1919
- * Création organe temporaire
1920
- *
1921
- * Creation of temporary body
1922
- */
1923
- "CreationOrganeTemporaire_Type",
1924
- /**
1925
- * Décision motion censure
1926
- *
1927
- * Decision on motion of censure
1928
- */
1929
- "DecisionMotionCensure_Type",
1930
- /**
1931
- * Décision recevabilité bureau
1932
- *
1933
- * Bureau's decision on admissibility
1934
- */
1935
- "DecisionRecevabiliteBureau_Type",
1936
- /**
1937
- * Décision
1938
- *
1939
- * Decision
1940
- */
1941
- "Decision_Type",
1942
- /**
1943
- * Déclaration gouvernement
1944
- *
1945
- * Government declaration
1946
- */
1947
- "DeclarationGouvernement_Type",
1948
- /**
1949
- * Dépôt accord international
1950
- *
1951
- * Filing of international agreement
1952
- */
1953
- "DepotAccordInternational_Type",
1954
- /**
1955
- * Dépôt avis Conseil d'État
1956
- *
1957
- * Filing of Council of State opinion
1958
- */
1959
- "DepotAvisConseilEtat_Type",
1960
- /**
1961
- * Dépôt initiative navette
1962
- *
1963
- * Filing of shuttle initiative
1964
- */
1965
- "DepotInitiativeNavette_Type",
1966
- /**
1967
- * Dépôt initiative
1968
- *
1969
- * Filing of initiative
1970
- */
1971
- "DepotInitiative_Type",
1972
- /**
1973
- * Dépôt lettre rectificative
1974
- *
1975
- * Filing of corrective letter
1976
- */
1977
- "DepotLettreRectificative_Type",
1978
- /**
1979
- * Dépôt motion censure
1980
- *
1981
- * Filing of motion of censure
1982
- */
1983
- "DepotMotionCensure_Type",
1984
- /**
1985
- * Dépôt motion référendaire
1986
- *
1987
- * Filing of referendum motion
1988
- */
1989
- "DepotMotionReferendaire_Type",
1990
- /**
1991
- * Dépôt rapport
1992
- *
1993
- * Filing of report
1994
- */
1995
- "DepotRapport_Type",
1996
- /**
1997
- * Discussion commission
1998
- *
1999
- * Committee discussion
2000
- */
2001
- "DiscussionCommission_Type",
2002
- /**
2003
- * Discussion séance publique
2004
- *
2005
- * Public session discussion
2006
- */
2007
- "DiscussionSeancePublique_Type",
2008
- /**
2009
- * Étape
2010
- *
2011
- * Stage
2012
- */
2013
- "Etape_Type",
2014
- /**
2015
- * Étude d'impact
2016
- *
2017
- * Impact assessment
2018
- */
2019
- "EtudeImpact_Type",
2020
- /**
2021
- * Motion procédure
2022
- *
2023
- * Procedural motion
2024
- */
2025
- "MotionProcedure_Type",
2026
- /**
2027
- * Nomin rapporteurs
2028
- *
2029
- * Appointment of rapporteurs
2030
- */
2031
- "NominRapporteurs_Type",
2032
- /**
2033
- * Procédure accélérée
2034
- *
2035
- * Accelerated procedure
2036
- */
2037
- "ProcedureAccelere_Type",
2038
- /**
2039
- * Promulgation
2040
- *
2041
- * Promulgation
2042
- */
2043
- "Promulgation_Type",
2044
- /**
2045
- * Renvoi préalable
2046
- *
2047
- * Prior referral
2048
- */
2049
- "RenvoiPrealable_Type",
2050
- /**
2051
- * Renvoi CMP
2052
- *
2053
- * Referral to Joint Committee
2054
- */
2055
- "RenvoiCMP_Type",
2056
- /**
2057
- * Retrait initiative
2058
- *
2059
- * Withdrawal of initiative
2060
- */
2061
- "RetraitInitiative_Type",
2062
- /**
2063
- * Saisie commission avis
2064
- *
2065
- * Referral to committee for opinion
2066
- */
2067
- "SaisieComAvis_Type",
2068
- /**
2069
- * Saisie commission fond
2070
- *
2071
- * Referral to substantive committee
2072
- */
2073
- "SaisieComFond_Type",
2074
- /**
2075
- * Saisine Conseil Constitutionnel
2076
- *
2077
- * Referral to Constitutional Council
2078
- */
2079
- "SaisineConseilConstit_Type"
2080
- ], pa = e.enum(ua), ie = e.object({
2081
- /** Code unique pour traitement automatisé. */
2082
- code: e.string(),
2083
- /** Signification du code. */
2084
- libelle: e.string()
2085
- }), ma = e.object({
2086
- /** Code du sous-type. */
2087
- code: Nt,
2088
- /** Libellé du sous-type. */
2089
- libelle: e.string().optional(),
2090
- /** Libellé d'édition du sous-type. */
2091
- libelleEdition: e.string().optional()
2092
- }), da = e.object({
2093
- /** Dépôt. */
2094
- depot: ie,
2095
- /** Classe. */
2096
- classe: ie,
2097
- /** Espèce. */
2098
- espece: ie.optional()
2099
- }), on = e.object({
2100
- /** Famille de classification. */
2101
- famille: da.optional(),
2102
- /** Type de document. */
2103
- type: ie,
2104
- /** Sous-type de document. */
2105
- sousType: ma.optional(),
2106
- /** Statut d'adoption du document. */
2107
- statutAdoption: Rt.optional()
2108
- }), ga = e.object({
2109
- /** Date de création du document. */
2110
- dateCreation: _(),
2111
- /** Date de dépôt du document (toujours identique à la date de création). */
2112
- dateDepot: _(),
2113
- /** Date de publication du document. */
2114
- datePublication: _(),
2115
- /** Date de première publication sur http://assemblee-nationale.fr */
2116
- datePublicationWeb: _()
2117
- }), sn = e.object({
2118
- /** Chronologie des dates importantes. */
2119
- chrono: ga
2120
- }), an = e.object({
2121
- /** Titre du document. Dans le cas d'un projet ou d'une proposition de loi, tel qu'il apparait au début du texte de loi. */
2122
- titrePrincipal: e.string(),
2123
- /** Version abrégée du titre du document. Dans le cas d'un projet ou d'une proposition de loi il peut être ambigu. */
2124
- titrePrincipalCourt: e.string()
2125
- }), fa = e.object({
2126
- /** Identifiant unique (uid) de l'auteur. */
2127
- acteurRef: e.string(),
2128
- /** Titre donné en raison du mandat, similaire à libQualiteSex dans le mandat de l'auteur. */
2129
- qualite: be
2130
- }), rn = e.object({
2131
- /** Informations sur l'acteur auteur. */
2132
- acteur: fa.optional(),
2133
- /** Identifiant unique (uid) de l'organe. */
2134
- organeRef: e.string().optional()
2135
- }), ln = e.object({
2136
- /** Type de correction appliquée au document. */
2137
- typeCorrection: Dt,
2138
- /** Niveau de correction. */
2139
- niveauCorrection: e.string().optional()
2140
- }), cn = e.object({
2141
- /** Numéro de bibard du document, c'est à dire les quatre derniers chiffres de l'identifiant unique (uid). */
2142
- numNotice: e.string().optional(),
2143
- /** Formule associée au document. */
2144
- formule: e.string().optional(),
2145
- /** Un document est dit conforme lorsqu'il est adopté sans modification par les deux assemblées. */
2146
- adoptionConforme: e.boolean()
2147
- }), un = e.object({
2148
- /** Numéro DIAN. */
2149
- dian: e.string().optional(),
2150
- /** Le numéro ISBN (International Standard Book Number) du document imprimé (habituellement null). */
2151
- isbn: e.string().optional(),
2152
- /** Le numéro ISSN (International Standard Serial Number) du document imprimé (habituellement null). */
2153
- issn: e.string().optional(),
2154
- /** Nombre de pages du document imprimé. */
2155
- nbPage: e.string().optional(),
2156
- /** Le prix en euros d'un exemplaire papier du document à la boutique de l'assemblée nationale. */
2157
- prix: e.string().optional()
2158
- }), Sa = e.object({
2159
- /** Mots clés pour l'indexation. */
2160
- libelleTheme: e.string()
2161
- }), ba = e.object({
2162
- /** Niveau d'indexation (signification non définie). */
2163
- "@niveau": e.string(),
2164
- /** Thème d'indexation. */
2165
- theme: Sa
2166
- }), Be = e.object({
2167
- /** Collection de thèmes pour l'indexation. */
2168
- themes: ba
2169
- }), Aa = e.object({
2170
- /** Identifiant unique (uid) du groupe politique au sein duquel le co-signataire exerce son mandat. */
2171
- organeRef: e.string(),
2172
- /** Le co-signataire engage aussi les députés apparentés au groupe politique au sein duquel il exerce son mandat. */
2173
- etApparentes: e.boolean()
2174
- }), Ca = e.object({
2175
- /** Identifiant unique (uid) du co-signataire. */
2176
- acteurRef: e.string().optional(),
2177
- /** Date de la co-signature. */
2178
- dateCosignature: e.string(),
2179
- /** Date du retrait de la co-signature. */
2180
- dateRetraitCosignature: e.string().optional(),
2181
- /** Indique si le co-signataire a été édité. */
2182
- edite: e.boolean(),
2183
- /** Groupe politique du co-signataire. */
2184
- organe: Aa.optional()
2185
- }), ha = e.object({
2186
- /** Vaut true si le texte peut être amendé, false sinon. */
2187
- amendable: e.boolean()
2188
- }), _a = e.object({
2189
- /** Identifiant unique (uid) de la commission. */
2190
- organeRef: e.string(),
2191
- /** Toujours égal à true. */
2192
- amendable: e.boolean()
2193
- }), ja = e.object({
2194
- /** Détermine si le texte est susceptible d'être amendé lors d'une séance publique. */
2195
- amendementsSeance: ha,
2196
- /** Liste des commissions susceptibles d'amender le texte. Si aucune commission ne peut amender le texte, ce champ est omis. */
2197
- amendementsCommission: e.array(_a).optional()
2198
- }), pn = e.lazy(
2199
- () => e.object({
2200
- /** Type du document de la division. */
2201
- xsiType: nn,
2202
- /** Identifiant unique de la division. */
2203
- uid: j().meta({ description: "Identifiant unique de la division" }),
2204
- /** Numéro de la législature sous laquelle a été créé le dossier. Nombre entier. */
2205
- legislature: e.string().optional(),
2206
- /** Cycle de vie du document. */
2207
- cycleDeVie: sn,
2208
- /** Dénomination structurelle de la division. */
2209
- denominationStructurelle: e.string(),
2210
- /** Titres de la division. */
2211
- titres: an,
2212
- /** La liste des sous-documents qui composent cette division. */
2213
- divisions: e.array(pn).optional(),
2214
- /** Identifiant unique (uid) du dossier parlementaire pour lequel ce document a été créé. */
2215
- dossierRef: e.string(),
2216
- /** Classification du document. */
2217
- classification: on,
2218
- /** Les auteurs du document. */
2219
- auteurs: e.array(rn),
2220
- /** Liste des identifiants uniques (uid) des organes référents. */
2221
- organesReferents: e.array(e.string()).optional(),
2222
- /** Correction appliquée au document. */
2223
- correction: ln.optional(),
2224
- /** Notice du document. */
2225
- notice: cn,
2226
- /** Indexation thématique du document. */
2227
- indexation: Be.optional(),
2228
- /** Informations d'imprimerie. */
2229
- imprimerie: un.optional(),
2230
- /** Indique si le rapport a été publié. */
2231
- rapportPublie: e.boolean().optional()
2232
- })
2233
- ), mn = e.object({
2234
- /** Version du schéma. */
2235
- schemaVersion: e.string().optional(),
2236
- /** Type du document. */
2237
- xsiType: nn,
2238
- /** Identifiant unique du document. L'URL pour télécharger le contenu a la forme https://git.en-root.org/tricoteuses/data/assemblee-textes/-/tree/master/__legislature__/uid/__uid__.__format__. */
2239
- uid: j().meta({ description: "Identifiant unique du document" }),
2240
- /** Numéro de la législature sous laquelle a été créé le dossier. Nombre entier. */
2241
- legislature: e.string().optional(),
2242
- /** Cycle de vie du document. */
2243
- cycleDeVie: sn,
2244
- /** Dénomination structurelle du document. */
2245
- denominationStructurelle: Ee,
2246
- /** Provenance du document. */
2247
- provenance: Pe.optional(),
2248
- /** Titres du document. */
2249
- titres: an,
2250
- /** La liste des sous-documents qui composent ce document. */
2251
- divisions: e.array(pn).optional(),
2252
- /** Identifiant unique (uid) du dossier parlementaire pour lequel ce document a été créé. */
2253
- dossierRef: e.string(),
2254
- /** Classification du document. */
2255
- classification: on,
2256
- /** Les auteurs du document. */
2257
- auteurs: e.array(rn),
2258
- /** Correction appliquée au document. */
2259
- correction: ln.optional(),
2260
- /** Notice du document. */
2261
- notice: cn,
2262
- /** Indexation thématique du document. */
2263
- indexation: Be.optional(),
2264
- /** Informations d'imprimerie. */
2265
- imprimerie: un.optional(),
2266
- /** Les co-signataires du document. */
2267
- coSignataires: e.array(Ca).optional(),
2268
- /** Liste des organes (commissions ou séance publique) susceptibles d'amender le texte. */
2269
- depotAmendements: ja.optional(),
2270
- /** Liste des identifiants uniques (uid) des organes référents. */
2271
- organesReferents: e.array(e.string()).optional(),
2272
- /** Indique si le rapport a été publié. */
2273
- rapportPublie: e.boolean().optional()
2274
- }), ya = e.object({
2275
- /** Titre du dossier législatif. */
2276
- titre: e.string(),
2277
- /** Chemin permettant de construire l'URL du dossier législatif sur le site de l'Assemblée nationale: http://www.assemblee-nationale.fr/dyn/__legislature__/dossiers/__titreChemin__ */
2278
- titreChemin: e.string().optional(),
2279
- /** URL du dossier législatif sur le site du Sénat. */
2280
- senatChemin: e.string().optional()
2281
- }), Oa = e.object({
2282
- /** Identifiant unique (uid) de l'acteur. */
2283
- acteurRef: e.string(),
2284
- /** Identifiant unique (uid) du mandat. */
2285
- mandatRef: e.string().optional()
2286
- }), dn = e.object({
2287
- /** Identifiants uniques (uid) des acteurs et de leurs mandats. */
2288
- acteurs: e.array(Oa).optional(),
2289
- /** Identifiant unique (uid) de l'organe à l'initiative du dossier. */
2290
- organeRef: e.string().optional()
2291
- }), Na = e.object({
2292
- /** Cause de la fusion du dossier. */
2293
- cause: Lt,
2294
- /** Identifiant unique (uid) du dossier parlementaire absorbant. */
2295
- dossierAbsorbantRef: e.string()
2296
- }), gn = e.object({
2297
- /** Identifiant unique (uid) de l'acteur rapporteur. */
2298
- acteurRef: e.string(),
2299
- /** Type de rapporteur (rapporteur, rapporteur spécial, rapporteur pour avis, rapporteur général). */
2300
- typeRapporteur: be,
2301
- /** Identifiant unique (uid) de l'étude relative à un projet de loi de finance. */
2302
- etudePlfRef: e.string().optional()
2303
- }), fn = e.lazy(
2304
- () => e.object({
2305
- /** Au premier niveau le type est toujours 'mission principale', au second niveau le type peut être 'mission secondaire' ou 'partie de mission'. */
2306
- typeMission: Et,
2307
- /** Code de la mission. */
2308
- codeMission: e.string().optional(),
2309
- /** Libellé long de la mission. */
2310
- libelleLong: e.string(),
2311
- /** Nom de la mission de l'état à laquelle se rapporte l'étude. */
2312
- libelleCourt: e.string(),
2313
- /** Type de budget. */
2314
- typeBudget: Tt,
2315
- /** Des missions secondaires (ou partie de mission) peuvent subdiviser une mission principale. */
2316
- missions: e.array(fn).optional()
2317
- })
2318
- ), Ra = e.object({
2319
- /** Identifiant unique de l'étude PLF. */
2320
- uid: j().meta({ description: "Identifiant unique de l'étude PLF" }),
2321
- /** Identifiant unique (uid) de la commission qui réalise l'étude. */
2322
- organeRef: e.string(),
2323
- /** Identifiant unique (uid) du document. */
2324
- texteAssocie: e.string().optional(),
2325
- /** Rapporteurs des études du projet de loi de finance. */
2326
- rapporteurs: e.array(gn).optional(),
2327
- /** Étude réalisée pour le compte du ministère de l'économie et des finances. */
2328
- missionMinefi: fn.optional(),
2329
- /** Ordre DIQS (signification non définie). */
2330
- ordreDiqs: e.string(),
2331
- /** Ordre commission (signification non définie). */
2332
- ordreCommission: e.string()
2333
- }), G = e.object({
2334
- /** Code unique pour traitement automatisé. */
2335
- famCode: e.string(),
2336
- /** Signification du code. */
2337
- libelle: e.string().optional()
2338
- }), Da = e.object({
2339
- /** Nom de l'acte. */
2340
- nomCanonique: e.string(),
2341
- /** Equivalent du nomCanonique mais plus court. */
2342
- libelleCourt: e.string().optional()
2343
- }), Ia = e.object({
2344
- /** Date d'ouverture des contributions. */
2345
- dateOuverture: e.string().optional(),
2346
- /** Date de fermeture des contributions. */
2347
- dateFermeture: e.string().optional()
2348
- }), Ta = e.object({
2349
- /** BTA pour Bibard du Texte Adopté ou TAP pour Texte Adopté Provisoire. */
2350
- typeTexte: Pt,
2351
- /** Identifiant unique du texte adopté. */
2352
- texteAssocieRef: e.string()
2353
- }), Ye = e.object({
2354
- /** Type de Journal Officiel. */
2355
- typeJo: Mt,
2356
- /** Date de publication au Journal Officiel. */
2357
- dateJo: e.string(),
2358
- /** Numéro du Journal Officiel. */
2359
- numJo: e.string(),
2360
- /** URL du texte promulgué sur le site https://www.legifrance.gouv.fr/ */
2361
- urlLegifrance: e.string().optional(),
2362
- /** Numéro NOR attribué au texte promulgué. */
2363
- referenceNor: e.string().optional()
2364
- }), Ea = e.object({
2365
- /** Type du texte européen (par exemple: Règlement de la Commission). */
2366
- typeTexteEuropeen: e.string(),
2367
- /** Titre du texte publié dans un numéro du Journal officiel de l'Union européenne. */
2368
- titreTexteEuropeen: e.string()
2369
- }), Pa = e.object({
2370
- /** Référence du Journal officiel de l'Union européenne, de la forme L suivit d'un numéro. */
2371
- refJoce: e.string(),
2372
- /** Date de la publication du Journal officiel de l'Union européenne. */
2373
- dateJoce: e.string()
2374
- }), va = e.object({
2375
- /** Type du document externe (par exemple: Décret). */
2376
- typeDoc: wt,
2377
- /** Référence ou identifiant du texte externe. */
2378
- texteRef: e.string(),
2379
- /** Titre du document externe. */
2380
- titreDoc: e.string(),
2381
- /** URL vers le document externe. */
2382
- urlDoc: e.string()
2383
- }), Sn = e.lazy(
2384
- () => e.object({
2385
- /** Type d'acte législatif. */
2386
- xsiType: pa,
2387
- /** Identifiant unique de l'acte législatif. */
2388
- uid: j().meta({
2389
- description: "Identifiant unique de l'acte législatif"
2390
- }),
2391
- /** Code de l'acte législatif dont la valeur dépend de sa place dans la hiérarchie. */
2392
- codeActe: Ot,
2393
- /** Nom et code de l'acte législatif. */
2394
- libelleActe: Da,
2395
- /** Identifiant unique (uid) de l'organe à l'origine de l'acte (par exemple: commission, AN, Senat, bureau, groupe politique). */
2396
- organeRef: e.string().optional(),
2397
- /** Date à laquelle l'acte a débuté. */
2398
- dateActe: _(),
2399
- /** Liste des actes législatifs inclus. */
2400
- actesLegislatifs: e.array(Sn).optional(),
2401
- /** Année de la décision. */
2402
- anneeDecision: e.string().optional(),
2403
- /** Auteur de la motion. */
2404
- auteurMotion: e.string().optional(),
2405
- /** Liste des identifiants uniques (uid) des auteurs. */
2406
- auteursRefs: e.array(e.string()).optional(),
2407
- /** Qui est à l'origine de la saisine du conseil constitutionnel ? (par exemple: Président de la république, 60 députés) */
2408
- casSaisine: G.optional(),
2409
- /** Code de la loi. */
2410
- codeLoi: e.string().optional(),
2411
- /** Contributions volontaires recueillies sur Internet pour l'étude d'impact. */
2412
- contributionInternaute: Ia.optional(),
2413
- /** Décision prise. */
2414
- decision: G.optional(),
2415
- /** Identifiant unique (uid) du dépôt initial en lecture définitive. */
2416
- depotInitialLectureDefinitiveRef: e.string().optional(),
2417
- /** Formule de la décision. */
2418
- formuleDecision: e.string().optional(),
2419
- /** Informations relatives à la publication d'un texte promulgué au journal officiel. */
2420
- infoJo: Ye.optional(),
2421
- /** Informations relatives à la publication au Journal officiel de l'Union européenne. */
2422
- infoJoce: Pa.optional(),
2423
- /** Informations relatives à la publication d'une lettre rectificative au journal officiel. */
2424
- infoJoRect: e.array(Ye).optional(),
2425
- /** Les acteurs à l'initiative de l'acte et leurs mandats. */
2426
- initiateur: dn.optional(),
2427
- /** Motif de l'acte. */
2428
- motif: vt.optional(),
2429
- /** Numéro de la décision. */
2430
- numDecision: e.string().optional(),
2431
- /** Identifiant unique (uid) du point de l'ordre du jour. */
2432
- odjRef: e.string().optional(),
2433
- /** Identifiant unique (uid) de l'organe de provenance. */
2434
- provenanceRef: e.string().optional(),
2435
- /** Liste des rapporteurs. */
2436
- rapporteurs: e.array(gn).optional(),
2437
- /** Numéro NOR de référence. */
2438
- referenceNor: e.string().optional(),
2439
- /** Identifiant unique (uid) de la réunion. */
2440
- reunionRef: e.string().optional(),
2441
- /** Lorsqu'un texte est adopté ce champ a toujours la valeur 'adopté'. */
2442
- statutAdoption: G.optional(),
2443
- /** Conclusion d'un acte (par exemple: adopté, rejeté, non conforme). */
2444
- statutConclusion: G.optional(),
2445
- /** Identifiant unique (uid) du texte adopté. */
2446
- texteAdopteRef: e.string().optional(),
2447
- /** Identifiant unique (uid) du texte associé. */
2448
- texteAssocieRef: e.string().optional(),
2449
- /** Référence à un texte européen. */
2450
- texteEuropeen: Ea.optional(),
2451
- /** Référence à un texte externe associé à la promulgation. */
2452
- texteExterneAssocie: va.optional(),
2453
- /** Identifiant unique (uid) du texte de loi. */
2454
- texteLoiRef: e.string().optional(),
2455
- /** Liste des textes associés. */
2456
- textesAssocies: e.array(Ta).optional(),
2457
- /** Titre de la loi. */
2458
- titreLoi: e.string().optional(),
2459
- /** Type de déclaration du gouvernement (par exemple: Art.49.3). */
2460
- typeDeclaration: G.optional(),
2461
- /** Type de motion (par exemple: Motions de renvoi en commission, Question préalable). */
2462
- typeMotion: G.optional(),
2463
- /** Type de motion de censure (par exemple: Motion de censure 49-2 ou 49-3). */
2464
- typeMotionCensure: G.optional(),
2465
- /** URL de la conclusion. */
2466
- urlConclusion: e.string().optional(),
2467
- /** URL de l'échéancier de la loi. */
2468
- urlEcheancierLoi: e.string().optional(),
2469
- /** URL vers Légifrance. */
2470
- urlLegifrance: e.string().optional(),
2471
- /** Liste des identifiants uniques (uid) des votes associés à l'acte législatif. */
2472
- voteRefs: e.array(e.string()).optional()
2473
- })
2474
- ), bn = e.object({
2475
- /** Version du schéma. */
2476
- schemaVersion: e.string().optional(),
2477
- /** Type de dossier parlementaire. */
2478
- xsiType: ca.optional(),
2479
- /** Identifiant unique du dossier parlementaire. */
2480
- uid: j().meta({
2481
- description: "Identifiant unique du dossier parlementaire"
2482
- }),
2483
- /** Numéro de la législature sous laquelle a été créé le dossier. Nombre entier. */
2484
- legislature: e.string(),
2485
- /** Meta information sur le dossier législatif. */
2486
- titreDossier: ya,
2487
- /** Code et libellé de la procédure législative. */
2488
- procedureParlementaire: ie,
2489
- /** Les acteurs à l'initiative du dossier et leurs mandats au sein de l'organe à l'initiative du dossier. */
2490
- initiateur: dn.optional(),
2491
- /** Chaque procédure est composée d'une hiérarchie d'actes législatifs. */
2492
- actesLegislatifs: e.array(Sn).optional(),
2493
- /** Le dossier parlementaire est lié à un autre. */
2494
- fusionDossier: Na.optional(),
2495
- /** Indexation thématique du dossier. */
2496
- indexation: Be.optional(),
2497
- /** Liste des études réalisées pour un projet de loi de finances. */
2498
- plf: e.array(Ra).optional()
2499
- }), Ma = e.object({
2500
- /** Liste des documents législatifs (textes de loi, rapports, etc.). */
2501
- textesLegislatifs: e.array(mn),
2502
- /** Liste des dossiers parlementaires. */
2503
- dossiersParlementaires: e.array(bn)
2504
- });
2505
- function La(t) {
2506
- const n = mn.safeParse(JSON.parse(t));
2507
- if (!n.success)
2508
- throw new Error(Qe("DocumentClean", n.error));
2509
- return n.data;
2510
- }
2511
- function wa(t) {
2512
- const n = bn.safeParse(JSON.parse(t));
2513
- if (!n.success)
2514
- throw new Error(Qe("DossierParlementaireClean", n.error));
2515
- return n.data;
2516
- }
2517
- function xa(t) {
2518
- const n = Ma.safeParse(JSON.parse(t));
2519
- if (!n.success)
2520
- throw new Error(Qe("DossiersLegislatifsClean", n.error));
2521
- return n.data;
2522
- }
2523
- function Va(t) {
2524
- return JSON.stringify(t, null, 2);
2525
- }
2526
- function Fa(t) {
2527
- return JSON.stringify(t, null, 2);
2528
- }
2529
- function qa(t) {
2530
- return JSON.stringify(t, null, 2);
2531
- }
2532
- function Qe(t, n) {
2533
- const i = n.issues.map((s) => ` - ${s.path.join(".")}: ${s.message}`).join(`
2534
- `);
2535
- return `Invalid ${t}:
2536
- ${i}`;
2537
- }
2538
- const se = {
2539
- toDocument: La,
2540
- documentToJson: Va,
2541
- toDossierParlementaire: wa,
2542
- dossierParlementaireToJson: Fa,
2543
- toDossiersLegislatifs: xa,
2544
- dossiersLegislatifsToJson: qa
2545
- }, Ja = [
2546
- /**
2547
- * Question publication in Journal Officiel
2548
- */
2549
- "JO_QUESTION",
2550
- /**
2551
- * Law or decree publication in Journal Officiel
2552
- */
2553
- "JO_LOI_DECRET",
2554
- /**
2555
- * Debate publication in Journal Officiel
2556
- */
2557
- "JO_DEBAT"
2558
- ], Xa = e.enum(Ja), W = e.preprocess((t) => {
2559
- if (t == null)
2560
- return;
2561
- if (typeof t != "string")
2562
- return t;
2563
- const n = t.trim();
2564
- return n === "" ? void 0 : n;
2565
- }, e.string().optional()), $a = e.object({
2566
- numero: e.string().meta({ description: "Numéro de la question." }),
2567
- regime: e.string().meta({ description: "Régime." }),
2568
- legislature: e.string().meta({ description: "Législature." })
2569
- }), ke = e.object({
2570
- organeRef: T().meta({
2571
- description: "Référence à l'organe"
2572
- }),
2573
- abrege: e.string().meta({ description: "Abrégé." }),
2574
- developpe: e.string().meta({ description: "Développé." })
2575
- }), Ua = e.object({
2576
- acteurRef: P().meta({
2577
- description: "Référence à l'acteur"
2578
- }),
2579
- mandatRef: e.string().meta({ description: "Identifiant unique du {@link Mandat | mandat}." })
2580
- }), Ba = e.object({
2581
- identite: Ua.meta({
2582
- description: "Identité de l'auteur."
2583
- }),
2584
- groupe: ke.meta({
2585
- description: "Groupe politique de l'auteur."
2586
- })
2587
- }), ue = e.object({
2588
- typeJO: Xa.optional().meta({
2589
- description: "Type de Journal Officiel."
2590
- }),
2591
- dateJO: W.meta({
2592
- description: "Date de publication au Journal Officiel."
2593
- }),
2594
- pageJO: W.meta({
2595
- description: "Page du Journal Officiel."
2596
- }),
2597
- numJO: W.meta({
2598
- description: "Numéro du Journal Officiel."
2599
- }),
2600
- urlLegifrance: W.meta({
2601
- description: "URL du texte promulgué sur le site https://www.legifrance.gouv.fr/"
2602
- }),
2603
- referenceNOR: W.meta({
2604
- description: "Numéro {@link https://fr.wikipedia.org/wiki/Syst%C3%A8me_NOR | NOR} attribué au texte promulgué."
2605
- })
2606
- }), Qa = e.object({
2607
- analyse: e.string().optional().meta({ description: "Analyse." })
2608
- }), ka = e.object({
2609
- rubrique: e.string().optional().meta({ description: "Rubrique." }),
2610
- analyses: Qa.optional().meta({ description: "Analyses." })
2611
- }), za = e.object({
2612
- infoJO: ue.meta({
2613
- description: "Informations Journal Officiel."
2614
- }),
2615
- denomination: ke.meta({ description: "Dénomination." })
2616
- }), Ga = e.object({
2617
- minAttrib: d(za).meta({
2618
- description: "Attributions ministérielles."
2619
- })
2620
- }), An = e.object({
2621
- infoJO: ue.meta({
2622
- description: "Informations Journal Officiel."
2623
- }),
2624
- texte: e.string().optional().meta({ description: "Texte de la question ou de la réponse." }),
2625
- erratum: e.string().optional().meta({ description: "Erratum." })
2626
- }), Wa = e.object({
2627
- texteQuestion: d(An).meta({
2628
- description: "Textes de la question."
2629
- })
2630
- }), Za = e.object({
2631
- texteReponse: d(An).meta({
2632
- description: "Textes de la réponse."
2633
- })
2634
- }), Ha = e.object({
2635
- codeCloture: e.string().meta({ description: "Code de la clôture." }),
2636
- libelleCloture: e.string().meta({ description: "Libellé de la clôture." }),
2637
- dateCloture: W.meta({
2638
- description: "Date de clôture."
2639
- }),
2640
- infoJO: ue.nullish().meta({
2641
- description: "Informations Journal Officiel liées à la clôture."
2642
- })
2643
- }), Ka = e.object({
2644
- dateDepotSignal: e.string().meta({ description: "Date de dépôt du signalement." }),
2645
- infoJO: ue.meta({
2646
- description: "Informations Journal Officiel du signalement."
2647
- })
2648
- }), Ya = e.object({
2649
- infoJO: ue.meta({
2650
- description: "Informations Journal Officiel."
2651
- })
2652
- }), er = e.object({
2653
- renouvellement: e.array(Ya).meta({ description: "Renouvellements." })
2654
- }), Cn = e.object({
2655
- schemaVersion: e.string().optional().meta({ description: "Version du schéma." }),
2656
- "@xsi:type": En.optional().meta({
2657
- description: "Type de question (QuestionEcrite_Type, QuestionGouvernement_Type, QuestionOrale_Type)."
2658
- }),
2659
- uid: j().meta({ description: "Identifiant unique de la question" }),
2660
- identifiant: $a.meta({ description: "Identifiant." }),
2661
- type: Tn.meta({
2662
- description: "Type de question abrégé (QE, QG, QOSD)."
2663
- }),
2664
- indexationAN: ka.optional().meta({
2665
- description: "Indexation Assemblée Nationale."
2666
- }),
2667
- auteur: Ba.meta({
2668
- description: "Auteur de la question."
2669
- }),
2670
- minInt: ke.meta({ description: "Ministère interrogé." }),
2671
- minAttribs: Ga.meta({
2672
- description: "Attributions ministérielles."
2673
- }),
2674
- textesQuestion: Wa.optional().meta({
2675
- description: "Textes de la question."
2676
- }),
2677
- textesReponse: Za.optional().meta({
2678
- description: "Textes de la réponse."
2679
- }),
2680
- cloture: Ha.optional().meta({
2681
- description: "Clôture de la question."
2682
- }),
2683
- signalement: Ka.optional().meta({
2684
- description: "Signalement."
2685
- }),
2686
- renouvellements: er.optional().meta({
2687
- description: "Renouvellements."
2688
- })
2689
- }), tr = e.object({
2690
- questions: e.array(Cn).meta({ description: "Liste des questions." })
2691
- });
2692
- function nr(t) {
2693
- const n = Cn.safeParse(JSON.parse(t));
2694
- if (!n.success)
2695
- throw new Error(hn("QuestionClean", n.error));
2696
- return n.data;
2697
- }
2698
- function ir(t) {
2699
- const n = tr.safeParse(JSON.parse(t));
2700
- if (!n.success)
2701
- throw new Error(hn("QuestionsClean", n.error));
2702
- return n.data;
2703
- }
2704
- function or(t) {
2705
- return JSON.stringify(t, null, 2);
2706
- }
2707
- function sr(t) {
2708
- return JSON.stringify(t, null, 2);
2709
- }
2710
- function hn(t, n) {
2711
- const i = n.issues.map((s) => ` - ${s.path.join(".")}: ${s.message}`).join(`
2712
- `);
2713
- return `Invalid ${t}:
2714
- ${i}`;
2715
- }
2716
- const ze = {
2717
- toQuestion: nr,
2718
- questionToJson: or,
2719
- toQuestions: ir,
2720
- questionsToJson: sr
2721
- };
2722
- var A = /* @__PURE__ */ ((t) => (t[t.SingleFile = 0] = "SingleFile", t[t.SegmentedFiles = 1] = "SegmentedFiles", t))(A || {}), M = /* @__PURE__ */ ((t) => (t[t.None = 0] = "None", t[t.ActeursEtOrganes = 1] = "ActeursEtOrganes", t[t.Agendas = 2] = "Agendas", t[t.Amendements = 4] = "Amendements", t[t.DossiersLegislatifs = 8] = "DossiersLegislatifs", t[t.Photos = 16] = "Photos", t[t.Scrutins = 32] = "Scrutins", t[t.Questions = 64] = "Questions", t[t.ComptesRendusSeances = 128] = "ComptesRendusSeances", t[t.ComptesRendusCommissions = 256] = "ComptesRendusCommissions", t[t.All = 511] = "All", t))(M || {});
2723
- function* X(t, n = []) {
2724
- const i = o.join(t, ...n);
2725
- if (r.existsSync(i))
2726
- for (const s of r.readdirSync(i)) {
2727
- if (s[0] === ".")
2728
- continue;
2729
- const g = o.join(i, s), S = [...n, s];
2730
- r.statSync(g).isDirectory() ? yield* X(t, S) : yield S;
2731
- }
2732
- }
2733
- const ar = [
2734
- "AdresseMail_Type",
2735
- "AdressePostale_Type",
2736
- "AdresseSiteWeb_Type",
2737
- "AdresseTelephonique_Type"
2738
- ], rr = e.enum(ar), lr = e.object({
2739
- civ: K,
2740
- prenom: e.string().meta({ description: "Prénom." }),
2741
- nom: e.string().meta({ description: "Nom." }),
2742
- alpha: e.string().meta({ description: "La signification de ce champ est indéfinie." }),
2743
- trigramme: e.string().optional().meta({ description: "La signification de ce champ est indéfinie." })
2744
- }).meta({ description: "Identité" }), cr = e.object({
2745
- dateNais: _().meta({ description: "Date de naissance." }),
2746
- villeNais: e.string().optional().meta({ description: "Ville de naissance." }),
2747
- depNais: Y.optional().meta({
2748
- description: "Département de naissance."
2749
- }),
2750
- paysNais: e.string().optional().meta({ description: "Pays de naissance." })
2751
- }), ur = e.object({
2752
- ident: lr,
2753
- infoNaissance: cr.optional(),
2754
- dateDeces: _().meta({ description: "Date du décès" })
2755
- }).meta({
2756
- title: "État civil",
2757
- description: "L'état civil est la situation de la personne dans la société, résultat d'une procédure écrite d'identification administrative."
2758
- }), pr = e.object({
2759
- catSocPro: e.string().optional().meta({ description: "Catégorie socio professionelle de l'INSEE." }),
2760
- famSocPro: tt.optional().meta({
2761
- description: "Famille socio professionelle de l'INSEE."
2762
- })
2763
- }), mr = e.object({
2764
- libelleCourant: e.string().optional().meta({ description: "Profession." }),
2765
- socProcInsee: pr.optional()
2766
- }).meta({ description: "Profession" }), dr = e.object({
2767
- xsiType: rr,
2768
- uid: e.string().meta({ description: "Identifiant unique." }),
2769
- type: e.string().meta({
2770
- description: "Détermine l'interprétation des champs **adresseDeRattachement** et **valElec**. Voir aussi le champ **typeLibelle**. Nombre entier."
2771
- }),
2772
- typeLibelle: e.string().meta({ description: "Signification du champ type." }),
2773
- poids: e.string().optional().meta({
2774
- description: "Détermine un ordre entre les valeurs d'un même type (Téléphone, courriel etc.) pour un acteur donné. Les valeurs dont le poids est le plus petit sont les premières. Nombre entier."
2775
- }),
2776
- // AdressePostale_Type specific fields
2777
- intitule: e.string().optional().meta({ description: "Intitulé (par exemple Assemblée nationale)." }),
2778
- numeroRue: e.string().optional().meta({ description: "Numéro de rue." }),
2779
- nomRue: e.string().optional().meta({ description: "Nom de rue." }),
2780
- complementAdresse: e.string().optional().meta({ description: "Complément d'adresse." }),
2781
- codePostal: e.string().optional().meta({ description: "Code Postal." }),
2782
- ville: e.string().optional().meta({ description: "Ville." }),
2783
- // AdresseMail_Type, AdresseSiteWeb_Type, AdresseTelephonique_Type
2784
- adresseDeRattachement: e.string().optional().meta({
2785
- description: "Identifiant unique de {@link AdressePostale | l'addresse postale} associée. Uniquement renseigné pour les types Téléphone et Télécopie."
2786
- }),
2787
- valElec: e.string().optional().meta({
2788
- description: "Numéro de téléphone ou adresse électronique (courriel, site web, identifiant, etc.)"
2789
- })
2790
- }).meta({
2791
- title: "Adresse postale et électronique",
2792
- description: "Les adresses postales, numéros de téléphones et les adresses électroniques de l'acteur."
2793
- }), gr = e.object({
2794
- codeQualite: e.string().optional().meta({
2795
- description: "Abrégé de la qualité, unifié entre les {@link CodeTypeOrgane | types d'organes}."
2796
- }),
2797
- libQualite: e.string().meta({ description: "La signification de ce champ est indéfinie." }),
2798
- libQualiteSex: e.string().optional().meta({
2799
- description: "Titre donné en raison du mandat. (par exemple: Sénateur, Vice-Président, Membre, etc.)"
2800
- })
2801
- }), fr = e.object({
2802
- dateDebut: $().meta({
2803
- description: "Date de début de la nomination."
2804
- }),
2805
- dateFin: _().meta({
2806
- description: "Date de fin de la fonction."
2807
- }),
2808
- suppleantRef: P().meta({
2809
- description: "Référence au suppléant"
2810
- })
2811
- }).meta({
2812
- description: "Personne physique désignée pour remplacer le mandataire si nécessaire."
2813
- }), Sr = e.object({
2814
- region: ge.optional().meta({
2815
- description: "Région de la cirsconscription du député. Uniquement si le type de territoire est Métropolitain ou Dom."
2816
- }),
2817
- regionType: fe.optional(),
2818
- departement: Y.optional().meta({
2819
- description: `Si le type de territoire est Métropolitain ou Dom: {@link https://fr.wikipedia.org/wiki/D%C3%A9partement_fran%C3%A7ais#D%C3%A9nomination_des_d%C3%A9partements | nom du département} de la cirsconscription du député. Si le type de territoire est "Collectivités d'outre-mer et Nouvelle-Calédonie": nom de la collectivité.`
2820
- }),
2821
- numDepartement: e.string().optional().meta({
2822
- description: `{@link https://fr.wikipedia.org/wiki/D%C3%A9partement_fran%C3%A7ais#Codification | Numéro du département} de la cirsconscription du député. Uniquement si le type de territoire n'est pas "Français établis hors de France".`
2823
- }),
2824
- numCirco: e.string().optional().meta({
2825
- description: "Numéro de la {@link https://fr.wikipedia.org/wiki/Circonscriptions_l%C3%A9gislatives_fran%C3%A7aises | circonscription du député}."
2826
- })
2827
- }).meta({ description: "Lieu" }), br = e.object({
2828
- lieu: Sr,
2829
- causeMandat: e.string().optional().meta({
2830
- description: "Élection ou nommination à l'origine du mandat (par exemple: élections générales, remplacement d'un député nommé au Gouvernement, etc.)"
2831
- }),
2832
- refCirconscription: e.string().optional().meta({ description: "La signification de ce champ est indéfinie." })
2833
- }), Ar = e.object({
2834
- qualite: K.optional(),
2835
- prenom: e.string().meta({ description: "Prénom." }),
2836
- nom: e.string().meta({ description: "Nom." })
2837
- }).meta({ description: "Collaborateur" }), Cr = e.object({
2838
- datePriseFonction: _().meta({
2839
- description: "Date de la prise de fonction."
2840
- }),
2841
- causeFin: e.string().optional().meta({
2842
- description: "Cause de la fin du mandat (par exemple: Fin de législature, Élection au Sénat, etc.)"
2843
- }),
2844
- premiereElection: e.string().optional().meta({ description: "1 s'il s'agit d'une première élection, 0 sinon" }),
2845
- placeHemicycle: e.string().optional().meta({
2846
- description: "Numéro de la place du député dans {@link https://fr.wikipedia.org/wiki/H%C3%A9micycle | l'hémicycle}"
2847
- }),
2848
- mandatRemplaceRef: e.string().optional().meta({
2849
- description: "Identifiant unique (uid) du mandat remplacé par ce mandat dans le cas d'une suppléance."
2850
- }),
2851
- matriculeVote: e.string().optional()
2852
- }).meta({
2853
- description: "Détails concernant uniquement les {@link https://fr.wikipedia.org/wiki/Mandature | mandats représentatifs}."
2854
- }), hr = e.object({
2855
- xsiType: nt.optional(),
2856
- uid: j().meta({ description: "Identifiant unique du mandat" }),
2857
- acteurRef: P().meta({
2858
- description: "Référence à l'acteur"
2859
- }),
2860
- legislature: e.string().optional().meta({
2861
- description: "Numéro de {@link https://fr.wikipedia.org/wiki/Liste_des_l%C3%A9gislatures_fran%C3%A7aises | la législature} sous laquelle a été créé l'organe. Nombre entier."
2862
- }),
2863
- typeOrgane: le,
2864
- dateDebut: $().meta({
2865
- description: "Date de début de la nomination de l'acteur."
2866
- }),
2867
- datePublication: _().meta({
2868
- description: "Date de publication de la nomination au journal officiel."
2869
- }),
2870
- dateFin: _().meta({
2871
- description: "Date de fin du mandat."
2872
- }),
2873
- preseance: e.string().optional().meta({
2874
- description: "Plus le mandat est important, plus la préséance est proche de 1. Nombre entier."
2875
- }),
2876
- nominPrincipale: e.string().meta({
2877
- description: "1 pour le mandat principal, 0 sinon. Si deux mandats pour un même organe coïncident dans le temps (c'est à dire que les intervalles de temps entre leurs dates de début et de fin ont une intersection), alors le mandat principal est celui dont le champ préséance a la plus petite valeur."
2878
- }),
2879
- infosQualite: gr,
2880
- organesRefs: e.array(T()).meta({
2881
- description: "Identifiants uniques (uid) des {@link Organe | organes} au sein desquels le mandat est exercé."
2882
- }),
2883
- libelle: e.string().optional().meta({
2884
- description: "Libellé de la nomination. Uniquement pour les {@link http://www2.assemblee-nationale.fr/deputes/liste/deputes-en-mission | députés en mission auprès du gouvernement}."
2885
- }),
2886
- missionSuivanteRef: e.string().optional().meta({
2887
- description: "Identifiant unique (uid) du mandat suivant. Uniquement pour les {@link http://www2.assemblee-nationale.fr/deputes/liste/deputes-en-mission | députés en mission auprès du gouvernement}."
2888
- }),
2889
- missionPrecedenteRef: e.string().optional().meta({
2890
- description: "Identifiant unique (uid) du mandat précédent. Uniquement pour les {@link http://www2.assemblee-nationale.fr/deputes/liste/deputes-en-mission | députés en mission auprès du gouvernement}."
2891
- }),
2892
- suppleant: fr.optional().meta({
2893
- description: "Personne physique désignée pour remplacer le mandataire si nécessaire."
2894
- }),
2895
- election: br.optional(),
2896
- mandature: Cr.optional().meta({
2897
- description: "Détails concernant uniquement les {@link https://fr.wikipedia.org/wiki/Mandature | mandats représentatifs}."
2898
- }),
2899
- collaborateurs: e.array(Ar).optional().meta({
2900
- description: "Liste des collaborateurs attachés au {@link https://fr.wikipedia.org/wiki/Mandat_repr%C3%A9sentatif | mandat représentatif}"
2901
- })
2902
- }).meta({
2903
- title: "Mandat",
2904
- description: `Une personne physique peut être mandataire d'un mandat représentatif ou bien d'un mandat dit simple, comme par exemple être membre d'une commission. Un {@link https://fr.wikipedia.org/wiki/Mandat_repr%C3%A9sentatif | mandat représentatif} est "une forme de mandat politique qui possède la caractéristique d'être général, libre et non révocable".`
2905
- }), _r = e.object({
2906
- chemin: e.string(),
2907
- cheminMosaique: e.string(),
2908
- hauteur: e.number(),
2909
- largeur: e.number(),
2910
- xMosaique: e.number(),
2911
- yMosaique: e.number()
2912
- }), _n = e.object({
2913
- schemaVersion: e.string().optional(),
2914
- uid: j().meta({ description: "Identifiant unique de l'acteur" }),
2915
- etatCivil: ur,
2916
- profession: mr.optional(),
2917
- uriHatvp: e.string().optional().meta({
2918
- description: "URL de la déclaration d'intérêt de l'acteur sur le site de la Haute Autorité pour la Transparence dans la Vie Publique."
2919
- }),
2920
- adresses: e.array(dr).optional().meta({
2921
- description: "Les adresses postales, numéros de téléphones et les adresses électroniques de l'acteur."
2922
- }),
2923
- mandats: e.array(hr).optional().meta({
2924
- description: "Les mandats ({@link https://fr.wikipedia.org/wiki/Mandat_repr%C3%A9sentatif | représentatifs} ou {@link https://fr.wikipedia.org/wiki/Mandat_imp%C3%A9ratif | impératifs}) passés ou présents."
2925
- }),
2926
- photo: _r.optional(),
2927
- deports: e.array(e.lazy(() => jn)).optional()
2928
- }).meta({
2929
- title: "Acteur",
2930
- description: "Personne physique ayant été élue ou nommée dans {@link Organe | un organe}."
2931
- }), jr = e.object({
2932
- dateDebut: _().meta({
2933
- description: "Date de création de l'organe."
2934
- }),
2935
- dateAgrement: _().meta({
2936
- description: "Date de publication de la création de l'organe parlementaire au journal officiel."
2937
- }),
2938
- dateFin: _().meta({
2939
- description: "Date de clôture de l'organe."
2940
- })
2941
- }).meta({
2942
- title: "Début, fin et agrément",
2943
- description: "L'intervalle de temps durant lequel un organe existe."
2944
- }), yr = e.object({
2945
- secretaire01: e.string().optional().meta({ description: "Civilité Prénom Nom." }),
2946
- secretaire02: e.string().optional().meta({ description: "Civilité Prénom Nom." })
2947
- }).meta({
2948
- description: "Le rôle du secrétaire administratif est d'assister le président dans tous les aspects du fonctionnement du groupe : à ce titre, il est notamment chargé de l'organisation matérielle des activités du groupe (dont les missions et les réceptions) et établit les comptes rendus de ses réunions. Cette définition {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-relations-interparlementaires/les-groupes-d-amitie | du secrétaire administratif d'un groupe d'amitié} se rapproche de celle des autres organes ({@link http://www.assemblee-nationale.fr/connaissance/reglement.pdf | Groupes Parlementaires} Article 20, etc.)"
2949
- }), Or = e.object({
2950
- codeNatureDep: et.optional(),
2951
- code: e.string().optional(),
2952
- libelle: Y.optional()
2953
- }), Nr = e.object({
2954
- type: fe.optional(),
2955
- libelle: ge.optional()
2956
- }), Rr = e.object({
2957
- region: Nr,
2958
- departement: Or
2959
- }), de = e.lazy(
2960
- () => e.object({
2961
- schemaVersion: e.string().optional(),
2962
- xsiType: Ne.optional(),
2963
- uid: j().meta({ description: "Identifiant unique de l'organe" }),
2964
- codeType: le,
2965
- libelle: e.string().meta({ description: "Nom complet." }),
2966
- libelleEdition: e.string().optional().meta({ description: "Le contenu de ce champ n'est pas défini." }),
2967
- libelleAbrege: e.string().meta({ description: "Nom court." }),
2968
- libelleAbrev: e.string().meta({ description: "Abréviation en majuscule." }),
2969
- viMoDe: jr.optional(),
2970
- organeParentRef: T().optional().meta({
2971
- description: "Identifiant unique (uid) de l'organe parent. Le gouvernement est l'organe parent des ministères, secrétariats d'état et du premier ministre. Une commission permanente (.codeType == COMPER) peut être parente d'une mission d'information (.codeType == MISINFO)"
2972
- }),
2973
- organeParent: de.optional(),
2974
- organePrecedentRef: T().optional(),
2975
- organePrecedent: de.optional(),
2976
- regime: De.optional(),
2977
- legislature: e.string().optional().meta({
2978
- description: "Numéro de {@link https://fr.wikipedia.org/wiki/Liste_des_l%C3%A9gislatures_fran%C3%A7aises | la législature} sous laquelle a été créé l'organe. Nombre entier."
2979
- }),
2980
- regimeJuridique: e.string().optional().meta({
2981
- description: "Référence en texte libre au texte législatif et réglementaire qui a créé l'organe. Il est possible de le retrouver en faisant une recherche sur https://www.legifrance.gouv.fr/. Uniquement renseigné pour les organismes extra parlementaires (dont le codeType est égal à ORGEXTPARL)."
2982
- }),
2983
- siteInternet: e.string().optional().meta({ description: "Site internet de l'organe." }),
2984
- nombreReunionsAnnuelles: e.string().optional().meta({ description: "Nombre de réunions annuelles. Nombre entier." }),
2985
- secretariat: yr.optional(),
2986
- numero: e.string().optional(),
2987
- lieu: Rr.optional(),
2988
- positionPolitique: Re.optional(),
2989
- preseance: e.string().optional().meta({
2990
- description: "Plus le groupe politique est important, plus la préséance est proche de 1. Nombre entier. Uniquement renseigné pour les groupes politiques (dont le codeType est égal à GP)."
2991
- }),
2992
- couleurAssociee: e.string().optional().meta({
2993
- description: "Couleur suggérée pour l'affichage, sous la forme #rrggbb."
2994
- }),
2995
- listePays: e.array(e.string()).optional().meta({ description: "Le contenu de ce champ n'est pas défini." })
2996
- }).meta({
2997
- title: "Organe",
2998
- description: "Il contribue au fonctionnement de l'Etat (par exemple l'Assemblée nationale ou une Délégation parlementaire)"
2999
- })
3000
- ), me = e.object({
3001
- code: e.string(),
3002
- libelle: e.string()
3003
- }), Dr = e.object({
3004
- type: me,
3005
- referenceTextuelle: e.string()
3006
- }), jn = e.object({
3007
- uid: j().meta({ description: "Identifiant unique du déport" }),
3008
- chronotag: e.string(),
3009
- legislature: e.string(),
3010
- refActeur: P().meta({ description: "Référence à l'acteur" }),
3011
- dateCreation: $(),
3012
- datePublication: _(),
3013
- portee: me,
3014
- lecture: me,
3015
- instance: me,
3016
- cible: Dr,
3017
- explication: e.string().optional()
3018
- }), Ir = e.object({
3019
- organes: e.array(de),
3020
- acteurs: e.array(_n)
3021
- });
3022
- function Tr(t) {
3023
- const n = _n.safeParse(JSON.parse(t));
3024
- if (!n.success)
3025
- throw new Error(Ae("ActeurClean", n.error));
3026
- return n.data;
3027
- }
3028
- function Er(t) {
3029
- const n = de.safeParse(JSON.parse(t));
3030
- if (!n.success)
3031
- throw new Error(Ae("OrganeClean", n.error));
3032
- return n.data;
3033
- }
3034
- function Pr(t) {
3035
- const n = jn.safeParse(JSON.parse(t));
3036
- if (!n.success)
3037
- throw new Error(Ae("DeportClean", n.error));
3038
- return n.data;
3039
- }
3040
- function vr(t) {
3041
- const n = Ir.safeParse(JSON.parse(t));
3042
- if (!n.success)
3043
- throw new Error(Ae("ActeursEtOrganesClean", n.error));
3044
- return n.data;
3045
- }
3046
- function Mr(t) {
3047
- return JSON.stringify(t, null, 2);
3048
- }
3049
- function Lr(t) {
3050
- return JSON.stringify(t, null, 2);
3051
- }
3052
- function wr(t) {
3053
- return JSON.stringify(t, null, 2);
3054
- }
3055
- function xr(t) {
3056
- return JSON.stringify(t, null, 2);
3057
- }
3058
- function Ae(t, n) {
3059
- const i = n.issues.map((s) => ` - ${s.path.join(".")}: ${s.message}`).join(`
3060
- `);
3061
- return `Invalid ${t}:
3062
- ${i}`;
3063
- }
3064
- const ae = {
3065
- toActeur: Tr,
3066
- acteurToJson: Mr,
3067
- toOrgane: Er,
3068
- organeToJson: Lr,
3069
- toDeport: Pr,
3070
- deportToJson: wr,
3071
- toActeursEtOrganes: vr,
3072
- acteursEtOrganesToJson: xr
3073
- }, H = e.lazy(
3074
- () => e.object({
3075
- _: e.string().optional(),
3076
- id_syceron: e.string().optional(),
3077
- stime: e.string().optional(),
3078
- sup: e.string().optional(),
3079
- lienAdt: e.array(H).optional()
3080
- }).meta({ description: "Texte de la séance du débat." })
3081
- ), ye = e.object({
3082
- nom: e.string().optional(),
3083
- id: e.string().optional(),
3084
- qualite: e.string().optional()
3085
- }).meta({ description: "Orateur de la séance du débat." }), Vr = e.object({
3086
- orateur: d(ye)
3087
- }), Fr = e.union([
3088
- Vr,
3089
- d(ye),
3090
- ye,
3091
- e.string()
3092
- ]), Q = e.lazy(
3093
- () => e.object({
3094
- id_preparation: e.string().optional(),
3095
- ordre_absolu_seance: e.string().optional(),
3096
- code_grammaire: e.string().optional(),
3097
- sommaire: e.string().optional(),
3098
- id_syceron: e.string().optional(),
3099
- valeur_ptsodj: e.string().optional(),
3100
- nivpoint: e.string().optional(),
3101
- ordinal_prise: e.string().optional(),
3102
- code_style: e.string().optional(),
3103
- code_parole: e.string().optional(),
3104
- valeur: e.string().optional(),
3105
- orateurs: Fr.optional(),
3106
- texte: e.union([H, e.string()]).optional(),
3107
- paragraphe: d(Q).optional(),
3108
- interExtraction: d(Q).optional(),
3109
- point: d(Q).optional(),
3110
- structure: e.string().optional(),
3111
- id_acteur: e.string().optional(),
3112
- id_mandat: e.string().optional(),
3113
- id_nomination_oe: e.string().optional(),
3114
- id_nomination_op: e.string().optional(),
3115
- orateur: e.string().optional(),
3116
- bibard: e.string().optional(),
3117
- art: e.string().optional(),
3118
- adt: e.string().optional(),
3119
- ssadt: e.string().optional(),
3120
- roledebat: e.string().optional(),
3121
- changementPresidence: d(Q).optional(),
3122
- type_debat: e.string().optional(),
3123
- decision: Pn.optional().meta({
3124
- description: "Décision prise à l'issue du point de débat."
3125
- }),
3126
- ouvertureSeance: Q.optional(),
3127
- qualite: e.string().optional(),
3128
- nom_orateur: e.string().optional()
3129
- }).meta({ description: "Point de la séance du débat." })
3130
- ), qr = e.object({
3131
- point: Q
3132
- }), Jr = e.object({
3133
- journee: e.string(),
3134
- session: e.string()
3135
- }), Xr = e.object({
3136
- quantiemes: Jr,
3137
- ouvertureSeance: d(Q).optional(),
3138
- point: d(Q),
3139
- finSeance: qr.optional(),
3140
- paragraphe: d(Q).optional()
3141
- }).meta({ description: "Contenu de la séance du débat." }), $r = e.object({
3142
- id_syceron: e.string(),
3143
- intitule: e.string().optional(),
3144
- sousIntitule: e.string().optional(),
3145
- type_debat: e.string().optional()
3146
- }), oe = e.lazy(
3147
- () => e.object({
3148
- valeur_pts_odj: e.string().optional(),
3149
- titreStruct: $r,
3150
- para: d(
3151
- e.union([H, e.string(), e.unknown()])
3152
- ).optional(),
3153
- sommaire2: d(oe).optional(),
3154
- sommaire3: d(oe).optional(),
3155
- presidentSeance: d(H).optional(),
3156
- type_debat: e.string().optional()
3157
- }).meta({ description: "Sommaire de la séance du débat." })
3158
- ), Ur = e.object({
3159
- presidentSeance: H.meta({
3160
- description: "Président de la séance."
3161
- }),
3162
- sommaire1: d(oe).meta({
3163
- description: "Premier niveau de sommaire."
3164
- }),
3165
- sommaire3: d(oe).optional().meta({ description: "Troisième niveau de sommaire." }),
3166
- sommaire2: d(oe).optional().meta({ description: "Second niveau de sommaire." }),
3167
- para: d(H).optional().meta({ description: "Paragraphe de texte libre dans le sommaire." })
3168
- }).meta({ description: "Sommaire de la séance du débat." }), Br = e.object({
3169
- dateSeance: e.string(),
3170
- dateSeanceJour: e.string(),
3171
- numSeanceJour: e.string(),
3172
- numSeance: e.string(),
3173
- typeAssemblee: e.string(),
3174
- legislature: e.string(),
3175
- session: e.string(),
3176
- nomFichierJo: e.string(),
3177
- validite: e.string(),
3178
- etat: e.string(),
3179
- diffusion: e.string(),
3180
- version: e.string(),
3181
- environnement: e.string(),
3182
- heureGeneration: e.iso.datetime({ offset: !0 }).optional(),
3183
- sommaire: Ur
3184
- }).meta({ description: "Données de la séance du débat." }), yn = e.object({
3185
- schemaVersion: e.string().optional(),
3186
- uid: j().meta({
3187
- description: "Identifiant unique du compte rendu"
3188
- }),
3189
- seanceRef: e.string(),
3190
- sessionRef: e.string(),
3191
- metadonnees: Br,
3192
- contenu: Xr,
3193
- videoUrl: e.string().optional(),
3194
- videoTimecode: e.number().optional()
3195
- }).meta({
3196
- title: "Débat",
3197
- description: "Compte rendu des débats en séance."
3198
- }), Qr = e.object({
3199
- comptesRendus: e.array(yn)
3200
- });
3201
- function kr(t) {
3202
- const n = yn.safeParse(JSON.parse(t));
3203
- if (!n.success)
3204
- throw new Error(On("CompteRenduClean", n.error));
3205
- return n.data;
3206
- }
3207
- function zr(t) {
3208
- const n = Qr.safeParse(JSON.parse(t));
3209
- if (!n.success)
3210
- throw new Error(On("ComptesRendusClean", n.error));
3211
- return n.data;
3212
- }
3213
- function Gr(t) {
3214
- return JSON.stringify(t, null, 2);
3215
- }
3216
- function Wr(t) {
3217
- return JSON.stringify(t, null, 2);
3218
- }
3219
- function On(t, n) {
3220
- const i = n.issues.map((s) => ` - ${s.path.join(".")}: ${s.message}`).join(`
3221
- `);
3222
- return `Invalid ${t}:
3223
- ${i}`;
3224
- }
3225
- const Ge = {
3226
- toCompteRendu: kr,
3227
- compteRenduToJson: Gr,
3228
- toComptesRendus: zr,
3229
- comptesRendusToJson: Wr
3230
- }, Zr = e.object({
3231
- texte: e.string().optional()
3232
- }), Hr = e.object({
3233
- libelle: e.string()
3234
- }), Kr = e.object({
3235
- code: Bt,
3236
- libelle: $e
3237
- }), Yr = e.object({
3238
- codeTypeVote: Qt,
3239
- libelleTypeVote: kt,
3240
- typeMajorite: Zt.meta({
3241
- description: "La signification de ce champ n'est pas définie."
3242
- })
3243
- }), Nn = e.object({
3244
- pour: e.string().meta({ description: "Nombre total de votes pour." }),
3245
- contre: e.string().meta({ description: "Nombre total de votes contre." }),
3246
- abstentions: e.string().optional().meta({ description: "Nombre total d'abstentions." }),
3247
- nonVotants: e.string().optional().meta({ description: "Nombre total de non votants" }),
3248
- nonVotantsVolontaires: e.string().optional().meta({ description: "Nombre total de non votants volontaires." })
3249
- }), el = e.object({
3250
- nombreVotants: e.string().meta({
3251
- description: "Nombre de votants, c'est à dire de {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-fonctions-de-l-assemblee-nationale/les-fonctions-legislatives/les-votes-a-l-assemblee-nationale | sièges occupés dans l'hémicycle}."
3252
- }),
3253
- suffragesExprimes: e.string().meta({ description: "Nombre de suffrages exprimés." }),
3254
- nbrSuffragesRequis: e.string().meta({
3255
- description: "Nombre de suffrages requis, le {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-fonctions-de-l-assemblee-nationale/les-fonctions-legislatives/les-votes-a-l-assemblee-nationale | cas échéant}."
3256
- }),
3257
- annonce: $e,
3258
- decompte: Nn
3259
- }), w = e.object({
3260
- acteurRef: P().meta({ description: "Référence à l'acteur votant" }),
3261
- mandatRef: e.string(),
3262
- parDelegation: e.boolean().optional(),
3263
- numPlace: e.number().optional(),
3264
- causePositionVote: Ut.optional()
3265
- }), tl = e.object({
3266
- nonVotants: e.array(w).optional(),
3267
- pour: e.array(w).optional(),
3268
- contre: e.array(w).optional(),
3269
- abstentions: e.array(w).optional()
3270
- }), nl = e.object({
3271
- positionMajoritaire: Wt,
3272
- decompteVoix: Nn,
3273
- decompteNominatif: tl
3274
- }), il = e.object({
3275
- organeRef: T(),
3276
- nombreMembresGroupe: e.string(),
3277
- vote: nl
3278
- }), ol = e.object({
3279
- organeRef: T(),
3280
- groupes: e.array(il)
3281
- }), sl = e.object({
3282
- nonVotants: e.array(w).optional(),
3283
- pour: e.array(w).optional(),
3284
- contre: e.array(w).optional(),
3285
- abstentions: e.array(w).optional(),
3286
- nonVotantsVolontaires: e.array(w).optional()
3287
- }), al = e.object({
3288
- nonVotants: e.array(w).optional(),
3289
- pour: e.array(w).optional(),
3290
- contre: e.array(w).optional(),
3291
- abstentions: e.array(w).optional(),
3292
- nonVotantsVolontaires: e.array(w).optional(),
3293
- dysfonctionnement: sl.optional()
3294
- }), Rn = e.object({
3295
- schemaVersion: e.string().optional(),
3296
- uid: j(),
3297
- numero: e.string().meta({
3298
- description: "Numéro unique du vote, relativement à la législature, débutant par 1 et par incrément de 1. On le retrouve aussi à la fin de l'identifiant unique du vote (uid)."
3299
- }),
3300
- organeRef: T().meta({
3301
- description: "L'identifiant unique (uid) de l'{@link Organe | organe} au sein duquel se déroule le vote. Il s'agit toujours de l'Assemblée Nationale mais son uid varie en fonction de la législature."
3302
- }),
3303
- legislature: e.string().meta({
3304
- description: "Numéro de {@link https://fr.wikipedia.org/wiki/Liste_des_l%C3%A9gislatures_fran%C3%A7aises | la législature} sous laquelle a été créé le scrutin. Nombre entier."
3305
- }),
3306
- sessionRef: e.string().meta({ description: "Le contenu de ce champ n'est pas défini." }),
3307
- seanceRef: e.string().meta({
3308
- description: "Identifiant unique (uid) de l'entrée de l'{@link Reunion | agenda} correspondant au moment ou le vote a lieu."
3309
- }),
3310
- dateScrutin: $().meta({
3311
- description: "Date à laquelle le vote a eu lieu."
3312
- }),
3313
- quantiemeJourSeance: e.string().meta({ description: "Numéro de la séance dans la journée." }),
3314
- typeVote: Yr,
3315
- sort: Kr,
3316
- titre: e.string().meta({ description: "Objet du vote." }),
3317
- demandeur: Zr,
3318
- objet: Hr,
3319
- modePublicationDesVotes: Gt.meta({
3320
- description: "La signification de ce champ n'est pas définie."
3321
- }),
3322
- syntheseVote: el,
3323
- ventilationVotes: ol,
3324
- miseAuPoint: al.optional(),
3325
- lieuVote: zt.optional()
3326
- }), rl = e.object({
3327
- scrutins: e.array(Rn)
3328
- });
3329
- function ll(t) {
3330
- const n = Rn.safeParse(JSON.parse(t));
3331
- if (!n.success)
3332
- throw new Error(Dn("ScrutinClean", n.error));
3333
- return n.data;
3334
- }
3335
- function cl(t) {
3336
- const n = rl.safeParse(JSON.parse(t));
3337
- if (!n.success)
3338
- throw new Error(Dn("ScrutinsClean", n.error));
3339
- return n.data;
3340
- }
3341
- function ul(t) {
3342
- return JSON.stringify(t, null, 2);
3343
- }
3344
- function pl(t) {
3345
- return JSON.stringify(t, null, 2);
3346
- }
3347
- function Dn(t, n) {
3348
- const i = n.issues.map((s) => ` - ${s.path.join(".")}: ${s.message}`).join(`
3349
- `);
3350
- return `Invalid ${t}:
3351
- ${i}`;
3352
- }
3353
- const We = {
3354
- toScrutin: ll,
3355
- scrutinToJson: ul,
3356
- toScrutins: cl,
3357
- scrutinsToJson: pl
3358
- }, R = {
3359
- acteursEtOrganes: [
3360
- {
3361
- // AMO10 (XVII)
3362
- //
3363
- // Contient les députés actifs
3364
- // * avec tous les mandats en cours
3365
- // * y compris avec leur parti politique (typeOrgane: "PARPOL")
3366
- // * mais sans les mandats achevés (y compris dans cette législature)
3367
- //
3368
- // Organes :
3369
- // * Contient seulement les organes correspondants aux mandats en cours
3370
- // * avec le xsiType de l'organe
3371
- // * avec des commissions sénatoriales (permanentes et spéciales) en cours
3372
- // * avec des délégations sénatoriales en cours
3373
- // * avec des groupes sénatoriaux en cours
3374
- // * avec des ministères en cours
3375
- // * avec les Présidences de la République (y compris Sarkozy)
3376
- // * avec le Conseil constitutionnel
3377
- //
3378
- // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO20
3379
- // (qui est lui même un sous-ensemble de l'AMO30).
3380
- // Il n'apporte donc absolument rien par rapport à AMO20 ou l'AMO30.
3381
- filename: "AMO10_deputes_actifs_mandats_actifs_organes_XVII.json",
3382
- name: "AMO10_deputes_actifs_mandats_actifs_organes_XVII",
3383
- ignoreForWeb: !0,
3384
- legislature: l.DixSept,
3385
- repairZip: O,
3386
- structure: A.SegmentedFiles,
3387
- title: "Députés actifs et organes de la XVIIème législature",
3388
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/amo/deputes_actifs_mandats_actifs_organes/AMO10_deputes_actifs_mandats_actifs_organes.json.zip"
3389
- },
3390
- {
3391
- // AMO10 (XVI)
3392
- //
3393
- // Contient les députés actifs
3394
- // * avec tous les mandats en cours
3395
- // * y compris avec leur parti politique (typeOrgane: "PARPOL")
3396
- // * mais sans les mandats achevés (y compris dans cette législature)
3397
- //
3398
- // Organes :
3399
- // * Contient seulement les organes correspondants aux mandats en cours
3400
- // * avec le xsiType de l'organe
3401
- // * avec des commissions sénatoriales (permanentes et spéciales) en cours
3402
- // * avec des délégations sénatoriales en cours
3403
- // * avec des groupes sénatoriaux en cours
3404
- // * avec des ministères en cours
3405
- // * avec les Présidences de la République (y compris Sarkozy)
3406
- // * avec le Conseil constitutionnel
3407
- //
3408
- // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO20
3409
- // (qui est lui même un sous-ensemble de l'AMO30).
3410
- // Il n'apporte donc absolument rien par rapport à AMO20 ou l'AMO30.
3411
- filename: "AMO10_deputes_actifs_mandats_actifs_organes_XVI.json",
3412
- name: "AMO10_deputes_actifs_mandats_actifs_organes_XVI",
3413
- ignoreForWeb: !0,
3414
- legislature: l.Seize,
3415
- repairZip: O,
3416
- structure: A.SegmentedFiles,
3417
- title: "Députés actifs et organes de la XVIème législature",
3418
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/amo/deputes_actifs_mandats_actifs_organes/AMO10_deputes_actifs_mandats_actifs_organes.json.zip"
3419
- },
3420
- {
3421
- // AMO10 (XV)
3422
- //
3423
- // Contient les députés actifs
3424
- // * avec tous les mandats en cours
3425
- // * y compris avec leur parti politique (typeOrgane: "PARPOL")
3426
- // * mais sans les mandats achevés (y compris dans cette législature)
3427
- //
3428
- // Organes :
3429
- // * Contient seulement les organes correspondants aux mandats en cours
3430
- // * avec le xsiType de l'organe
3431
- // * avec des commissions sénatoriales (permanentes et spéciales) en cours
3432
- // * avec des délégations sénatoriales en cours
3433
- // * avec des groupes sénatoriaux en cours
3434
- // * avec des ministères en cours
3435
- // * avec les Présidences de la République (y compris Sarkozy)
3436
- // * avec le Conseil constitutionnel
3437
- //
3438
- // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO20
3439
- // (qui est lui même un sous-ensemble de l'AMO30).
3440
- // Il n'apporte donc absolument rien par rapport à AMO20 ou l'AMO30.
3441
- filename: "AMO10_deputes_actifs_mandats_actifs_organes_XV.json",
3442
- name: "AMO10_deputes_actifs_mandats_actifs_organes_XV",
3443
- ignoreForWeb: !0,
3444
- legislature: l.Quinze,
3445
- repairZip: O,
3446
- structure: A.SegmentedFiles,
3447
- title: "Députés actifs et organes de la XVème législature",
3448
- 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"
3449
- },
3450
- {
3451
- // AMO20 (XVII)
3452
- //
3453
- // Contient les députés de la législature, actifs ou non (invalidés, etc), les sénateurs actuels
3454
- // Pour les députés :
3455
- // * avec tous leurs mandats de la législature
3456
- // * y compris les mandats achevés
3457
- // * y compris leurs partis politiques (typeOrgane: "PARPOL")
3458
- // * mais sans les mandats des législatures précédentes (qui sont dans AMO40)
3459
- //
3460
- // Contient tous les organes référencés par les mandats
3461
- // * avec le xsiType de l'organe
3462
- // * avec des commissions sénatoriales (permanentes et spéciales) en cours
3463
- // * avec des délégations sénatoriales en cours
3464
- // * avec des groupes sénatoriaux en cours
3465
- // * avec des ministères en cours
3466
- // * avec les Présidences de la République (y compris Sarkozy)
3467
- // * avec le Conseil constitutionnel
3468
- //
3469
- // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO30.
3470
- // Il n'apporte donc absolument rien par rapport à l'AMO30.
3471
- filename: "AMO20_dep_sen_min_tous_mandats_et_organes_XVII.json",
3472
- name: "AMO20_dep_sen_min_tous_mandats_et_organes_XVII",
3473
- ignoreForWeb: !0,
3474
- legislature: l.DixSept,
3475
- repairZip: O,
3476
- structure: A.SegmentedFiles,
3477
- title: "Acteurs et organes de la XVIIème législature",
3478
- 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"
3479
- },
3480
- {
3481
- // AMO20 (XVI)
3482
- //
3483
- // Contient les députés de la législature, actifs ou non (invalidés, etc), les sénateurs actuels
3484
- // Pour les députés :
3485
- // * avec tous leurs mandats de la législature
3486
- // * y compris les mandats achevés
3487
- // * y compris leurs partis politiques (typeOrgane: "PARPOL")
3488
- // * mais sans les mandats des législatures précédentes (qui sont dans AMO40)
3489
- //
3490
- // Contient tous les organes référencés par les mandats
3491
- // * avec le xsiType de l'organe
3492
- // * avec des commissions sénatoriales (permanentes et spéciales) en cours
3493
- // * avec des délégations sénatoriales en cours
3494
- // * avec des groupes sénatoriaux en cours
3495
- // * avec des ministères en cours
3496
- // * avec les Présidences de la République (y compris Sarkozy)
3497
- // * avec le Conseil constitutionnel
3498
- //
3499
- // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO30.
3500
- // Il n'apporte donc absolument rien par rapport à l'AMO30.
3501
- filename: "AMO20_dep_sen_min_tous_mandats_et_organes_XVI.json",
3502
- name: "AMO20_dep_sen_min_tous_mandats_et_organes_XVI",
3503
- ignoreForWeb: !0,
3504
- legislature: l.Seize,
3505
- repairZip: O,
3506
- structure: A.SegmentedFiles,
3507
- title: "Acteurs et organes de la XVIème législature",
3508
- 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"
3509
- },
3510
- {
3511
- // AMO20 (XV)
3512
- //
3513
- // Contient les députés de la législature, actifs ou non (invalidés, etc), les sénateurs actuels
3514
- // Pour les députés :
3515
- // * avec tous leurs mandats de la législature
3516
- // * y compris les mandats achevés
3517
- // * y compris leurs partis politiques (typeOrgane: "PARPOL")
3518
- // * mais sans les mandats des législatures précédentes (qui sont dans AMO40)
3519
- //
3520
- // Contient tous les organes référencés par les mandats
3521
- // * avec le xsiType de l'organe
3522
- // * avec des commissions sénatoriales (permanentes et spéciales) en cours
3523
- // * avec des délégations sénatoriales en cours
3524
- // * avec des groupes sénatoriaux en cours
3525
- // * avec des ministères en cours
3526
- // * avec les Présidences de la République (y compris Sarkozy)
3527
- // * avec le Conseil constitutionnel
3528
- //
3529
- // Ce fichier est un sous-ensemble à tous les niveaux du fichier AMO30.
3530
- // Il n'apporte donc absolument rien par rapport à l'AMO30.
3531
- filename: "AMO20_dep_sen_min_tous_mandats_et_organes_XV.json",
3532
- name: "AMO20_dep_sen_min_tous_mandats_et_organes_XV",
3533
- ignoreForWeb: !0,
3534
- legislature: l.Quinze,
3535
- repairZip: O,
3536
- structure: A.SegmentedFiles,
3537
- title: "Acteurs et organes de la XVème législature",
3538
- 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"
3539
- },
3540
- {
3541
- // AMO20 (XIV)
3542
- //
3543
- // Comme AMO20 (XV) mais pour la XIVème législature
3544
- // Tous les acteurs sauf un (PA429892) sont présents en plus à jour dans AMO30.
3545
- // Cet acteur PA429892 (ancienne Sénatrice) n'est présent dans aucun des autres
3546
- // fichiers AMO.
3547
- // Tous les organes sont présents en plus complets dans AMO30.
3548
- //
3549
- // Ce fichier est donc à un détail près (PA429892) un sous-ensemble d'AMO30.
3550
- // Il n'apporte donc quasiment rien par rapport à l'AMO30.
3551
- filename: "AMO20_dep_sen_min_tous_mandats_et_organes_XIV.json",
3552
- name: "AMO20_dep_sen_min_tous_mandats_et_organes_XIV",
3553
- ignoreForWeb: !0,
3554
- legislature: l.Quatorze,
3555
- structure: A.SingleFile,
3556
- title: "Acteurs et organes de la XIVème législature",
3557
- 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"
3558
- },
3559
- {
3560
- // AMO30 (XVII)
3561
- //
3562
- // Ce fichier contient tous les acteurs et organes.
3563
- // C'est un sur-ensemble des fichiers AMO20.
3564
- filename: "AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json",
3565
- name: "AMO30_tous_acteurs_tous_mandats_tous_organes_historique",
3566
- legislature: l.All,
3567
- repairZip: O,
3568
- structure: A.SegmentedFiles,
3569
- title: "Historique de tous les acteurs et organes depuis la XIème législature",
3570
- 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"
3571
- },
3572
- // {
3573
- // // AMO30 (XVI)
3574
- // //
3575
- // // Ce fichier contient tous les acteurs et organes.
3576
- // // C'est un sur-ensemble des fichiers AMO20.
3577
- // filename: "AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json",
3578
- // legislature: Legislature.All,
3579
- // repairZip: repairForJsonSubdirectory,
3580
- // structure: DatasetStructure.SegmentedFiles,
3581
- // title:
3582
- // "Historique de tous les acteurs et organes depuis la XIème législature",
3583
- // 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",
3584
- // },
3585
- // {
3586
- // // AMO30 (XV)
3587
- // //
3588
- // // Ce fichier contient tous les acteurs et organes.
3589
- // // C'est un sur-ensemble des fichiers AMO20.
3590
- // filename: "AMO30_tous_acteurs_tous_mandats_tous_organes_historique.json",
3591
- // legislature: Legislature.All,
3592
- // repairZip: (dataset: Dataset, dataDir: string) => {
3593
- // const targetDir = path.join(dataDir, dataset.filename)
3594
- // if (fs.existsSync(targetDir)) {
3595
- // fs.removeSync(targetDir)
3596
- // }
3597
- // fs.moveSync(path.join(dataDir, "json"), targetDir)
3598
- // },
3599
- // structure: DatasetStructure.SegmentedFiles,
3600
- // title:
3601
- // "Historique de tous les acteurs et organes depuis la XIème législature",
3602
- // 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",
3603
- // },
3604
- {
3605
- // AMO40 (XVII)
3606
- //
3607
- // Contient les députés actifs (les mêmes qu'AMO20)
3608
- // * avec presque tous leurs mandats
3609
- // * y compris les mandats achevés et ceux des législatures précédentes
3610
- // * y compris leurs partis politiques précédents
3611
- // * mais sans leur parti politique actuel (typeOrgane: "PARPOL")
3612
- //
3613
- // Contient beaucoup d'organes référencés, y compris ceux des législatures
3614
- // précédentes
3615
- // * mais il manque le xsiType des organes
3616
- // * ne contient pas les organes sénatoriaux
3617
- // * ne contient pas les ministères
3618
- // * ne contient pas la Présidence de la République
3619
- // * ne contient pas le Conseil constitutionnel
3620
- //
3621
- // Pour les acteurs, ce dépôt est un sous-ensemble strict de AMO30 :
3622
- // Il a moins d'acteurs et il sont moins complets.
3623
- //
3624
- // Pour les organes :
3625
- // Quand l'organe est aussi présent dans AMO30, il vaut mieux prendre celui
3626
- // d'AMO30, car il contient le xsiType (c'est la seule différence semble-t-i).
3627
- // Sinon, il faut le prendre seulement si on est intéressé par les législatures
3628
- // précédentes.
3629
- filename: "AMO40_deputes_actifs_mandats_actifs_organes_divises_XVII.json",
3630
- name: "AMO40_deputes_actifs_mandats_actifs_organes_divises_XVII",
3631
- ignoreForWeb: !0,
3632
- legislature: l.DixSept,
3633
- repairZip: async (t, n) => {
3634
- const i = o.join(n, t.filename);
3635
- await r.pathExists(i) && await r.remove(i), await r.mkdir(i), await r.pathExists(
3636
- o.join(n, `${t.filename}.temp`, "acteur")
3637
- ) && await r.move(
3638
- o.join(n, `${t.filename}.temp`, "acteur"),
3639
- o.join(i, "acteur")
3640
- ), await r.move(
3641
- o.join(n, `${t.filename}.temp`, "organe"),
3642
- o.join(i, "organe")
3643
- );
3644
- },
3645
- structure: A.SegmentedFiles,
3646
- title: "Députés actifs et organes de la XVIIème législature",
3647
- 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"
3648
- },
3649
- {
3650
- // AMO40 (XVI)
3651
- //
3652
- // Contient les députés actifs (les mêmes qu'AMO20)
3653
- // * avec presque tous leurs mandats
3654
- // * y compris les mandats achevés et ceux des législatures précédentes
3655
- // * y compris leurs partis politiques précédents
3656
- // * mais sans leur parti politique actuel (typeOrgane: "PARPOL")
3657
- //
3658
- // Contient beaucoup d'organes référencés, y compris ceux des législatures
3659
- // précédentes
3660
- // * mais il manque le xsiType des organes
3661
- // * ne contient pas les organes sénatoriaux
3662
- // * ne contient pas les ministères
3663
- // * ne contient pas la Présidence de la République
3664
- // * ne contient pas le Conseil constitutionnel
3665
- //
3666
- // Pour les acteurs, ce dépôt est un sous-ensemble strict de AMO30 :
3667
- // Il a moins d'acteurs et il sont moins complets.
3668
- //
3669
- // Pour les organes :
3670
- // Quand l'organe est aussi présent dans AMO30, il vaut mieux prendre celui
3671
- // d'AMO30, car il contient le xsiType (c'est la seule différence semble-t-i).
3672
- // Sinon, il faut le prendre seulement si on est intéressé par les législatures
3673
- // précédentes.
3674
- filename: "AMO40_deputes_actifs_mandats_actifs_organes_divises_XVI.json",
3675
- name: "AMO40_deputes_actifs_mandats_actifs_organes_divises_XVI",
3676
- ignoreForWeb: !0,
3677
- legislature: l.Seize,
3678
- repairZip: async (t, n) => {
3679
- const i = o.join(n, t.filename);
3680
- await r.pathExists(i) && await r.remove(i), await r.mkdir(i), await r.pathExists(
3681
- o.join(n, `${t.filename}.temp`, "acteur")
3682
- ) && await r.move(
3683
- o.join(n, `${t.filename}.temp`, "acteur"),
3684
- o.join(i, "acteur")
3685
- ), await r.move(
3686
- o.join(n, `${t.filename}.temp`, "organe"),
3687
- o.join(i, "organe")
3688
- );
3689
- },
3690
- structure: A.SegmentedFiles,
3691
- title: "Députés actifs et organes de la XVIème législature",
3692
- 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"
3693
- },
3694
- {
3695
- // AMO40 (XV)
3696
- //
3697
- // Contient les députés actifs (les mêmes qu'AMO20)
3698
- // * avec presque tous leurs mandats
3699
- // * y compris les mandats achevés et ceux des législatures précédentes
3700
- // * y compris leurs partis politiques précédents
3701
- // * mais sans leur parti politique actuel (typeOrgane: "PARPOL")
3702
- //
3703
- // Contient beaucoup d'organes référencés, y compris ceux des législatures
3704
- // précédentes
3705
- // * mais il manque le xsiType des organes
3706
- // * ne contient pas les organes sénatoriaux
3707
- // * ne contient pas les ministères
3708
- // * ne contient pas la Présidence de la République
3709
- // * ne contient pas le Conseil constitutionnel
3710
- //
3711
- // Pour les acteurs, ce dépôt est un sous-ensemble strict de AMO30 :
3712
- // Il a moins d'acteurs et il sont moins complets.
3713
- //
3714
- // Pour les organes :
3715
- // Quand l'organe est aussi présent dans AMO30, il vaut mieux prendre celui
3716
- // d'AMO30, car il contient le xsiType (c'est la seule différence semble-t-i).
3717
- // Sinon, il faut le prendre seulement si on est intéressé par les législatures
3718
- // précédentes.
3719
- filename: "AMO40_deputes_actifs_mandats_actifs_organes_divises_XV.json",
3720
- name: "AMO40_deputes_actifs_mandats_actifs_organes_divises_XV",
3721
- ignoreForWeb: !0,
3722
- legislature: l.Quinze,
3723
- repairZip: async (t, n) => {
3724
- const i = o.join(n, t.filename);
3725
- await r.pathExists(i) && await r.remove(i), await r.mkdir(i), await r.move(
3726
- o.join(n, `${t.filename}.temp`, "acteur"),
3727
- o.join(i, "acteur")
3728
- ), await r.move(
3729
- o.join(n, `${t.filename}.temp`, "organe"),
3730
- o.join(i, "organe")
3731
- );
3732
- },
3733
- structure: A.SegmentedFiles,
3734
- title: "Députés actifs et organes de la XVème législature",
3735
- 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"
3736
- },
3737
- {
3738
- // AMO50 (XVII)
3739
- //
3740
- // Attention, ce fichier n'est pas mis à jour régulièrement !
3741
- //
3742
- // Pour les acteurs :
3743
- // * c'est un sous ensemble obsolète d'AMO30
3744
- // * il manque les xsiType aux mandats
3745
- //
3746
- // Pour les organes :
3747
- // * c'est un sous ensemble obsolète d'AMO30
3748
- // * il manque les xsiType
3749
- //
3750
- // Ce fichier n'apporte donc absolument rien par rapport à l'AMO30,
3751
- // dont il est un sous ensemble obsolète.
3752
- filename: "AMO50_acteurs_mandats_organes_divises_XVII.json",
3753
- name: "AMO50_acteurs_mandats_organes_divises_XVII",
3754
- ignoreForWeb: !0,
3755
- legislature: l.DixSept,
3756
- repairZip: async (t, n) => {
3757
- const i = o.join(n, t.filename);
3758
- await r.pathExists(i) && await r.remove(i), await r.mkdir(i), await r.move(
3759
- o.join(n, `${t.filename}.temp`, "mandat"),
3760
- o.join(i, "mandat")
3761
- ), await r.move(
3762
- o.join(n, `${t.filename}.temp`, "acteur"),
3763
- o.join(i, "acteur")
3764
- ), await r.move(
3765
- o.join(n, `${t.filename}.temp`, "organe"),
3766
- o.join(i, "organe")
3767
- );
3768
- },
3769
- structure: A.SegmentedFiles,
3770
- title: "Acteurs, mandats et organes de la XVIIème législature (fichiers séparés, y compris mandats)",
3771
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/amo/acteurs_mandats_organes_divises/AMO50_acteurs_mandats_organes_divises.json.zip"
3772
- },
3773
- {
3774
- // AMO50 (XVI)
3775
- //
3776
- // Attention, ce fichier n'est pas mis à jour régulièrement !
3777
- //
3778
- // Pour les acteurs :
3779
- // * c'est un sous ensemble obsolète d'AMO30
3780
- // * il manque les xsiType aux mandats
3781
- //
3782
- // Pour les organes :
3783
- // * c'est un sous ensemble obsolète d'AMO30
3784
- // * il manque les xsiType
3785
- //
3786
- // Ce fichier n'apporte donc absolument rien par rapport à l'AMO30,
3787
- // dont il est un sous ensemble obsolète.
3788
- filename: "AMO50_acteurs_mandats_organes_divises_XVI.json",
3789
- name: "AMO50_acteurs_mandats_organes_divises_XVI",
3790
- ignoreForWeb: !0,
3791
- legislature: l.Seize,
3792
- repairZip: async (t, n) => {
3793
- const i = o.join(n, t.filename);
3794
- await r.pathExists(i) && await r.remove(i), await r.mkdir(i), await r.move(
3795
- o.join(n, `${t.filename}.temp`, "mandat"),
3796
- o.join(i, "mandat")
3797
- ), await r.move(
3798
- o.join(n, `${t.filename}.temp`, "acteur"),
3799
- o.join(i, "acteur")
3800
- ), await r.move(
3801
- o.join(n, `${t.filename}.temp`, "organe"),
3802
- o.join(i, "organe")
3803
- );
3804
- },
3805
- structure: A.SegmentedFiles,
3806
- title: "Acteurs, mandats et organes de la XVIème législature (fichiers séparés, y compris mandats)",
3807
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/amo/acteurs_mandats_organes_divises/AMO50_acteurs_mandats_organes_divises.json.zip"
3808
- },
3809
- {
3810
- // AMO50 (XV)
3811
- //
3812
- // Attention, ce fichier n'est pas mis à jour régulièrement !
3813
- //
3814
- // Pour les acteurs :
3815
- // * c'est un sous ensemble obsolète d'AMO30
3816
- // * il manque les xsiType aux mandats
3817
- //
3818
- // Pour les organes :
3819
- // * c'est un sous ensemble obsolète d'AMO30
3820
- // * il manque les xsiType
3821
- //
3822
- // Ce fichier n'apporte donc absolument rien par rapport à l'AMO30,
3823
- // dont il est un sous ensemble obsolète.
3824
- filename: "AMO50_acteurs_mandats_organes_divises_XV.json",
3825
- name: "AMO50_acteurs_mandats_organes_divises_XV",
3826
- ignoreForWeb: !0,
3827
- legislature: l.Quinze,
3828
- repairZip: async (t, n) => {
3829
- const i = o.join(n, t.filename);
3830
- await r.pathExists(i) && await r.remove(i), await r.mkdir(i), await r.move(
3831
- o.join(n, `${t.filename}.temp`, "mandat"),
3832
- o.join(i, "mandat")
3833
- ), await r.move(
3834
- o.join(n, `${t.filename}.temp`, "acteur"),
3835
- o.join(i, "acteur")
3836
- ), await r.move(
3837
- o.join(n, `${t.filename}.temp`, "organe"),
3838
- o.join(i, "organe")
3839
- );
3840
- },
3841
- structure: A.SegmentedFiles,
3842
- title: "Acteurs, mandats et organes de la XVème législature (fichiers séparés, y compris mandats)",
3843
- url: "https://data.assemblee-nationale.fr/static/openData/repository/15/amo/acteurs_mandats_organes_divises/AMO50_acteurs_mandats_organes_divises_XV.json.zip"
3844
- }
3845
- ],
3846
- agendas: [
3847
- {
3848
- filename: "Agenda_XVII.json",
3849
- name: "Agenda_XVII",
3850
- legislature: l.DixSept,
3851
- repairZip: O,
3852
- structure: A.SegmentedFiles,
3853
- title: "Agenda de la XVIIème législature",
3854
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/vp/reunions/Agenda.json.zip"
3855
- },
3856
- {
3857
- filename: "Agenda_XVI.json",
3858
- name: "Agenda_XVI",
3859
- legislature: l.Seize,
3860
- repairZip: O,
3861
- structure: A.SegmentedFiles,
3862
- title: "Agenda de la XVIème législature",
3863
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/vp/reunions/Agenda.json.zip"
3864
- },
3865
- {
3866
- filename: "Agenda_XV.json",
3867
- name: "Agenda_XV",
3868
- legislature: l.Quinze,
3869
- repairZip: O,
3870
- structure: A.SegmentedFiles,
3871
- title: "Agenda de la XVème législature",
3872
- url: "https://data.assemblee-nationale.fr/static/openData/repository/15/vp/reunions/Agenda_XV.json.zip"
3873
- },
3874
- {
3875
- filename: "Agenda_XIV.json",
3876
- name: "Agenda_XIV",
3877
- legislature: l.Quatorze,
3878
- structure: A.SingleFile,
3879
- title: "Agenda de la XIVème législature",
3880
- url: "https://data.assemblee-nationale.fr/static/openData/repository/14/vp/reunions/Agenda_XIV.json.zip"
3881
- }
3882
- ],
3883
- amendements: [
3884
- {
3885
- filename: "Amendements_XVII.json",
3886
- name: "Amendements_XVII",
3887
- legislature: l.DixSept,
3888
- repairZip: O,
3889
- structure: A.SegmentedFiles,
3890
- title: "Amendements de la XVIIème législature",
3891
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/loi/amendements_div_legis/Amendements.json.zip"
3892
- },
3893
- {
3894
- filename: "Amendements_XVI.json",
3895
- name: "Amendements_XVI",
3896
- legislature: l.Seize,
3897
- repairZip: O,
3898
- structure: A.SegmentedFiles,
3899
- title: "Amendements de la XVIème législature",
3900
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/loi/amendements_div_legis/Amendements.json.zip"
3901
- },
3902
- {
3903
- filename: "Amendements_XV.json",
3904
- name: "Amendements_XV",
3905
- legislature: l.Quinze,
3906
- repairZip: O,
3907
- structure: A.SegmentedFiles,
3908
- title: "Amendements de la XVème législature",
3909
- url: "https://data.assemblee-nationale.fr/static/openData/repository/15/loi/amendements_legis/Amendements_XV.json.zip"
3910
- }
3911
- // {
3912
- // filename: "Amendements_XIV.json",
3913
- // ignoreForWeb: true,
3914
- // legislature: Legislature.Quatorze,
3915
- // structure: DatasetStructure.SingleFile,
3916
- // title: "Amendements de la XIVème législature",
3917
- // url:
3918
- // "https://data.assemblee-nationale.fr/static/openData/repository/14/loi/amendements_legis_XIV/Amendements_XIV.json.zip",
3919
- // },
3920
- ],
3921
- dossiersLegislatifs: [
3922
- {
3923
- filename: "Dossiers_Legislatifs_XVII.json",
3924
- name: "Dossiers_Legislatifs_XVII",
3925
- legislature: l.DixSept,
3926
- repairZip: O,
3927
- structure: A.SegmentedFiles,
3928
- title: "Dossiers législatifs de la XVIIème législature",
3929
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/loi/dossiers_legislatifs/Dossiers_Legislatifs.json.zip"
3930
- },
3931
- {
3932
- filename: "Dossiers_Legislatifs_XVI.json",
3933
- name: "Dossiers_Legislatifs_XVI",
3934
- legislature: l.Seize,
3935
- repairZip: O,
3936
- structure: A.SegmentedFiles,
3937
- title: "Dossiers législatifs de la XVIème législature",
3938
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/loi/dossiers_legislatifs/Dossiers_Legislatifs.json.zip"
3939
- },
3940
- {
3941
- filename: "Dossiers_Legislatifs_XV.json",
3942
- name: "Dossiers_Legislatifs_XV",
3943
- legislature: l.Quinze,
3944
- repairZip: O,
3945
- structure: A.SegmentedFiles,
3946
- title: "Dossiers législatifs de la XVème législature",
3947
- url: "https://data.assemblee-nationale.fr/static/openData/repository/15/loi/dossiers_legislatifs/Dossiers_Legislatifs_XV.json.zip"
3948
- },
3949
- {
3950
- filename: "Dossiers_Legislatifs_XIV.json",
3951
- name: "Dossiers_Legislatifs_XIV",
3952
- legislature: l.Quatorze,
3953
- structure: A.SingleFile,
3954
- title: "Dossiers législatifs de la XIVème législature",
3955
- url: "https://data.assemblee-nationale.fr/static/openData/repository/14/loi/dossiers_legislatifs/Dossiers_Legislatifs_XIV.json.zip"
3956
- }
3957
- ],
3958
- scrutins: [
3959
- {
3960
- filename: "Scrutins_XVII.json",
3961
- name: "Scrutins_XVII",
3962
- legislature: l.DixSept,
3963
- repairZip: O,
3964
- structure: A.SegmentedFiles,
3965
- title: "Scrutins de la XVIIème législature",
3966
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/loi/scrutins/Scrutins.json.zip"
3967
- },
3968
- {
3969
- filename: "Scrutins_XVI.json",
3970
- name: "Scrutins_XVI",
3971
- legislature: l.Seize,
3972
- repairZip: O,
3973
- structure: A.SegmentedFiles,
3974
- title: "Scrutins de la XVIème législature",
3975
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/loi/scrutins/Scrutins.json.zip"
3976
- },
3977
- {
3978
- filename: "Scrutins_XV.json",
3979
- name: "Scrutins_XV",
3980
- legislature: l.Quinze,
3981
- repairZip: O,
3982
- structure: A.SegmentedFiles,
3983
- title: "Scrutins de la XVème législature",
3984
- url: "https://data.assemblee-nationale.fr/static/openData/repository/15/loi/scrutins/Scrutins_XV.json.zip"
3985
- },
3986
- {
3987
- filename: "Scrutins_XIV.json",
3988
- name: "Scrutins_XIV",
3989
- legislature: l.Quatorze,
3990
- structure: A.SingleFile,
3991
- title: "Scrutins de la XIVème législature",
3992
- url: "https://data.assemblee-nationale.fr/static/openData/repository/14/loi/scrutins/Scrutins_XIV.json.zip"
3993
- }
3994
- ],
3995
- questions: [
3996
- {
3997
- filename: "Questions_ecrites_XVII.json",
3998
- name: "Questions_ecrites_XVII",
3999
- legislature: l.DixSept,
4000
- repairZip: O,
4001
- structure: A.SegmentedFiles,
4002
- title: "Questions écrites de la XVIIème législature",
4003
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/questions/questions_ecrites/Questions_ecrites.json.zip"
4004
- },
4005
- {
4006
- filename: "Questions_ecrites_XVI.json",
4007
- name: "Questions_ecrites_XVI",
4008
- legislature: l.Seize,
4009
- repairZip: O,
4010
- structure: A.SegmentedFiles,
4011
- title: "Questions écrites de la XVIème législature",
4012
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/questions/questions_ecrites/Questions_ecrites.json.zip"
4013
- },
4014
- {
4015
- filename: "Questions_gouvernement_XVII.json",
4016
- name: "Questions_gouvernement_XVII",
4017
- legislature: l.DixSept,
4018
- repairZip: O,
4019
- structure: A.SegmentedFiles,
4020
- title: "Questions au gouvernement de la XVIIème législature",
4021
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/questions/questions_gouvernement/Questions_gouvernement.json.zip"
4022
- },
4023
- {
4024
- filename: "Questions_gouvernement_XVI.json",
4025
- name: "Questions_gouvernement_XVI",
4026
- legislature: l.Seize,
4027
- repairZip: O,
4028
- structure: A.SegmentedFiles,
4029
- title: "Questions au gouvernement de la XVIème législature",
4030
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/questions/questions_gouvernement/Questions_gouvernement.json.zip"
4031
- },
4032
- {
4033
- filename: "Questions_orales_XVII.json",
4034
- name: "Questions_orales_XVII",
4035
- legislature: l.DixSept,
4036
- repairZip: O,
4037
- structure: A.SegmentedFiles,
4038
- title: "Questions orales sans débats de la XVIIème législature",
4039
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/questions/questions_orales_sans_debat/Questions_orales_sans_debat.json.zip"
4040
- },
4041
- {
4042
- filename: "Questions_orales_XVI.json",
4043
- name: "Questions_orales_XVI",
4044
- legislature: l.Seize,
4045
- repairZip: O,
4046
- structure: A.SegmentedFiles,
4047
- title: "Questions orales sans débats de la XVIème législature",
4048
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/questions/questions_orales_sans_debat/Questions_orales_sans_debat.json.zip"
4049
- }
4050
- ],
4051
- comptesRendusSeances: [
4052
- {
4053
- filename: "Comptes_Rendus_Seances_XVII.xml",
4054
- name: "Comptes_Rendus_Seances_XVII",
4055
- legislature: l.DixSept,
4056
- repairZip: async (t, n) => {
4057
- const i = o.join(n, t.filename);
4058
- await r.pathExists(i) && await r.remove(i), await r.move(
4059
- o.join(n, `${t.filename}.temp`, "xml"),
4060
- i
4061
- );
4062
- },
4063
- structure: A.SegmentedFiles,
4064
- title: "Comptes rendus des séances publiques de la XVIIème législature",
4065
- url: "https://data.assemblee-nationale.fr/static/openData/repository/17/vp/syceronbrut/syseron.xml.zip"
4066
- },
4067
- {
4068
- filename: "Comptes_Rendus_Seances_XVI.xml",
4069
- name: "Comptes_Rendus_Seances_XVI",
4070
- legislature: l.Seize,
4071
- repairZip: async (t, n) => {
4072
- const i = o.join(n, t.filename);
4073
- await r.pathExists(i) && await r.remove(i), await r.move(
4074
- o.join(n, `${t.filename}.temp`, "xml"),
4075
- i
4076
- );
4077
- },
4078
- structure: A.SegmentedFiles,
4079
- title: "Comptes rendus des séances publiques de la XVIème législature",
4080
- url: "https://data.assemblee-nationale.fr/static/openData/repository/16/vp/syceronbrut/syseron.xml.zip"
4081
- }
4082
- ],
4083
- comptesRendusCommissions: [
4084
- {
4085
- filename: "Comptes_Rendus_Commissions_XVII.xml",
4086
- name: "Comptes_Rendus_Commissions_XVII",
4087
- legislature: l.DixSept,
4088
- structure: A.SegmentedFiles,
4089
- title: "Comptes rendus des commissions de la XVIIème législature"
4090
- }
4091
- ]
4092
- };
4093
- function* k(t, n, i, s, g, { log: S = !1, noValidation: b = !1, sinceCommits: p } = {}) {
4094
- const y = /* @__PURE__ */ new Set();
4095
- for (const D of i) {
4096
- if (D.ignoreForWeb || !ml(n, D))
4097
- continue;
4098
- const I = o.join(t, `${D.name}_nettoye`), v = p ? p[D.name] : void 0, J = v ? He(I, v, {
4099
- diffFilter: "AMR"
4100
- }) : null;
4101
- S && v && (console.log(
4102
- `Filtering files changed since commit ${v} in ${I}`
4103
- ), console.log(`Found ${J?.size || 0} changed files`));
4104
- for (const L of X(I, g)) {
4105
- if (!L[L.length - 1].endsWith(".json"))
4106
- continue;
4107
- const x = o.join(I, ...L), V = o.join(...L), F = J?.get(V);
4108
- if (J != null && F == null)
4109
- continue;
4110
- S && console.log(`Loading file: ${x}…`);
4111
- let a = r.readFileSync(x, { encoding: "utf8" });
4112
- const u = b ? JSON.parse(a) : s(a);
4113
- y.has(u.uid) || (y.add(u.uid), yield {
4114
- datasetLegislature: D.legislature,
4115
- filePath: x,
4116
- item: u,
4117
- ...F && { gitStatus: F }
4118
- }, a = null);
4119
- }
4120
- if (v) {
4121
- const L = He(
4122
- I,
4123
- v,
4124
- {
4125
- diffFilter: "D"
4126
- }
4127
- );
4128
- for (const [B, x] of L.entries()) {
4129
- const V = o.join(I, B);
4130
- S && console.log(`Deleted file: ${V}`);
4131
- const a = { uid: o.parse(B).name };
4132
- yield {
4133
- datasetLegislature: D.legislature,
4134
- filePath: V,
4135
- item: a,
4136
- gitStatus: x
4137
- };
4138
- }
4139
- }
4140
- }
4141
- y.clear();
4142
- }
4143
- function ml(t, n) {
4144
- const i = Array.isArray(t) ? t : t !== void 0 ? [t] : [];
4145
- return t === void 0 || i.includes(0) || n.legislature === l.All ? !0 : i.includes(n.legislature);
4146
- }
4147
- function* yl(t, n, i = {}, s) {
4148
- for (const {
4149
- datasetLegislature: g,
4150
- item: S,
4151
- filePath: b,
4152
- gitStatus: p
4153
- } of k(
4154
- t,
4155
- n,
4156
- s ?? R.acteursEtOrganes,
4157
- ae.toActeur,
4158
- ["acteurs"],
4159
- i
4160
- ))
4161
- yield {
4162
- acteur: S,
4163
- datasetLegislature: g,
4164
- filePath: b,
4165
- ...p && { gitStatus: p }
4166
- };
4167
- }
4168
- function* Ol(t, n, i = {}, s) {
4169
- for (const {
4170
- item: g,
4171
- datasetLegislature: S,
4172
- filePath: b,
4173
- gitStatus: p
4174
- } of k(
4175
- t,
4176
- n,
4177
- s ?? R.acteursEtOrganes,
4178
- ae.toOrgane,
4179
- ["organes"],
4180
- i
4181
- ))
4182
- yield {
4183
- organe: g,
4184
- datasetLegislature: S,
4185
- filePath: b,
4186
- ...p && { gitStatus: p }
4187
- };
4188
- }
4189
- function* Nl(t, n, i = {}, s) {
4190
- for (const {
4191
- datasetLegislature: g,
4192
- item: S,
4193
- filePath: b,
4194
- gitStatus: p
4195
- } of k(
4196
- t,
4197
- n,
4198
- s ?? R.amendements,
4199
- Oe.toAmendement,
4200
- [],
4201
- i
4202
- ))
4203
- yield {
4204
- amendement: S,
4205
- datasetLegislature: g,
4206
- filePath: b,
4207
- ...p && { gitStatus: p }
4208
- };
4209
- }
4210
- function* Rl(t, n, i = {}, s) {
4211
- for (const {
4212
- item: g,
4213
- datasetLegislature: S,
4214
- filePath: b,
4215
- gitStatus: p
4216
- } of k(
4217
- t,
4218
- n,
4219
- s ?? R.dossiersLegislatifs,
4220
- se.toDocument,
4221
- ["documents"],
4222
- i
4223
- ))
4224
- yield {
4225
- document: g,
4226
- datasetLegislature: S,
4227
- filePath: b,
4228
- ...p && { gitStatus: p }
4229
- };
4230
- }
4231
- function* Dl(t, n, i = {}, s) {
4232
- for (const {
4233
- item: g,
4234
- datasetLegislature: S,
4235
- filePath: b,
4236
- gitStatus: p
4237
- } of k(
4238
- t,
4239
- n,
4240
- s ?? R.dossiersLegislatifs,
4241
- se.toDossierParlementaire,
4242
- ["dossiers"],
4243
- i
4244
- ))
4245
- yield {
4246
- dossierParlementaire: g,
4247
- datasetLegislature: S,
4248
- filePath: b,
4249
- ...p && { gitStatus: p }
4250
- };
4251
- }
4252
- function* Il(t, n, i = {}, s) {
4253
- for (const {
4254
- item: g,
4255
- datasetLegislature: S,
4256
- filePath: b,
4257
- gitStatus: p
4258
- } of k(
4259
- t,
4260
- n,
4261
- s ?? R.agendas,
4262
- Ue.toReunion,
4263
- [],
4264
- i
4265
- ))
4266
- yield {
4267
- reunion: g,
4268
- datasetLegislature: S,
4269
- filePath: b,
4270
- ...p && { gitStatus: p }
4271
- };
4272
- }
4273
- function* Tl(t, n, i = {}, s) {
4274
- for (const {
4275
- item: g,
4276
- datasetLegislature: S,
4277
- filePath: b,
4278
- gitStatus: p
4279
- } of k(
4280
- t,
4281
- n,
4282
- s ?? R.scrutins,
4283
- We.toScrutin,
4284
- [],
4285
- i
4286
- ))
4287
- yield {
4288
- scrutin: g,
4289
- datasetLegislature: S,
4290
- filePath: b,
4291
- ...p && { gitStatus: p }
4292
- };
4293
- }
4294
- function* El(t, n, i = {}, s) {
4295
- for (const {
4296
- item: g,
4297
- datasetLegislature: S,
4298
- filePath: b,
4299
- gitStatus: p
4300
- } of k(
4301
- t,
4302
- n,
4303
- s ?? R.questions,
4304
- ze.toQuestion,
4305
- [],
4306
- i
4307
- ))
4308
- yield {
4309
- question: g,
4310
- datasetLegislature: S,
4311
- filePath: b,
4312
- ...p && { gitStatus: p }
4313
- };
4314
- }
4315
- function* Pl(t, n, i = {}, s) {
4316
- for (const {
4317
- item: g,
4318
- datasetLegislature: S,
4319
- filePath: b,
4320
- gitStatus: p
4321
- } of k(
4322
- t,
4323
- n,
4324
- s ?? R.comptesRendusSeances.concat(R.comptesRendusCommissions),
4325
- Ge.toCompteRendu,
4326
- [],
4327
- i
4328
- ))
4329
- yield {
4330
- compteRendu: g,
4331
- datasetLegislature: S,
4332
- filePath: b,
4333
- ...p && { gitStatus: p }
4334
- };
4335
- }
4336
- function vl(t, n, i, { log: s = !1 } = {}) {
4337
- const g = {}, S = {};
4338
- if (n & M.ActeursEtOrganes)
4339
- for (const a of R.acteursEtOrganes) {
4340
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4341
- continue;
4342
- const u = o.join(
4343
- t,
4344
- a.filename.replace(/\.json$/, "_nettoye")
4345
- );
4346
- for (const m of X(u, ["acteurs"])) {
4347
- if (!m[m.length - 1].endsWith(".json"))
4348
- continue;
4349
- const c = o.join(u, ...m);
4350
- s && console.log(`Loading file: ${c}…`);
4351
- const h = r.readFileSync(c, {
4352
- encoding: "utf8"
4353
- }), f = ae.toActeur(h);
4354
- g[f.uid] === void 0 && (g[f.uid] = f);
4355
- }
4356
- for (const m of X(u, ["organes"])) {
4357
- if (!m[m.length - 1].endsWith(".json"))
4358
- continue;
4359
- const c = o.join(u, ...m);
4360
- s && console.log(`Loading file: ${c}…`);
4361
- const h = r.readFileSync(c, {
4362
- encoding: "utf8"
4363
- }), f = ae.toOrgane(h);
4364
- S[f.uid] === void 0 && (S[f.uid] = f);
4365
- }
4366
- }
4367
- const b = {}, p = {}, y = {};
4368
- if (n & M.Agendas)
4369
- for (const a of R.agendas) {
4370
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4371
- continue;
4372
- const u = o.join(
4373
- t,
4374
- a.filename.replace(/\.json$/, "_nettoye")
4375
- );
4376
- for (const m of X(u)) {
4377
- if (!m[m.length - 1].endsWith(".json"))
4378
- continue;
4379
- const c = o.join(u, ...m);
4380
- s && console.log(`Loading file: ${c}…`);
4381
- const h = r.readFileSync(c, {
4382
- encoding: "utf8"
4383
- }), f = Ue.toReunion(h);
4384
- b[f.uid] === void 0 && (b[f.uid] = f);
4385
- const q = f.timestampDebut.toISOString().split("T")[0];
4386
- let ee = p[q];
4387
- ee === void 0 && (ee = p[q] = []), ee.push(f);
4388
- const te = f.odj;
4389
- if (te !== void 0)
4390
- for (const ne of te.pointsOdj || [])
4391
- for (const Ze of ne.dossiersLegislatifsRefs || []) {
4392
- let Ce = y[Ze];
4393
- Ce === void 0 && (Ce = y[Ze] = []), Ce.push(f);
4394
- }
4395
- }
4396
- }
4397
- const D = {};
4398
- if (n & M.Amendements)
4399
- for (const a of R.amendements) {
4400
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4401
- continue;
4402
- const u = o.join(
4403
- t,
4404
- a.filename.replace(/\.json$/, "_nettoye")
4405
- );
4406
- for (const m of X(u)) {
4407
- if (!m[m.length - 1].endsWith(".json"))
4408
- continue;
4409
- const c = o.join(u, ...m);
4410
- s && console.log(`Loading file: ${c}…`);
4411
- const h = r.readFileSync(c, {
4412
- encoding: "utf8"
4413
- }), f = Oe.toAmendement(h);
4414
- D[f.uid] === void 0 && (D[f.uid] = f);
4415
- }
4416
- }
4417
- const I = {}, v = {}, J = {}, L = {};
4418
- if (n & M.DossiersLegislatifs)
4419
- for (const a of R.dossiersLegislatifs) {
4420
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4421
- continue;
4422
- const u = o.join(
4423
- t,
4424
- a.filename.replace(/\.json$/, "_nettoye")
4425
- );
4426
- for (const m of X(u, ["documents"])) {
4427
- if (!m[m.length - 1].endsWith(".json"))
4428
- continue;
4429
- const c = o.join(u, ...m);
4430
- s && console.log(`Loading file: ${c}…`);
4431
- const h = r.readFileSync(c, {
4432
- encoding: "utf8"
4433
- }), f = se.toDocument(h);
4434
- I[f.uid] === void 0 && (I[f.uid] = f);
4435
- }
4436
- for (const m of X(u, ["dossiers"])) {
4437
- if (!m[m.length - 1].endsWith(".json"))
4438
- continue;
4439
- const c = o.join(u, ...m);
4440
- s && console.log(`Loading file: ${c}…`);
4441
- const h = r.readFileSync(c, {
4442
- encoding: "utf8"
4443
- }), f = se.toDossierParlementaire(h), q = f.titreDossier;
4444
- q.senatChemin && v[q.senatChemin] === void 0 && (v[q.senatChemin] = f), q.titreChemin && J[q.titreChemin] === void 0 && (J[q.titreChemin] = f), L[f.uid] === void 0 && (L[f.uid] = f);
4445
- }
4446
- }
4447
- let B = {};
4448
- if (n & M.Photos) {
4449
- {
4450
- const a = o.join(
4451
- t,
4452
- `photos_deputes_${// TODO: Handle Legislature.All.
4453
- i === l.All ? l.DixSept : i}`,
4454
- "deputes.json"
4455
- );
4456
- if (r.existsSync(a)) {
4457
- s && console.log(`Loading file: ${a}`);
4458
- const u = r.readFileSync(a, { encoding: "utf8" });
4459
- Object.assign(B, JSON.parse(u));
4460
- } else s && console.log(`Ignoring missing file: ${a}`);
4461
- }
4462
- {
4463
- const a = o.join(
4464
- t,
4465
- "photos_senateurs",
4466
- "senateurs.json"
4467
- );
4468
- if (r.existsSync(a)) {
4469
- s && console.log(`Loading file: ${a}`);
4470
- const u = r.readFileSync(a, { encoding: "utf8" });
4471
- Object.assign(B, JSON.parse(u));
4472
- } else s && console.log(`Ignoring missing file: ${a}`);
4473
- }
4474
- }
4475
- const x = {};
4476
- if (n & M.Scrutins)
4477
- for (const a of R.scrutins) {
4478
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4479
- continue;
4480
- const u = o.join(
4481
- t,
4482
- a.filename.replace(/\.json$/, "_nettoye")
4483
- );
4484
- for (const m of X(u)) {
4485
- if (!m[m.length - 1].endsWith(".json"))
4486
- continue;
4487
- const c = o.join(u, ...m);
4488
- s && console.log(`Loading file: ${c}…`);
4489
- const h = r.readFileSync(c, {
4490
- encoding: "utf8"
4491
- }), f = We.toScrutin(h);
4492
- x[f.uid] === void 0 && (x[f.uid] = f);
4493
- }
4494
- }
4495
- const V = {};
4496
- if (n & M.Questions)
4497
- for (const a of R.questions) {
4498
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4499
- continue;
4500
- const u = o.join(
4501
- t,
4502
- a.filename.replace(/\.json$/, "_nettoye")
4503
- );
4504
- for (const m of X(u)) {
4505
- if (!m[m.length - 1].endsWith(".json"))
4506
- continue;
4507
- const c = o.join(u, ...m);
4508
- s && console.log(`Loading file: ${c}…`);
4509
- const h = r.readFileSync(c, {
4510
- encoding: "utf8"
4511
- }), f = ze.toQuestion(h);
4512
- V[f.uid] === void 0 && (V[f.uid] = f);
4513
- }
4514
- }
4515
- const F = {};
4516
- if (n & M.ComptesRendusSeances)
4517
- for (const a of R.comptesRendusSeances) {
4518
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4519
- continue;
4520
- const u = o.join(
4521
- t,
4522
- a.filename.replace(/\.json$/, "_nettoye")
4523
- );
4524
- for (const m of X(u)) {
4525
- if (!m[m.length - 1].endsWith(".json"))
4526
- continue;
4527
- const c = o.join(u, ...m);
4528
- s && console.log(`Loading file: ${c}…`);
4529
- const h = r.readFileSync(c, {
4530
- encoding: "utf8"
4531
- }), f = Ge.toCompteRendu(h);
4532
- F[f.uid] === void 0 && (F[f.uid] = f);
4533
- }
4534
- }
4535
- return {
4536
- acteurByUid: g,
4537
- amendementByUid: D,
4538
- documentByUid: I,
4539
- dossierParlementaireBySenatChemin: v,
4540
- dossierParlementaireByTitreChemin: J,
4541
- dossierParlementaireByUid: L,
4542
- organeByUid: S,
4543
- photoByUid: B,
4544
- reunionByUid: b,
4545
- reunionsByDay: p,
4546
- reunionsByDossierUid: y,
4547
- scrutinByUid: x,
4548
- questionByUid: V,
4549
- compteRenduByUid: F
4550
- };
4551
- }
4552
- function Ml(t, n, i, { log: s = !1 } = {}) {
4553
- const g = {}, S = {};
4554
- if (n & M.ActeursEtOrganes)
4555
- for (const a of R.acteursEtOrganes) {
4556
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4557
- continue;
4558
- const u = o.join(
4559
- t,
4560
- a.filename.replace(/\.json$/, "_nettoye.json")
4561
- );
4562
- s && console.log(`Loading file: ${u}`);
4563
- const m = r.readFileSync(u, { encoding: "utf8" }), N = ae.toActeursEtOrganes(m);
4564
- for (const c of N.acteurs)
4565
- g[c.uid] === void 0 && (g[c.uid] = c);
4566
- for (const c of N.organes)
4567
- S[c.uid] === void 0 && (S[c.uid] = c);
4568
- }
4569
- const b = {}, p = {}, y = {};
4570
- if (n & M.Agendas)
4571
- for (const a of R.agendas) {
4572
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4573
- continue;
4574
- const u = o.join(
4575
- t,
4576
- a.filename.replace(/\.json$/, "_nettoye.json")
4577
- );
4578
- s && console.log(`Loading file: ${u}`);
4579
- const m = r.readFileSync(u, { encoding: "utf8" }), N = Ue.toAgendas(m);
4580
- for (const c of N.reunions) {
4581
- b[c.uid] === void 0 && (b[c.uid] = c);
4582
- const h = c.timestampDebut.toISOString().split("T")[0];
4583
- let f = p[h];
4584
- f === void 0 && (f = p[h] = []), f.push(c);
4585
- const q = c.odj;
4586
- if (q !== void 0)
4587
- for (const ee of q.pointsOdj || [])
4588
- for (const te of ee.dossiersLegislatifsRefs || []) {
4589
- let ne = y[te];
4590
- ne === void 0 && (ne = y[te] = []), ne.push(c);
4591
- }
4592
- }
4593
- }
4594
- const D = {};
4595
- if (n & M.Amendements)
4596
- for (const a of R.amendements) {
4597
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4598
- continue;
4599
- const u = o.join(
4600
- t,
4601
- a.filename.replace(/\.json$/, "_nettoye.json")
4602
- );
4603
- s && console.log(`Loading file: ${u}`);
4604
- const m = r.readFileSync(u, { encoding: "utf8" }), N = Oe.toAmendements(m);
4605
- for (const c of N.textesLegislatifs)
4606
- for (const h of c.amendements)
4607
- D[h.uid] === void 0 && (D[h.uid] = h);
4608
- }
4609
- const I = {}, v = {}, J = {}, L = {};
4610
- if (n & M.DossiersLegislatifs)
4611
- for (const a of R.dossiersLegislatifs) {
4612
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4613
- continue;
4614
- const u = o.join(
4615
- t,
4616
- a.filename.replace(/\.json$/, "_nettoye.json")
4617
- );
4618
- s && console.log(`Loading file: ${u}`);
4619
- const m = r.readFileSync(u, { encoding: "utf8" }), N = se.toDossiersLegislatifs(m);
4620
- for (const c of N.textesLegislatifs)
4621
- I[c.uid] === void 0 && (I[c.uid] = c);
4622
- for (const c of N.dossiersParlementaires) {
4623
- const h = c.titreDossier;
4624
- h.senatChemin && v[h.senatChemin] === void 0 && (v[h.senatChemin] = c), h.titreChemin && J[h.titreChemin] === void 0 && (J[h.titreChemin] = c), L[c.uid] === void 0 && (L[c.uid] = c);
4625
- }
4626
- }
4627
- const B = {};
4628
- if (n & M.Photos) {
4629
- const a = {};
4630
- {
4631
- const u = o.join(
4632
- t,
4633
- `photos_deputes_${// TODO: Handle Legislature.All.
4634
- i === l.All ? l.DixSept : i}`,
4635
- "deputes.json"
4636
- );
4637
- if (r.existsSync(u)) {
4638
- s && console.log(`Loading file: ${u}`);
4639
- const m = r.readFileSync(u, { encoding: "utf8" });
4640
- Object.assign(a, JSON.parse(m));
4641
- } else s && console.log(`Ignoring missing file: ${u}`);
4642
- }
4643
- {
4644
- const u = o.join(
4645
- t,
4646
- "photos_senateurs",
4647
- "senateurs.json"
4648
- );
4649
- if (r.existsSync(u)) {
4650
- s && console.log(`Loading file: ${u}`);
4651
- const m = r.readFileSync(u, { encoding: "utf8" });
4652
- Object.assign(a, JSON.parse(m));
4653
- } else s && console.log(`Ignoring missing file: ${u}`);
4654
- }
4655
- }
4656
- const x = {};
4657
- if (n & M.Scrutins)
4658
- for (const a of R.scrutins) {
4659
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4660
- continue;
4661
- const u = o.join(
4662
- t,
4663
- a.filename.replace(/\.json$/, "_nettoye.json")
4664
- );
4665
- s && console.log(`Loading file: ${u}`);
4666
- const m = r.readFileSync(u, { encoding: "utf8" }), N = We.toScrutins(m);
4667
- for (const c of N.scrutins)
4668
- x[c.uid] === void 0 && (x[c.uid] = c);
4669
- }
4670
- const V = {};
4671
- if (n & M.Questions)
4672
- for (const a of R.questions) {
4673
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4674
- continue;
4675
- const u = o.join(
4676
- t,
4677
- a.filename.replace(/\.json$/, "_nettoye.json")
4678
- );
4679
- s && console.log(`Loading file: ${u}`);
4680
- const m = r.readFileSync(u, { encoding: "utf8" }), N = ze.toQuestions(m);
4681
- for (const c of N.questions)
4682
- V[c.uid] === void 0 && (V[c.uid] = c);
4683
- }
4684
- const F = {};
4685
- if (n & M.ComptesRendusSeances)
4686
- for (const a of R.comptesRendusSeances) {
4687
- if (a.ignoreForWeb || i !== l.All && a.legislature !== l.All && i !== a.legislature)
4688
- continue;
4689
- const u = o.join(
4690
- t,
4691
- a.filename.replace(/\.json$/, "_nettoye.json")
4692
- );
4693
- s && console.log(`Loading file: ${u}`);
4694
- const m = r.readFileSync(u, { encoding: "utf8" }), N = Ge.toComptesRendus(m);
4695
- for (const c of N.comptesRendus)
4696
- F[c.uid] === void 0 && (F[c.uid] = c);
4697
- }
4698
- return {
4699
- acteurByUid: g,
4700
- amendementByUid: D,
4701
- documentByUid: I,
4702
- dossierParlementaireBySenatChemin: v,
4703
- dossierParlementaireByTitreChemin: J,
4704
- dossierParlementaireByUid: L,
4705
- organeByUid: S,
4706
- photoByUid: B,
4707
- reunionByUid: b,
4708
- reunionsByDay: p,
4709
- reunionsByDossierUid: y,
4710
- scrutinByUid: x,
4711
- questionByUid: V,
4712
- compteRenduByUid: F
4713
- };
4714
- }
4715
- function Ll(t, n, i) {
4716
- const s = o.join(t, "Documents"), g = dl(s, n), S = o.join(g, "index.json");
4717
- if (!r.pathExistsSync(S))
4718
- return;
4719
- const b = r.readJsonSync(S);
4720
- for (const p of i)
4721
- for (const { filename: y, url: D } of b[p] ?? [])
4722
- if (y !== void 0)
4723
- return { format: p, path: o.join(g, y), url: D };
4724
- }
4725
- function wl(t, n, { log: i = !1 } = {}) {
4726
- const s = o.join(
4727
- t,
4728
- `photos_deputes_${// TODO: Handle Legislature.All.
4729
- n === l.All ? l.DixSept : n}`,
4730
- "deputes.json"
4731
- );
4732
- i && console.log(`Loading file: ${s}`);
4733
- const g = r.readFileSync(s, { encoding: "utf8" });
4734
- return JSON.parse(g);
4735
- }
4736
- function xl(t, { log: n = !1 } = {}) {
4737
- const i = o.join(
4738
- t,
4739
- "photos_senateurs",
4740
- "senateurs.json"
4741
- );
4742
- n && console.log(`Loading file: ${i}`);
4743
- const s = r.readFileSync(i, { encoding: "utf8" });
4744
- return JSON.parse(s);
4745
- }
4746
- function dl(t, n) {
4747
- const i = n.match(Ms);
4748
- re.notStrictEqual(
4749
- i,
4750
- null,
4751
- `Unexpected structure for document UID: ${n}`
4752
- );
4753
- const s = i.groups, g = o.join(
4754
- t,
4755
- s.documentType ?? s.documentType2
4756
- ), S = o.join(g, s.chambre ?? s.chambre2), b = o.join(
4757
- S,
4758
- s.republique ?? s.republique2
4759
- ), p = o.join(
4760
- b,
4761
- s.legislature ?? s.legislature2
4762
- ), y = s.etat;
4763
- if (y === void 0)
4764
- return r.ensureDirSync(p), o.join(p, n);
4765
- const D = o.join(p, y);
4766
- let I = "000000" + (s.numero ?? s.numero2);
4767
- I = I.substring(I.length - 6);
4768
- const v = o.join(D, I.substring(0, 3));
4769
- return r.ensureDirSync(v), o.join(v, n);
4770
- }
4771
- function Vl(t, n) {
4772
- return In(t, n, Ls);
4773
- }
4774
- function Fl(t, n) {
4775
- const i = ws.exec(n);
4776
- re.notStrictEqual(
4777
- i,
4778
- null,
4779
- `Unexpected structure for reunion UID: ${n}`
4780
- );
4781
- const s = o.join(t, i[1]), g = o.join(s, i[2]), S = o.join(g, i[3]), b = o.join(S, i[4]), p = o.join(b, i[5]);
4782
- let y = "000000000" + i[6];
4783
- y = y.substring(y.length - 9);
4784
- const D = o.join(p, y.substring(0, 3)), I = o.join(D, y.substring(3, 3));
4785
- return r.ensureDirSync(I), o.join(I, n);
4786
- }
4787
- function ql(t, n) {
4788
- const i = xs.exec(n);
4789
- re.notStrictEqual(
4790
- i,
4791
- null,
4792
- `Unexpected structure for scrutin UID: ${n}`
4793
- );
4794
- const s = o.join(t, i[1]), g = o.join(s, i[2]), S = o.join(g, i[3]);
4795
- let b = "000000" + i[4];
4796
- b = b.substring(b.length - 6);
4797
- const p = o.join(S, b.substring(0, 3));
4798
- return r.ensureDirSync(p), o.join(p, n);
4799
- }
4800
- function Jl(t, n) {
4801
- return In(t, n, Fs);
4802
- }
4803
- function Xl(t, n) {
4804
- const i = Vs.exec(n);
4805
- re.notStrictEqual(
4806
- i,
4807
- null,
4808
- `Unexpected structure for object with UID: ${n}`
4809
- );
4810
- const s = o.join(t, i[2]), g = o.join(s, i[3]), S = o.join(g, i[4]), b = o.join(S, i[5]);
4811
- let p = "000000000" + i[7];
4812
- p = p.substring(p.length - 9);
4813
- const y = o.join(b, p.substring(0, 3)), D = o.join(y, p.substring(3, 3));
4814
- return r.ensureDirSync(D), o.join(D, n);
4815
- }
4816
- function In(t, n, i) {
4817
- const s = i.exec(n);
4818
- re.notStrictEqual(
4819
- s,
4820
- null,
4821
- `Unexpected structure for object with UID: ${n}`
4822
- );
4823
- const g = o.join(t, s[1]), S = o.join(g, s[2]);
4824
- let b = "000000" + s[3];
4825
- b = b.substring(b.length - 6);
4826
- const p = o.join(S, b.substring(0, 3));
4827
- return r.ensureDirSync(p), o.join(p, n);
4828
- }
4829
- async function O(t, n) {
4830
- const i = o.join(n, t.filename);
4831
- await r.pathExists(i) && await r.remove(i), await r.pathExists(o.join(n, `${t.filename}.temp`, "json")) ? await r.move(
4832
- o.join(n, `${t.filename}.temp`, "json"),
4833
- i
4834
- ) : await r.mkdir(i);
4835
- }
4836
- export {
4837
- cs as $,
4838
- Ni as A,
4839
- ft as B,
4840
- K as C,
4841
- Y as D,
4842
- Ti as E,
4843
- tt as F,
4844
- Ri as G,
4845
- Di as H,
4846
- Ie as I,
4847
- Ei as J,
4848
- Hi as K,
4849
- l as L,
4850
- nt as M,
4851
- ut as N,
4852
- Ne as O,
4853
- Re as P,
4854
- gt as Q,
4855
- De as R,
4856
- Ot as S,
4857
- St as T,
4858
- Pi as U,
4859
- as as V,
4860
- Ut as W,
4861
- rs as X,
4862
- Bt as Y,
4863
- ls as Z,
4864
- Qt as _,
4865
- Ln as a,
4866
- $e as a0,
4867
- us as a1,
4868
- kt as a2,
4869
- ps as a3,
4870
- zt as a4,
4871
- ms as a5,
4872
- Gt as a6,
4873
- ds as a7,
4874
- Wt as a8,
4875
- gs as a9,
4876
- Ll as aA,
4877
- wl as aB,
4878
- xl as aC,
4879
- dl as aD,
4880
- Vl as aE,
4881
- Fl as aF,
4882
- ql as aG,
4883
- Jl as aH,
4884
- Xl as aI,
4885
- M as aJ,
4886
- X as aK,
4887
- Zt as aa,
4888
- Vs as ab,
4889
- Ms as ac,
4890
- Ls as ad,
4891
- Fs as ae,
4892
- ws as af,
4893
- xs as ag,
4894
- qs as ah,
4895
- Xs as ai,
4896
- $s as aj,
4897
- ua as ak,
4898
- ra as al,
4899
- la as am,
4900
- Ja as an,
4901
- R as ao,
4902
- yl as ap,
4903
- Ol as aq,
4904
- Nl as ar,
4905
- Rl as as,
4906
- Dl as at,
4907
- Il as au,
4908
- Tl as av,
4909
- El as aw,
4910
- Pl as ax,
4911
- vl as ay,
4912
- Ml as az,
4913
- et as b,
4914
- Mn as c,
4915
- vn as d,
4916
- le as e,
4917
- wn as f,
4918
- xn as g,
4919
- ge as h,
4920
- $n as i,
4921
- fe as j,
4922
- Ii as k,
4923
- Vn as l,
4924
- Fn as m,
4925
- Ci as n,
4926
- qn as o,
4927
- Jn as p,
4928
- ct as q,
4929
- Xn as r,
4930
- hi as s,
4931
- _i as t,
4932
- pt as u,
4933
- ji as v,
4934
- mt as w,
4935
- yi as x,
4936
- dt as y,
4937
- Oi as z
4938
- };