UNPKG

@tricoteuses/senat

Version:

Handle French Sénat's open data

377 lines (376 loc) 14.6 kB
export function insertAudReferences(aud, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.aud; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.aud = new Set(); } if (!visitedIds.has(aud.audcle)) { visitedIds.add(aud.audcle); if (aud.orgcod !== null && data.org !== undefined) { const org = data.org[aud.orgcod]; if (org !== undefined) { aud.org = org; // insertOrgReferences(org, data, visitedIdsByTableName) } } // TODO } return aud; } export function insertAuteurReferences(auteur, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.auteur; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.auteur = new Set(); } if (!visitedIds.has(auteur.autcod)) { visitedIds.add(auteur.autcod); if (data.qua !== undefined) { const qua = data.qua[auteur.quacod]; if (qua !== undefined) { auteur.qua = qua; // insertQuaReferences(qua, data, visitedIdsByTableName) } } // TODO } return auteur; } export function insertDateSeanceReferences(dateSeance, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.date_seance; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.date_seance = new Set(); } if (!visitedIds.has(dateSeance.code)) { visitedIds.add(dateSeance.code); if (dateSeance.date_s !== null && data.debats !== undefined) { const dateString = dateSeance.date_s instanceof Date ? dateSeance.date_s.toISOString() : dateSeance.date_s; const debat = data.debats[dateString]; if (debat !== undefined) { dateSeance.debat = debat; // insertDebatReferences(debat, data, visitedIdsByTableName) } } dateSeance.scrs = []; if (dateSeance.scrids !== undefined && data.scr !== undefined) { for (const scrid of dateSeance.scrids) { const scr = data.scr[scrid]; if (scr !== undefined) { dateSeance.scrs.push(scr); // insertScrReferences(scr, data, visitedIdsByTableName) } } } } return dateSeance; } export function insertDocAttReferences(docatt, data, visitedIdsByTableName, performInsertRapReferences = true) { let visitedIds = visitedIdsByTableName.docatt; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.docatt = new Set(); } if (!visitedIds.has(docatt.docattcle)) { visitedIds.add(docatt.docattcle); if (performInsertRapReferences && docatt.rapcod !== null && data.rap !== undefined) { const rap = data.rap[docatt.rapcod]; if (rap !== undefined) { docatt.rap = rap; insertRapReferences(rap, data, visitedIdsByTableName); } } if (docatt.typattcod !== null && data.typatt !== undefined) { const typatt = data.typatt[docatt.typattcod]; if (typatt !== undefined) { docatt.typatt = typatt; // insertTypAttReferences(typatt, data, visitedIdsByTableName) } } } return docatt; } export function insertEcrReferences(ecr, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.ecr; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.ecr = new Set(); } if (!visitedIds.has(ecr.ecrnum)) { visitedIds.add(ecr.ecrnum); if (ecr.autcod !== null && data.auteur !== undefined) { const aut = data.auteur[ecr.autcod]; if (aut !== undefined) { ecr.aut = aut; insertAuteurReferences(aut, data, visitedIdsByTableName); } } // TODO } return ecr; } export function insertLecassrapReferences(lecassrap, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.lecassrap; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.lecassrap = new Set(); } const lecasrapid = `${lecassrap.lecassidt} ${lecassrap.rapcod}`; if (!visitedIds.has(lecasrapid)) { visitedIds.add(lecasrapid); if (lecassrap.rapcod !== null && data.rap !== undefined) { const rap = data.rap[lecassrap.rapcod]; if (rap !== undefined) { lecassrap.rap = rap; insertRapReferences(rap, data, visitedIdsByTableName); } } } return lecassrap; } export function insertLecassReferences(lecass, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.lecass; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.lecass = new Set(); } if (!visitedIds.has(lecass.lecassidt)) { visitedIds.add(lecass.lecassidt); if (lecass.codass !== null && data.ass !== undefined) { const ass = data.ass[lecass.codass]; if (ass !== undefined) { lecass.ass = ass; // insertAssReferences(ass, data, visitedIdsByTableName) } } if (lecass.orgcod !== null && data.org !== undefined) { const org = data.org[lecass.orgcod]; if (org !== undefined) { lecass.org = org; // insertOrgReferences(org, data, visitedIdsByTableName) } } lecass.auds = []; if (lecass.audcles !== undefined && data.aud !== undefined) { for (const audcle of lecass.audcles) { const aud = data.aud[audcle]; if (aud !== undefined) { lecass.auds.push(aud); insertAudReferences(aud, data, visitedIdsByTableName); } } } lecass.datesSeances = []; if (lecass.datesSeancesCodes !== undefined && data.date_seance !== undefined) { for (const dateSeanceCode of lecass.datesSeancesCodes) { const dateSeance = data.date_seance[dateSeanceCode]; if (dateSeance !== undefined) { lecass.datesSeances.push(dateSeance); insertDateSeanceReferences(dateSeance, data, visitedIdsByTableName); } } } lecass.lecassraps = []; if (lecass.lecassrapids !== undefined && data.lecassrap !== undefined) { for (const lecassrapid of lecass.lecassrapids) { const lecassrap = data.lecassrap[lecassrapid]; if (lecassrap !== undefined) { lecass.lecassraps.push(lecassrap); insertLecassrapReferences(lecassrap, data, visitedIdsByTableName); } } } lecass.textes = []; if (lecass.texcods !== undefined && data.texte !== undefined) { for (const texcod of lecass.texcods) { const texte = data.texte[texcod]; if (texte !== undefined) { lecass.textes.push(texte); insertTexteReferences(texte, data, visitedIdsByTableName); } } } } return lecass; } export function insertLectureReferences(lecture, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.lecture; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.lecture = new Set(); } if (!visitedIds.has(lecture.lecidt)) { visitedIds.add(lecture.lecidt); if (lecture.typleccod !== null && data.typlec !== undefined) { const typlec = data.typlec[lecture.typleccod]; if (typlec !== undefined) { lecture.typlec = typlec; // insertTyplecReferences(typlec, data, visitedIdsByTableName) } } lecture.lecasss = []; if (lecture.lecassidts !== undefined && data.lecass !== undefined) { for (const lecassidt of lecture.lecassidts) { const lecass = data.lecass[lecassidt]; if (lecass !== undefined) { lecture.lecasss.push(lecass); insertLecassReferences(lecass, data, visitedIdsByTableName); } } } } return lecture; } export function insertLoiReferences(loi, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.loi; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.loi = new Set(); } if (!visitedIds.has(loi.loicod)) { visitedIds.add(loi.loicod); if (loi.typloicod !== null && data.typloi !== undefined) { const typloi = data.typloi[loi.typloicod]; if (typloi !== undefined) { loi.typloi = typloi; // insertTyploiReferences(typloi, data, visitedIdsByTableName) } } if (loi.etaloicod !== null && data.etaloi !== undefined) { const etaloi = data.etaloi[loi.etaloicod]; if (etaloi !== undefined) { loi.etaloi = etaloi; // insertEtaloiReferences(etaloi, data, visitedIdsByTableName) } } if (loi.deccoccod !== null && data.deccoc !== undefined) { const deccoc = data.deccoc[loi.deccoccod]; if (deccoc !== undefined) { loi.deccoc = deccoc; // insertDeccocReferences(deccoc, data, visitedIdsByTableName) } } loi.lectures = []; if (loi.lecidts !== undefined && data.lecture !== undefined) { for (const lecidt of loi.lecidts) { const lecture = data.lecture[lecidt]; if (lecture !== undefined) { loi.lectures.push(lecture); insertLectureReferences(lecture, data, visitedIdsByTableName); } } } } return loi; } export function insertQuestionReferences(question, // @ts-ignore TO BE REMOVED WHEN DONE data, // @ts-ignore TO BE REMOVED WHEN DONE visitedIdsByTableName) { // TODO return question; } export function insertRapReferences(rap, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.rap; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.rap = new Set(); } if (!visitedIds.has(rap.rapcod)) { visitedIds.add(rap.rapcod); if (rap.coddenrap !== null && data.denrap !== undefined) { const denrap = data.denrap[rap.coddenrap]; if (denrap !== undefined) { rap.denrap = denrap; // insertDenrapReferences(denrap, data, visitedIdsByTableName) } } rap.docatts = []; if (rap.docattcles !== undefined && data.docatt !== undefined) { for (const docattcle of rap.docattcles) { const docatt = data.docatt[docattcle]; if (docatt !== undefined) { rap.docatts.push(docatt); insertDocAttReferences(docatt, data, visitedIdsByTableName, false); } } } rap.ecrs = []; if (rap.ecrnums !== undefined && data.ecr !== undefined) { for (const ecrnum of rap.ecrnums) { const ecr = data.ecr[ecrnum]; if (ecr !== undefined) { rap.ecrs.push(ecr); insertEcrReferences(ecr, data, visitedIdsByTableName); } } } rap.orgs = []; if (rap.orgcods !== undefined && data.org !== undefined) { for (const orgcod of rap.orgcods) { const org = data.org[orgcod]; if (org !== undefined) { rap.orgs.push(org); // insertOrgReferences(org, data, visitedIdsByTableName) } } } } return rap; } export function insertSenReferences(sen, // @ts-ignore TO BE REMOVED WHEN DONE data, // @ts-ignore TO BE REMOVED WHEN DONE visitedIdsByTableName) { // TODO return sen; } export function insertTexteReferences(texte, data, visitedIdsByTableName) { let visitedIds = visitedIdsByTableName.texte; if (visitedIds === undefined) { visitedIds = visitedIdsByTableName.texte = new Set(); } if (!visitedIds.has(texte.texcod)) { visitedIds.add(texte.texcod); texte.ecrs = []; if (texte.ecrnums !== undefined && data.ecr !== undefined) { for (const ecrnum of texte.ecrnums) { const ecr = data.ecr[ecrnum]; if (ecr !== undefined) { texte.ecrs.push(ecr); insertEcrReferences(ecr, data, visitedIdsByTableName); } } } if (texte.orgcod !== null && data.org !== undefined) { const org = data.org[texte.orgcod]; if (org !== undefined) { texte.org = org; // insertOrgReferences(org, data, visitedIdsByTableName) } } if (texte.oritxtcod !== null && data.oritxt !== undefined) { const oritxt = data.oritxt[texte.oritxtcod]; if (oritxt !== undefined) { texte.oritxt = oritxt; // insertOritxtReferences(oritxt, data, visitedIdsByTableName) } } if (texte.txtAmeliId !== undefined && data.txt_ameli !== undefined) { const txtAmeli = data.txt_ameli[texte.txtAmeliId]; if (txtAmeli !== undefined) { texte.txtAmeli = txtAmeli; } } if (texte.typtxtcod !== null && data.typtxt !== undefined) { const typtxt = data.typtxt[texte.typtxtcod]; if (typtxt !== undefined) { texte.typtxt = typtxt; // insertTyptxtReferences(typtxt, data, visitedIdsByTableName) } } if (texte.typurl !== null && data.typurl !== undefined) { const typurl = data.typurl[texte.typurl]; if (typurl !== undefined) { texte.libtypurl = typurl.libtypurl; // insertTypurlReferences(typurl, data, visitedIdsByTableName) } } // TODO } return texte; }