UNPKG

@tricoteuses/assemblee

Version:

Retrieve, clean up & handle French Assemblée nationale's open data

615 lines (614 loc) 18.7 kB
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 };