@tricoteuses/senat 1.3.2 → 1.3.5

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 (42) hide show
  1. package/lib/config.js +4 -6
  2. package/lib/databases.js +34 -75
  3. package/lib/datasets.js +20 -28
  4. package/lib/index.d.ts +5 -0
  5. package/lib/index.js +4 -43
  6. package/lib/loaders.js +56 -74
  7. package/lib/model/ameli.js +8 -11
  8. package/lib/model/dosleg.js +47 -52
  9. package/lib/model/index.js +4 -13
  10. package/lib/model/questions.js +15 -18
  11. package/lib/model/sens.d.ts +1 -1
  12. package/lib/model/sens.js +65 -71
  13. package/lib/model/texte.js +17 -25
  14. package/lib/model/util.js +13 -21
  15. package/lib/raw_types/ameli.js +1 -2
  16. package/lib/raw_types/debats.js +1 -2
  17. package/lib/raw_types/dosleg.js +1 -2
  18. package/lib/raw_types/questions.js +1 -2
  19. package/lib/raw_types/sens.js +1 -2
  20. package/lib/raw_types_schemats/ameli.js +1 -2
  21. package/lib/raw_types_schemats/debats.js +1 -2
  22. package/lib/raw_types_schemats/dosleg.js +1 -2
  23. package/lib/raw_types_schemats/questions.js +1 -2
  24. package/lib/raw_types_schemats/sens.js +1 -2
  25. package/lib/scripts/convert_data.js +78 -83
  26. package/lib/scripts/datautil.js +9 -13
  27. package/lib/scripts/parse_textes.js +23 -28
  28. package/lib/scripts/retrieve_documents.js +56 -61
  29. package/lib/scripts/retrieve_open_data.js +44 -49
  30. package/lib/scripts/retrieve_senateurs_photos.js +31 -36
  31. package/lib/scripts/shared/cli_helpers.js +9 -12
  32. package/lib/scripts/shared/util.js +7 -15
  33. package/lib/strings.js +4 -10
  34. package/lib/types/ameli.js +5 -8
  35. package/lib/types/debats.js +2 -5
  36. package/lib/types/dosleg.js +28 -31
  37. package/lib/types/questions.js +1 -2
  38. package/lib/types/sens.js +1 -2
  39. package/lib/types/sessions.js +2 -5
  40. package/lib/types/texte.js +2 -5
  41. package/lib/validators/config.js +4 -7
  42. package/package.json +4 -4
package/lib/model/sens.js CHANGED
@@ -1,14 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findAll = findAll;
4
- exports.findAllCirconscriptions = findAllCirconscriptions;
5
- exports.findAllOrganismes = findAllOrganismes;
6
- exports.findActif = findActif;
7
- const postgres_1 = require("kysely/helpers/postgres");
8
- const databases_1 = require("../databases");
9
- const util_1 = require("./util");
1
+ import { jsonArrayFrom, jsonObjectFrom } from "kysely/helpers/postgres";
2
+ import { dbSens } from "../databases";
3
+ import { concat, rtrim, toDateString } from "./util";
10
4
  function circonscription(dptNum) {
11
- return (0, postgres_1.jsonObjectFrom)(databases_1.dbSens
5
+ return jsonObjectFrom(dbSens
12
6
  .selectFrom("dpt")
13
7
  .leftJoin("reg", "dpt.regcod", "reg.regcod")
14
8
  .where("dpt.dptnum", "=", dptNum)
@@ -19,19 +13,19 @@ function circonscription(dptNum) {
19
13
  ]));
20
14
  }
21
15
  function textes(actId) {
22
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
16
+ return jsonArrayFrom(dbSens
23
17
  .selectFrom("activite_loi")
24
18
  .where("actid", "=", actId)
25
- .select(({ ref }) => [(0, util_1.rtrim)(ref("loicod")).as("loicod")]));
19
+ .select(({ ref }) => [rtrim(ref("loicod")).as("loicod")]));
26
20
  }
27
21
  function delegations(actId) {
28
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
22
+ return jsonArrayFrom(dbSens
29
23
  .selectFrom("activite_delegation")
30
24
  .where("actid", "=", actId)
31
25
  .orderBy("delegidx asc"));
32
26
  }
33
27
  function activites(senMat) {
34
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
28
+ return jsonArrayFrom(dbSens
35
29
  .selectFrom("activite")
36
30
  .leftJoin("activite_participant", "activite.actid", "activite_participant.actid")
37
31
  .leftJoin("type_activite", "activite.typactcod", "type_activite.typactcod")
@@ -44,26 +38,26 @@ function activites(senMat) {
44
38
  .orderBy("activite.datdeb desc"));
45
39
  }
46
40
  function activitesPerso(senMat) {
47
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
41
+ return jsonArrayFrom(dbSens
48
42
  .selectFrom("activite_senateur")
49
43
  .leftJoin("type_activite_senateur", "activite_senateur.typactsencod", "type_activite_senateur.typactsencod")
50
44
  .where("activite_senateur.senmat", "=", senMat)
51
45
  .orderBy("activite_senateur.datdeb desc"));
52
46
  }
53
47
  function fonctionsBureau(senMat) {
54
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
48
+ return jsonArrayFrom(dbSens
55
49
  .selectFrom("senbur")
56
50
  .leftJoin("bur", "senbur.burcod", "bur.burcod")
57
51
  .where("senbur.senmat", "=", senMat)
58
52
  .select(({ ref }) => [
59
- (0, util_1.toDateString)(ref("senbur.senburdatdeb")).as("date_debut"),
60
- (0, util_1.toDateString)(ref("senbur.senburdatfin")).as("date_fin"),
53
+ toDateString(ref("senbur.senburdatdeb")).as("date_debut"),
54
+ toDateString(ref("senbur.senburdatfin")).as("date_fin"),
61
55
  "bur.burlib as libelle",
62
56
  ])
63
57
  .orderBy("senbur.senburdatdeb desc"));
64
58
  }
65
59
  function mandatsEluConseillerGeneral(senMat) {
66
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
60
+ return jsonArrayFrom(dbSens
67
61
  .selectFrom("elucan")
68
62
  .leftJoin("typman", "elucan.typmancod", "typman.typmancod")
69
63
  .where("elucan.senmat", "=", senMat)
@@ -73,7 +67,7 @@ function mandatsEluConseillerGeneral(senMat) {
73
67
  .orderBy("elucan.eludatdeb desc"));
74
68
  }
75
69
  function mandatsEluDepute(senMat) {
76
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
70
+ return jsonArrayFrom(dbSens
77
71
  .selectFrom("eludep")
78
72
  .leftJoin("typman", "eludep.typmancod", "typman.typmancod")
79
73
  .where("eludep.senmat", "=", senMat)
@@ -83,14 +77,14 @@ function mandatsEluDepute(senMat) {
83
77
  .orderBy("eludep.eludatdeb desc"));
84
78
  }
85
79
  function mandatsEluDivers(senMat) {
86
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
80
+ return jsonArrayFrom(dbSens
87
81
  .selectFrom("eludiv")
88
82
  .leftJoin("typman", "eludiv.typmancod", "typman.typmancod")
89
83
  .where("eludiv.senmat", "=", senMat)
90
84
  .orderBy("eludiv.eludatdeb desc"));
91
85
  }
92
86
  function mandatsEluEuropeen(senMat) {
93
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
87
+ return jsonArrayFrom(dbSens
94
88
  .selectFrom("elueur")
95
89
  .leftJoin("nation", "elueur.nationcod", "nation.nationcod")
96
90
  .leftJoin("typman", "elueur.typmancod", "typman.typmancod")
@@ -98,7 +92,7 @@ function mandatsEluEuropeen(senMat) {
98
92
  .orderBy("elueur.eludatdeb desc"));
99
93
  }
100
94
  function mandatsEluConseillerRegional(senMat) {
101
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
95
+ return jsonArrayFrom(dbSens
102
96
  .selectFrom("elureg")
103
97
  .leftJoin("reg", "elureg.regcod", "reg.regcod")
104
98
  .leftJoin("typman", "elureg.typmancod", "typman.typmancod")
@@ -106,7 +100,7 @@ function mandatsEluConseillerRegional(senMat) {
106
100
  .orderBy("elureg.eludatdeb desc"));
107
101
  }
108
102
  function mandatsEluSenateur(senMat) {
109
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
103
+ return jsonArrayFrom(dbSens
110
104
  .selectFrom("elusen")
111
105
  .leftJoin("etadebman", "elusen.etadebmancod", "etadebman.etadebmancod")
112
106
  .leftJoin("etafinman", "elusen.etafinmancod", "etafinman.etafinmancod")
@@ -114,15 +108,15 @@ function mandatsEluSenateur(senMat) {
114
108
  .where("elusen.senmat", "=", senMat)
115
109
  .select(({ ref }) => [
116
110
  "elusen.dptnum as code_circonscription",
117
- (0, util_1.toDateString)(ref("elusen.eludatdeb")).as("date_debut"),
118
- (0, util_1.toDateString)(ref("elusen.eludatfin")).as("date_fin"),
111
+ toDateString(ref("elusen.eludatdeb")).as("date_debut"),
112
+ toDateString(ref("elusen.eludatfin")).as("date_fin"),
119
113
  "etadebman.etadebmanlib as etat_debut",
120
114
  "etafinman.etafinman as etat_fin",
121
115
  ])
122
116
  .orderBy("elusen.eludatdeb desc"));
123
117
  }
124
118
  function mandatsEluTerritorial(senMat) {
125
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
119
+ return jsonArrayFrom(dbSens
126
120
  .selectFrom("eluter")
127
121
  .leftJoin("asster", "eluter.asstercod", "asster.asstercod")
128
122
  .leftJoin("typman", "eluter.typmancod", "typman.typmancod")
@@ -130,26 +124,26 @@ function mandatsEluTerritorial(senMat) {
130
124
  .orderBy("eluter.eludatdeb desc"));
131
125
  }
132
126
  function mandatsEluConseillerMunicipal(senMat) {
133
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
127
+ return jsonArrayFrom(dbSens
134
128
  .selectFrom("eluvil")
135
129
  .leftJoin("typman", "eluvil.typmancod", "typman.typmancod")
136
130
  .where("eluvil.senmat", "=", senMat)
137
131
  .orderBy("eluvil.eludatdeb desc"));
138
132
  }
139
133
  function fonctionsMembreCommission(memComId) {
140
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
134
+ return jsonArrayFrom(dbSens
141
135
  .selectFrom("fonmemcom")
142
136
  .leftJoin("foncom", "fonmemcom.foncomcod", "foncom.foncomcod")
143
137
  .where("fonmemcom.memcomid", "=", memComId)
144
138
  .select(({ ref }) => [
145
- (0, util_1.toDateString)(ref("fonmemcom.fonmemcomdatdeb")).as("date_debut"),
146
- (0, util_1.toDateString)(ref("fonmemcom.fonmemcomdatfin")).as("date_fin"),
139
+ toDateString(ref("fonmemcom.fonmemcomdatdeb")).as("date_debut"),
140
+ toDateString(ref("fonmemcom.fonmemcomdatfin")).as("date_fin"),
147
141
  "foncom.foncomlib as libelle",
148
142
  ])
149
143
  .orderBy("fonmemcom.fonmemcomdatdeb desc"));
150
144
  }
151
145
  function mandatsMembreCommission(senMat) {
152
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
146
+ return jsonArrayFrom(dbSens
153
147
  .selectFrom("memcom")
154
148
  .leftJoin("com", "memcom.orgcod", "com.orgcod")
155
149
  .leftJoin("typorg", "com.typorgcod", "typorg.typorgcod")
@@ -159,8 +153,8 @@ function mandatsMembreCommission(senMat) {
159
153
  "memcom.orgcod as code_organisme",
160
154
  "typorg.typorglib as type_organisme",
161
155
  "com.comlilmin as libelle",
162
- (0, util_1.toDateString)(ref("memcom.memcomdatdeb")).as("date_debut"),
163
- (0, util_1.toDateString)(ref("memcom.memcomdatfin")).as("date_fin"),
156
+ toDateString(ref("memcom.memcomdatdeb")).as("date_debut"),
157
+ toDateString(ref("memcom.memcomdatfin")).as("date_fin"),
164
158
  ])
165
159
  .select(({ ref }) => [
166
160
  fonctionsMembreCommission(ref("memcom.memcomid")).as("fonctions"),
@@ -168,19 +162,19 @@ function mandatsMembreCommission(senMat) {
168
162
  .orderBy("memcom.memcomdatdeb desc"));
169
163
  }
170
164
  function fonctionsMembreDelegation(memDelegaId) {
171
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
165
+ return jsonArrayFrom(dbSens
172
166
  .selectFrom("fonmemdelega")
173
167
  .leftJoin("fondelega", "fonmemdelega.fondelcod", "fondelega.fondelcod")
174
168
  .where("fonmemdelega.memdelegaid", "=", memDelegaId)
175
169
  .select(({ ref }) => [
176
- (0, util_1.toDateString)(ref("fonmemdelega.fonmemdeldatdeb")).as("date_debut"),
177
- (0, util_1.toDateString)(ref("fonmemdelega.fonmemdeldatfin")).as("date_fin"),
170
+ toDateString(ref("fonmemdelega.fonmemdeldatdeb")).as("date_debut"),
171
+ toDateString(ref("fonmemdelega.fonmemdeldatfin")).as("date_fin"),
178
172
  "fondelega.fondellib as libelle",
179
173
  ])
180
174
  .orderBy("fonmemdelega.fonmemdeldatdeb desc"));
181
175
  }
182
176
  function mandatsMembreDelegation(senMat) {
183
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
177
+ return jsonArrayFrom(dbSens
184
178
  .selectFrom("memdelega")
185
179
  .leftJoin("delega", "memdelega.orgcod", "delega.orgcod")
186
180
  .leftJoin("designorg", "memdelega.designcod", "designorg.designcod")
@@ -191,8 +185,8 @@ function mandatsMembreDelegation(senMat) {
191
185
  "memdelega.orgcod as code_organisme",
192
186
  "typorg.typorglib as type_organisme",
193
187
  "delega.evelib as libelle",
194
- (0, util_1.toDateString)(ref("memdelega.memdelegadatdeb")).as("date_debut"),
195
- (0, util_1.toDateString)(ref("memdelega.memdelegadatfin")).as("date_fin"),
188
+ toDateString(ref("memdelega.memdelegadatdeb")).as("date_debut"),
189
+ toDateString(ref("memdelega.memdelegadatfin")).as("date_fin"),
196
190
  ])
197
191
  .select(({ ref }) => [
198
192
  fonctionsMembreDelegation(ref("memdelega.memdelegaid")).as("fonctions"),
@@ -200,7 +194,7 @@ function mandatsMembreDelegation(senMat) {
200
194
  .orderBy("memdelega.memdelegadatdeb desc"));
201
195
  }
202
196
  function mandatsMembreExtraParlementaire(senMat) {
203
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
197
+ return jsonArrayFrom(dbSens
204
198
  .selectFrom("memextpar")
205
199
  .leftJoin("orgext", "memextpar.orgcod", "orgext.orgcod")
206
200
  .leftJoin("design", "memextpar.designcod", "design.designcod")
@@ -208,19 +202,19 @@ function mandatsMembreExtraParlementaire(senMat) {
208
202
  .orderBy("memextpar.memextpardatdeb desc"));
209
203
  }
210
204
  function fonctionsMembreGroupePolitique(memGrpPolId) {
211
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
205
+ return jsonArrayFrom(dbSens
212
206
  .selectFrom("fonmemgrppol")
213
207
  .leftJoin("fongrppol", "fonmemgrppol.fongrppolcod", "fongrppol.fongrppolcod")
214
208
  .where("fonmemgrppol.memgrppolid", "=", memGrpPolId)
215
209
  .select(({ ref }) => [
216
- (0, util_1.toDateString)(ref("fonmemgrppol.fonmemgrppoldatdeb")).as("date_debut"),
217
- (0, util_1.toDateString)(ref("fonmemgrppol.fonmemgrppoldatfin")).as("date_fin"),
210
+ toDateString(ref("fonmemgrppol.fonmemgrppoldatdeb")).as("date_debut"),
211
+ toDateString(ref("fonmemgrppol.fonmemgrppoldatfin")).as("date_fin"),
218
212
  "fongrppol.fongrppollib as libelle",
219
213
  ])
220
214
  .orderBy("fonmemgrppol.fonmemgrppoldatdeb desc"));
221
215
  }
222
216
  function mandatsMembreGroupePolitique(senMat) {
223
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
217
+ return jsonArrayFrom(dbSens
224
218
  .selectFrom("memgrppol")
225
219
  .leftJoin("grppol", "memgrppol.grppolcod", "grppol.grppolcod")
226
220
  .leftJoin("typapppol", "memgrppol.typapppolcod", "typapppol.typapppolcod")
@@ -228,8 +222,8 @@ function mandatsMembreGroupePolitique(senMat) {
228
222
  .select(({ ref }) => [
229
223
  "memgrppol.grppolcod as code",
230
224
  "grppol.grppollibcou as libelle",
231
- (0, util_1.toDateString)(ref("memgrppol.memgrppoldatdeb")).as("date_debut"),
232
- (0, util_1.toDateString)(ref("memgrppol.memgrppoldatfin")).as("date_fin"),
225
+ toDateString(ref("memgrppol.memgrppoldatdeb")).as("date_debut"),
226
+ toDateString(ref("memgrppol.memgrppoldatfin")).as("date_fin"),
233
227
  "typapppol.typapppollib as fonction",
234
228
  ])
235
229
  .select(({ ref }) => [
@@ -238,14 +232,14 @@ function mandatsMembreGroupePolitique(senMat) {
238
232
  .orderBy("memgrppol.memgrppoldatdeb desc"));
239
233
  }
240
234
  function fonctionsMembreGroupeSenatorial(memGrpSenId) {
241
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
235
+ return jsonArrayFrom(dbSens
242
236
  .selectFrom("fonmemgrpsen")
243
237
  .leftJoin("fongrpsen", "fonmemgrpsen.fongrpsencod", "fongrpsen.fongrpsencod")
244
238
  .where("fonmemgrpsen.memgrpsenid", "=", memGrpSenId)
245
239
  .orderBy("fonmemgrpsen.fonmemgrpsendatdeb desc"));
246
240
  }
247
241
  function mandatsMembreGroupeSenatorial(senMat) {
248
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
242
+ return jsonArrayFrom(dbSens
249
243
  .selectFrom("memgrpsen")
250
244
  .leftJoin("grpsenami", "memgrpsen.orgcod", "grpsenami.orgcod")
251
245
  .leftJoin("typgrpsen", "grpsenami.typgrpsencod", "typgrpsen.typgrpsencod")
@@ -256,14 +250,14 @@ function mandatsMembreGroupeSenatorial(senMat) {
256
250
  .orderBy("memgrpsen.memgrpsendatent desc"));
257
251
  }
258
252
  function fonctionsMembreOrganisme(memOrgId) {
259
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
253
+ return jsonArrayFrom(dbSens
260
254
  .selectFrom("fonmemorg")
261
255
  .leftJoin("fonorg", "fonmemorg.fonorgcod", "fonorg.fonorgcod")
262
256
  .where("fonmemorg.memorgid", "=", memOrgId)
263
257
  .orderBy("fonmemorg.fonmemorgdatdeb desc"));
264
258
  }
265
259
  function mandatsMembreOrganisme(senMat) {
266
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
260
+ return jsonArrayFrom(dbSens
267
261
  .selectFrom("memorg")
268
262
  .leftJoin("org", "memorg.orgcod", "org.orgcod")
269
263
  .leftJoin("typorg", "org.typorgcod", "typorg.typorgcod")
@@ -275,13 +269,13 @@ function mandatsMembreOrganisme(senMat) {
275
269
  .orderBy("memorg.memorgdatdeb desc"));
276
270
  }
277
271
  function mandatsMinistre(senMat) {
278
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
272
+ return jsonArrayFrom(dbSens
279
273
  .selectFrom("minind")
280
274
  .where("minind.senmat", "=", senMat)
281
275
  .orderBy("minind.mindatdeb desc"));
282
276
  }
283
277
  function contacts(senMat) {
284
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
278
+ return jsonArrayFrom(dbSens
285
279
  .selectFrom("poicon")
286
280
  .leftJoin("adresse", "poicon.poiconid", "adresse.poiconid")
287
281
  .leftJoin("mel", "poicon.poiconid", "mel.poiconid")
@@ -290,13 +284,13 @@ function contacts(senMat) {
290
284
  .orderBy("poicon.poiconnumtri asc"));
291
285
  }
292
286
  function urls(senMat) {
293
- return (0, postgres_1.jsonArrayFrom)(databases_1.dbSens
287
+ return jsonArrayFrom(dbSens
294
288
  .selectFrom("senurl")
295
289
  .where("senurl.senmat", "=", senMat)
296
290
  .select(["senurl.typurlcod as code_url", "senurl.senurlurl as url"])
297
291
  .orderBy("senurl.senurlnumtri asc"));
298
292
  }
299
- const findAllQuery = databases_1.dbSens
293
+ const findAllQuery = dbSens
300
294
  .selectFrom("sen")
301
295
  .leftJoin("etasen", "sen.etasencod", "etasen.etasencod")
302
296
  .leftJoin("pcs", "sen.pcscod", "pcs.pcscod")
@@ -311,8 +305,8 @@ const findAllQuery = databases_1.dbSens
311
305
  "sen.sennomuse as nom_usuel",
312
306
  "sen.senprenomuse as prenom_usuel",
313
307
  "sen.etasencod as etat",
314
- (0, util_1.toDateString)(ref("sen.sendatnai")).as("date_naissance"),
315
- (0, util_1.toDateString)(ref("sen.sendatdec")).as("date_deces"),
308
+ toDateString(ref("sen.sendatnai")).as("date_naissance"),
309
+ toDateString(ref("sen.sendatdec")).as("date_deces"),
316
310
  "sen.sengrppolcodcou as code_groupe_politique",
317
311
  "sen.sengrppolliccou as groupe_politique",
318
312
  "sen.sencomcodcou as code_commission_permanente",
@@ -337,7 +331,7 @@ const findAllQuery = databases_1.dbSens
337
331
  mandatsMembreGroupePolitique(ref("sen.senmat")).as("groupes"),
338
332
  fonctionsBureau(ref("sen.senmat")).as("fonctions_bureau"),
339
333
  ]);
340
- const findAllCirconscriptionsQuery = databases_1.dbSens
334
+ const findAllCirconscriptionsQuery = dbSens
341
335
  .selectFrom("dpt")
342
336
  .leftJoin("reg", "dpt.regcod", "reg.regcod")
343
337
  .select(({ ref }) => [
@@ -347,12 +341,12 @@ const findAllCirconscriptionsQuery = databases_1.dbSens
347
341
  "dpt.dptart as article",
348
342
  "reg.reglib as libelle_region",
349
343
  "dpt.temvalcod as etat",
350
- (0, util_1.toDateString)(ref("dpt.dptdatdeb")).as("date_debut"),
351
- (0, util_1.toDateString)(ref("dpt.dptdatfin")).as("date_fin"),
344
+ toDateString(ref("dpt.dptdatdeb")).as("date_debut"),
345
+ toDateString(ref("dpt.dptdatfin")).as("date_fin"),
352
346
  "dpt.dptnbrsen as nombre_senateurs",
353
347
  "dpt.dpturlcmp as url",
354
348
  ]);
355
- const findAllOrganismesQuery = databases_1.dbSens
349
+ const findAllOrganismesQuery = dbSens
356
350
  .selectFrom((eb) => eb
357
351
  .selectFrom("com")
358
352
  .select([
@@ -424,25 +418,25 @@ const findAllOrganismesQuery = databases_1.dbSens
424
418
  "all_organismes.orgcod as code",
425
419
  "all_organismes.evelic as libelle_court",
426
420
  "all_organismes.evelib as libelle",
427
- (0, util_1.rtrim)(ref("all_organismes.evelil")).as("libelle_long"),
421
+ rtrim(ref("all_organismes.evelil")).as("libelle_long"),
428
422
  "all_organismes.typorgcod as type_code",
429
- (0, util_1.rtrim)(ref("typorg.typorglib")).as("type_libelle"),
430
- (0, util_1.concat)(val("https://www.senat.fr"), ref("all_organismes.orgurlsim")).as("url"),
431
- (0, util_1.toDateString)(ref("all_organismes.orgdatcre")).as("date_debut"),
432
- (0, util_1.toDateString)(ref("all_organismes.orgdatfin")).as("date_fin"),
423
+ rtrim(ref("typorg.typorglib")).as("type_libelle"),
424
+ concat(val("https://www.senat.fr"), ref("all_organismes.orgurlsim")).as("url"),
425
+ toDateString(ref("all_organismes.orgdatcre")).as("date_debut"),
426
+ toDateString(ref("all_organismes.orgdatfin")).as("date_fin"),
433
427
  "all_organismes.temvalcod as etat",
434
428
  ]);
435
- function findAll() {
429
+ export function findAll() {
436
430
  return findAllQuery.stream();
437
431
  }
438
- function findAllCirconscriptions() {
432
+ export function findAllCirconscriptions() {
439
433
  return findAllCirconscriptionsQuery.stream();
440
434
  }
441
- function findAllOrganismes() {
435
+ export function findAllOrganismes() {
442
436
  return findAllOrganismesQuery.stream();
443
437
  }
444
- function findActif() {
445
- return databases_1.dbSens
438
+ export function findActif() {
439
+ return dbSens
446
440
  .selectFrom("sen")
447
441
  .where("etasencod", "=", "ACTIF")
448
442
  .select(["senmat", "sennomuse", "senprenomuse"])
@@ -1,20 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformTexte = transformTexte;
4
- exports.transformExposeDesMotifs = transformExposeDesMotifs;
5
- exports.parseTexte = parseTexte;
6
- exports.parseTexteFromFile = parseTexteFromFile;
7
- exports.parseExposeDesMotifs = parseExposeDesMotifs;
8
- exports.parseExposeDesMotifsFromFile = parseExposeDesMotifsFromFile;
9
- const jsdom_1 = require("jsdom");
10
- const datautil_1 = require("../scripts/datautil");
11
- const texte_1 = require("../types/texte");
1
+ import { JSDOM } from "jsdom";
2
+ import { AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP, AKN_IDENTIFICATION_STRUCTURE_REGEXP, } from "../scripts/datautil";
3
+ import { DivisionType, } from "../types/texte";
12
4
  function buildWorklow(metaElement) {
13
5
  const stepElements = metaElement.querySelectorAll("workflow step");
14
6
  const steps = [];
15
7
  for (const stepElement of stepElements) {
16
8
  const identification = stepElement.getAttribute("href") ?? "";
17
- const identificationParts = datautil_1.AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP.exec(identification)?.groups;
9
+ const identificationParts = AKN_WORKFLOW_IDENTIFICATION_STRUCTURE_REGEXP.exec(identification)?.groups;
18
10
  steps.push({
19
11
  eId: stepElement.getAttribute("eId"),
20
12
  date: stepElement.getAttribute("date")
@@ -34,7 +26,7 @@ function buildWorklow(metaElement) {
34
26
  function buildDivision(node, index) {
35
27
  const eId = node.getAttribute("eId");
36
28
  const tag = node.nodeName;
37
- const level = texte_1.DivisionType[tag];
29
+ const level = DivisionType[tag];
38
30
  const titleNode = node.querySelector("num");
39
31
  const subtitleNode = node.querySelector("heading");
40
32
  const headings = [
@@ -87,7 +79,7 @@ function buildEmptyArticle(index) {
87
79
  index: index,
88
80
  eId: "",
89
81
  tag: "article",
90
- level: texte_1.DivisionType["article"],
82
+ level: DivisionType["article"],
91
83
  headings: [],
92
84
  alineas: [],
93
85
  };
@@ -136,13 +128,13 @@ function flattenTexte(texteContentRoot) {
136
128
  iter(texteContentRoot);
137
129
  return divisions;
138
130
  }
139
- function transformTexte(document) {
131
+ export function transformTexte(document) {
140
132
  const metaElement = document.querySelector("meta");
141
133
  const preambleElement = document.querySelector("preamble");
142
134
  const identification = metaElement
143
135
  ?.querySelector("FRBRExpression FRBRuri")
144
136
  ?.getAttribute("value") ?? "";
145
- const identificationParts = datautil_1.AKN_IDENTIFICATION_STRUCTURE_REGEXP.exec(identification)?.groups;
137
+ const identificationParts = AKN_IDENTIFICATION_STRUCTURE_REGEXP.exec(identification)?.groups;
146
138
  const bodyElement = document.querySelector("body");
147
139
  const datePresentation = metaElement
148
140
  ?.querySelector("FRBRdate[name='#presentation']")
@@ -184,7 +176,7 @@ function transformTexte(document) {
184
176
  divisions: bodyElement ? flattenTexte(bodyElement) : [],
185
177
  };
186
178
  }
187
- function transformExposeDesMotifs(document) {
179
+ export function transformExposeDesMotifs(document) {
188
180
  const sectionElements = document.querySelectorAll("section");
189
181
  const exposeDesMotifsRegexp = new RegExp("EXPOS.{1,2}[\\n\\s]DES[\\n\\s]MOTIFS");
190
182
  for (const sectionElement of sectionElements) {
@@ -213,9 +205,9 @@ function transformExposeDesMotifs(document) {
213
205
  }
214
206
  return null;
215
207
  }
216
- function parseTexte(texteXml) {
208
+ export function parseTexte(texteXml) {
217
209
  try {
218
- const { document } = new jsdom_1.JSDOM(texteXml, {
210
+ const { document } = new JSDOM(texteXml, {
219
211
  contentType: "text/xml",
220
212
  }).window;
221
213
  return transformTexte(document);
@@ -227,9 +219,9 @@ function parseTexte(texteXml) {
227
219
  }
228
220
  // Prevent from memory leak
229
221
  // https://github.com/jsdom/jsdom/issues/2583#issuecomment-559520814
230
- async function parseTexteFromFile(xmlFilePath) {
222
+ export async function parseTexteFromFile(xmlFilePath) {
231
223
  try {
232
- const { document } = (await jsdom_1.JSDOM.fromFile(xmlFilePath, { contentType: "text/xml" })).window;
224
+ const { document } = (await JSDOM.fromFile(xmlFilePath, { contentType: "text/xml" })).window;
233
225
  return transformTexte(document);
234
226
  }
235
227
  catch (error) {
@@ -237,15 +229,15 @@ async function parseTexteFromFile(xmlFilePath) {
237
229
  }
238
230
  return null;
239
231
  }
240
- function parseExposeDesMotifs(exposeDesMotifsHtml) {
241
- const { document } = new jsdom_1.JSDOM(exposeDesMotifsHtml, {
232
+ export function parseExposeDesMotifs(exposeDesMotifsHtml) {
233
+ const { document } = new JSDOM(exposeDesMotifsHtml, {
242
234
  contentType: "text/html",
243
235
  }).window;
244
236
  return transformExposeDesMotifs(document);
245
237
  }
246
238
  // Prevent from memory leak
247
239
  // https://github.com/jsdom/jsdom/issues/2583#issuecomment-559520814
248
- async function parseExposeDesMotifsFromFile(htmlFilePath) {
249
- const { document } = (await jsdom_1.JSDOM.fromFile(htmlFilePath, { contentType: "text/html" })).window;
240
+ export async function parseExposeDesMotifsFromFile(htmlFilePath) {
241
+ const { document } = (await JSDOM.fromFile(htmlFilePath, { contentType: "text/html" })).window;
250
242
  return transformExposeDesMotifs(document);
251
243
  }
package/lib/model/util.js CHANGED
@@ -1,27 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.concat = concat;
4
- exports.expandToRows = expandToRows;
5
- exports.removeSubstring = removeSubstring;
6
- exports.replace = replace;
7
- exports.rtrim = rtrim;
8
- exports.toDateString = toDateString;
9
- const kysely_1 = require("kysely");
10
- function concat(...exprs) {
11
- return kysely_1.sql.join(exprs, (0, kysely_1.sql) `||`).$castTo();
1
+ import { sql } from "kysely";
2
+ export function concat(...exprs) {
3
+ return sql.join(exprs, sql `||`).$castTo();
12
4
  }
13
- function expandToRows(expr, regexp) {
14
- return (0, kysely_1.sql) `unnest(regexp_matches(${expr}, ${regexp}, 'g'))`;
5
+ export function expandToRows(expr, regexp) {
6
+ return sql `unnest(regexp_matches(${expr}, ${regexp}, 'g'))`;
15
7
  }
16
- function removeSubstring(expr, pattern) {
17
- return replace(expr, pattern, kysely_1.sql.val(""));
8
+ export function removeSubstring(expr, pattern) {
9
+ return replace(expr, pattern, sql.val(""));
18
10
  }
19
- function replace(expr, pattern, replacement) {
20
- return (0, kysely_1.sql) `replace(${expr}, ${pattern}, ${replacement})`;
11
+ export function replace(expr, pattern, replacement) {
12
+ return sql `replace(${expr}, ${pattern}, ${replacement})`;
21
13
  }
22
- function rtrim(expr) {
23
- return (0, kysely_1.sql) `rtrim(${expr})`;
14
+ export function rtrim(expr) {
15
+ return sql `rtrim(${expr})`;
24
16
  }
25
- function toDateString(expr) {
26
- return (0, kysely_1.sql) `to_char(${expr}, 'yyyy-MM-dd')`;
17
+ export function toDateString(expr) {
18
+ return sql `to_char(${expr}, 'yyyy-MM-dd')`;
27
19
  }
@@ -1,6 +1,5 @@
1
- "use strict";
2
1
  /**
3
2
  * This file was generated by kysely-codegen.
4
3
  * Please do not edit it manually.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
5
+ export {};
@@ -1,6 +1,5 @@
1
- "use strict";
2
1
  /**
3
2
  * This file was generated by kysely-codegen.
4
3
  * Please do not edit it manually.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
5
+ export {};
@@ -1,6 +1,5 @@
1
- "use strict";
2
1
  /**
3
2
  * This file was generated by kysely-codegen.
4
3
  * Please do not edit it manually.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
5
+ export {};
@@ -1,6 +1,5 @@
1
- "use strict";
2
1
  /**
3
2
  * This file was generated by kysely-codegen.
4
3
  * Please do not edit it manually.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
5
+ export {};
@@ -1,6 +1,5 @@
1
- "use strict";
2
1
  /**
3
2
  * This file was generated by kysely-codegen.
4
3
  * Please do not edit it manually.
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
5
+ export {};
@@ -1,3 +1,2 @@
1
- "use strict";
2
1
  /* tslint:disable */
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};
@@ -1,3 +1,2 @@
1
- "use strict";
2
1
  /* tslint:disable */
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};
@@ -1,3 +1,2 @@
1
- "use strict";
2
1
  /* tslint:disable */
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};
@@ -1,3 +1,2 @@
1
- "use strict";
2
1
  /* tslint:disable */
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};
@@ -1,3 +1,2 @@
1
- "use strict";
2
1
  /* tslint:disable */
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};