@tricoteuses/senat 1.1.2 → 1.3.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 (259) hide show
  1. package/README.md +53 -15
  2. package/lib/aggregates.d.ts +4 -6
  3. package/lib/aggregates.mjs +908 -780
  4. package/lib/aggregates.ts +8 -122
  5. package/lib/data/legislatures.json +38 -0
  6. package/lib/databases.d.ts +9 -0
  7. package/lib/databases.js +41 -11
  8. package/lib/databases.mjs +32 -1
  9. package/lib/databases.ts +40 -1
  10. package/lib/fields.mjs +64 -18
  11. package/lib/index.d.ts +5 -7
  12. package/lib/index.js +8 -112
  13. package/lib/index.mjs +4 -7
  14. package/lib/index.ts +9 -30
  15. package/lib/inserters.d.ts +0 -4
  16. package/lib/inserters.mjs +461 -337
  17. package/lib/inserters.ts +0 -24
  18. package/lib/legislatures.json +38 -0
  19. package/lib/loaders.d.ts +64 -0
  20. package/lib/loaders.js +682 -0
  21. package/lib/loaders.mjs +158 -0
  22. package/lib/loaders.ts +271 -0
  23. package/lib/model/ameli.d.ts +105 -4
  24. package/lib/model/ameli.js +20 -160
  25. package/lib/model/ameli.mjs +84 -57
  26. package/lib/model/ameli.ts +94 -80
  27. package/lib/model/debats.d.ts +0 -4
  28. package/lib/model/debats.js +1 -122
  29. package/lib/model/debats.mjs +1 -43
  30. package/lib/model/debats.ts +0 -68
  31. package/lib/model/dosleg.d.ts +227 -29
  32. package/lib/model/dosleg.js +92 -832
  33. package/lib/model/dosleg.mjs +196 -337
  34. package/lib/model/dosleg.ts +213 -531
  35. package/lib/model/index.d.ts +4 -5
  36. package/lib/model/index.js +14 -15
  37. package/lib/model/index.mjs +4 -5
  38. package/lib/model/index.ts +8 -5
  39. package/lib/model/questions.d.ts +88 -2
  40. package/lib/model/questions.js +40 -45
  41. package/lib/model/questions.mjs +71 -8
  42. package/lib/model/questions.ts +90 -11
  43. package/lib/model/sens.d.ts +524 -2
  44. package/lib/model/sens.js +172 -49
  45. package/lib/model/sens.mjs +415 -9
  46. package/lib/model/sens.ts +514 -16
  47. package/lib/model/texte.d.ts +7 -0
  48. package/lib/model/texte.js +321 -0
  49. package/lib/model/texte.mjs +208 -0
  50. package/lib/model/texte.ts +229 -0
  51. package/lib/model/util.d.ts +7 -1
  52. package/lib/model/util.js +37 -53
  53. package/lib/model/util.mjs +19 -10
  54. package/lib/model/util.ts +30 -14
  55. package/lib/raw_types/ameli.d.ts +912 -538
  56. package/lib/raw_types/ameli.js +1 -39
  57. package/lib/raw_types/ameli.mjs +4 -1
  58. package/lib/raw_types/ameli.ts +947 -597
  59. package/lib/raw_types/debats.d.ts +204 -124
  60. package/lib/raw_types/debats.js +1 -18
  61. package/lib/raw_types/debats.mjs +4 -1
  62. package/lib/raw_types/debats.ts +218 -141
  63. package/lib/raw_types/dosleg.d.ts +3533 -2024
  64. package/lib/raw_types/dosleg.js +1 -92
  65. package/lib/raw_types/dosleg.mjs +4 -1
  66. package/lib/raw_types/dosleg.ts +3621 -2189
  67. package/lib/raw_types/questions.d.ts +404 -220
  68. package/lib/raw_types/questions.js +1 -18
  69. package/lib/raw_types/questions.mjs +4 -1
  70. package/lib/raw_types/questions.ts +404 -226
  71. package/lib/raw_types/sens.d.ts +4391 -2706
  72. package/lib/raw_types/sens.js +1 -108
  73. package/lib/raw_types/sens.mjs +4 -1
  74. package/lib/raw_types/sens.ts +4495 -2903
  75. package/lib/raw_types_kysely/ameli.d.ts +6 -0
  76. package/lib/raw_types_kysely/ameli.mjs +7 -0
  77. package/lib/raw_types_kysely/ameli.ts +6 -0
  78. package/lib/raw_types_kysely/debats.d.ts +6 -0
  79. package/lib/raw_types_kysely/debats.mjs +7 -0
  80. package/lib/raw_types_kysely/debats.ts +6 -0
  81. package/lib/raw_types_kysely/dosleg.d.ts +6 -0
  82. package/lib/raw_types_kysely/dosleg.mjs +7 -0
  83. package/lib/raw_types_kysely/dosleg.ts +6 -0
  84. package/lib/raw_types_kysely/questions.d.ts +6 -0
  85. package/lib/raw_types_kysely/questions.mjs +7 -0
  86. package/lib/raw_types_kysely/questions.ts +6 -0
  87. package/lib/raw_types_kysely/sens.d.ts +6 -0
  88. package/lib/raw_types_kysely/sens.mjs +7 -0
  89. package/lib/raw_types_kysely/sens.ts +6 -0
  90. package/lib/raw_types_kysely/texte.d.ts +45 -0
  91. package/lib/raw_types_kysely/texte.mjs +7 -0
  92. package/lib/raw_types_kysely/texte.ts +53 -0
  93. package/lib/raw_types_schemats/ameli.d.ts +541 -0
  94. package/lib/raw_types_schemats/ameli.js +45 -0
  95. package/lib/raw_types_schemats/ameli.mjs +2 -0
  96. package/lib/raw_types_schemats/ameli.ts +601 -0
  97. package/lib/raw_types_schemats/debats.d.ts +127 -0
  98. package/lib/raw_types_schemats/debats.js +24 -0
  99. package/lib/raw_types_schemats/debats.mjs +2 -0
  100. package/lib/raw_types_schemats/debats.ts +145 -0
  101. package/lib/raw_types_schemats/dosleg.d.ts +2029 -0
  102. package/lib/raw_types_schemats/dosleg.js +98 -0
  103. package/lib/raw_types_schemats/dosleg.mjs +2 -0
  104. package/lib/raw_types_schemats/dosleg.ts +2195 -0
  105. package/lib/raw_types_schemats/questions.d.ts +233 -0
  106. package/lib/raw_types_schemats/questions.js +24 -0
  107. package/lib/raw_types_schemats/questions.mjs +2 -0
  108. package/lib/raw_types_schemats/questions.ts +251 -0
  109. package/lib/raw_types_schemats/sens.d.ts +2709 -0
  110. package/lib/raw_types_schemats/sens.js +114 -0
  111. package/lib/raw_types_schemats/sens.mjs +2 -0
  112. package/lib/raw_types_schemats/sens.ts +2907 -0
  113. package/lib/scripts/convert_data.js +574 -215
  114. package/lib/scripts/convert_data.mjs +134 -99
  115. package/lib/scripts/convert_data.ts +173 -112
  116. package/lib/scripts/datautil.d.ts +5 -0
  117. package/lib/scripts/datautil.js +64 -0
  118. package/lib/scripts/datautil.mjs +16 -0
  119. package/lib/scripts/datautil.ts +19 -0
  120. package/lib/scripts/parse_textes.js +132 -0
  121. package/lib/scripts/parse_textes.mjs +46 -0
  122. package/lib/scripts/parse_textes.ts +65 -0
  123. package/lib/scripts/retrieve_documents.d.ts +1 -0
  124. package/lib/scripts/retrieve_documents.js +521 -0
  125. package/lib/scripts/retrieve_documents.mjs +249 -0
  126. package/lib/scripts/retrieve_documents.ts +298 -0
  127. package/lib/scripts/retrieve_open_data.js +77 -69
  128. package/lib/scripts/retrieve_open_data.mjs +48 -49
  129. package/lib/scripts/retrieve_open_data.ts +74 -58
  130. package/lib/scripts/retrieve_senateurs_photos.js +45 -63
  131. package/lib/scripts/retrieve_senateurs_photos.mjs +4 -21
  132. package/lib/scripts/retrieve_senateurs_photos.ts +6 -29
  133. package/lib/scripts/retrieve_textes.mjs +325 -74
  134. package/lib/scripts/retrieve_textes.ts +111 -63
  135. package/lib/scripts/shared/cli_helpers.d.ts +44 -0
  136. package/lib/scripts/shared/cli_helpers.js +35 -0
  137. package/lib/scripts/shared/cli_helpers.ts +36 -0
  138. package/lib/scripts/shared/util.d.ts +3 -0
  139. package/lib/scripts/shared/util.js +102 -0
  140. package/lib/scripts/shared/util.ts +33 -0
  141. package/lib/src/aggregates.d.ts +52 -0
  142. package/lib/src/aggregates.mjs +726 -0
  143. package/lib/src/config.d.ts +2 -0
  144. package/lib/src/config.mjs +16 -0
  145. package/lib/src/databases.d.ts +18 -0
  146. package/lib/src/databases.mjs +55 -0
  147. package/lib/src/datasets.d.ts +28 -0
  148. package/lib/src/datasets.mjs +78 -0
  149. package/lib/src/fields.d.ts +10 -0
  150. package/lib/src/fields.mjs +22 -0
  151. package/lib/src/index.d.ts +8 -0
  152. package/lib/src/index.mjs +7 -0
  153. package/lib/src/inserters.d.ts +98 -0
  154. package/lib/src/inserters.mjs +360 -0
  155. package/lib/src/loaders.d.ts +36 -0
  156. package/lib/src/loaders.mjs +107 -0
  157. package/lib/src/model/ameli.d.ts +4 -0
  158. package/lib/src/model/ameli.js +57 -0
  159. package/lib/src/model/debats.d.ts +4 -0
  160. package/lib/src/model/debats.js +43 -0
  161. package/lib/src/model/dosleg.d.ts +197 -0
  162. package/lib/src/model/dosleg.js +169 -0
  163. package/lib/src/model/index.d.ts +4 -0
  164. package/lib/src/model/index.js +4 -0
  165. package/lib/src/model/questions.d.ts +89 -0
  166. package/lib/src/model/questions.js +76 -0
  167. package/lib/src/model/sens.d.ts +390 -0
  168. package/lib/src/model/sens.js +339 -0
  169. package/lib/src/model/texte.d.ts +7 -0
  170. package/lib/src/model/texte.js +183 -0
  171. package/lib/src/raw_types_kysely/ameli.d.ts +915 -0
  172. package/lib/src/raw_types_kysely/ameli.js +5 -0
  173. package/lib/src/raw_types_kysely/debats.d.ts +207 -0
  174. package/lib/src/raw_types_kysely/debats.js +5 -0
  175. package/lib/src/raw_types_kysely/dosleg.d.ts +3532 -0
  176. package/lib/src/raw_types_kysely/dosleg.js +5 -0
  177. package/lib/src/raw_types_kysely/questions.d.ts +414 -0
  178. package/lib/src/raw_types_kysely/questions.js +5 -0
  179. package/lib/src/raw_types_kysely/sens.d.ts +4394 -0
  180. package/lib/src/raw_types_kysely/sens.js +5 -0
  181. package/lib/src/raw_types_schemats/ameli.d.ts +541 -0
  182. package/lib/src/raw_types_schemats/ameli.js +2 -0
  183. package/lib/src/raw_types_schemats/debats.d.ts +127 -0
  184. package/lib/src/raw_types_schemats/debats.js +2 -0
  185. package/lib/src/raw_types_schemats/dosleg.d.ts +2027 -0
  186. package/lib/src/raw_types_schemats/dosleg.js +2 -0
  187. package/lib/src/raw_types_schemats/questions.d.ts +231 -0
  188. package/lib/src/raw_types_schemats/questions.js +2 -0
  189. package/lib/src/raw_types_schemats/sens.d.ts +2709 -0
  190. package/lib/src/raw_types_schemats/sens.js +2 -0
  191. package/lib/src/scripts/convert_data.d.ts +1 -0
  192. package/lib/src/scripts/convert_data.js +95 -0
  193. package/lib/src/scripts/datautil.d.ts +5 -0
  194. package/lib/src/scripts/datautil.js +16 -0
  195. package/lib/src/scripts/parse_textes.d.ts +1 -0
  196. package/lib/src/scripts/parse_textes.js +47 -0
  197. package/lib/src/scripts/retrieve_documents.d.ts +1 -0
  198. package/lib/src/scripts/retrieve_documents.js +258 -0
  199. package/lib/src/scripts/retrieve_open_data.d.ts +1 -0
  200. package/lib/src/scripts/retrieve_open_data.js +214 -0
  201. package/lib/src/scripts/retrieve_senateurs_photos.d.ts +1 -0
  202. package/lib/src/scripts/retrieve_senateurs_photos.js +147 -0
  203. package/lib/src/scripts/shared/cli_helpers.d.ts +44 -0
  204. package/lib/src/scripts/shared/cli_helpers.js +32 -0
  205. package/lib/src/scripts/shared/util.d.ts +3 -0
  206. package/lib/src/scripts/shared/util.js +28 -0
  207. package/lib/src/strings.d.ts +1 -0
  208. package/lib/src/strings.mjs +18 -0
  209. package/lib/src/types/ameli.d.ts +10 -0
  210. package/lib/src/types/ameli.js +13 -0
  211. package/lib/src/types/debats.d.ts +4 -0
  212. package/lib/src/types/debats.js +2 -0
  213. package/lib/src/types/dosleg.d.ts +98 -0
  214. package/lib/src/types/dosleg.js +151 -0
  215. package/lib/src/types/questions.d.ts +2 -0
  216. package/lib/src/types/questions.js +1 -0
  217. package/lib/src/types/sens.d.ts +10 -0
  218. package/lib/src/types/sens.js +1 -0
  219. package/lib/src/types/sessions.d.ts +42 -0
  220. package/lib/src/types/sessions.js +43 -0
  221. package/lib/src/types/texte.d.ts +61 -0
  222. package/lib/src/types/texte.js +16 -0
  223. package/lib/src/validators/config.d.ts +1 -0
  224. package/lib/src/validators/config.js +54 -0
  225. package/lib/src/validators/senat.d.ts +0 -0
  226. package/lib/src/validators/senat.js +24 -0
  227. package/lib/types/ameli.d.ts +1 -1
  228. package/lib/types/ameli.js +2 -2
  229. package/lib/types/ameli.ts +1 -1
  230. package/lib/types/debats.d.ts +1 -1
  231. package/lib/types/debats.js +2 -2
  232. package/lib/types/debats.ts +1 -1
  233. package/lib/types/dosleg.d.ts +2 -2
  234. package/lib/types/dosleg.js +2 -2
  235. package/lib/types/dosleg.ts +2 -2
  236. package/lib/types/questions.d.ts +1 -1
  237. package/lib/types/questions.js +2 -2
  238. package/lib/types/questions.ts +1 -1
  239. package/lib/types/sens.d.ts +1 -3
  240. package/lib/types/sens.js +2 -5
  241. package/lib/types/sens.mjs +1 -23
  242. package/lib/types/sens.ts +1 -25
  243. package/lib/types/sessions.d.ts +42 -0
  244. package/lib/types/sessions.js +51 -0
  245. package/lib/types/sessions.mjs +43 -0
  246. package/lib/types/sessions.ts +42 -0
  247. package/lib/types/texte.d.ts +65 -0
  248. package/lib/types/texte.js +24 -0
  249. package/lib/types/texte.mjs +16 -0
  250. package/lib/types/texte.ts +76 -0
  251. package/package.json +35 -10
  252. package/lib/aggregates.js +0 -1122
  253. package/lib/fields.js +0 -68
  254. package/lib/inserters.js +0 -518
  255. package/lib/scripts/fix_db.js +0 -144
  256. package/lib/scripts/fix_db.mjs +0 -64
  257. package/lib/scripts/fix_db.ts +0 -75
  258. package/lib/scripts/retrieve_textes.js +0 -179
  259. /package/lib/scripts/{fix_db.d.ts → parse_textes.d.ts} +0 -0
@@ -0,0 +1,65 @@
1
+ export declare enum DivisionType {
2
+ tome = 1,
3
+ part = 2,
4
+ book = 3,
5
+ title = 4,
6
+ subtitle = 5,
7
+ chapter = 6,
8
+ section = 7,
9
+ subsection = 8,
10
+ paragraph = 9,
11
+ article = 10,
12
+ alinea = 11,
13
+ division = 12
14
+ }
15
+ export type DivisionTag = keyof typeof DivisionType;
16
+ export interface FlatTexte {
17
+ titre: string | null;
18
+ titreCourt: string | null;
19
+ signetDossier: string | null;
20
+ urlDossierSenat: string | null;
21
+ urlDossierAssemblee: string | null;
22
+ type: string | null;
23
+ session: string | null;
24
+ numero: number | null;
25
+ datePresentation: Date | null;
26
+ dateDepot: Date | null;
27
+ datePublicationXml: Date | null;
28
+ version: Version | null;
29
+ workflow: Step[];
30
+ divisions: Division[];
31
+ exposeDesMotifs?: ExposeDesMotifs | null;
32
+ }
33
+ export type Version = "RECT" | "RECT_BIS" | "RECT_TER" | "RECT_QUATER" | "RECT_QUINQUIES";
34
+ export interface Step {
35
+ eId: string;
36
+ date: Date | null;
37
+ type: string | null;
38
+ session: string | null;
39
+ numero: string | null;
40
+ version: Version | null;
41
+ outcome: string | null;
42
+ }
43
+ export interface Division {
44
+ index: number;
45
+ eId: string;
46
+ tag: DivisionTag;
47
+ level: number;
48
+ headings: DivisionContent[];
49
+ }
50
+ export interface Article extends Division {
51
+ alineas: Alinea[];
52
+ }
53
+ export interface DivisionContent {
54
+ text: string | null;
55
+ html?: string | null;
56
+ }
57
+ export interface Alinea extends DivisionContent {
58
+ eId: string;
59
+ heading: DivisionContent;
60
+ pastille: string | null;
61
+ }
62
+ export interface ExposeDesMotifs {
63
+ text: string | null;
64
+ html: string | null;
65
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DivisionType = void 0;
8
+ /* eslint no-use-before-define: 0 */
9
+ var DivisionType = exports.DivisionType = /*#__PURE__*/function (DivisionType) {
10
+ DivisionType[DivisionType["tome"] = 1] = "tome";
11
+ DivisionType[DivisionType["part"] = 2] = "part";
12
+ DivisionType[DivisionType["book"] = 3] = "book";
13
+ DivisionType[DivisionType["title"] = 4] = "title";
14
+ DivisionType[DivisionType["subtitle"] = 5] = "subtitle";
15
+ DivisionType[DivisionType["chapter"] = 6] = "chapter";
16
+ DivisionType[DivisionType["section"] = 7] = "section";
17
+ DivisionType[DivisionType["subsection"] = 8] = "subsection";
18
+ DivisionType[DivisionType["paragraph"] = 9] = "paragraph";
19
+ DivisionType[DivisionType["article"] = 10] = "article";
20
+ DivisionType[DivisionType["alinea"] = 11] = "alinea";
21
+ DivisionType[DivisionType["division"] = 12] = "division"; // TODO annexe
22
+ return DivisionType;
23
+ }({});
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEaXZpc2lvblR5cGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3RleHRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby11c2UtYmVmb3JlLWRlZmluZTogMCAqL1xuXG5leHBvcnQgZW51bSBEaXZpc2lvblR5cGUge1xuICB0b21lID0gMSxcbiAgcGFydCxcbiAgYm9vayxcbiAgdGl0bGUsXG4gIHN1YnRpdGxlLFxuICBjaGFwdGVyLFxuICBzZWN0aW9uLFxuICBzdWJzZWN0aW9uLFxuICBwYXJhZ3JhcGgsXG4gIGFydGljbGUsXG4gIGFsaW5lYSxcbiAgZGl2aXNpb24gLy8gVE9ETyBhbm5leGVcbn1cblxuZXhwb3J0IHR5cGUgRGl2aXNpb25UYWcgPSBrZXlvZiB0eXBlb2YgRGl2aXNpb25UeXBlO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsYXRUZXh0ZSB7XG4gIHRpdHJlOiBzdHJpbmcgfCBudWxsXG4gIHRpdHJlQ291cnQ6IHN0cmluZyB8IG51bGxcbiAgc2lnbmV0RG9zc2llcjogc3RyaW5nIHwgbnVsbFxuICB1cmxEb3NzaWVyU2VuYXQ6IHN0cmluZyB8IG51bGxcbiAgdXJsRG9zc2llckFzc2VtYmxlZTogc3RyaW5nIHwgbnVsbFxuICB0eXBlOiBzdHJpbmcgfCBudWxsXG4gIHNlc3Npb246IHN0cmluZyB8IG51bGxcbiAgbnVtZXJvOiBudW1iZXIgfCBudWxsXG4gIGRhdGVQcmVzZW50YXRpb246IERhdGUgfCBudWxsLFxuICBkYXRlRGVwb3Q6IERhdGUgfCBudWxsLFxuICBkYXRlUHVibGljYXRpb25YbWw6IERhdGUgfCBudWxsLFxuICB2ZXJzaW9uOiBWZXJzaW9uIHwgbnVsbFxuICB3b3JrZmxvdzogU3RlcFtdXG4gIGRpdmlzaW9uczogRGl2aXNpb25bXVxuICBleHBvc2VEZXNNb3RpZnM/OiBFeHBvc2VEZXNNb3RpZnMgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSBcIlJFQ1RcIiB8IFwiUkVDVF9CSVNcIiB8IFwiUkVDVF9URVJcIiB8IFwiUkVDVF9RVUFURVJcIiB8IFwiUkVDVF9RVUlOUVVJRVNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXAge1xuICBlSWQ6IHN0cmluZ1xuICBkYXRlOiBEYXRlIHwgbnVsbFxuICB0eXBlOiBzdHJpbmcgfCBudWxsXG4gIHNlc3Npb246IHN0cmluZyB8IG51bGxcbiAgbnVtZXJvOiBzdHJpbmcgfCBudWxsXG4gIHZlcnNpb246IFZlcnNpb24gfCBudWxsXG4gIG91dGNvbWU6IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXZpc2lvbiB7XG4gIGluZGV4OiBudW1iZXJcbiAgZUlkOiBzdHJpbmdcbiAgdGFnOiBEaXZpc2lvblRhZ1xuICBsZXZlbDogbnVtYmVyXG4gIGhlYWRpbmdzOiBEaXZpc2lvbkNvbnRlbnRbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFydGljbGUgZXh0ZW5kcyBEaXZpc2lvbiB7XG4gIGFsaW5lYXM6IEFsaW5lYVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGl2aXNpb25Db250ZW50IHtcbiAgdGV4dDogc3RyaW5nIHwgbnVsbFxuICBodG1sPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsaW5lYSBleHRlbmRzIERpdmlzaW9uQ29udGVudCB7XG4gIGVJZDogc3RyaW5nXG4gIGhlYWRpbmc6IERpdmlzaW9uQ29udGVudFxuICBwYXN0aWxsZTogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9zZURlc01vdGlmcyB7XG4gIHRleHQ6IHN0cmluZyB8IG51bGxcbiAgaHRtbDogc3RyaW5nIHwgbnVsbFxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFBQSxJQUVZQSxZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFBQSwwQkFBWkEsWUFBWTtFQUFaQSxZQUFZLENBQVpBLFlBQVk7RUFBWkEsWUFBWSxDQUFaQSxZQUFZO0VBQVpBLFlBQVksQ0FBWkEsWUFBWTtFQUFaQSxZQUFZLENBQVpBLFlBQVk7RUFBWkEsWUFBWSxDQUFaQSxZQUFZO0VBQVpBLFlBQVksQ0FBWkEsWUFBWTtFQUFaQSxZQUFZLENBQVpBLFlBQVk7RUFBWkEsWUFBWSxDQUFaQSxZQUFZO0VBQVpBLFlBQVksQ0FBWkEsWUFBWTtFQUFaQSxZQUFZLENBQVpBLFlBQVk7RUFBWkEsWUFBWSxDQUFaQSxZQUFZO0VBQVpBLFlBQVksQ0FBWkEsWUFBWSxpQ0FZYjtFQUFBLE9BWkNBLFlBQVk7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,16 @@
1
+ /* eslint no-use-before-define: 0 */
2
+ export var DivisionType;
3
+ (function (DivisionType) {
4
+ DivisionType[DivisionType["tome"] = 1] = "tome";
5
+ DivisionType[DivisionType["part"] = 2] = "part";
6
+ DivisionType[DivisionType["book"] = 3] = "book";
7
+ DivisionType[DivisionType["title"] = 4] = "title";
8
+ DivisionType[DivisionType["subtitle"] = 5] = "subtitle";
9
+ DivisionType[DivisionType["chapter"] = 6] = "chapter";
10
+ DivisionType[DivisionType["section"] = 7] = "section";
11
+ DivisionType[DivisionType["subsection"] = 8] = "subsection";
12
+ DivisionType[DivisionType["paragraph"] = 9] = "paragraph";
13
+ DivisionType[DivisionType["article"] = 10] = "article";
14
+ DivisionType[DivisionType["alinea"] = 11] = "alinea";
15
+ DivisionType[DivisionType["division"] = 12] = "division"; // TODO annexe
16
+ })(DivisionType || (DivisionType = {}));
@@ -0,0 +1,76 @@
1
+ /* eslint no-use-before-define: 0 */
2
+
3
+ export enum DivisionType {
4
+ tome = 1,
5
+ part,
6
+ book,
7
+ title,
8
+ subtitle,
9
+ chapter,
10
+ section,
11
+ subsection,
12
+ paragraph,
13
+ article,
14
+ alinea,
15
+ division // TODO annexe
16
+ }
17
+
18
+ export type DivisionTag = keyof typeof DivisionType;
19
+
20
+ export interface FlatTexte {
21
+ titre: string | null
22
+ titreCourt: string | null
23
+ signetDossier: string | null
24
+ urlDossierSenat: string | null
25
+ urlDossierAssemblee: string | null
26
+ type: string | null
27
+ session: string | null
28
+ numero: number | null
29
+ datePresentation: Date | null,
30
+ dateDepot: Date | null,
31
+ datePublicationXml: Date | null,
32
+ version: Version | null
33
+ workflow: Step[]
34
+ divisions: Division[]
35
+ exposeDesMotifs?: ExposeDesMotifs | null
36
+ }
37
+
38
+ export type Version = "RECT" | "RECT_BIS" | "RECT_TER" | "RECT_QUATER" | "RECT_QUINQUIES"
39
+
40
+ export interface Step {
41
+ eId: string
42
+ date: Date | null
43
+ type: string | null
44
+ session: string | null
45
+ numero: string | null
46
+ version: Version | null
47
+ outcome: string | null
48
+ }
49
+
50
+ export interface Division {
51
+ index: number
52
+ eId: string
53
+ tag: DivisionTag
54
+ level: number
55
+ headings: DivisionContent[]
56
+ }
57
+
58
+ export interface Article extends Division {
59
+ alineas: Alinea[]
60
+ }
61
+
62
+ export interface DivisionContent {
63
+ text: string | null
64
+ html?: string | null
65
+ }
66
+
67
+ export interface Alinea extends DivisionContent {
68
+ eId: string
69
+ heading: DivisionContent
70
+ pastille: string | null
71
+ }
72
+
73
+ export interface ExposeDesMotifs {
74
+ text: string | null
75
+ html: string | null
76
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tricoteuses/senat",
3
- "version": "1.1.2",
3
+ "version": "1.3.1",
4
4
  "description": "Handle French Sénat's open data",
5
5
  "keywords": [
6
6
  "France",
@@ -29,6 +29,11 @@
29
29
  "require": "./lib/index.js",
30
30
  "types": "./lib/index.d.ts"
31
31
  },
32
+ "./lib/loaders": {
33
+ "import": "./lib/loaders.mjs",
34
+ "require": "./lib/loaders.js",
35
+ "types": "./lib/loaders.d.ts"
36
+ },
32
37
  "./package.json": "./package.json"
33
38
  },
34
39
  "typesVersions": {
@@ -43,11 +48,19 @@
43
48
  },
44
49
  "scripts": {
45
50
  "build": "npm run build:types && npm run build:js && npm run build:mjs && npm run build:cjs && npm run build:static",
46
- "build:js": "npx babel src --out-dir lib --extensions \".ts\" --source-maps inline",
47
- "build:cjs": "babel src --out-dir lib --extensions \".ts\" --source-maps inline",
51
+ "build:cjs": "babel src --out-dir lib --extensions '.ts' --source-maps inline",
52
+ "build:js": "npx babel src --out-dir lib --extensions '.ts' --source-maps inline",
48
53
  "build:mjs": "tsc && for file in lib/*.js lib/**/*.js; do new_file=`echo $file | sed 's/.js/.mjs/'`; mv $file $new_file; done",
49
- "build:types": "tsc --emitDeclarationOnly",
50
54
  "build:static": "npx babel src --out-dir lib --copy-files",
55
+ "build:types": "tsc --emitDeclarationOnly",
56
+ "data:convert_data": "npx babel-node --extensions '.ts' -- src/scripts/convert_data.ts",
57
+ "data:download": "bash -c 'npm run data:retrieve_open_data -- $@ && npm run data:convert_data -- $@' bash",
58
+ "data:generate_schemas": "npx babel-node --extensions '.ts' -- src/scripts/retrieve_open_data.ts --schema",
59
+ "data:retrieve_open_data": "npx babel-node --extensions '.ts' -- src/scripts/retrieve_open_data.ts --all",
60
+ "data:retrieve_senateurs_photos": "npx babel-node --extensions '.ts' -- src/scripts/retrieve_senateurs_photos.ts --fetch",
61
+ "data:retrieve_documents": "npx babel-node --extensions '.ts' -- src/scripts/retrieve_documents.ts",
62
+ "data:parse_textes_lois": "npx babel-node --extensions '.ts' -- src/scripts/parse_textes.ts",
63
+ "prepare": "npm run build",
51
64
  "prepublishOnly": "npm run build",
52
65
  "prettier": "prettier --write 'src/**/*.ts' 'tests/**/*.test.ts'",
53
66
  "type-check": "tsc --noEmit",
@@ -55,11 +68,16 @@
55
68
  },
56
69
  "dependencies": {
57
70
  "@biryani/core": "^0.2.1",
71
+ "@types/pg": "^8.11.10",
58
72
  "command-line-args": "^5.1.1",
59
- "cross-fetch": "^3.0.4",
60
73
  "dotenv": "^8.2.0",
61
74
  "fs-extra": "^9.1.0",
75
+ "jsdom": "^26.0.0",
76
+ "kysely": "^0.27.4",
77
+ "luxon": "^3.5.0",
62
78
  "node-stream-zip": "^1.8.2",
79
+ "pg": "^8.13.1",
80
+ "pg-cursor": "^2.12.1",
63
81
  "pg-promise": "^10.9.2",
64
82
  "slug": "^4.0.2",
65
83
  "windows-1252": "^1.0.0"
@@ -67,6 +85,8 @@
67
85
  "devDependencies": {
68
86
  "@babel/cli": "^7.11.6",
69
87
  "@babel/core": "^7.11.6",
88
+ "@babel/eslint-parser": "^7.23.10",
89
+ "@babel/eslint-plugin": "^7.25.9",
70
90
  "@babel/node": "^7.10.5",
71
91
  "@babel/plugin-proposal-class-properties": "^7.10.4",
72
92
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
@@ -75,17 +95,22 @@
75
95
  "@typed-code/schemats": "^5.0.1",
76
96
  "@types/command-line-args": "^5.0.0",
77
97
  "@types/fs-extra": "^9.0.7",
78
- "@types/node": "^14.14.28",
98
+ "@types/jsdom": "^21.1.7",
99
+ "@types/luxon": "^3.4.2",
100
+ "@types/node": "^20.17.6",
101
+ "@types/pg-cursor": "^2.7.2",
79
102
  "@types/slug": "^0.9.1",
80
- "babel-eslint": "^10.1.0",
103
+ "@typescript-eslint/eslint-plugin": "^8.13.0",
104
+ "@typescript-eslint/parser": "^8.13.0",
81
105
  "core-js": "^3.3.2",
82
- "eslint": "^8.22.0",
106
+ "eslint": "^8.57.1",
107
+ "kysely-codegen": "^0.18.0",
83
108
  "prettier": "^2.2.1",
84
109
  "regenerator-runtime": "^0.13.3",
85
110
  "tslib": "^2.1.0",
86
- "typescript": "^4.1.5"
111
+ "typescript": "^5.7.2"
87
112
  },
88
113
  "engines": {
89
- "node": ">=16"
114
+ "node": ">=22"
90
115
  }
91
116
  }