@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
155 lines (154 loc) • 4.48 kB
JavaScript
import c from "node:assert";
import { b as d } from "./amendements-40Z7OJLT.js";
const b = {
false: !1,
true: !0
}, C = "http://schemas.assemblee-nationale.fr/referentiel", x = "http://www.w3.org/2001/XMLSchema-instance";
function A(e, i) {
const t = e[i];
if (t == null) {
delete e[i];
return;
}
const r = b[t];
return c.notStrictEqual(
r,
void 0,
`Invalid boolean value: ${i} = ${t}`
), e[i] = r, r;
}
function _(e, i) {
const t = e[i];
if (t == null) {
delete e[i];
return;
}
const r = Number.parseInt(t);
return c(
!Number.isNaN(r),
`Invalid number value: ${i} = ${t}`
), e[i] = r, r;
}
function a(e) {
const i = e["@xmlns"] ?? e.xmlns;
i !== void 0 && (c.strictEqual(i, C), delete e["@xmlns"], delete e.xmlns), e["@xmlns:xsi"] === x && delete e["@xmlns:xsi"];
for (const t in e) {
const r = e[t];
if (r === null) {
delete e[t];
continue;
}
r !== void 0 && (r["@xsi:nil"] === "true" || Array.isArray(r) && r.length === 0 || !Array.isArray(r) && r.constructor === Object && Object.keys(r).length === 0) && delete e[t];
}
}
function S(e) {
a(e);
const i = e.signataires;
{
a(i);
const s = i.auteur;
if (a(s), i.cosignataires !== void 0) {
const o = i.cosignataires.acteurRef;
Array.isArray(o) ? i.cosignatairesRefs = o : (c(o), i.cosignatairesRefs = [o]), delete i.cosignataires;
}
let n = i.libelle;
n !== void 0 && (n = n.split(" ").filter(Boolean).join(" "), n ? i.libelle = n : delete i.libelle);
}
const t = e.pointeurFragmentTexte;
{
a(t);
const s = t.division;
if (s !== void 0) {
a(s);
let o = s.avant_A_Apres;
o !== void 0 && (delete s.avant_A_Apres, o === "Après" && (o = d.Apres), s.avantAApres = o);
}
const n = t.amendementStandard;
if (n !== void 0) {
a(n);
const o = n.alinea;
if (o !== void 0) {
a(o);
let f = o.avant_A_Apres;
f !== void 0 && (delete o.avant_A_Apres, f === "Après" ? f = d.Apres : [d.A, d.Apres, d.Avant].includes(
f
) || (f = d.A), o.avantAApres = f), t.alinea = o;
}
delete t.amendementStandard;
}
}
const r = e.corps;
if (r !== void 0) {
a(r);
const s = r.contenuAuteur;
if (s !== void 0) {
a(s);
const n = s.avantAppel;
n !== void 0 && (a(n), v(n.dispositifAmdtCreditPLF, {
rectificatif: !1
}), v(n.dispositifAmdtCreditPLFR, {
rectificatif: !0
}), Object.keys(n).length === 0 && delete s.avantAppel), c.strictEqual(s.annexeExposeSommaire, void 0), v(s.dispositifAmdtCreditPLF, {
rectificatif: !1
}), v(s.dispositifAmdtCreditPLFR, {
rectificatif: !0
});
}
}
const l = e.cycleDeVie;
if (l !== void 0) {
a(l);
const s = l.etatDesTraitements;
{
a(s);
const n = s.etat;
a(n);
const o = s.sousEtat;
o !== void 0 && a(o);
}
}
if (e.representations !== void 0) {
const s = e.representations.representation;
c(!Array.isArray(s)), e.representation = s, delete e.representations;
{
a(s), c.strictEqual(s.repSource, void 0), c.strictEqual(s.offset, void 0), c.strictEqual(s.dateDispoRepresentation, void 0);
const n = s.statutRepresentation;
A(n, "canonique"), A(n, "enregistrement"), A(n, "officielle"), A(n, "transcription"), A(n, "verbatim");
}
}
const u = e.loiReference;
u !== void 0 && a(u);
const p = e.discussionCommune;
p !== void 0 && a(p);
const g = e.discussionIdentique;
g !== void 0 && a(g);
}
function v(e, { rectificatif: i }) {
if (e !== void 0) {
const t = e.listeProgrammes?.programme;
if (t !== void 0) {
Array.isArray(t) ? e.listeProgrammes = t : (c(t), e.listeProgrammes = [t]);
for (const r of e.listeProgrammes)
if (a(r), r.lignesCredits !== void 0) {
let l = r.lignesCredits.ligneCredit;
if (l === void 0 ? delete r.lignesCredits : (Array.isArray(l) || (c(l), l = [l]), r.lignesCredits = l), l !== void 0)
for (const u of l)
i ? m(u) : a(u);
}
}
}
}
function m(e) {
if (a(e), e.lignesCredits !== void 0) {
let i = e.lignesCredits.ligneCredit;
if (i === void 0 ? delete e.lignesCredits : (Array.isArray(i) || (c(i), i = [i]), e.lignesCredits = i), i !== void 0)
for (const t of i)
m(t);
}
}
export {
A as a,
_ as b,
a as c,
S as d
};