UNPKG

@tricoteuses/assemblee

Version:

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

153 lines (152 loc) 4.79 kB
import { n as e } from "./amendements-D3Jr9MQa.js"; import t from "node:assert"; //#region src/cleaners/xml.ts var n = { false: !1, true: !0 }, r = "http://schemas.assemblee-nationale.fr/referentiel", i = "http://www.w3.org/2001/XMLSchema-instance"; function a(e, r) { let i = e[r]; if (i == null) { delete e[r]; return; } let a = n[i]; return t.notStrictEqual(a, void 0, `Invalid boolean value: ${r} = ${i}`), e[r] = a, a; } function o(e, n) { let r = e[n]; if (r == null) { delete e[n]; return; } let i = Number.parseInt(r); return t(!Number.isNaN(i), `Invalid number value: ${n} = ${r}`), e[n] = i, i; } function s(e, { recursive: n } = {}) { if (e != null) { if (Array.isArray(e)) { if (e.length === 0) return; if (n) for (let [t, r] of e.entries()) { let i = s(r, { recursive: n }); i !== r && (e[t] = i ?? null); } return e; } if (typeof e == "object" && e.constructor === Object) { let a = e; if (Object.keys(a).length === 0 || a["@xsi:nil"] === "true") return; let o = a["@xmlns"] ?? a.xmlns; if (o !== void 0 && (t.strictEqual(o, r), delete a["@xmlns"], delete a.xmlns), a["@xmlns:xsi"] === i && delete a["@xmlns:xsi"], n) for (let [e, t] of Object.entries(a)) { let r = s(t, { recursive: n }); r === void 0 ? delete a[e] : r !== t && (a[e] = r); } else for (let [e, t] of Object.entries(a)) (t == null || t["@xsi:nil"] === "true" || Array.isArray(t) && t.length === 0 || !Array.isArray(t) && t.constructor === Object && Object.keys(t).length === 0) && delete a[e]; return Object.keys(a).length === 0 ? void 0 : a; } return e; } } //#endregion //#region src/cleaners/amendements.ts function c(e) { return Array.isArray(e) ? e : [e]; } function l(t) { return t === "Après" ? "Apres" : e.includes(t) ? t : "A"; } function u(e) { let n = e; s(n); let r = n.signataires; s(r); let i = r.auteur; s(i); let o = r.cosignataires; if (o !== void 0) { let e = o.acteurRef; e !== void 0 && (r.cosignatairesRefs = c(e)), delete r.cosignataires; } let u = r.libelle; if (u !== void 0) { let e = u.replace(/ |\u00A0/g, " ").split(" ").filter(Boolean).join(" "); e ? r.libelle = e : delete r.libelle; } let f = n.pointeurFragmentTexte; s(f); let p = f.division; if (p !== void 0) { s(p); let e = p.avant_A_Apres; e !== void 0 && (delete p.avant_A_Apres, p.avantAApres = e === "Après" ? "Apres" : e); } let m = f.amendementStandard; if (m !== void 0) { s(m); let e = m.alinea; if (e !== void 0) { s(e); let t = e.avant_A_Apres; typeof t == "string" && (delete e.avant_A_Apres, e.avantAApres = l(t)), f.alinea = e; } delete f.amendementStandard; } let h = n.corps; if (h !== void 0) { s(h); let e = h.contenuAuteur; if (e !== void 0) { s(e); let n = e.avantAppel; n !== void 0 && (s(n), d(n.dispositifAmdtCreditPLF, { rectificatif: !1 }), d(n.dispositifAmdtCreditPLFR, { rectificatif: !0 }), Object.keys(n).length === 0 && delete e.avantAppel), t.strictEqual(e.annexeExposeSommaire, void 0), d(e.dispositifAmdtCreditPLF, { rectificatif: !1 }), d(e.dispositifAmdtCreditPLFR, { rectificatif: !0 }); } } let g = n.cycleDeVie; if (g !== void 0) { s(g); let e = g.etatDesTraitements; s(e), s(e.etat), e.sousEtat !== void 0 && s(e.sousEtat); } let _ = n.representations; if (_ !== void 0) { let e = _.representation; t(!Array.isArray(e)), n.representation = e, delete n.representations, s(e), t.strictEqual(e.repSource, void 0), t.strictEqual(e.offset, void 0), t.strictEqual(e.dateDispoRepresentation, void 0); let r = e.statutRepresentation; a(r, "canonique"), a(r, "enregistrement"), a(r, "officielle"), a(r, "transcription"), a(r, "verbatim"); } return n.loiReference !== void 0 && s(n.loiReference), n.discussionCommune !== void 0 && s(n.discussionCommune), n.discussionIdentique !== void 0 && s(n.discussionIdentique), n; } function d(e, { rectificatif: t }) { if (e !== void 0) { let n = e.listeProgrammes, r = n === void 0 ? void 0 : Array.isArray(n) ? n : n.programme === void 0 ? void 0 : c(n.programme); if (r !== void 0) { e.listeProgrammes = r; for (let e of r) { s(e); let n = e.lignesCredits; if (n !== void 0) { let r = Array.isArray(n) ? n : n.ligneCredit === void 0 ? void 0 : c(n.ligneCredit); if (r === void 0) delete e.lignesCredits; else { e.lignesCredits = r; for (let e of r) t ? f(e) : s(e); } } } } } } function f(e) { s(e); let t = e.lignesCredits; if (t !== void 0) { let n = Array.isArray(t) ? t : t.ligneCredit === void 0 ? void 0 : c(t.ligneCredit); if (n === void 0) delete e.lignesCredits; else { e.lignesCredits = n; for (let e of n) f(e); } } } //#endregion export { s as i, a as n, o as r, u as t };