@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
615 lines (614 loc) • 18.7 kB
JavaScript
import "./amendements-DrQ9BA7A.js";
import { F as e, H as t } from "./questions-DDxOcCAG.js";
import { i as n, n as r, r as i, t as a } from "./amendements-uxFcHcO5.js";
import "./loaders-BjOHOabR.js";
import o from "node:assert";
import "fs-extra";
import "node:path";
//#region src/cleaners/acteurs.ts
function s(e) {
let t = e;
n(t);
let r = t.uid;
o.strictEqual(r["@xsi:type"], "IdActeur_type"), t.uid = r["#text"], o(t.uid);
let i = t.etatCivil;
{
n(i);
let e = i.ident;
{
n(e);
let t = i.infoNaissance;
n(t);
}
}
let a = t.profession;
if (a !== void 0) {
n(a);
let e = a.socProcINSEE;
o(e), n(e), delete a.socProcINSEE, a.socProcInsee = e;
}
let s = t.uri_hatvp;
s !== void 0 && (t.uriHatvp = s, delete t.uri_hatvp);
let c = t.adresses;
if (c !== void 0) {
let e = Array.isArray(c) ? c : c.adresse;
if (e === void 0 ? delete t.adresses : Array.isArray(e) ? t.adresses = e : (o.notStrictEqual(e, null), o.strictEqual(typeof e, "object"), t.adresses = e = [e]), e !== void 0) for (let t of e) {
n(t);
let e = t["@xsi:type"];
o([
"AdresseMail_Type",
"AdressePostale_Type",
"AdresseSiteWeb_Type",
"AdresseTelephonique_Type"
].includes(e ?? ""), `Unexpected "@xsi:type": ${e}`), t.xsiType = e, delete t["@xsi:type"], o.notStrictEqual(t.uid, void 0), o.notStrictEqual(t.type, void 0), o.notStrictEqual(t.typeLibelle, void 0), e === "AdressePostale_Type" && o.strictEqual(t.adresseDeRattachement, void 0);
}
}
let l = t.mandats;
if (l !== void 0) {
let e = [], r = Array.isArray(l) ? l : l.mandat;
Array.isArray(r) ? e = t.mandats = r : typeof r == "object" && (e = t.mandats = [r]);
for (let t of e) {
n(t);
let e = t["@xsi:type"];
e !== void 0 && (t.xsiType = e, delete t["@xsi:type"]);
let r = t.infosQualite;
n(r);
let i = t.organes;
o(i), delete t.organes;
let a = i.organeRef;
o(a), Array.isArray(a) || (a = [a]), t.organesRefs = a;
let s = t.suppleants;
if (delete t.suppleants, s) {
let e = s.suppleant;
o(e), t.suppleant = e, n(e);
}
let c = t.election;
if (c !== void 0) {
n(c);
let e = c.lieu;
n(e);
}
let l = t.mandature;
l !== void 0 && n(l), o.strictEqual(t.chambre, void 0);
let u = t.collaborateurs;
if (u != null) {
let e = Array.isArray(u) ? u.filter((e) => e !== null) : [u], r = [];
e.map(({ collaborateur: e }) => {
if (Array.isArray(e)) for (let t of e) t !== null && r.push(t);
else e && r.push(e);
}), r.length === 0 ? delete t.collaborateurs : t.collaborateurs = r;
for (let e of r) n(e), o.strictEqual(e.dateDebut, void 0), o.strictEqual(e.dateFin, void 0);
}
let d = t.InfosHorsSIAN;
d !== void 0 && (n(d), o.strictEqual(d.HATVP_URI, void 0), o.strictEqual(Object.keys(d).length, 0), delete t.InfosHorsSIAN);
}
e.sort((e, t) => e.uid.length === t.uid.length ? e.uid.localeCompare(t.uid) : e.uid.length - t.uid.length);
}
let u = t.deports;
if (u !== void 0) {
let e = [], r = Array.isArray(u) ? u : u.deport;
Array.isArray(r) ? e = t.deports = r : typeof r == "object" && (e = t.deports = [r]);
for (let t of e) {
n(t);
let e = t.cible;
n(e), o.strictEqual(e.references, void 0);
}
e.sort((e, t) => e.uid.length === t.uid.length ? e.uid.localeCompare(t.uid) : e.uid.length - t.uid.length);
}
return t;
}
function c(e) {
let t = e.etudePLFRef;
e.etudePLFRef !== void 0 && (delete e.etudePLFRef, e.etudePlfRef = t);
}
//#endregion
//#region src/cleaners/documents.ts
function l(e) {
return Array.isArray(e) ? e : [e];
}
function u(e) {
let t = e;
if (n(t), t.metadatas?.dateSuppression !== void 0) {
for (let e of Object.getOwnPropertyNames(t)) delete t[e];
return t;
}
let i = t["@xsi:type"];
i !== void 0 && (t.xsiType = i, delete t["@xsi:type"]);
let a = t.cycleDeVie;
o(a);
{
let e = a.chrono;
o(e), n(e);
}
let s = t.divisions;
if (s !== void 0) {
let e = Array.isArray(s) ? s : l(s.division);
t.divisions = e;
for (let t of e) u(t);
}
o.strictEqual(t.redacteur, void 0);
let c = t.classification;
o(c), n(c);
let d = t.auteurs;
if (d !== void 0) {
let e = Array.isArray(d) ? d : l(d.auteur);
t.auteurs = e;
for (let t of e) {
let e = t.organe;
e !== void 0 && (t.organeRef = e.organeRef, delete t.organe);
}
}
let f = t.notice;
r(f, "adoptionConforme");
let p = t.coSignataires;
if (p !== void 0) {
let e = Array.isArray(p) ? p : l(p.coSignataire);
t.coSignataires = e;
for (let t of e) {
n(t), r(t, "edite");
let e = t.acteur;
if (e !== void 0) {
let n = e.acteurRef;
o(n), delete t.acteur, t.acteurRef = n;
}
let i = t.organe;
i !== void 0 && r(i, "etApparentes");
}
}
let m = t.depotAmendements;
if (m !== void 0) {
n(m);
let e = m.amendementsSeance;
n(e), r(e, "amendable");
let t = m.amendementsCommission;
if (t !== void 0) {
let e = Array.isArray(t) ? t : l(t.commission);
m.amendementsCommission = e;
for (let t of e) n(t), r(t, "amendable"), o.strictEqual(t.dateLimiteDepot, void 0);
}
}
let h = t.imprimerie;
if (h != null) {
n(h);
let e = h.DIAN;
e !== void 0 && (delete h.DIAN, h.dian = e);
let t = h.ISBN;
t !== void 0 && (delete h.ISBN, h.isbn = t);
let r = h.ISSN;
r !== void 0 && (delete h.ISSN, h.issn = r);
}
r(t, "rapportPublie");
let g = t.organesReferents;
return g !== void 0 && (t.organesReferents = Array.isArray(g) ? g : l(g.organeRef)), t;
}
//#endregion
//#region src/cleaners/actes_legislatifs.ts
function d(e) {
return Array.isArray(e) ? e : [e];
}
function f(e) {
let t = e;
n(t);
let r = t["@xsi:type"];
r !== void 0 && (t.xsiType = r, delete t["@xsi:type"]);
let i = t.auteurs;
i !== void 0 && (t.auteursRefs = d(i.acteurRef), delete t.auteurs);
let a = t.casSaisine;
a !== void 0 && m(a);
let s = t.contributionInternaute;
s !== void 0 && n(s), o.strictEqual(t.dateRetrait, void 0);
let l = t.decision;
l !== void 0 && m(l);
let u = t.infoJO;
u !== void 0 && (h(u), t.infoJo = u, delete t.infoJO);
let g = t.infoJOCE;
if (g !== void 0) {
t.infoJoce = g, delete t.infoJOCE;
let e = g.refJOCE;
e !== void 0 && (g.refJoce = e, delete g.refJOCE);
let n = g.dateJOCE;
n !== void 0 && (g.dateJoce = n, delete g.dateJOCE);
}
let _ = t.infoJORect;
if (_ !== void 0) {
let e = d(_);
t.infoJoRect = e, delete t.infoJORect;
for (let t of e) h(t);
}
p(t);
let v = t.initiateurs;
v !== void 0 && (o.strictEqual(t.initiateur, void 0), !Array.isArray(v) && v.acteurRef === void 0 ? (o.notStrictEqual(v.organeRef, void 0), t.initiateur = { organeRef: v.organeRef }) : t.initiateur = { acteurs: d(v) }, delete t.initiateurs), o.strictEqual(t.odSeancejRef, void 0);
let y = t.provenance;
y !== void 0 && (delete t.provenance, t.provenanceRef = y);
let b = t.rapporteurs;
if (b !== void 0 && !Array.isArray(b)) {
let e = d(b.rapporteur);
t.rapporteurs = e;
for (let t of e) c(t);
}
let x = t.referenceNOR;
x !== void 0 && (t.referenceNor = x, delete t.referenceNOR), o.strictEqual(t.reunion, void 0);
let S = t.statutAdoption;
S !== void 0 && m(S);
let C = t.statutConclusion;
C !== void 0 && (m(C), C.famCode === "TSORTFnull" && delete t.statutConclusion);
let w = t.texteAdopte;
w !== void 0 && (delete t.texteAdopte, t.texteAdopteRef = w);
let T = t.texteAssocie;
T !== void 0 && (delete t.texteAssocie, t.texteAssocieRef = T);
let E = t.textesAssocies;
if (E !== void 0 && !Array.isArray(E)) {
let e = d(E.texteAssocie);
t.textesAssocies = e;
for (let t of e) {
let e = t.refTexteAssocie;
e !== void 0 && (delete t.refTexteAssocie, t.texteAssocieRef = e);
}
}
let D = t.typeDeclaration;
D !== void 0 && m(D);
let O = t.typeMotion;
O !== void 0 && m(O);
let k = t.typeMotionCensure;
k !== void 0 && m(k);
let A = t.voteRefs;
A !== void 0 && !Array.isArray(A) && (t.voteRefs = d(A.voteRef));
let j = t.actesLegislatifs;
if (j !== void 0 && !Array.isArray(j)) {
let e = d(j.acteLegislatif);
t.actesLegislatifs = e;
for (let t of e) f(t);
}
}
function p(e) {
let t = e, n = t.initiateur;
if (n !== void 0) {
let e = n.acteurs;
if (e !== void 0 && !Array.isArray(e)) {
let t = d(e.acteur);
t.length > 0 ? n.acteurs = t : delete n.acteurs;
}
let r = n.organes;
r !== void 0 && (n.organeRef = r.organe.organeRef.uid, o.notStrictEqual(n.organeRef, void 0), delete n.organes), n.acteurs === void 0 && n.organeRef === void 0 && delete t.initiateur;
}
}
function m(e) {
e.famCode = e.fam_code, delete e.fam_code, o(e.famCode), e.libelle || (e.libelle = e.famCode);
}
function h(e) {
n(e);
let t = e.typeJO;
t !== void 0 && (e.typeJo = t, delete e.typeJO);
let r = e.dateJO;
r !== void 0 && (e.dateJo = r, delete e.dateJO), o.strictEqual(e.pageJO, void 0);
let i = e.numJO;
i !== void 0 && (e.numJo = i, delete e.numJO);
let a = e.referenceNOR;
a !== void 0 && (e.referenceNor = a, delete e.referenceNOR);
}
//#endregion
//#region src/cleaners/dossiers_legislatifs.ts
function g(e) {
let t = e;
n(t);
let r = t["@xsi:type"];
r !== void 0 && (t.xsiType = r, delete t["@xsi:type"]);
let i = t.titreDossier;
n(i), p(t);
let a = t.actesLegislatifs;
if (a != null) {
let e = Array.isArray(a) ? a : a.acteLegislatif;
Array.isArray(e) || (o(e), e = [e]);
let n = e;
t.actesLegislatifs = n;
for (let e of n) f(e);
}
let s = t.PLF;
if (s !== void 0) {
let e = s.EtudePLF;
o(Array.isArray(e)), delete t.PLF, t.plf = e;
for (let t of e) {
let e = t.rapporteur;
if (e !== void 0) {
Array.isArray(e) || (o(e), e = [e]), delete t.rapporteur, t.rapporteurs = e;
for (let t of e) c(t);
}
let n = t.missionMinefi;
n !== void 0 && _(n), t.ordreDiqs = t.ordreDIQS, delete t.ordreDIQS, o(t.ordreDiqs);
}
}
return t;
}
function _(e) {
let t = e.missions;
if (t !== void 0) {
let n = Array.isArray(t) ? t : t.mission;
Array.isArray(n) || (o(n), n = [n]), e.missions = n;
for (let e of n) _(e);
}
}
//#endregion
//#region src/cleaners/organes.ts
function v(e) {
let t = e;
n(t);
let r = t["@xsi:type"];
r !== void 0 && (t.xsiType = r, delete t["@xsi:type"]);
let i = t.viMoDe;
i !== void 0 && n(i);
let a = t.organeParent;
a !== void 0 && (delete t.organeParent, t.organeParentRef = a), o.strictEqual(t.chambre, void 0);
let s = t.secretariat;
s !== void 0 && n(s);
let c = t.lieu;
if (c !== void 0) {
n(c);
let e = c.region;
e !== void 0 && n(e);
let t = c.departement;
t !== void 0 && n(t);
}
t.couleurAssociee === null && delete t.couleurAssociee;
let l = t.listePays;
if (l !== void 0) {
let e = Array.isArray(l) ? l : l.paysRef;
Array.isArray(e) || (o.strictEqual(typeof e, "string"), e = [e]), t.listePays = e;
}
return t;
}
//#endregion
//#region src/cleaners/reunions.ts
function y(e) {
n(e);
let t = e.chrono;
o(t);
{
n(t);
let e = t.creation;
o.strictEqual(typeof e, "string"), e = new Date(e), t.creation = e;
let r = t.cloture;
r !== void 0 && (o.strictEqual(typeof r, "string"), r = new Date(r), t.cloture = r);
}
}
function b(e) {
let t = e;
n(t), r(t, "captationVideo"), r(t, "comiteSecret"), r(t, "ouverturePresse");
let i = t["@xsi:type"];
i !== void 0 && (t.xsiType = i, delete t["@xsi:type"]);
let a = t.timeStampDebut;
o.notStrictEqual(a, void 0), t.timestampDebut = a, delete t.timeStampDebut;
let s = t.timeStampFin;
s !== void 0 && (o.strictEqual(typeof s, "string"), t.timestampFin = new Date(s), delete t.timeStampFin);
let c = t.lieu;
c !== void 0 && n(c);
let l = t.cycleDeVie;
o.notStrictEqual(l, void 0), y(l);
let u = t.demandeurs;
if (u != null) {
let e = u.acteur;
if (e !== void 0) {
Array.isArray(e) || (o.notStrictEqual(e, null), o.strictEqual(typeof e, "object"), e = [e]);
let t = e.filter((e) => e !== null);
u.acteurs = t, delete u.acteur;
for (let e of t) n(e);
}
let t = u.organe;
t !== void 0 && n(t);
}
let d = t.demandeur;
if (d != null) {
o.strictEqual(t.demandeurs, void 0), delete t.demandeur;
let e = d.acteur;
if (e !== void 0) {
o.notStrictEqual(e, null), o.strictEqual(typeof e, "object");
let r = [e];
d.acteurs = r, delete d.acteur, t.demandeurs = d;
for (let e of r) n(e);
}
let r = d.organe;
r !== void 0 && n(r);
}
let f = t.participants;
if (f != null) {
n(f);
let e = f.participantsInternes;
if (e != null) {
let t = Array.isArray(e) ? e : e.participantInterne;
Array.isArray(t) || (o.notStrictEqual(t, null), o.strictEqual(typeof t, "object"), t = [t]), f.participantsInternes = t;
}
let t = f.personnesAuditionnees;
if (t !== void 0) {
let e = Array.isArray(t) ? t : t === null ? null : t.personneAuditionnee;
if (e === null) delete f.personnesAuditionnees;
else {
Array.isArray(e) || (o.strictEqual(typeof e, "object"), e = [e]), e = e.filter((e) => e !== null), e.length > 0 ? f.personnesAuditionnees = e : delete f.personnesAuditionnees;
for (let t of e) {
let e = t.uid, r = e["@xsi:type"];
o(r), t.xsiType = r;
let i = e["#text"];
o(i), t.uid = i;
let a = t.ident;
o(a), n(a);
}
}
}
}
if (t.ODJ !== void 0 && t.ODJ !== null) {
let e = t.ODJ;
t.odj = e, delete t.ODJ;
{
n(e);
let t = e.convocationODJ;
t !== void 0 && (e.convocationOdj = Array.isArray(t.item) ? t.item : [t.item], delete e.convocationODJ);
let i = e.resumeODJ;
i !== void 0 && (e.resumeOdj = Array.isArray(i.item) ? i.item : [i.item], delete e.resumeODJ);
let a = e.pointsODJ;
if (a !== void 0) {
let t = Array.isArray(a.pointODJ) ? a.pointODJ : [a.pointODJ];
e.pointsOdj = t;
for (let e of t) {
n(e), r(e, "comiteSecret");
let t = e["@xsi:type"];
t !== void 0 && (e.xsiType = t, delete e["@xsi:type"]);
let i = e.cycleDeVie;
o.notStrictEqual(i, void 0), y(i), o.strictEqual(e.demandeurPoint, void 0);
let a = e.dossiersLegislatifsRefs;
a !== void 0 && (e.dossiersLegislatifsRefs = Array.isArray(a) ? a : Array.isArray(a.dossierRef) ? a.dossierRef : [a.dossierRef]), e.typePointOdj = e.typePointODJ, delete e.typePointODJ, o.strictEqual(e.textesAssocies, void 0), e.natureTravauxOdj = e.natureTravauxODJ, delete e.natureTravauxODJ;
let s = e.dateConfPres;
if (s !== void 0) {
o.strictEqual(typeof s, "string");
let t = s;
o(/^\d{4}-\d{2}-\d{2}\+\d{2}:00$/.test(t)), e.dateConfPres = new Date(t.split("+")[0]);
}
let c = e.dateLettreMinistre;
if (c !== void 0) {
o.strictEqual(typeof c, "string");
let t = c;
o(/^\d{4}-\d{2}-\d{2}\+\d{2}:00$/.test(t)), e.dateLettreMinistre = new Date(t.split("+")[0]);
}
}
delete e.pointsODJ;
}
}
}
let p = t.identifiants;
if (p !== void 0) {
n(p);
let e = p.numSeanceJO;
e !== void 0 && (p.numSeanceJo = e, delete p.numSeanceJO);
let t = p.idJO;
t !== void 0 && (p.idJo = t, delete p.idJO);
let r = p.DateSeance;
o.strictEqual(typeof r, "string");
let i = r;
o(/^\d{4}-\d{2}-\d{2}\+\d{2}:00$/.test(i)), p.dateSeance = new Date(i.split("+")[0]), delete p.DateSeance;
}
let m = t.infosReunionsInternationale;
if (m !== void 0) {
n(m), r(m, "estReunionInternationale");
let e = m.listePays;
if (e != null) {
let t = Array.isArray(e) ? e : e.paysRef;
Array.isArray(t) || (o.strictEqual(typeof t, "string"), t = [t]), m.listePays = t;
}
}
return t;
}
//#endregion
//#region src/cleaners/scrutins.ts
function x(e) {
return "votant" in e;
}
function S(e) {
if (e == null) return;
if (typeof e == "string") return o.strictEqual(e, "0"), [];
if (Array.isArray(e)) {
let t = e.filter((e) => e !== null);
if (t.length === 0 || !x(t[0])) return t;
let n = [];
for (let e of t) {
o(x(e));
let t = e.votant;
Array.isArray(t) ? n.push(...t) : n.push(t);
}
return n;
}
let t = [], n = e.votant;
return Array.isArray(n) ? t.push(...n) : t.push(n), t;
}
function C(e) {
n(e);
let t = e.nonVotants ?? e.nonVotant;
if (e.nonVotants === void 0 ? delete e.nonVotant : o.strictEqual(e.nonVotant, void 0), t !== void 0) {
let n = S(t);
if (n !== void 0 && n.length === 0) delete e.nonVotants;
else if (n !== void 0) {
e.nonVotants = n;
for (let e of n) E(e);
}
}
let r = e.pour ?? e.pours;
if (e.pour === void 0 ? delete e.pours : o.strictEqual(e.pours, void 0), r !== void 0) {
let t = S(r);
if (o(t), t.length === 0) delete e.pour;
else {
e.pour = t;
for (let e of t) E(e);
}
}
let i = e.contre ?? e.contres;
if (e.contre === void 0 ? delete e.contres : o.strictEqual(e.contres, void 0), i !== void 0) {
let t = S(i);
if (o(t), t.length === 0) delete e.contre;
else {
e.contre = t;
for (let e of t) E(e);
}
}
let a = e.abstentions ?? e.abstention;
if (e.abstentions === void 0 ? delete e.abstention : o.strictEqual(e.abstention, void 0), a !== void 0) {
let t = S(a);
if (o(t), t.length === 0) delete e.abstentions;
else {
e.abstentions = t;
for (let e of t) E(e);
}
}
let s = e.nonVotantsVolontaires;
if (s !== void 0) {
let t = S(s);
if (o(t), t.length === 0) delete e.nonVotantsVolontaires;
else {
e.nonVotantsVolontaires = t;
for (let e of t) E(e);
}
}
}
function w(e) {
n(e), e.abstention !== void 0 && (o.strictEqual(e.abstentions, void 0), e.abstentions = e.abstention, delete e.abstention), e.nonVotant !== void 0 && (o.strictEqual(e.nonVotants, void 0), e.nonVotants = e.nonVotant, delete e.nonVotant);
}
function T(e) {
let t = e;
n(t);
let r = t.demandeur;
n(r), o.strictEqual(r.referenceLegislative, void 0);
let i = t.objet;
n(i), o.strictEqual(i.referenceLegislative, void 0);
let a = t.miseAuPoint;
if (a !== void 0) {
C(a);
let e = a.dysfonctionnement;
e !== void 0 && (C(e), Object.values(e).every((e) => e === void 0) && delete a.dysfonctionnement), Object.values(a).every((e) => e === void 0) && delete t.miseAuPoint;
}
let s = t.syntheseVote;
w(s.decompte);
let c = t.ventilationVotes.organe;
o(c);
let l = c.groupes.groupe;
o(Array.isArray(l));
for (let e of l) {
let t = e.vote;
w(t.decompteVoix), C(t.decompteNominatif);
}
return t.ventilationVotes = {
...c,
groupes: l
}, t;
}
function E(e) {
r(e, "parDelegation"), i(e, "numPlace");
}
//#endregion
//#region src/cleaners/questions.ts
function D(t) {
let r = e.parse(t);
return n(r, { recursive: !0 }), r;
}
//#endregion
//#region src/cleaners/debats.ts
function O(e) {
let r = t.parse(e);
return n(r, { recursive: !0 }), r;
}
//#endregion
export { s as cleanActeur, a as cleanAmendement, O as cleanCompteRendu, u as cleanDocumentOrDivision, g as cleanDossierParlementaire, v as cleanOrgane, D as cleanQuestion, b as cleanReunion, T as cleanScrutin };