@tricoteuses/senat 3.0.2 → 3.1.0

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 (566) hide show
  1. package/lib/src/ameli.d.ts +66 -0
  2. package/lib/src/ameli.js +1 -0
  3. package/lib/src/db_types/ameli.d.ts +1762 -0
  4. package/lib/src/db_types/ameli.js +1074 -0
  5. package/lib/src/db_types/debats.d.ts +380 -0
  6. package/lib/src/db_types/debats.js +266 -0
  7. package/lib/src/db_types/dosleg.d.ts +2954 -0
  8. package/lib/src/db_types/dosleg.js +2005 -0
  9. package/lib/src/db_types/questions.d.ts +699 -0
  10. package/lib/src/db_types/questions.js +493 -0
  11. package/lib/src/db_types/sens.d.ts +7843 -0
  12. package/lib/src/db_types/sens.js +4691 -0
  13. package/lib/src/debats.d.ts +38 -0
  14. package/lib/src/debats.js +1 -0
  15. package/lib/src/documents.d.ts +30 -0
  16. package/lib/src/documents.js +1 -0
  17. package/lib/src/dosleg.d.ts +142 -0
  18. package/lib/src/dosleg.js +193 -0
  19. package/lib/src/index.d.ts +41 -24
  20. package/lib/src/index.js +27 -6
  21. package/lib/src/kanel_types/ameli.d.ts +1762 -0
  22. package/lib/src/kanel_types/ameli.js +1074 -0
  23. package/lib/src/kanel_types/debats.d.ts +380 -0
  24. package/lib/src/kanel_types/debats.js +266 -0
  25. package/lib/src/kanel_types/dosleg.d.ts +2954 -0
  26. package/lib/src/kanel_types/dosleg.js +2005 -0
  27. package/lib/src/kanel_types/questions.d.ts +699 -0
  28. package/lib/src/kanel_types/questions.js +493 -0
  29. package/lib/src/kanel_types/sens.d.ts +7843 -0
  30. package/lib/src/kanel_types/sens.js +4691 -0
  31. package/lib/src/kysely/index.d.ts +216 -0
  32. package/lib/src/kysely/index.js +11 -0
  33. package/lib/src/kysely_types/ameli/Amd.d.ts +91 -0
  34. package/lib/src/kysely_types/ameli/Amd.js +3 -0
  35. package/lib/src/kysely_types/ameli/Amdsen.d.ts +24 -0
  36. package/lib/src/kysely_types/ameli/Amdsen.js +3 -0
  37. package/lib/src/kysely_types/ameli/Avicom.d.ts +14 -0
  38. package/lib/src/kysely_types/ameli/Avicom.js +3 -0
  39. package/lib/src/kysely_types/ameli/Avigvt.d.ts +14 -0
  40. package/lib/src/kysely_types/ameli/Avigvt.js +3 -0
  41. package/lib/src/kysely_types/ameli/Cab.d.ts +14 -0
  42. package/lib/src/kysely_types/ameli/Cab.js +3 -0
  43. package/lib/src/kysely_types/ameli/ComAmeli.d.ts +22 -0
  44. package/lib/src/kysely_types/ameli/ComAmeli.js +3 -0
  45. package/lib/src/kysely_types/ameli/Database.d.ts +3 -0
  46. package/lib/src/kysely_types/ameli/Database.js +3 -0
  47. package/lib/src/kysely_types/ameli/Ent.d.ts +14 -0
  48. package/lib/src/kysely_types/ameli/Ent.js +3 -0
  49. package/lib/src/kysely_types/ameli/Etatxt.d.ts +15 -0
  50. package/lib/src/kysely_types/ameli/Etatxt.js +3 -0
  51. package/lib/src/kysely_types/ameli/Fbu.d.ts +17 -0
  52. package/lib/src/kysely_types/ameli/Fbu.js +3 -0
  53. package/lib/src/kysely_types/ameli/GrppolAmeli.d.ts +20 -0
  54. package/lib/src/kysely_types/ameli/GrppolAmeli.js +3 -0
  55. package/lib/src/kysely_types/ameli/Gvt.d.ts +18 -0
  56. package/lib/src/kysely_types/ameli/Gvt.js +3 -0
  57. package/lib/src/kysely_types/ameli/Intora.d.ts +33 -0
  58. package/lib/src/kysely_types/ameli/Intora.js +3 -0
  59. package/lib/src/kysely_types/ameli/Irr.d.ts +21 -0
  60. package/lib/src/kysely_types/ameli/Irr.js +3 -0
  61. package/lib/src/kysely_types/ameli/LecAmeli.d.ts +14 -0
  62. package/lib/src/kysely_types/ameli/LecAmeli.js +3 -0
  63. package/lib/src/kysely_types/ameli/Mot.d.ts +20 -0
  64. package/lib/src/kysely_types/ameli/Mot.js +3 -0
  65. package/lib/src/kysely_types/ameli/Nat.d.ts +13 -0
  66. package/lib/src/kysely_types/ameli/Nat.js +3 -0
  67. package/lib/src/kysely_types/ameli/Orarol.d.ts +14 -0
  68. package/lib/src/kysely_types/ameli/Orarol.js +3 -0
  69. package/lib/src/kysely_types/ameli/Sai.d.ts +25 -0
  70. package/lib/src/kysely_types/ameli/Sai.js +3 -0
  71. package/lib/src/kysely_types/ameli/Saisen.d.ts +15 -0
  72. package/lib/src/kysely_types/ameli/Saisen.js +3 -0
  73. package/lib/src/kysely_types/ameli/Sea.d.ts +17 -0
  74. package/lib/src/kysely_types/ameli/Sea.js +3 -0
  75. package/lib/src/kysely_types/ameli/SenAmeli.d.ts +36 -0
  76. package/lib/src/kysely_types/ameli/SenAmeli.js +3 -0
  77. package/lib/src/kysely_types/ameli/SenatSchema.d.ts +60 -0
  78. package/lib/src/kysely_types/ameli/SenatSchema.js +3 -0
  79. package/lib/src/kysely_types/ameli/Ses.d.ts +17 -0
  80. package/lib/src/kysely_types/ameli/Ses.js +3 -0
  81. package/lib/src/kysely_types/ameli/Sor.d.ts +16 -0
  82. package/lib/src/kysely_types/ameli/Sor.js +3 -0
  83. package/lib/src/kysely_types/ameli/Sub.d.ts +44 -0
  84. package/lib/src/kysely_types/ameli/Sub.js +3 -0
  85. package/lib/src/kysely_types/ameli/TxtAmeli.d.ts +77 -0
  86. package/lib/src/kysely_types/ameli/TxtAmeli.js +3 -0
  87. package/lib/src/kysely_types/ameli/Typrect.d.ts +14 -0
  88. package/lib/src/kysely_types/ameli/Typrect.js +3 -0
  89. package/lib/src/kysely_types/ameli/Typses.d.ts +12 -0
  90. package/lib/src/kysely_types/ameli/Typses.js +3 -0
  91. package/lib/src/kysely_types/ameli/Typsub.d.ts +12 -0
  92. package/lib/src/kysely_types/ameli/Typsub.js +3 -0
  93. package/lib/src/kysely_types/ameli/WNivrec.d.ts +12 -0
  94. package/lib/src/kysely_types/ameli/WNivrec.js +3 -0
  95. package/lib/src/kysely_types/debats/Database.d.ts +3 -0
  96. package/lib/src/kysely_types/debats/Database.js +3 -0
  97. package/lib/src/kysely_types/debats/Debats.d.ts +25 -0
  98. package/lib/src/kysely_types/debats/Debats.js +3 -0
  99. package/lib/src/kysely_types/debats/Intdivers.d.ts +22 -0
  100. package/lib/src/kysely_types/debats/Intdivers.js +3 -0
  101. package/lib/src/kysely_types/debats/Intpjl.d.ts +22 -0
  102. package/lib/src/kysely_types/debats/Intpjl.js +3 -0
  103. package/lib/src/kysely_types/debats/Lecassdeb.d.ts +13 -0
  104. package/lib/src/kysely_types/debats/Lecassdeb.js +3 -0
  105. package/lib/src/kysely_types/debats/Secdis.d.ts +27 -0
  106. package/lib/src/kysely_types/debats/Secdis.js +3 -0
  107. package/lib/src/kysely_types/debats/Secdivers.d.ts +19 -0
  108. package/lib/src/kysely_types/debats/Secdivers.js +3 -0
  109. package/lib/src/kysely_types/debats/SenatSchema.d.ts +18 -0
  110. package/lib/src/kysely_types/debats/SenatSchema.js +3 -0
  111. package/lib/src/kysely_types/debats/Syndeb.d.ts +12 -0
  112. package/lib/src/kysely_types/debats/Syndeb.js +3 -0
  113. package/lib/src/kysely_types/debats/Typsec.d.ts +14 -0
  114. package/lib/src/kysely_types/debats/Typsec.js +3 -0
  115. package/lib/src/kysely_types/dosleg/Amescr.d.ts +13 -0
  116. package/lib/src/kysely_types/dosleg/Amescr.js +3 -0
  117. package/lib/src/kysely_types/dosleg/Ass.d.ts +12 -0
  118. package/lib/src/kysely_types/dosleg/Ass.js +3 -0
  119. package/lib/src/kysely_types/dosleg/Aud.d.ts +19 -0
  120. package/lib/src/kysely_types/dosleg/Aud.js +3 -0
  121. package/lib/src/kysely_types/dosleg/Auteur.d.ts +34 -0
  122. package/lib/src/kysely_types/dosleg/Auteur.js +3 -0
  123. package/lib/src/kysely_types/dosleg/Ble.d.ts +12 -0
  124. package/lib/src/kysely_types/dosleg/Ble.js +3 -0
  125. package/lib/src/kysely_types/dosleg/Catrap.d.ts +12 -0
  126. package/lib/src/kysely_types/dosleg/Catrap.js +3 -0
  127. package/lib/src/kysely_types/dosleg/Corscr.d.ts +17 -0
  128. package/lib/src/kysely_types/dosleg/Corscr.js +3 -0
  129. package/lib/src/kysely_types/dosleg/Database.d.ts +3 -0
  130. package/lib/src/kysely_types/dosleg/Database.js +3 -0
  131. package/lib/src/kysely_types/dosleg/DateSeance.d.ts +16 -0
  132. package/lib/src/kysely_types/dosleg/DateSeance.js +3 -0
  133. package/lib/src/kysely_types/dosleg/Deccoc.d.ts +12 -0
  134. package/lib/src/kysely_types/dosleg/Deccoc.js +3 -0
  135. package/lib/src/kysely_types/dosleg/Denrap.d.ts +26 -0
  136. package/lib/src/kysely_types/dosleg/Denrap.js +3 -0
  137. package/lib/src/kysely_types/dosleg/Doc.d.ts +33 -0
  138. package/lib/src/kysely_types/dosleg/Doc.js +3 -0
  139. package/lib/src/kysely_types/dosleg/Docatt.d.ts +16 -0
  140. package/lib/src/kysely_types/dosleg/Docatt.js +3 -0
  141. package/lib/src/kysely_types/dosleg/Docsea.d.ts +19 -0
  142. package/lib/src/kysely_types/dosleg/Docsea.js +3 -0
  143. package/lib/src/kysely_types/dosleg/Ecr.d.ts +26 -0
  144. package/lib/src/kysely_types/dosleg/Ecr.js +3 -0
  145. package/lib/src/kysely_types/dosleg/Etaloi.d.ts +12 -0
  146. package/lib/src/kysely_types/dosleg/Etaloi.js +3 -0
  147. package/lib/src/kysely_types/dosleg/Evtsea.d.ts +18 -0
  148. package/lib/src/kysely_types/dosleg/Evtsea.js +3 -0
  149. package/lib/src/kysely_types/dosleg/Forpub.d.ts +12 -0
  150. package/lib/src/kysely_types/dosleg/Forpub.js +3 -0
  151. package/lib/src/kysely_types/dosleg/Gen.d.ts +11 -0
  152. package/lib/src/kysely_types/dosleg/Gen.js +3 -0
  153. package/lib/src/kysely_types/dosleg/Lecass.d.ts +84 -0
  154. package/lib/src/kysely_types/dosleg/Lecass.js +3 -0
  155. package/lib/src/kysely_types/dosleg/Lecassrap.d.ts +15 -0
  156. package/lib/src/kysely_types/dosleg/Lecassrap.js +3 -0
  157. package/lib/src/kysely_types/dosleg/Lecture.d.ts +16 -0
  158. package/lib/src/kysely_types/dosleg/Lecture.js +3 -0
  159. package/lib/src/kysely_types/dosleg/Lnkrap.d.ts +16 -0
  160. package/lib/src/kysely_types/dosleg/Lnkrap.js +3 -0
  161. package/lib/src/kysely_types/dosleg/Loi.d.ts +93 -0
  162. package/lib/src/kysely_types/dosleg/Loi.js +3 -0
  163. package/lib/src/kysely_types/dosleg/Loithe.d.ts +13 -0
  164. package/lib/src/kysely_types/dosleg/Loithe.js +3 -0
  165. package/lib/src/kysely_types/dosleg/Natloi.d.ts +12 -0
  166. package/lib/src/kysely_types/dosleg/Natloi.js +3 -0
  167. package/lib/src/kysely_types/dosleg/Org.d.ts +48 -0
  168. package/lib/src/kysely_types/dosleg/Org.js +3 -0
  169. package/lib/src/kysely_types/dosleg/Orgnomhis.d.ts +28 -0
  170. package/lib/src/kysely_types/dosleg/Orgnomhis.js +3 -0
  171. package/lib/src/kysely_types/dosleg/Orippr.d.ts +12 -0
  172. package/lib/src/kysely_types/dosleg/Orippr.js +3 -0
  173. package/lib/src/kysely_types/dosleg/Oritxt.d.ts +25 -0
  174. package/lib/src/kysely_types/dosleg/Oritxt.js +3 -0
  175. package/lib/src/kysely_types/dosleg/Posvot.d.ts +12 -0
  176. package/lib/src/kysely_types/dosleg/Posvot.js +3 -0
  177. package/lib/src/kysely_types/dosleg/Qua.d.ts +16 -0
  178. package/lib/src/kysely_types/dosleg/Qua.js +3 -0
  179. package/lib/src/kysely_types/dosleg/Rap.d.ts +64 -0
  180. package/lib/src/kysely_types/dosleg/Rap.js +3 -0
  181. package/lib/src/kysely_types/dosleg/Raporg.d.ts +13 -0
  182. package/lib/src/kysely_types/dosleg/Raporg.js +3 -0
  183. package/lib/src/kysely_types/dosleg/Rapthe.d.ts +13 -0
  184. package/lib/src/kysely_types/dosleg/Rapthe.js +3 -0
  185. package/lib/src/kysely_types/dosleg/Rolsig.d.ts +12 -0
  186. package/lib/src/kysely_types/dosleg/Rolsig.js +3 -0
  187. package/lib/src/kysely_types/dosleg/Scr.d.ts +46 -0
  188. package/lib/src/kysely_types/dosleg/Scr.js +3 -0
  189. package/lib/src/kysely_types/dosleg/SenatSchema.d.ts +108 -0
  190. package/lib/src/kysely_types/dosleg/SenatSchema.js +3 -0
  191. package/lib/src/kysely_types/dosleg/Ses.d.ts +12 -0
  192. package/lib/src/kysely_types/dosleg/Ses.js +3 -0
  193. package/lib/src/kysely_types/dosleg/Stavot.d.ts +12 -0
  194. package/lib/src/kysely_types/dosleg/Stavot.js +3 -0
  195. package/lib/src/kysely_types/dosleg/Texte.d.ts +54 -0
  196. package/lib/src/kysely_types/dosleg/Texte.js +3 -0
  197. package/lib/src/kysely_types/dosleg/TexteAncien.d.ts +20 -0
  198. package/lib/src/kysely_types/dosleg/TexteAncien.js +3 -0
  199. package/lib/src/kysely_types/dosleg/The.d.ts +14 -0
  200. package/lib/src/kysely_types/dosleg/The.js +3 -0
  201. package/lib/src/kysely_types/dosleg/Titsen.d.ts +12 -0
  202. package/lib/src/kysely_types/dosleg/Titsen.js +3 -0
  203. package/lib/src/kysely_types/dosleg/Typatt.d.ts +12 -0
  204. package/lib/src/kysely_types/dosleg/Typatt.js +3 -0
  205. package/lib/src/kysely_types/dosleg/Typaut.d.ts +12 -0
  206. package/lib/src/kysely_types/dosleg/Typaut.js +3 -0
  207. package/lib/src/kysely_types/dosleg/Typdoc.d.ts +12 -0
  208. package/lib/src/kysely_types/dosleg/Typdoc.js +3 -0
  209. package/lib/src/kysely_types/dosleg/Typevtsea.d.ts +12 -0
  210. package/lib/src/kysely_types/dosleg/Typevtsea.js +3 -0
  211. package/lib/src/kysely_types/dosleg/Typlec.d.ts +14 -0
  212. package/lib/src/kysely_types/dosleg/Typlec.js +3 -0
  213. package/lib/src/kysely_types/dosleg/Typloi.d.ts +26 -0
  214. package/lib/src/kysely_types/dosleg/Typloi.js +3 -0
  215. package/lib/src/kysely_types/dosleg/Typorg.d.ts +20 -0
  216. package/lib/src/kysely_types/dosleg/Typorg.js +3 -0
  217. package/lib/src/kysely_types/dosleg/Typrap.d.ts +26 -0
  218. package/lib/src/kysely_types/dosleg/Typrap.js +3 -0
  219. package/lib/src/kysely_types/dosleg/Typtxt.d.ts +12 -0
  220. package/lib/src/kysely_types/dosleg/Typtxt.js +3 -0
  221. package/lib/src/kysely_types/dosleg/Typurl.d.ts +12 -0
  222. package/lib/src/kysely_types/dosleg/Typurl.js +3 -0
  223. package/lib/src/kysely_types/dosleg/Votsen.d.ts +25 -0
  224. package/lib/src/kysely_types/dosleg/Votsen.js +3 -0
  225. package/lib/src/kysely_types/questions/Database.d.ts +3 -0
  226. package/lib/src/kysely_types/questions/Database.js +3 -0
  227. package/lib/src/kysely_types/questions/Etatquestion.d.ts +14 -0
  228. package/lib/src/kysely_types/questions/Etatquestion.js +3 -0
  229. package/lib/src/kysely_types/questions/Legquestion.d.ts +18 -0
  230. package/lib/src/kysely_types/questions/Legquestion.js +3 -0
  231. package/lib/src/kysely_types/questions/Naturequestion.d.ts +15 -0
  232. package/lib/src/kysely_types/questions/Naturequestion.js +3 -0
  233. package/lib/src/kysely_types/questions/SenatSchema.d.ts +18 -0
  234. package/lib/src/kysely_types/questions/SenatSchema.js +3 -0
  235. package/lib/src/kysely_types/questions/Sortquestion.d.ts +14 -0
  236. package/lib/src/kysely_types/questions/Sortquestion.js +3 -0
  237. package/lib/src/kysely_types/questions/TamMinisteres.d.ts +28 -0
  238. package/lib/src/kysely_types/questions/TamMinisteres.js +3 -0
  239. package/lib/src/kysely_types/questions/TamQuestions.d.ts +124 -0
  240. package/lib/src/kysely_types/questions/TamQuestions.js +3 -0
  241. package/lib/src/kysely_types/questions/TamReponses.d.ts +32 -0
  242. package/lib/src/kysely_types/questions/TamReponses.js +3 -0
  243. package/lib/src/kysely_types/questions/The.d.ts +16 -0
  244. package/lib/src/kysely_types/questions/The.js +3 -0
  245. package/lib/src/kysely_types/sens/Activite.d.ts +34 -0
  246. package/lib/src/kysely_types/sens/Activite.js +3 -0
  247. package/lib/src/kysely_types/sens/ActiviteDelegation.d.ts +15 -0
  248. package/lib/src/kysely_types/sens/ActiviteDelegation.js +3 -0
  249. package/lib/src/kysely_types/sens/ActiviteLoi.d.ts +13 -0
  250. package/lib/src/kysely_types/sens/ActiviteLoi.js +3 -0
  251. package/lib/src/kysely_types/sens/ActiviteParticipant.d.ts +25 -0
  252. package/lib/src/kysely_types/sens/ActiviteParticipant.js +3 -0
  253. package/lib/src/kysely_types/sens/ActiviteSenateur.d.ts +21 -0
  254. package/lib/src/kysely_types/sens/ActiviteSenateur.js +3 -0
  255. package/lib/src/kysely_types/sens/ActivitesLiees.d.ts +10 -0
  256. package/lib/src/kysely_types/sens/ActivitesLiees.js +3 -0
  257. package/lib/src/kysely_types/sens/Actpro.d.ts +16 -0
  258. package/lib/src/kysely_types/sens/Actpro.js +3 -0
  259. package/lib/src/kysely_types/sens/Adresse.d.ts +39 -0
  260. package/lib/src/kysely_types/sens/Adresse.js +3 -0
  261. package/lib/src/kysely_types/sens/Asster.d.ts +18 -0
  262. package/lib/src/kysely_types/sens/Asster.js +3 -0
  263. package/lib/src/kysely_types/sens/Bur.d.ts +46 -0
  264. package/lib/src/kysely_types/sens/Bur.js +3 -0
  265. package/lib/src/kysely_types/sens/CategorieActivite.d.ts +13 -0
  266. package/lib/src/kysely_types/sens/CategorieActivite.js +3 -0
  267. package/lib/src/kysely_types/sens/Com.d.ts +48 -0
  268. package/lib/src/kysely_types/sens/Com.js +3 -0
  269. package/lib/src/kysely_types/sens/Csp.d.ts +22 -0
  270. package/lib/src/kysely_types/sens/Csp.js +3 -0
  271. package/lib/src/kysely_types/sens/Database.d.ts +3 -0
  272. package/lib/src/kysely_types/sens/Database.js +3 -0
  273. package/lib/src/kysely_types/sens/Delega.d.ts +46 -0
  274. package/lib/src/kysely_types/sens/Delega.js +3 -0
  275. package/lib/src/kysely_types/sens/Design.d.ts +33 -0
  276. package/lib/src/kysely_types/sens/Design.js +3 -0
  277. package/lib/src/kysely_types/sens/Designoep.d.ts +36 -0
  278. package/lib/src/kysely_types/sens/Designoep.js +3 -0
  279. package/lib/src/kysely_types/sens/Designorg.d.ts +39 -0
  280. package/lib/src/kysely_types/sens/Designorg.js +3 -0
  281. package/lib/src/kysely_types/sens/Dpt.d.ts +54 -0
  282. package/lib/src/kysely_types/sens/Dpt.js +3 -0
  283. package/lib/src/kysely_types/sens/Dptele.d.ts +35 -0
  284. package/lib/src/kysely_types/sens/Dptele.js +3 -0
  285. package/lib/src/kysely_types/sens/Dpttypman.d.ts +14 -0
  286. package/lib/src/kysely_types/sens/Dpttypman.js +3 -0
  287. package/lib/src/kysely_types/sens/Ele.d.ts +35 -0
  288. package/lib/src/kysely_types/sens/Ele.js +3 -0
  289. package/lib/src/kysely_types/sens/Elucan.d.ts +50 -0
  290. package/lib/src/kysely_types/sens/Elucan.js +3 -0
  291. package/lib/src/kysely_types/sens/Eludep.d.ts +49 -0
  292. package/lib/src/kysely_types/sens/Eludep.js +3 -0
  293. package/lib/src/kysely_types/sens/Eludiv.d.ts +47 -0
  294. package/lib/src/kysely_types/sens/Eludiv.js +3 -0
  295. package/lib/src/kysely_types/sens/Elueur.d.ts +47 -0
  296. package/lib/src/kysely_types/sens/Elueur.js +3 -0
  297. package/lib/src/kysely_types/sens/Elureg.d.ts +48 -0
  298. package/lib/src/kysely_types/sens/Elureg.js +3 -0
  299. package/lib/src/kysely_types/sens/Elusen.d.ts +52 -0
  300. package/lib/src/kysely_types/sens/Elusen.js +3 -0
  301. package/lib/src/kysely_types/sens/Eluter.d.ts +47 -0
  302. package/lib/src/kysely_types/sens/Eluter.js +3 -0
  303. package/lib/src/kysely_types/sens/Elutit.d.ts +38 -0
  304. package/lib/src/kysely_types/sens/Elutit.js +3 -0
  305. package/lib/src/kysely_types/sens/Eluvil.d.ts +48 -0
  306. package/lib/src/kysely_types/sens/Eluvil.js +3 -0
  307. package/lib/src/kysely_types/sens/Etadebman.d.ts +34 -0
  308. package/lib/src/kysely_types/sens/Etadebman.js +3 -0
  309. package/lib/src/kysely_types/sens/Etafinman.d.ts +34 -0
  310. package/lib/src/kysely_types/sens/Etafinman.js +3 -0
  311. package/lib/src/kysely_types/sens/Etasen.d.ts +34 -0
  312. package/lib/src/kysely_types/sens/Etasen.js +3 -0
  313. package/lib/src/kysely_types/sens/FonactParticipant.d.ts +16 -0
  314. package/lib/src/kysely_types/sens/FonactParticipant.js +3 -0
  315. package/lib/src/kysely_types/sens/Foncom.d.ts +40 -0
  316. package/lib/src/kysely_types/sens/Foncom.js +3 -0
  317. package/lib/src/kysely_types/sens/Fondelega.d.ts +40 -0
  318. package/lib/src/kysely_types/sens/Fondelega.js +3 -0
  319. package/lib/src/kysely_types/sens/Fongrppol.d.ts +40 -0
  320. package/lib/src/kysely_types/sens/Fongrppol.js +3 -0
  321. package/lib/src/kysely_types/sens/Fongrpsen.d.ts +27 -0
  322. package/lib/src/kysely_types/sens/Fongrpsen.js +3 -0
  323. package/lib/src/kysely_types/sens/Fonmemcom.d.ts +37 -0
  324. package/lib/src/kysely_types/sens/Fonmemcom.js +3 -0
  325. package/lib/src/kysely_types/sens/Fonmemdelega.d.ts +37 -0
  326. package/lib/src/kysely_types/sens/Fonmemdelega.js +3 -0
  327. package/lib/src/kysely_types/sens/Fonmemgrppol.d.ts +35 -0
  328. package/lib/src/kysely_types/sens/Fonmemgrppol.js +3 -0
  329. package/lib/src/kysely_types/sens/Fonmemgrpsen.d.ts +32 -0
  330. package/lib/src/kysely_types/sens/Fonmemgrpsen.js +3 -0
  331. package/lib/src/kysely_types/sens/Fonmemorg.d.ts +41 -0
  332. package/lib/src/kysely_types/sens/Fonmemorg.js +3 -0
  333. package/lib/src/kysely_types/sens/Fonorg.d.ts +40 -0
  334. package/lib/src/kysely_types/sens/Fonorg.js +3 -0
  335. package/lib/src/kysely_types/sens/Grppol.d.ts +46 -0
  336. package/lib/src/kysely_types/sens/Grppol.js +3 -0
  337. package/lib/src/kysely_types/sens/Grpsenami.d.ts +55 -0
  338. package/lib/src/kysely_types/sens/Grpsenami.js +3 -0
  339. package/lib/src/kysely_types/sens/Libcom.d.ts +36 -0
  340. package/lib/src/kysely_types/sens/Libcom.js +3 -0
  341. package/lib/src/kysely_types/sens/Libdelega.d.ts +34 -0
  342. package/lib/src/kysely_types/sens/Libdelega.js +3 -0
  343. package/lib/src/kysely_types/sens/Libgrppol.d.ts +36 -0
  344. package/lib/src/kysely_types/sens/Libgrppol.js +3 -0
  345. package/lib/src/kysely_types/sens/Libgrpsen.d.ts +28 -0
  346. package/lib/src/kysely_types/sens/Libgrpsen.js +3 -0
  347. package/lib/src/kysely_types/sens/Liborg.d.ts +34 -0
  348. package/lib/src/kysely_types/sens/Liborg.js +3 -0
  349. package/lib/src/kysely_types/sens/Mel.d.ts +19 -0
  350. package/lib/src/kysely_types/sens/Mel.js +3 -0
  351. package/lib/src/kysely_types/sens/Memcom.d.ts +37 -0
  352. package/lib/src/kysely_types/sens/Memcom.js +3 -0
  353. package/lib/src/kysely_types/sens/Memdelega.d.ts +38 -0
  354. package/lib/src/kysely_types/sens/Memdelega.js +3 -0
  355. package/lib/src/kysely_types/sens/Memextpar.d.ts +56 -0
  356. package/lib/src/kysely_types/sens/Memextpar.js +3 -0
  357. package/lib/src/kysely_types/sens/Memgrppol.d.ts +38 -0
  358. package/lib/src/kysely_types/sens/Memgrppol.js +3 -0
  359. package/lib/src/kysely_types/sens/Memgrpsen.d.ts +30 -0
  360. package/lib/src/kysely_types/sens/Memgrpsen.js +3 -0
  361. package/lib/src/kysely_types/sens/Memorg.d.ts +42 -0
  362. package/lib/src/kysely_types/sens/Memorg.js +3 -0
  363. package/lib/src/kysely_types/sens/Minind.d.ts +46 -0
  364. package/lib/src/kysely_types/sens/Minind.js +3 -0
  365. package/lib/src/kysely_types/sens/Mismin.d.ts +17 -0
  366. package/lib/src/kysely_types/sens/Mismin.js +3 -0
  367. package/lib/src/kysely_types/sens/Missen.d.ts +17 -0
  368. package/lib/src/kysely_types/sens/Missen.js +3 -0
  369. package/lib/src/kysely_types/sens/Moddes.d.ts +30 -0
  370. package/lib/src/kysely_types/sens/Moddes.js +3 -0
  371. package/lib/src/kysely_types/sens/Nation.d.ts +26 -0
  372. package/lib/src/kysely_types/sens/Nation.js +3 -0
  373. package/lib/src/kysely_types/sens/Nationgrpsen.d.ts +31 -0
  374. package/lib/src/kysely_types/sens/Nationgrpsen.js +3 -0
  375. package/lib/src/kysely_types/sens/Org.d.ts +46 -0
  376. package/lib/src/kysely_types/sens/Org.js +3 -0
  377. package/lib/src/kysely_types/sens/Orgext.d.ts +72 -0
  378. package/lib/src/kysely_types/sens/Orgext.js +3 -0
  379. package/lib/src/kysely_types/sens/Orgthe.d.ts +12 -0
  380. package/lib/src/kysely_types/sens/Orgthe.js +3 -0
  381. package/lib/src/kysely_types/sens/Pcs.d.ts +15 -0
  382. package/lib/src/kysely_types/sens/Pcs.js +3 -0
  383. package/lib/src/kysely_types/sens/Pcs24.d.ts +15 -0
  384. package/lib/src/kysely_types/sens/Pcs24.js +3 -0
  385. package/lib/src/kysely_types/sens/Pcs42.d.ts +15 -0
  386. package/lib/src/kysely_types/sens/Pcs42.js +3 -0
  387. package/lib/src/kysely_types/sens/Pcs8.d.ts +12 -0
  388. package/lib/src/kysely_types/sens/Pcs8.js +3 -0
  389. package/lib/src/kysely_types/sens/Pcscatpro.d.ts +15 -0
  390. package/lib/src/kysely_types/sens/Pcscatpro.js +3 -0
  391. package/lib/src/kysely_types/sens/Poicon.d.ts +20 -0
  392. package/lib/src/kysely_types/sens/Poicon.js +3 -0
  393. package/lib/src/kysely_types/sens/Qua.d.ts +30 -0
  394. package/lib/src/kysely_types/sens/Qua.js +3 -0
  395. package/lib/src/kysely_types/sens/Reg.d.ts +38 -0
  396. package/lib/src/kysely_types/sens/Reg.js +3 -0
  397. package/lib/src/kysely_types/sens/Sen.d.ts +66 -0
  398. package/lib/src/kysely_types/sens/Sen.js +3 -0
  399. package/lib/src/kysely_types/sens/SenatSchema.d.ts +198 -0
  400. package/lib/src/kysely_types/sens/SenatSchema.js +3 -0
  401. package/lib/src/kysely_types/sens/Senbur.d.ts +41 -0
  402. package/lib/src/kysely_types/sens/Senbur.js +3 -0
  403. package/lib/src/kysely_types/sens/Sennom.d.ts +32 -0
  404. package/lib/src/kysely_types/sens/Sennom.js +3 -0
  405. package/lib/src/kysely_types/sens/Senurl.d.ts +35 -0
  406. package/lib/src/kysely_types/sens/Senurl.js +3 -0
  407. package/lib/src/kysely_types/sens/Stajur.d.ts +19 -0
  408. package/lib/src/kysely_types/sens/Stajur.js +3 -0
  409. package/lib/src/kysely_types/sens/Telephone.d.ts +21 -0
  410. package/lib/src/kysely_types/sens/Telephone.js +3 -0
  411. package/lib/src/kysely_types/sens/Temval.d.ts +14 -0
  412. package/lib/src/kysely_types/sens/Temval.js +3 -0
  413. package/lib/src/kysely_types/sens/Territ.d.ts +25 -0
  414. package/lib/src/kysely_types/sens/Territ.js +3 -0
  415. package/lib/src/kysely_types/sens/Titele.d.ts +32 -0
  416. package/lib/src/kysely_types/sens/Titele.js +3 -0
  417. package/lib/src/kysely_types/sens/Typadr.d.ts +20 -0
  418. package/lib/src/kysely_types/sens/Typadr.js +3 -0
  419. package/lib/src/kysely_types/sens/Typapppol.d.ts +34 -0
  420. package/lib/src/kysely_types/sens/Typapppol.js +3 -0
  421. package/lib/src/kysely_types/sens/Typbister.d.ts +16 -0
  422. package/lib/src/kysely_types/sens/Typbister.js +3 -0
  423. package/lib/src/kysely_types/sens/TypeActivite.d.ts +11 -0
  424. package/lib/src/kysely_types/sens/TypeActivite.js +3 -0
  425. package/lib/src/kysely_types/sens/TypeActiviteParticipant.d.ts +10 -0
  426. package/lib/src/kysely_types/sens/TypeActiviteParticipant.js +3 -0
  427. package/lib/src/kysely_types/sens/TypeActiviteSenateur.d.ts +11 -0
  428. package/lib/src/kysely_types/sens/TypeActiviteSenateur.js +3 -0
  429. package/lib/src/kysely_types/sens/TypeCategorie.d.ts +11 -0
  430. package/lib/src/kysely_types/sens/TypeCategorie.js +3 -0
  431. package/lib/src/kysely_types/sens/Typele.d.ts +22 -0
  432. package/lib/src/kysely_types/sens/Typele.js +3 -0
  433. package/lib/src/kysely_types/sens/Typgrpsen.d.ts +23 -0
  434. package/lib/src/kysely_types/sens/Typgrpsen.js +3 -0
  435. package/lib/src/kysely_types/sens/Typman.d.ts +20 -0
  436. package/lib/src/kysely_types/sens/Typman.js +3 -0
  437. package/lib/src/kysely_types/sens/Typorg.d.ts +26 -0
  438. package/lib/src/kysely_types/sens/Typorg.js +3 -0
  439. package/lib/src/kysely_types/sens/Typurl.d.ts +31 -0
  440. package/lib/src/kysely_types/sens/Typurl.js +3 -0
  441. package/lib/src/kysely_types/sens/Typvoi.d.ts +16 -0
  442. package/lib/src/kysely_types/sens/Typvoi.js +3 -0
  443. package/lib/src/kysely_types/sens/Zongeo.d.ts +22 -0
  444. package/lib/src/kysely_types/sens/Zongeo.js +3 -0
  445. package/lib/src/loaders.d.ts +3 -3
  446. package/lib/src/loaders.js +1 -1
  447. package/lib/src/model/agenda.d.ts +1 -1
  448. package/lib/src/model/commission.d.ts +2 -2
  449. package/lib/src/model/seance.d.ts +1 -1
  450. package/lib/src/other_types/agenda.d.ts +45 -0
  451. package/lib/src/other_types/agenda.js +1 -0
  452. package/lib/src/other_types/compte_rendu.d.ts +83 -0
  453. package/lib/src/other_types/compte_rendu.js +1 -0
  454. package/lib/src/other_types/questions.d.ts +2 -0
  455. package/lib/src/other_types/questions.js +1 -0
  456. package/lib/src/other_types/sens.d.ts +8 -0
  457. package/lib/src/other_types/sens.js +1 -0
  458. package/lib/src/other_types/sessions.d.ts +6 -0
  459. package/lib/src/other_types/sessions.js +19 -0
  460. package/lib/src/other_types/texte.d.ts +72 -0
  461. package/lib/src/other_types/texte.js +15 -0
  462. package/lib/src/parsers/texte.d.ts +1 -1
  463. package/lib/src/parsers/texte.js +1 -1
  464. package/lib/src/questions.d.ts +53 -0
  465. package/lib/src/questions.js +1 -0
  466. package/lib/src/rich_types/agenda.d.ts +45 -0
  467. package/lib/src/rich_types/agenda.js +1 -0
  468. package/lib/src/rich_types/ameli.d.ts +70 -0
  469. package/lib/src/rich_types/ameli.js +1 -0
  470. package/lib/src/rich_types/compte_rendu.d.ts +83 -0
  471. package/lib/src/rich_types/compte_rendu.js +1 -0
  472. package/lib/src/rich_types/debats.d.ts +38 -0
  473. package/lib/src/rich_types/debats.js +1 -0
  474. package/lib/src/rich_types/dosleg.d.ts +212 -0
  475. package/lib/src/rich_types/dosleg.js +193 -0
  476. package/lib/src/rich_types/questions.d.ts +55 -0
  477. package/lib/src/rich_types/questions.js +1 -0
  478. package/lib/src/rich_types/sens.d.ts +104 -0
  479. package/lib/src/rich_types/sens.js +1 -0
  480. package/lib/src/rich_types/sessions.d.ts +6 -0
  481. package/lib/src/rich_types/sessions.js +19 -0
  482. package/lib/src/rich_types/texte.d.ts +72 -0
  483. package/lib/src/rich_types/texte.js +15 -0
  484. package/lib/src/schemas/config.d.ts +9 -0
  485. package/lib/src/schemas/config.js +10 -0
  486. package/lib/src/scripts/convert_data.js +6 -6
  487. package/lib/src/scripts/convert_xml_to_html.js +1 -1
  488. package/lib/src/scripts/datautil.d.ts +1 -1
  489. package/lib/src/scripts/retrieve_agenda.js +4 -4
  490. package/lib/src/scripts/retrieve_cr_commission.js +6 -6
  491. package/lib/src/scripts/retrieve_cr_seance.d.ts +1 -1
  492. package/lib/src/scripts/retrieve_cr_seance.js +4 -4
  493. package/lib/src/scripts/retrieve_documents.d.ts +1 -1
  494. package/lib/src/scripts/retrieve_documents.js +4 -4
  495. package/lib/src/scripts/retrieve_open_data.js +72 -8
  496. package/lib/src/scripts/retrieve_senateurs_photos.js +2 -2
  497. package/lib/src/scripts/retrieve_videos.js +3 -3
  498. package/lib/src/scripts/shared/incremental_import_sql.js +22 -7
  499. package/lib/src/scripts/shared/prefixed_tables.d.ts +2 -1
  500. package/lib/src/scripts/shared/prefixed_tables.js +4 -3
  501. package/lib/src/scripts/shared/staging_import.d.ts +1 -1
  502. package/lib/src/scripts/validate_prefixed_tables.js +12 -11
  503. package/lib/src/scrutins.d.ts +47 -0
  504. package/lib/src/scrutins.js +1 -0
  505. package/lib/src/sens.d.ts +104 -0
  506. package/lib/src/sens.js +1 -0
  507. package/lib/src/server/agenda.d.ts +6 -0
  508. package/lib/src/server/agenda.js +148 -0
  509. package/lib/src/server/ameli.d.ts +2 -0
  510. package/lib/src/server/ameli.js +153 -0
  511. package/lib/src/server/commission.d.ts +19 -0
  512. package/lib/src/server/commission.js +269 -0
  513. package/lib/src/server/config.d.ts +43 -0
  514. package/lib/src/server/config.js +37 -0
  515. package/lib/src/server/conversion_textes.d.ts +11 -0
  516. package/lib/src/server/conversion_textes.js +320 -0
  517. package/lib/src/server/databases_postgres.d.ts +32 -0
  518. package/lib/src/server/databases_postgres.js +50 -0
  519. package/lib/src/server/datasets.d.ts +38 -0
  520. package/lib/src/server/datasets.js +247 -0
  521. package/lib/src/server/debats.d.ts +2 -0
  522. package/lib/src/server/debats.js +98 -0
  523. package/lib/src/server/documents.d.ts +3 -0
  524. package/lib/src/server/documents.js +132 -0
  525. package/lib/src/server/dosleg.d.ts +2 -0
  526. package/lib/src/server/dosleg.js +228 -0
  527. package/lib/src/server/git.d.ts +27 -0
  528. package/lib/src/server/git.js +251 -0
  529. package/lib/src/server/index.d.ts +18 -0
  530. package/lib/src/server/index.js +16 -0
  531. package/lib/src/server/loaders.d.ts +52 -0
  532. package/lib/src/server/loaders.js +260 -0
  533. package/lib/src/server/questions.d.ts +2 -0
  534. package/lib/src/server/questions.js +89 -0
  535. package/lib/src/server/scrutins.d.ts +2 -0
  536. package/lib/src/server/scrutins.js +114 -0
  537. package/lib/src/server/seance.d.ts +3 -0
  538. package/lib/src/server/seance.js +267 -0
  539. package/lib/src/server/sens.d.ts +9 -0
  540. package/lib/src/server/sens.js +353 -0
  541. package/lib/src/types/ameli.d.ts +1761 -4
  542. package/lib/src/types/ameli.js +1074 -1
  543. package/lib/src/types/debats.d.ts +380 -2
  544. package/lib/src/types/debats.js +266 -1
  545. package/lib/src/types/dosleg.d.ts +2953 -69
  546. package/lib/src/types/dosleg.js +2005 -1
  547. package/lib/src/types/questions.d.ts +699 -2
  548. package/lib/src/types/questions.js +493 -1
  549. package/lib/src/types/sens.d.ts +7842 -7
  550. package/lib/src/types/sens.js +4691 -1
  551. package/lib/src/util.d.ts +1 -0
  552. package/lib/src/util.js +15 -0
  553. package/lib/src/utils/cr_spliting.d.ts +1 -1
  554. package/lib/src/utils/cr_spliting.js +2 -2
  555. package/lib/src/utils/reunion_odj_building.d.ts +2 -2
  556. package/lib/src/utils/reunion_odj_building.js +2 -2
  557. package/lib/src/utils/reunion_parsing.d.ts +2 -2
  558. package/lib/src/utils/scoring.d.ts +1 -1
  559. package/lib/src/videos/match.d.ts +1 -1
  560. package/lib/src/videos/pipeline.d.ts +1 -1
  561. package/lib/src/videos/pipeline.js +1 -1
  562. package/lib/src/videos/search.d.ts +1 -1
  563. package/lib/tests/test_iter_load.test.js +1 -1
  564. package/lib/tests/validatePrefixedTables.test.js +1 -1
  565. package/lib/tsconfig.tsbuildinfo +1 -0
  566. package/package.json +11 -4
@@ -3,17 +3,18 @@ import { execFileSync } from "child_process";
3
3
  import commandLineArgs from "command-line-args";
4
4
  import fs from "fs-extra";
5
5
  import { formatWithPrettier, makePgTsGenerator, markAsGenerated, processDatabase } from "kanel";
6
+ import { makeKyselyHook } from "kanel-kysely";
6
7
  import path from "path";
7
8
  import StreamZip from "node-stream-zip";
8
9
  import readline from "readline";
9
10
  import { pipeline, Readable } from "stream";
10
11
  import { promisify } from "util";
11
12
  import * as windows1252 from "windows-1252";
12
- import config from "../config.js";
13
- import { getChosenDatasets, getEnabledDatasets } from "../datasets.js";
13
+ import config from "../server/config.js";
14
+ import { getChosenDatasets, getEnabledDatasets } from "../server/datasets.js";
14
15
  import { assertExistingDirectory, commonOptions } from "./shared/cli_helpers.js";
15
16
  import { buildIncrementalDatasetImportSql, buildNormalizeStagingSchemaSql } from "./shared/incremental_import_sql.js";
16
- import { buildGeneratedTableManifest, getGeneratedDefinitionPath, getGeneratedTableManifestPath, prefixedName, rawTypesDir, senatSchemaName, stagingSchemaName, stripDatasetPrefix, } from "./shared/prefixed_tables.js";
17
+ import { buildGeneratedTableManifest, getGeneratedDefinitionPath, getGeneratedTableManifestPath, prefixedName, kanelTypesDir, kyselyTypesDir, senatSchemaName, stagingSchemaName, stripDatasetPrefix, } from "./shared/prefixed_tables.js";
17
18
  import { buildEnsureSchemaVersionTableSql, buildIncrementSchemaVersionSql, buildSchemaStructureFingerprintQuery, } from "./shared/schema_version.js";
18
19
  import { makeGenerateZodSchemas } from "./shared/make_generate_zod_schemas.js";
19
20
  import { buildExportStagingMetadataStatementsQuery } from "./shared/staging_metadata_sql.js";
@@ -29,7 +30,7 @@ const optionsDefinitions = [
29
30
  },
30
31
  {
31
32
  alias: "c",
32
- help: "create TypeScript interfaces and Zod schemas from database tables into src/raw_types",
33
+ help: "create TypeScript interfaces, Zod schemas, and Kysely types from database tables",
33
34
  name: "schema",
34
35
  type: Boolean,
35
36
  },
@@ -379,11 +380,11 @@ function trimComment(comment) {
379
380
  return trimmed ? trimmed : undefined;
380
381
  }
381
382
  async function generateRawTypes(dataset, runtime, prefixedTables) {
382
- await fs.ensureDir(rawTypesDir);
383
+ await fs.ensureDir(kanelTypesDir);
383
384
  const definitionFilePath = getGeneratedDefinitionPath(dataset.database);
384
385
  const manifestFilePath = getGeneratedTableManifestPath(dataset.database);
385
386
  const datasetPrefix = `${dataset.database}_`;
386
- const datasetOutputPath = path.join(rawTypesDir, dataset.database);
387
+ const datasetOutputPath = path.join(kanelTypesDir, dataset.database);
387
388
  const generateZodSchemas = makeGenerateZodSchemas({
388
389
  castToSchema: true,
389
390
  getZodIdentifierMetadata: (column, details) => ({
@@ -447,7 +448,7 @@ async function generateRawTypes(dataset, runtime, prefixedTables) {
447
448
  preRenderHooks: [generateZodSchemas],
448
449
  }),
449
450
  ],
450
- outputPath: rawTypesDir,
451
+ outputPath: kanelTypesDir,
451
452
  postRenderHooks: [markAsGenerated, formatWithPrettier],
452
453
  schemaNames: [senatSchemaName],
453
454
  typescriptConfig: {
@@ -459,6 +460,68 @@ async function generateRawTypes(dataset, runtime, prefixedTables) {
459
460
  await fs.writeFile(definitionFilePath, generatedDefinition.replace(/\r\n/g, "\n"));
460
461
  await fs.writeFile(manifestFilePath, buildGeneratedTableManifest(dataset.database, prefixedTables));
461
462
  }
463
+ async function generateKyselyTypes(dataset, runtime) {
464
+ const datasetPrefix = `${dataset.database}_`;
465
+ const datasetOutputDir = path.join(kyselyTypesDir, dataset.database);
466
+ await fs.remove(datasetOutputDir);
467
+ await fs.ensureDir(datasetOutputDir);
468
+ await processDatabase({
469
+ connection: {
470
+ database: runtime.target.name,
471
+ host: runtime.target.host,
472
+ password: runtime.target.password,
473
+ port: runtime.target.port,
474
+ user: runtime.target.user,
475
+ },
476
+ filter: (pgType) => pgType.schemaName === senatSchemaName && pgType.name.startsWith(datasetPrefix),
477
+ generators: [
478
+ makePgTsGenerator({
479
+ filter: (pgType) => pgType.schemaName === senatSchemaName && pgType.name.startsWith(datasetPrefix),
480
+ generateIdentifierType: (column, details, builtinType) => {
481
+ const tableName = stripDatasetPrefix(details.name, dataset.database);
482
+ return {
483
+ ...builtinType,
484
+ comment: undefined,
485
+ name: toIdentifierName(tableName, column.name),
486
+ typeDefinition: builtinType.typeDefinition.map((typeDefinition) => typeDefinition.replace(/ & \{ __flavor\?: '[^']+' \}/g, "").replace(/ & \{ __brand: '[^']+' \}/g, "")),
487
+ };
488
+ },
489
+ getMetadata: (details, generateFor, builtinMetadata) => {
490
+ const baseName = toPascalCase(stripDatasetPrefix(details.name, dataset.database));
491
+ const suffix = generateFor === "selector" || generateFor === undefined ? "" : toPascalCase(generateFor);
492
+ const tableComment = trimComment(details.comment);
493
+ return {
494
+ ...builtinMetadata,
495
+ comment: tableComment ? [tableComment] : undefined,
496
+ exportAs: generateFor === "selector" ? "default" : "named",
497
+ name: `${baseName}${suffix}`,
498
+ path: path.join(datasetOutputDir, baseName),
499
+ };
500
+ },
501
+ getPropertyMetadata: (property, _details, _generateFor, builtinMetadata) => {
502
+ const comment = trimComment(property.comment);
503
+ return {
504
+ ...builtinMetadata,
505
+ comment: comment ? [comment] : undefined,
506
+ };
507
+ },
508
+ preRenderHooks: [
509
+ makeKyselyHook({
510
+ databaseFilename: "Database",
511
+ includeSchemaNameInTableName: false,
512
+ }),
513
+ ],
514
+ }),
515
+ ],
516
+ outputPath: datasetOutputDir,
517
+ postRenderHooks: [markAsGenerated, formatWithPrettier],
518
+ schemaNames: [senatSchemaName],
519
+ typescriptConfig: {
520
+ enumStyle: "literal-union",
521
+ tsModuleFormat: "esm",
522
+ },
523
+ });
524
+ }
462
525
  async function downloadFile(url, dest) {
463
526
  const response = await fetch(url);
464
527
  if (!response.ok) {
@@ -602,13 +665,14 @@ async function retrieveDataset(dataDir, dataset, options, runtime) {
602
665
  }
603
666
  }
604
667
  if (options["schema"]) {
605
- await fs.ensureDir(rawTypesDir);
668
+ await fs.ensureDir(kanelTypesDir);
606
669
  if (!options["silent"]) {
607
670
  console.log(`Creating TypeScript definitions from prefixed ${senatSchemaName} tables ` +
608
671
  `for '${dataset.database}' in database '${runtime.target.name}'...`);
609
672
  }
610
673
  const prefixedTables = listPrefixedTables(dataset, dataDir, options, runtime);
611
674
  await generateRawTypes(dataset, runtime, prefixedTables);
675
+ await generateKyselyTypes(dataset, runtime);
612
676
  }
613
677
  }
614
678
  function buildRuntimeContext() {
@@ -6,8 +6,8 @@ import path from "path";
6
6
  import { fileURLToPath } from "url";
7
7
  // import stream from "stream"
8
8
  // import util from "util"
9
- import * as git from "../git.js";
10
- import { findActif as findActifSenateurs } from "../model/sens.js";
9
+ import * as git from "../server/git.js";
10
+ import { findActif as findActifSenateurs } from "../server/sens.js";
11
11
  import { slugify } from "../strings.js";
12
12
  import { assertExistingDirectory, commonOptions } from "./shared/cli_helpers.js";
13
13
  const optionsDefinitions = [
@@ -3,9 +3,9 @@ import commandLineArgs from "command-line-args";
3
3
  import fs from "fs-extra";
4
4
  import fsp from "fs/promises";
5
5
  import path from "path";
6
- import * as git from "../git.js";
7
- import { AGENDA_FOLDER, iterLoadSenatAgendas } from "../loaders.js";
8
- import { getSessionsFromStart, UNDEFINED_SESSION } from "../types/sessions.js";
6
+ import * as git from "../server/git.js";
7
+ import { AGENDA_FOLDER, iterLoadSenatAgendas } from "../server/loaders.js";
8
+ import { getSessionsFromStart, UNDEFINED_SESSION } from "../other_types/sessions.js";
9
9
  import { assertExistingDirectory, commonOptions } from "./shared/cli_helpers.js";
10
10
  import { getAgendaSegmentTimecodes, buildSenatVodMasterM3u8FromNvs } from "../utils/nvs-parsing.js";
11
11
  import { epochToParisDateTime, isAmbiguousTimeOriginal, toTargetEpoch } from "../utils/date.js";
@@ -10,7 +10,8 @@ function buildConfiguredMergeKeysValues(datasetName, mergeKeys) {
10
10
  .sort(([leftTable], [rightTable]) => leftTable.localeCompare(rightTable))
11
11
  .map(([tableName, columns]) => {
12
12
  const sqlColumns = columns.map((columnName) => `'${escapeSqlLiteral(columnName)}'`).join(", ");
13
- return `SELECT '${escapeSqlLiteral(prefixedName(datasetName, tableName))}' AS tablename, ARRAY[${sqlColumns}]::text[] AS key_columns`;
13
+ return (`SELECT '${escapeSqlLiteral(prefixedName(datasetName, tableName))}'` +
14
+ ` AS tablename, ARRAY[${sqlColumns}]::text[] AS key_columns`);
14
15
  })
15
16
  .join("\nUNION ALL\n");
16
17
  }
@@ -371,7 +372,10 @@ BEGIN
371
372
  IF column_row.generated_kind = 's' THEN
372
373
  column_definition :=
373
374
  column_definition ||
374
- ' GENERATED ALWAYS AS (' || replace(column_row.default_expression, '${stagingSchema}.', '${senatSchemaName}.') || ') STORED';
375
+ ' GENERATED ALWAYS AS (' ||
376
+ replace(column_row.default_expression,
377
+ '${stagingSchema}.', '${senatSchemaName}.') ||
378
+ ') STORED';
375
379
  ELSIF column_row.identity_kind = 'a' THEN
376
380
  column_definition := column_definition || ' GENERATED ALWAYS AS IDENTITY';
377
381
  ELSIF column_row.identity_kind = 'd' THEN
@@ -599,8 +603,12 @@ BEGIN
599
603
  AND columns.table_name = table_row.tablename;
600
604
 
601
605
  SELECT
602
- string_agg(format('%1$I = s.%1$I', columns.column_name), ', ' ORDER BY columns.ordinal_position),
603
- string_agg(format('t.%1$I IS DISTINCT FROM s.%1$I', columns.column_name), ' OR ' ORDER BY columns.ordinal_position)
606
+ string_agg(
607
+ format('%1$I = s.%1$I', columns.column_name),
608
+ ', ' ORDER BY columns.ordinal_position),
609
+ string_agg(
610
+ format('t.%1$I IS DISTINCT FROM s.%1$I', columns.column_name),
611
+ ' OR ' ORDER BY columns.ordinal_position)
604
612
  INTO update_assignments, change_condition
605
613
  FROM information_schema.columns columns
606
614
  WHERE columns.table_schema = '${escapedStagingSchema}'
@@ -636,8 +644,12 @@ BEGIN
636
644
  END IF;
637
645
 
638
646
  SELECT
639
- 'jsonb_build_array(' || string_agg(format('t.%I', columns.column_name), ', ' ORDER BY columns.ordinal_position) || ')',
640
- 'jsonb_build_array(' || string_agg(format('s.%I', columns.column_name), ', ' ORDER BY columns.ordinal_position) || ')'
647
+ 'jsonb_build_array(' ||
648
+ string_agg(format('t.%I', columns.column_name),
649
+ ', ' ORDER BY columns.ordinal_position) || ')',
650
+ 'jsonb_build_array(' ||
651
+ string_agg(format('s.%I', columns.column_name),
652
+ ', ' ORDER BY columns.ordinal_position) || ')'
641
653
  INTO target_row_signature_expression, staging_row_signature_expression
642
654
  FROM information_schema.columns columns
643
655
  WHERE columns.table_schema = '${escapedStagingSchema}'
@@ -745,7 +757,10 @@ BEGIN
745
757
  END IF;
746
758
 
747
759
  EXECUTE format(
748
- 'INSERT INTO ${senatSchemaName}.%1$I (%2$s) SELECT %3$s FROM %4$I.%1$I s WHERE NOT EXISTS (SELECT 1 FROM ${senatSchemaName}.%1$I t WHERE %5$s)',
760
+ 'INSERT INTO ${senatSchemaName}.%1$I (%2$s) ' ||
761
+ 'SELECT %3$s FROM %4$I.%1$I s ' ||
762
+ 'WHERE NOT EXISTS ' ||
763
+ '(SELECT 1 FROM ${senatSchemaName}.%1$I t WHERE %5$s)',
749
764
  table_row.tablename,
750
765
  column_list,
751
766
  staging_column_list,
@@ -1,5 +1,6 @@
1
1
  export declare const senatSchemaName = "senat";
2
- export declare const rawTypesDir: string;
2
+ export declare const kanelTypesDir: string;
3
+ export declare const kyselyTypesDir: string;
3
4
  export declare function prefixedName(datasetName: string, relationName: string): string;
4
5
  export declare function stagingSchemaName(datasetName: string): string;
5
6
  export declare function escapeRegExp(text: string): string;
@@ -1,6 +1,7 @@
1
1
  import path from "path";
2
2
  export const senatSchemaName = "senat";
3
- export const rawTypesDir = path.resolve("src", "raw_types");
3
+ export const kanelTypesDir = path.resolve("src", "kanel_types");
4
+ export const kyselyTypesDir = path.resolve("src", "kysely_types");
4
5
  export function prefixedName(datasetName, relationName) {
5
6
  return `${datasetName}_${relationName}`;
6
7
  }
@@ -15,10 +16,10 @@ export function stripDatasetPrefix(relationName, datasetName) {
15
16
  return relationName.startsWith(datasetPrefix) ? relationName.slice(datasetPrefix.length) : relationName;
16
17
  }
17
18
  export function getGeneratedDefinitionPath(datasetName) {
18
- return path.join(rawTypesDir, `${datasetName}.ts`);
19
+ return path.join(kanelTypesDir, `${datasetName}.ts`);
19
20
  }
20
21
  export function getGeneratedTableManifestPath(datasetName) {
21
- return path.join(rawTypesDir, `${datasetName}.tables.json`);
22
+ return path.join(kanelTypesDir, `${datasetName}.tables.json`);
22
23
  }
23
24
  export function buildGeneratedTableManifest(datasetName, prefixedTables) {
24
25
  const manifest = {
@@ -1,3 +1,3 @@
1
- import type { Dataset } from "../../datasets.js";
1
+ import type { Dataset } from "../../server/datasets.js";
2
2
  export declare function isCopyFromStdinLine(line: string): boolean;
3
3
  export declare function rewriteLineForStagingImport(line: string, dataset: Dataset, stagingSchema: string, inCopyData?: boolean): string;
@@ -1,21 +1,22 @@
1
1
  import commandLineArgs from "command-line-args";
2
2
  import fs from "fs-extra";
3
- import { sql } from "../databases_postgres.js";
4
- import { getChosenDatasets, getEnabledDatasets } from "../datasets.js";
3
+ import { sql } from "kysely";
4
+ import { db } from "../server/databases_postgres.js";
5
+ import { getChosenDatasets, getEnabledDatasets } from "../server/datasets.js";
5
6
  import { categoriesOption, silentOption } from "./shared/cli_helpers.js";
6
7
  import { extractPrefixedTableNamesFromGeneratedManifest, getGeneratedTableManifestPath, senatSchemaName, } from "./shared/prefixed_tables.js";
7
8
  const optionsDefinitions = [categoriesOption, silentOption];
8
9
  const options = commandLineArgs(optionsDefinitions);
9
10
  async function listPrefixedSenatTables(dataset) {
10
11
  const prefix = `${dataset.database}_`;
11
- const rows = await sql `
12
- select tablename as relation_name
12
+ const result = await sql `
13
+ select tablename
13
14
  from pg_tables
14
15
  where schemaname = ${senatSchemaName}
15
16
  and tablename like ${prefix + "%"}
16
17
  order by tablename
17
- `;
18
- return rows.map(({ relation_name }) => relation_name);
18
+ `.execute(db);
19
+ return result.rows.map(({ tablename }) => tablename);
19
20
  }
20
21
  function getGeneratedDefinitionPath(dataset) {
21
22
  return getGeneratedTableManifestPath(dataset.database);
@@ -26,14 +27,14 @@ function listExpectedPrefixedSenatTables(dataset) {
26
27
  return extractPrefixedTableNamesFromGeneratedManifest(manifest, dataset.database);
27
28
  }
28
29
  async function listColumns(schema, relationName) {
29
- const rows = await sql `
30
+ const result = await sql `
30
31
  select column_name
31
32
  from information_schema.columns
32
33
  where table_schema = ${schema}
33
34
  and table_name = ${relationName}
34
35
  order by ordinal_position
35
- `;
36
- return rows.map(({ column_name }) => column_name);
36
+ `.execute(db);
37
+ return result.rows.map(({ column_name }) => column_name);
37
38
  }
38
39
  async function validateDataset(dataset) {
39
40
  const issues = [];
@@ -86,7 +87,7 @@ async function validatePrefixedTables() {
86
87
  console.error(`- ${issue}`);
87
88
  }
88
89
  }
89
- await sql.end();
90
+ await db.destroy();
90
91
  if (hasErrors) {
91
92
  process.exit(1);
92
93
  }
@@ -95,7 +96,7 @@ async function validatePrefixedTables() {
95
96
  }
96
97
  }
97
98
  validatePrefixedTables().catch(async (error) => {
98
- await sql.end();
99
+ await db.destroy();
99
100
  console.error(error);
100
101
  process.exit(1);
101
102
  });
@@ -0,0 +1,47 @@
1
+ export interface VoteScrutinRow {
2
+ groupe_politique_code: string | null;
3
+ groupe_politique_id: string | null;
4
+ matricule_delegant: string | null;
5
+ matricule_votant: string;
6
+ position: string | null;
7
+ statut_votant: string | null;
8
+ titre_votant: string | null;
9
+ }
10
+ export interface GroupeVotantRow {
11
+ groupe_politique_code: string | null;
12
+ nombre_abstentions: string;
13
+ nombre_contre: string;
14
+ nombre_non_votants: string;
15
+ nombre_pour: string;
16
+ nombre_votants: string;
17
+ }
18
+ export interface MiseAuPointRow {
19
+ ordre: string | null;
20
+ texte: string;
21
+ url: string | null;
22
+ }
23
+ export interface ScrutinResult {
24
+ date_scrutin: string | null;
25
+ date_scrutin_effective: string | null;
26
+ groupes_votants: GroupeVotantRow[];
27
+ intitule: string | null;
28
+ lecture_id: string | null;
29
+ lecture_libelle: string | null;
30
+ mises_au_point: MiseAuPointRow[];
31
+ nombre_contre: string | null;
32
+ nombre_contre_seance: string | null;
33
+ nombre_majorite: string | null;
34
+ nombre_majorite_seance: string | null;
35
+ nombre_pour: string | null;
36
+ nombre_pour_seance: string | null;
37
+ nombre_suffrages: string | null;
38
+ nombre_suffrages_seance: string | null;
39
+ nombre_votants: string | null;
40
+ nombre_votants_seance: string | null;
41
+ note: string | null;
42
+ numero: string;
43
+ session: string;
44
+ signet_dossier: string | null;
45
+ type_lecture: string | null;
46
+ votes: VoteScrutinRow[];
47
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,104 @@
1
+ export interface FonctionRow {
2
+ date_debut: string | null;
3
+ date_fin: string | null;
4
+ libelle: string | null;
5
+ }
6
+ export interface MandatSenateurRow {
7
+ code_circonscription: string | null;
8
+ date_debut: string | null;
9
+ date_fin: string | null;
10
+ etat: string | null;
11
+ etat_debut: string | null;
12
+ etat_fin: string | null;
13
+ }
14
+ export interface MandatOrganismeRow {
15
+ code_organisme: string;
16
+ date_debut: string | null;
17
+ date_fin: string | null;
18
+ etat: string | null;
19
+ fonctions: FonctionRow[];
20
+ libelle: string | null;
21
+ type_code_organisme: string | null;
22
+ type_organisme: string | null;
23
+ }
24
+ export interface AdressePointContactRow {
25
+ bureau_distributeur: string | null;
26
+ code_cedex: string | null;
27
+ code_postal: string | null;
28
+ commune: string | null;
29
+ complement: string | null;
30
+ complement2: string | null;
31
+ libelle_cedex: string | null;
32
+ nom_voie: string | null;
33
+ numero_voie: string | null;
34
+ }
35
+ export interface TelephonePointContactRow {
36
+ numero: string | null;
37
+ type: string;
38
+ }
39
+ export interface PointContactRow {
40
+ adresses: AdressePointContactRow[];
41
+ id: string;
42
+ libelle: string | null;
43
+ telephones: TelephonePointContactRow[];
44
+ type: string;
45
+ }
46
+ export interface UrlRow {
47
+ code_url: string;
48
+ url: string;
49
+ }
50
+ export interface SenateurResult {
51
+ PCS_INSEE: string | null;
52
+ PCS_INSEE_24: string | null;
53
+ PCS_INSEE_42: string | null;
54
+ PCS_INSEE_8: string | null;
55
+ circonscription: string | null;
56
+ code_circonscription: string | null;
57
+ code_commission_permanente: string | null;
58
+ code_groupe_politique: string | null;
59
+ commission_permanente: string | null;
60
+ commissions: MandatOrganismeRow[];
61
+ courrier_electronique: string | null;
62
+ date_deces: string | null;
63
+ date_naissance: string | null;
64
+ delegations: MandatOrganismeRow[];
65
+ description_profession: string | null;
66
+ etat: string;
67
+ fonction_bureau_senat: string | null;
68
+ fonctions_bureau: FonctionRow[];
69
+ groupe_politique: string | null;
70
+ groupes: MandatOrganismeRow[];
71
+ mandats_senateur: MandatSenateurRow[];
72
+ matricule: string;
73
+ nom_usuel: string | null;
74
+ points_contact: PointContactRow[];
75
+ prenom_usuel: string;
76
+ qualite: string;
77
+ siege: string | null;
78
+ url_hatvp: string | null;
79
+ urls: UrlRow[];
80
+ }
81
+ export interface CirconscriptionResult {
82
+ article: string | null;
83
+ code: string;
84
+ date_debut: string | null;
85
+ date_fin: string | null;
86
+ etat: string | null;
87
+ identifiant: string;
88
+ libelle_departement: string;
89
+ libelle_region: string;
90
+ nombre_senateurs: string | null;
91
+ url: string | null;
92
+ }
93
+ export interface OrganismeResult {
94
+ code: string;
95
+ date_debut: string | null;
96
+ date_fin: string | null;
97
+ etat: string | null;
98
+ libelle: string | null;
99
+ libelle_court: string | null;
100
+ libelle_long: string | null;
101
+ type_code: string;
102
+ type_libelle: string | null;
103
+ url: string | null;
104
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { AgendaEvent } from "../other_types/agenda.js";
2
+ export declare function getStartAndEndTimes(timeStr: string | null | undefined, dateISO: string): {
3
+ startTime: string | null;
4
+ endTime: string | null;
5
+ };
6
+ export declare function parseAgendaFromFile(htmlFilePath: string): Promise<AgendaEvent[] | null>;
@@ -0,0 +1,148 @@
1
+ import { JSDOM } from "jsdom";
2
+ import { DateTime } from "luxon";
3
+ import path from "path";
4
+ import { ID_DATE_FORMAT, STANDARD_DATE_FORMAT } from "../scripts/datautil.js";
5
+ const FR_TZ = "Europe/Paris";
6
+ function eventIsSeance(eventElement) {
7
+ return eventElement.classList.contains("evt-seance");
8
+ }
9
+ function getEventType(eventClasses) {
10
+ const typeClass = [...eventClasses].find((className) => className.startsWith("evt-")) || null;
11
+ switch (typeClass) {
12
+ case "evt-seance":
13
+ return "Séance publique";
14
+ case "evt-instanz":
15
+ return "Commissions";
16
+ case "evt-cemi":
17
+ return "Mission de contrôle";
18
+ case "evt-deleg":
19
+ return "Offices et délégations";
20
+ case "evt-bureau":
21
+ return "Instances décisionnelles";
22
+ }
23
+ return null;
24
+ }
25
+ function getUrlDossierSenat(lienElements) {
26
+ const urlElement = [...lienElements].find((lienElement) => lienElement.textContent?.includes("dossier législatif"));
27
+ return urlElement ? urlElement.getAttribute("href") : null;
28
+ }
29
+ function getQuantieme(eventElement, seancesElements) {
30
+ const seanceIndex = seancesElements.indexOf(eventElement);
31
+ if (seancesElements.length === 1 && seanceIndex === 0) {
32
+ return "Unique";
33
+ }
34
+ else {
35
+ switch (seanceIndex) {
36
+ case 0:
37
+ return "Première";
38
+ case 1:
39
+ return "Deuxième";
40
+ case 2:
41
+ return "Troisième";
42
+ case 3:
43
+ return "Quatrième";
44
+ case 4:
45
+ return "Cinquième";
46
+ }
47
+ }
48
+ return "Non défini";
49
+ }
50
+ /**
51
+ * Normalize time string to become a simple start time ("H'h'mm") or a duration ("'de 'H'h'mm' à 'H'h'mm").
52
+ */
53
+ function normalizeTime(timeStr) {
54
+ return timeStr
55
+ ?.replace(/^À l'issue de l'espace réservé .* et au plus tard\s/i, "") // Must be processed first
56
+ ?.replace(/^(?:le )?matin/i, "10h00") // We chose "matin" to mean 10h00
57
+ ?.replace(/^(?:l')?après-midi/i, "16h00") // We chose "après-midi" to mean 16h00
58
+ ?.replace(/^(?:le )?soir/i, "20h00") // We chose "soir" to mean 20h00
59
+ ?.replace(/^(?:la )?nuit/i, "22h00") // We chose "nuit" to mean 22h00
60
+ ?.replace(/^à\s/gi, "")
61
+ ?.replace(/heures/gi, "h00")
62
+ ?.replace(/\set.*/i, "")
63
+ ?.replace(/,.*/, "")
64
+ ?.replace(/\s\(hors hémicycle\)/i, "")
65
+ ?.replace(/\s*h\s*/gi, "h");
66
+ }
67
+ export function getStartAndEndTimes(timeStr, dateISO) {
68
+ const normalizedTime = normalizeTime(timeStr);
69
+ if (!normalizedTime) {
70
+ return { startTime: null, endTime: null };
71
+ }
72
+ const rangeMatch = normalizedTime.match(/^de (?<start>\d{1,2}h\d{2}) à (?<end>\d{1,2}h\d{2})$/i);
73
+ const toUtcTimeOnly = (value) => {
74
+ if (!value)
75
+ return null;
76
+ const time = DateTime.fromFormat(value, "H'h'mm", { zone: FR_TZ });
77
+ if (!time.isValid)
78
+ return null;
79
+ const local = DateTime.fromISO(dateISO, { zone: FR_TZ }).set({
80
+ hour: time.hour,
81
+ minute: time.minute,
82
+ second: 0,
83
+ millisecond: 0,
84
+ });
85
+ if (!local.isValid)
86
+ return null;
87
+ return local.toUTC().toFormat("HH:mm:ss.SSS'Z'");
88
+ };
89
+ if (rangeMatch?.groups) {
90
+ const { start, end } = rangeMatch.groups;
91
+ return {
92
+ startTime: toUtcTimeOnly(start),
93
+ endTime: toUtcTimeOnly(end),
94
+ };
95
+ }
96
+ return {
97
+ startTime: toUtcTimeOnly(normalizedTime),
98
+ endTime: null,
99
+ };
100
+ }
101
+ function transformAgenda(document, fileName) {
102
+ const agendaEvents = [];
103
+ const eventElements = document.querySelectorAll(".evt");
104
+ const seanceElements = Array.from(eventElements).filter((eventElement) => eventIsSeance(eventElement));
105
+ for (const eventElement of eventElements) {
106
+ const id = eventElement.previousElementSibling?.getAttribute("name") || null;
107
+ if (!id) {
108
+ continue;
109
+ }
110
+ const type = getEventType(eventElement.classList);
111
+ const date = DateTime.fromFormat(fileName, ID_DATE_FORMAT).toFormat(STANDARD_DATE_FORMAT);
112
+ const timeOriginal = eventElement.querySelector(".time")?.textContent || null;
113
+ const { startTime, endTime } = getStartAndEndTimes(timeOriginal, date);
114
+ const titre = eventElement.querySelector(".titre")?.textContent?.trim() || "";
115
+ const organe = eventElement.querySelector(".organe")?.textContent?.trim() || null;
116
+ const objet = eventElement.querySelector(".objet")?.textContent?.trim()?.replace(/^- /, "") || null;
117
+ const lieu = eventElement.querySelector(".lieu")?.textContent || null;
118
+ const videoElement = eventElement.querySelector(".video");
119
+ const urlDossierSenat = getUrlDossierSenat(eventElement.querySelectorAll(".lien a"));
120
+ agendaEvents.push({
121
+ id,
122
+ type,
123
+ date,
124
+ startTime,
125
+ endTime,
126
+ timeOriginal,
127
+ titre,
128
+ organe,
129
+ objet,
130
+ lieu,
131
+ captationVideo: videoElement !== null,
132
+ urlDossierSenat: urlDossierSenat,
133
+ quantieme: eventIsSeance(eventElement) ? getQuantieme(eventElement, seanceElements) : null,
134
+ });
135
+ }
136
+ return agendaEvents;
137
+ }
138
+ export async function parseAgendaFromFile(htmlFilePath) {
139
+ try {
140
+ const { document } = (await JSDOM.fromFile(htmlFilePath, { contentType: "text/html" })).window;
141
+ const fileName = path.parse(htmlFilePath).name;
142
+ return transformAgenda(document, fileName);
143
+ }
144
+ catch (error) {
145
+ console.error(`Could not parse texte with error ${error.message}`);
146
+ }
147
+ return null;
148
+ }
@@ -0,0 +1,2 @@
1
+ import type { AmendementResult } from "../rich_types/ameli.js";
2
+ export declare function findAllAmendements(fromSession?: number): AsyncGenerator<AmendementResult, void, unknown>;