@tricoteuses/senat 0.3.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +55 -0
  2. package/lib/aggregates.d.ts +54 -0
  3. package/lib/aggregates.js +1122 -0
  4. package/lib/aggregates.mjs +802 -0
  5. package/lib/aggregates.ts +947 -0
  6. package/lib/config.d.ts +2 -0
  7. package/lib/config.js +49 -0
  8. package/lib/config.mjs +16 -0
  9. package/lib/config.ts +26 -0
  10. package/lib/databases.d.ts +11 -0
  11. package/lib/databases.js +125 -0
  12. package/lib/databases.mjs +26 -0
  13. package/lib/databases.ts +32 -0
  14. package/lib/datasets.d.ts +28 -0
  15. package/lib/datasets.js +93 -0
  16. package/lib/datasets.mjs +78 -0
  17. package/lib/datasets.ts +118 -0
  18. package/lib/fields.d.ts +10 -0
  19. package/lib/fields.js +68 -0
  20. package/lib/fields.mjs +22 -0
  21. package/lib/fields.ts +29 -0
  22. package/lib/index.d.ts +6 -5
  23. package/lib/index.js +236 -7
  24. package/lib/index.mjs +6 -1
  25. package/lib/index.ts +59 -0
  26. package/lib/inserters.d.ts +6 -2
  27. package/lib/inserters.js +86 -191
  28. package/lib/inserters.mjs +19 -3
  29. package/lib/inserters.ts +545 -0
  30. package/lib/model/ameli.d.ts +4 -0
  31. package/lib/model/ameli.js +167 -0
  32. package/lib/model/ameli.mjs +57 -0
  33. package/lib/model/ameli.ts +86 -0
  34. package/lib/model/debats.d.ts +4 -0
  35. package/lib/model/debats.js +123 -0
  36. package/lib/model/debats.mjs +43 -0
  37. package/lib/model/debats.ts +68 -0
  38. package/lib/model/dosleg.d.ts +29 -0
  39. package/lib/model/dosleg.js +840 -0
  40. package/lib/model/dosleg.mjs +337 -0
  41. package/lib/model/dosleg.ts +558 -0
  42. package/lib/model/index.d.ts +5 -0
  43. package/lib/model/index.js +48 -0
  44. package/lib/model/index.mjs +5 -0
  45. package/lib/model/index.ts +11 -0
  46. package/lib/model/questions.d.ts +2 -0
  47. package/lib/model/questions.js +52 -0
  48. package/lib/model/questions.mjs +8 -0
  49. package/lib/model/questions.ts +14 -0
  50. package/lib/model/sens.d.ts +2 -0
  51. package/lib/model/sens.js +57 -0
  52. package/lib/model/sens.mjs +9 -0
  53. package/lib/model/sens.ts +18 -0
  54. package/lib/model/util.d.ts +1 -0
  55. package/lib/model/util.js +60 -0
  56. package/lib/model/util.mjs +10 -0
  57. package/lib/model/util.ts +16 -0
  58. package/lib/raw_types/ameli.d.ts +416 -410
  59. package/lib/raw_types/ameli.js +26 -144
  60. package/lib/raw_types/ameli.ts +601 -0
  61. package/lib/raw_types/debats.d.ts +82 -80
  62. package/lib/raw_types/debats.js +8 -42
  63. package/lib/raw_types/debats.ts +145 -0
  64. package/lib/raw_types/dosleg.d.ts +936 -920
  65. package/lib/raw_types/dosleg.js +5 -345
  66. package/lib/raw_types/dosleg.ts +2193 -0
  67. package/lib/raw_types/questions.d.ts +226 -2
  68. package/lib/raw_types/questions.js +18 -5
  69. package/lib/raw_types/questions.mjs +1 -8
  70. package/lib/raw_types/questions.ts +249 -0
  71. package/lib/raw_types/sens.d.ts +1180 -1176
  72. package/lib/raw_types/sens.js +3 -397
  73. package/lib/raw_types/sens.ts +2907 -0
  74. package/lib/scripts/convert_data.d.ts +1 -0
  75. package/lib/scripts/convert_data.js +284 -0
  76. package/lib/scripts/convert_data.mjs +146 -0
  77. package/lib/scripts/convert_data.ts +182 -0
  78. package/lib/scripts/fix_db.d.ts +1 -0
  79. package/lib/scripts/fix_db.js +144 -0
  80. package/lib/scripts/fix_db.mjs +64 -0
  81. package/lib/scripts/fix_db.ts +75 -0
  82. package/lib/scripts/images/transparent_150x192.jpg +0 -0
  83. package/lib/scripts/images/transparent_155x225.jpg +0 -0
  84. package/lib/scripts/retrieve_open_data.d.ts +1 -0
  85. package/lib/scripts/retrieve_open_data.js +371 -0
  86. package/lib/scripts/retrieve_open_data.mjs +218 -0
  87. package/lib/scripts/retrieve_open_data.ts +258 -0
  88. package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
  89. package/lib/scripts/retrieve_senateurs_photos.js +268 -0
  90. package/lib/scripts/retrieve_senateurs_photos.mjs +164 -0
  91. package/lib/scripts/retrieve_senateurs_photos.ts +200 -0
  92. package/lib/scripts/retrieve_textes.d.ts +1 -0
  93. package/lib/scripts/retrieve_textes.js +179 -0
  94. package/lib/scripts/retrieve_textes.mjs +77 -0
  95. package/lib/scripts/retrieve_textes.ts +95 -0
  96. package/lib/strings.d.ts +1 -0
  97. package/lib/strings.js +49 -0
  98. package/lib/strings.mjs +18 -0
  99. package/lib/strings.ts +26 -0
  100. package/lib/types/ameli.d.ts +5 -0
  101. package/lib/types/ameli.js +7 -4
  102. package/lib/types/ameli.mjs +13 -1
  103. package/lib/types/ameli.ts +21 -0
  104. package/lib/types/debats.d.ts +2 -0
  105. package/lib/types/debats.js +4 -3
  106. package/lib/types/debats.mjs +2 -1
  107. package/lib/types/debats.ts +6 -0
  108. package/lib/types/dosleg.d.ts +28 -0
  109. package/lib/types/dosleg.js +30 -3
  110. package/lib/types/dosleg.mjs +151 -1
  111. package/lib/types/dosleg.ts +284 -0
  112. package/lib/types/questions.d.ts +2 -0
  113. package/lib/types/questions.js +13 -1
  114. package/lib/types/questions.mjs +1 -1
  115. package/lib/types/questions.ts +3 -0
  116. package/lib/types/sens.d.ts +2 -0
  117. package/lib/types/sens.js +4 -3
  118. package/lib/types/sens.mjs +23 -1
  119. package/lib/types/sens.ts +36 -0
  120. package/lib/typings/windows-1252.d.js +2 -0
  121. package/lib/typings/windows-1252.d.mjs +2 -0
  122. package/lib/typings/windows-1252.d.ts +11 -0
  123. package/lib/validators/config.d.ts +1 -0
  124. package/lib/validators/config.js +121 -0
  125. package/lib/validators/config.mjs +54 -0
  126. package/lib/validators/config.ts +79 -0
  127. package/lib/validators/senat.d.ts +0 -0
  128. package/lib/validators/senat.js +28 -0
  129. package/lib/validators/senat.mjs +24 -0
  130. package/lib/validators/senat.ts +26 -0
  131. package/package.json +35 -4
package/lib/inserters.mjs CHANGED
@@ -64,14 +64,14 @@ export function insertDateSeanceReferences(dateSeance, data, visitedIdsByTableNa
64
64
  }
65
65
  return dateSeance;
66
66
  }
67
- export function insertDocAttReferences(docatt, data, visitedIdsByTableName) {
67
+ export function insertDocAttReferences(docatt, data, visitedIdsByTableName, performInsertRapReferences = true) {
68
68
  let visitedIds = visitedIdsByTableName.docatt;
69
69
  if (visitedIds === undefined) {
70
70
  visitedIds = visitedIdsByTableName.docatt = new Set();
71
71
  }
72
72
  if (!visitedIds.has(docatt.docattcle)) {
73
73
  visitedIds.add(docatt.docattcle);
74
- if (docatt.rapcod !== null && data.rap !== undefined) {
74
+ if (performInsertRapReferences && docatt.rapcod !== null && data.rap !== undefined) {
75
75
  const rap = data.rap[docatt.rapcod];
76
76
  if (rap !== undefined) {
77
77
  docatt.rap = rap;
@@ -256,6 +256,14 @@ export function insertLoiReferences(loi, data, visitedIdsByTableName) {
256
256
  }
257
257
  return loi;
258
258
  }
259
+ export function insertQuestionReferences(question,
260
+ // @ts-ignore TO BE REMOVED WHEN DONE
261
+ data,
262
+ // @ts-ignore TO BE REMOVED WHEN DONE
263
+ visitedIdsByTableName) {
264
+ // TODO
265
+ return question;
266
+ }
259
267
  export function insertRapReferences(rap, data, visitedIdsByTableName) {
260
268
  let visitedIds = visitedIdsByTableName.rap;
261
269
  if (visitedIds === undefined) {
@@ -276,7 +284,7 @@ export function insertRapReferences(rap, data, visitedIdsByTableName) {
276
284
  const docatt = data.docatt[docattcle];
277
285
  if (docatt !== undefined) {
278
286
  rap.docatts.push(docatt);
279
- insertDocAttReferences(docatt, data, visitedIdsByTableName);
287
+ insertDocAttReferences(docatt, data, visitedIdsByTableName, false);
280
288
  }
281
289
  }
282
290
  }
@@ -303,6 +311,14 @@ export function insertRapReferences(rap, data, visitedIdsByTableName) {
303
311
  }
304
312
  return rap;
305
313
  }
314
+ export function insertSenReferences(sen,
315
+ // @ts-ignore TO BE REMOVED WHEN DONE
316
+ data,
317
+ // @ts-ignore TO BE REMOVED WHEN DONE
318
+ visitedIdsByTableName) {
319
+ // TODO
320
+ return sen;
321
+ }
306
322
  export function insertTexteReferences(texte, data, visitedIdsByTableName) {
307
323
  let visitedIds = visitedIdsByTableName.texte;
308
324
  if (visitedIds === undefined) {
@@ -0,0 +1,545 @@
1
+ import { TxtAmeli } from "./types/ameli"
2
+ import { Debat } from "./types/debats"
3
+ import {
4
+ Ass,
5
+ Aud,
6
+ Auteur,
7
+ DateSeance,
8
+ DecCoc,
9
+ DenRap,
10
+ DocAtt,
11
+ Ecr,
12
+ EtaLoi,
13
+ LecAss,
14
+ LecAssRap,
15
+ Lecture,
16
+ Loi,
17
+ Org,
18
+ OriTxt,
19
+ Qua,
20
+ Rap,
21
+ Scr,
22
+ Texte,
23
+ TypAtt,
24
+ TypLec,
25
+ TypLoi,
26
+ TypTxt,
27
+ TypUrl,
28
+ } from "./types/dosleg"
29
+ import { Question } from "./types/questions"
30
+ import { Sen } from "./types/sens"
31
+
32
+ export interface OutputData {
33
+ readonly ass?: { [id: string]: Ass }
34
+ readonly aud?: { [id: string]: Aud }
35
+ readonly auteur?: { [id: string]: Auteur }
36
+ readonly date_seance?: { [id: string]: DateSeance }
37
+ readonly debats?: { [id: string]: Debat }
38
+ readonly deccoc?: { [id: string]: DecCoc }
39
+ readonly denrap?: { [id: string]: DenRap }
40
+ readonly docatt?: { [id: string]: DocAtt }
41
+ readonly ecr?: { [id: string]: Ecr }
42
+ readonly etaloi?: { [id: string]: EtaLoi }
43
+ readonly lecass?: { [id: string]: LecAss }
44
+ readonly lecassrap?: { [id: string]: LecAssRap }
45
+ readonly lecture?: { [id: string]: Lecture }
46
+ readonly loi?: { [id: string]: Loi }
47
+ readonly org?: { [id: string]: Org }
48
+ readonly oritxt?: { [id: string]: OriTxt }
49
+ readonly qua?: { [id: string]: Qua }
50
+ readonly rap?: { [id: string]: Rap }
51
+ readonly scr?: { [id: string]: Scr }
52
+ readonly texte?: { [id: string]: Texte }
53
+ readonly typatt?: { [id: string]: TypAtt }
54
+ readonly typlec?: { [id: string]: TypLec }
55
+ readonly typloi?: { [id: string]: TypLoi }
56
+ readonly typtxt?: { [id: string]: TypTxt }
57
+ readonly typurl?: { [id: string]: TypUrl }
58
+ readonly txt_ameli?: { [id: string]: TxtAmeli }
59
+ }
60
+
61
+ type VisitedIdsByTableName = { [tableName: string]: Set<number | string> }
62
+
63
+ export function insertAudReferences(
64
+ aud: Aud,
65
+ data: OutputData,
66
+ visitedIdsByTableName: VisitedIdsByTableName,
67
+ ) {
68
+ let visitedIds = visitedIdsByTableName.aud
69
+ if (visitedIds === undefined) {
70
+ visitedIds = visitedIdsByTableName.aud = new Set()
71
+ }
72
+ if (!visitedIds.has(aud.audcle)) {
73
+ visitedIds.add(aud.audcle)
74
+
75
+ if (aud.orgcod !== null && data.org !== undefined) {
76
+ const org = data.org[aud.orgcod]
77
+ if (org !== undefined) {
78
+ aud.org = org
79
+ // insertOrgReferences(org, data, visitedIdsByTableName)
80
+ }
81
+ }
82
+
83
+ // TODO
84
+ }
85
+
86
+ return aud
87
+ }
88
+
89
+ export function insertAuteurReferences(
90
+ auteur: Auteur,
91
+ data: OutputData,
92
+ visitedIdsByTableName: VisitedIdsByTableName,
93
+ ) {
94
+ let visitedIds = visitedIdsByTableName.auteur
95
+ if (visitedIds === undefined) {
96
+ visitedIds = visitedIdsByTableName.auteur = new Set()
97
+ }
98
+ if (!visitedIds.has(auteur.autcod)) {
99
+ visitedIds.add(auteur.autcod)
100
+
101
+ if (data.qua !== undefined) {
102
+ const qua = data.qua[auteur.quacod]
103
+ if (qua !== undefined) {
104
+ auteur.qua = qua
105
+ // insertQuaReferences(qua, data, visitedIdsByTableName)
106
+ }
107
+ }
108
+
109
+ // TODO
110
+ }
111
+
112
+ return auteur
113
+ }
114
+
115
+ export function insertDateSeanceReferences(
116
+ dateSeance: DateSeance,
117
+ data: OutputData,
118
+ visitedIdsByTableName: VisitedIdsByTableName,
119
+ ) {
120
+ let visitedIds = visitedIdsByTableName.date_seance
121
+ if (visitedIds === undefined) {
122
+ visitedIds = visitedIdsByTableName.date_seance = new Set()
123
+ }
124
+ if (!visitedIds.has(dateSeance.code)) {
125
+ visitedIds.add(dateSeance.code)
126
+
127
+ if (dateSeance.date_s !== null && data.debats !== undefined) {
128
+ const dateString =
129
+ dateSeance.date_s instanceof Date
130
+ ? dateSeance.date_s.toISOString()
131
+ : dateSeance.date_s
132
+ const debat = data.debats[dateString]
133
+ if (debat !== undefined) {
134
+ dateSeance.debat = debat
135
+ // insertDebatReferences(debat, data, visitedIdsByTableName)
136
+ }
137
+ }
138
+
139
+ dateSeance.scrs = []
140
+ if (dateSeance.scrids !== undefined && data.scr !== undefined) {
141
+ for (const scrid of dateSeance.scrids) {
142
+ const scr = data.scr[scrid]
143
+ if (scr !== undefined) {
144
+ dateSeance.scrs.push(scr)
145
+ // insertScrReferences(scr, data, visitedIdsByTableName)
146
+ }
147
+ }
148
+ }
149
+ }
150
+
151
+ return dateSeance
152
+ }
153
+
154
+ export function insertDocAttReferences(
155
+ docatt: DocAtt,
156
+ data: OutputData,
157
+ visitedIdsByTableName: VisitedIdsByTableName,
158
+ performInsertRapReferences=true
159
+ ) {
160
+ let visitedIds = visitedIdsByTableName.docatt
161
+ if (visitedIds === undefined) {
162
+ visitedIds = visitedIdsByTableName.docatt = new Set()
163
+ }
164
+ if (!visitedIds.has(docatt.docattcle)) {
165
+ visitedIds.add(docatt.docattcle)
166
+
167
+ if (performInsertRapReferences && docatt.rapcod !== null && data.rap !== undefined) {
168
+ const rap = data.rap[docatt.rapcod]
169
+ if (rap !== undefined) {
170
+ docatt.rap = rap
171
+ insertRapReferences(rap, data, visitedIdsByTableName)
172
+ }
173
+ }
174
+
175
+ if (docatt.typattcod !== null && data.typatt !== undefined) {
176
+ const typatt = data.typatt[docatt.typattcod]
177
+ if (typatt !== undefined) {
178
+ docatt.typatt = typatt
179
+ // insertTypAttReferences(typatt, data, visitedIdsByTableName)
180
+ }
181
+ }
182
+ }
183
+
184
+ return docatt
185
+ }
186
+
187
+ export function insertEcrReferences(
188
+ ecr: Ecr,
189
+ data: OutputData,
190
+ visitedIdsByTableName: VisitedIdsByTableName,
191
+ ) {
192
+ let visitedIds = visitedIdsByTableName.ecr
193
+ if (visitedIds === undefined) {
194
+ visitedIds = visitedIdsByTableName.ecr = new Set()
195
+ }
196
+ if (!visitedIds.has(ecr.ecrnum)) {
197
+ visitedIds.add(ecr.ecrnum)
198
+
199
+ if (ecr.autcod !== null && data.auteur !== undefined) {
200
+ const aut = data.auteur[ecr.autcod]
201
+ if (aut !== undefined) {
202
+ ecr.aut = aut
203
+ insertAuteurReferences(aut, data, visitedIdsByTableName)
204
+ }
205
+ }
206
+
207
+ // TODO
208
+ }
209
+
210
+ return ecr
211
+ }
212
+
213
+ export function insertLecassrapReferences(
214
+ lecassrap: LecAssRap,
215
+ data: OutputData,
216
+ visitedIdsByTableName: VisitedIdsByTableName,
217
+ ) {
218
+ let visitedIds = visitedIdsByTableName.lecassrap
219
+ if (visitedIds === undefined) {
220
+ visitedIds = visitedIdsByTableName.lecassrap = new Set()
221
+ }
222
+ const lecasrapid = `${lecassrap.lecassidt} ${lecassrap.rapcod}`
223
+ if (!visitedIds.has(lecasrapid)) {
224
+ visitedIds.add(lecasrapid)
225
+
226
+ if (lecassrap.rapcod !== null && data.rap !== undefined) {
227
+ const rap = data.rap[lecassrap.rapcod]
228
+ if (rap !== undefined) {
229
+ lecassrap.rap = rap
230
+ insertRapReferences(rap, data, visitedIdsByTableName)
231
+ }
232
+ }
233
+ }
234
+
235
+ return lecassrap
236
+ }
237
+
238
+ export function insertLecassReferences(
239
+ lecass: LecAss,
240
+ data: OutputData,
241
+ visitedIdsByTableName: VisitedIdsByTableName,
242
+ ) {
243
+ let visitedIds = visitedIdsByTableName.lecass
244
+ if (visitedIds === undefined) {
245
+ visitedIds = visitedIdsByTableName.lecass = new Set()
246
+ }
247
+ if (!visitedIds.has(lecass.lecassidt)) {
248
+ visitedIds.add(lecass.lecassidt)
249
+
250
+ if (lecass.codass !== null && data.ass !== undefined) {
251
+ const ass = data.ass[lecass.codass]
252
+ if (ass !== undefined) {
253
+ lecass.ass = ass
254
+ // insertAssReferences(ass, data, visitedIdsByTableName)
255
+ }
256
+ }
257
+
258
+ if (lecass.orgcod !== null && data.org !== undefined) {
259
+ const org = data.org[lecass.orgcod]
260
+ if (org !== undefined) {
261
+ lecass.org = org
262
+ // insertOrgReferences(org, data, visitedIdsByTableName)
263
+ }
264
+ }
265
+
266
+ lecass.auds = []
267
+ if (lecass.audcles !== undefined && data.aud !== undefined) {
268
+ for (const audcle of lecass.audcles) {
269
+ const aud = data.aud[audcle]
270
+ if (aud !== undefined) {
271
+ lecass.auds.push(aud)
272
+ insertAudReferences(aud, data, visitedIdsByTableName)
273
+ }
274
+ }
275
+ }
276
+
277
+ lecass.datesSeances = []
278
+ if (lecass.datesSeancesCodes !== undefined && data.date_seance !== undefined) {
279
+ for (const dateSeanceCode of lecass.datesSeancesCodes) {
280
+ const dateSeance = data.date_seance[dateSeanceCode]
281
+ if (dateSeance !== undefined) {
282
+ lecass.datesSeances.push(dateSeance)
283
+ insertDateSeanceReferences(dateSeance, data, visitedIdsByTableName)
284
+ }
285
+ }
286
+ }
287
+
288
+ lecass.lecassraps = []
289
+ if (lecass.lecassrapids !== undefined && data.lecassrap !== undefined) {
290
+ for (const lecassrapid of lecass.lecassrapids) {
291
+ const lecassrap = data.lecassrap[lecassrapid]
292
+ if (lecassrap !== undefined) {
293
+ lecass.lecassraps.push(lecassrap)
294
+ insertLecassrapReferences(lecassrap, data, visitedIdsByTableName)
295
+ }
296
+ }
297
+ }
298
+
299
+ lecass.textes = []
300
+ if (lecass.texcods !== undefined && data.texte !== undefined) {
301
+ for (const texcod of lecass.texcods) {
302
+ const texte = data.texte[texcod]
303
+ if (texte !== undefined) {
304
+ lecass.textes.push(texte)
305
+ insertTexteReferences(texte, data, visitedIdsByTableName)
306
+ }
307
+ }
308
+ }
309
+ }
310
+
311
+ return lecass
312
+ }
313
+
314
+ export function insertLectureReferences(
315
+ lecture: Lecture,
316
+ data: OutputData,
317
+ visitedIdsByTableName: VisitedIdsByTableName,
318
+ ) {
319
+ let visitedIds = visitedIdsByTableName.lecture
320
+ if (visitedIds === undefined) {
321
+ visitedIds = visitedIdsByTableName.lecture = new Set()
322
+ }
323
+ if (!visitedIds.has(lecture.lecidt)) {
324
+ visitedIds.add(lecture.lecidt)
325
+
326
+ if (lecture.typleccod !== null && data.typlec !== undefined) {
327
+ const typlec = data.typlec[lecture.typleccod]
328
+ if (typlec !== undefined) {
329
+ lecture.typlec = typlec
330
+ // insertTyplecReferences(typlec, data, visitedIdsByTableName)
331
+ }
332
+ }
333
+
334
+ lecture.lecasss = []
335
+ if (lecture.lecassidts !== undefined && data.lecass !== undefined) {
336
+ for (const lecassidt of lecture.lecassidts) {
337
+ const lecass = data.lecass[lecassidt]
338
+ if (lecass !== undefined) {
339
+ lecture.lecasss.push(lecass)
340
+ insertLecassReferences(lecass, data, visitedIdsByTableName)
341
+ }
342
+ }
343
+ }
344
+ }
345
+
346
+ return lecture
347
+ }
348
+
349
+ export function insertLoiReferences(
350
+ loi: Loi,
351
+ data: OutputData,
352
+ visitedIdsByTableName: VisitedIdsByTableName,
353
+ ) {
354
+ let visitedIds = visitedIdsByTableName.loi
355
+ if (visitedIds === undefined) {
356
+ visitedIds = visitedIdsByTableName.loi = new Set()
357
+ }
358
+ if (!visitedIds.has(loi.loicod)) {
359
+ visitedIds.add(loi.loicod)
360
+
361
+ if (loi.typloicod !== null && data.typloi !== undefined) {
362
+ const typloi = data.typloi[loi.typloicod]
363
+ if (typloi !== undefined) {
364
+ loi.typloi = typloi
365
+ // insertTyploiReferences(typloi, data, visitedIdsByTableName)
366
+ }
367
+ }
368
+
369
+ if (loi.etaloicod !== null && data.etaloi !== undefined) {
370
+ const etaloi = data.etaloi[loi.etaloicod]
371
+ if (etaloi !== undefined) {
372
+ loi.etaloi = etaloi
373
+ // insertEtaloiReferences(etaloi, data, visitedIdsByTableName)
374
+ }
375
+ }
376
+
377
+ if (loi.deccoccod !== null && data.deccoc !== undefined) {
378
+ const deccoc = data.deccoc[loi.deccoccod]
379
+ if (deccoc !== undefined) {
380
+ loi.deccoc = deccoc
381
+ // insertDeccocReferences(deccoc, data, visitedIdsByTableName)
382
+ }
383
+ }
384
+
385
+ loi.lectures = []
386
+ if (loi.lecidts !== undefined && data.lecture !== undefined) {
387
+ for (const lecidt of loi.lecidts) {
388
+ const lecture = data.lecture[lecidt]
389
+ if (lecture !== undefined) {
390
+ loi.lectures.push(lecture)
391
+ insertLectureReferences(lecture, data, visitedIdsByTableName)
392
+ }
393
+ }
394
+ }
395
+ }
396
+
397
+ return loi
398
+ }
399
+
400
+ export function insertQuestionReferences(
401
+ question: Question,
402
+ // @ts-ignore TO BE REMOVED WHEN DONE
403
+ data: OutputData,
404
+ // @ts-ignore TO BE REMOVED WHEN DONE
405
+ visitedIdsByTableName: VisitedIdsByTableName,
406
+ ) {
407
+ // TODO
408
+ return question
409
+ }
410
+
411
+ export function insertRapReferences(
412
+ rap: Rap,
413
+ data: OutputData,
414
+ visitedIdsByTableName: VisitedIdsByTableName,
415
+ ) {
416
+ let visitedIds = visitedIdsByTableName.rap
417
+ if (visitedIds === undefined) {
418
+ visitedIds = visitedIdsByTableName.rap = new Set()
419
+ }
420
+ if (!visitedIds.has(rap.rapcod)) {
421
+ visitedIds.add(rap.rapcod)
422
+
423
+ if (rap.coddenrap !== null && data.denrap !== undefined) {
424
+ const denrap = data.denrap[rap.coddenrap]
425
+ if (denrap !== undefined) {
426
+ rap.denrap = denrap
427
+ // insertDenrapReferences(denrap, data, visitedIdsByTableName)
428
+ }
429
+ }
430
+
431
+ rap.docatts = []
432
+ if (rap.docattcles !== undefined && data.docatt !== undefined) {
433
+ for (const docattcle of rap.docattcles) {
434
+ const docatt = data.docatt[docattcle]
435
+ if (docatt !== undefined) {
436
+ rap.docatts.push(docatt)
437
+ insertDocAttReferences(docatt, data, visitedIdsByTableName, false)
438
+ }
439
+ }
440
+ }
441
+
442
+ rap.ecrs = []
443
+ if (rap.ecrnums !== undefined && data.ecr !== undefined) {
444
+ for (const ecrnum of rap.ecrnums) {
445
+ const ecr = data.ecr[ecrnum]
446
+ if (ecr !== undefined) {
447
+ rap.ecrs.push(ecr)
448
+ insertEcrReferences(ecr, data, visitedIdsByTableName)
449
+ }
450
+ }
451
+ }
452
+
453
+ rap.orgs = []
454
+ if (rap.orgcods !== undefined && data.org !== undefined) {
455
+ for (const orgcod of rap.orgcods) {
456
+ const org = data.org[orgcod]
457
+ if (org !== undefined) {
458
+ rap.orgs.push(org)
459
+ // insertOrgReferences(org, data, visitedIdsByTableName)
460
+ }
461
+ }
462
+ }
463
+ }
464
+
465
+ return rap
466
+ }
467
+
468
+ export function insertSenReferences(
469
+ sen: Sen,
470
+ // @ts-ignore TO BE REMOVED WHEN DONE
471
+ data: OutputData,
472
+ // @ts-ignore TO BE REMOVED WHEN DONE
473
+ visitedIdsByTableName: VisitedIdsByTableName,
474
+ ) {
475
+ // TODO
476
+ return sen
477
+ }
478
+
479
+ export function insertTexteReferences(
480
+ texte: Texte,
481
+ data: OutputData,
482
+ visitedIdsByTableName: VisitedIdsByTableName,
483
+ ) {
484
+ let visitedIds = visitedIdsByTableName.texte
485
+ if (visitedIds === undefined) {
486
+ visitedIds = visitedIdsByTableName.texte = new Set()
487
+ }
488
+ if (!visitedIds.has(texte.texcod)) {
489
+ visitedIds.add(texte.texcod)
490
+
491
+ texte.ecrs = []
492
+ if (texte.ecrnums !== undefined && data.ecr !== undefined) {
493
+ for (const ecrnum of texte.ecrnums) {
494
+ const ecr = data.ecr[ecrnum]
495
+ if (ecr !== undefined) {
496
+ texte.ecrs.push(ecr)
497
+ insertEcrReferences(ecr, data, visitedIdsByTableName)
498
+ }
499
+ }
500
+ }
501
+
502
+ if (texte.orgcod !== null && data.org !== undefined) {
503
+ const org = data.org[texte.orgcod]
504
+ if (org !== undefined) {
505
+ texte.org = org
506
+ // insertOrgReferences(org, data, visitedIdsByTableName)
507
+ }
508
+ }
509
+
510
+ if (texte.oritxtcod !== null && data.oritxt !== undefined) {
511
+ const oritxt = data.oritxt[texte.oritxtcod]
512
+ if (oritxt !== undefined) {
513
+ texte.oritxt = oritxt
514
+ // insertOritxtReferences(oritxt, data, visitedIdsByTableName)
515
+ }
516
+ }
517
+
518
+ if (texte.txtAmeliId !== undefined && data.txt_ameli !== undefined) {
519
+ const txtAmeli = data.txt_ameli[texte.txtAmeliId]
520
+ if (txtAmeli !== undefined) {
521
+ texte.txtAmeli = txtAmeli
522
+ }
523
+ }
524
+
525
+ if (texte.typtxtcod !== null && data.typtxt !== undefined) {
526
+ const typtxt = data.typtxt[texte.typtxtcod]
527
+ if (typtxt !== undefined) {
528
+ texte.typtxt = typtxt
529
+ // insertTyptxtReferences(typtxt, data, visitedIdsByTableName)
530
+ }
531
+ }
532
+
533
+ if (texte.typurl !== null && data.typurl !== undefined) {
534
+ const typurl = data.typurl[texte.typurl]
535
+ if (typurl !== undefined) {
536
+ texte.libtypurl = typurl.libtypurl
537
+ // insertTypurlReferences(typurl, data, visitedIdsByTableName)
538
+ }
539
+ }
540
+
541
+ // TODO
542
+ }
543
+
544
+ return texte
545
+ }
@@ -0,0 +1,4 @@
1
+ import { Ses, Sub, TxtAmeli } from '../types/ameli';
2
+ export declare const getSessFromAnns: (ids: string[]) => Promise<Ses[]>;
3
+ export declare const getSubsFromTxtids: (ids: string[]) => Promise<Sub[]>;
4
+ export declare const getTxtsAmeliBySesannNumJoins: (ids: string[]) => Promise<TxtAmeli[]>;