@tricoteuses/senat 2.22.3 → 2.22.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.
- package/lib/aggregates.d.ts +52 -0
- package/lib/aggregates.js +930 -0
- package/lib/aggregates.mjs +713 -0
- package/lib/aggregates.ts +833 -0
- package/lib/config.d.ts +10 -0
- package/lib/config.js +16 -0
- package/lib/config.mjs +16 -0
- package/lib/config.ts +26 -0
- package/lib/databases.d.ts +2 -0
- package/lib/databases.js +26 -0
- package/lib/databases.mjs +57 -0
- package/lib/databases.ts +71 -0
- package/lib/datasets.d.ts +34 -0
- package/lib/datasets.js +233 -0
- package/lib/datasets.mjs +78 -0
- package/lib/datasets.ts +118 -0
- package/lib/fields.d.ts +10 -0
- package/lib/fields.js +68 -0
- package/lib/fields.mjs +22 -0
- package/lib/fields.ts +29 -0
- package/lib/git.d.ts +26 -0
- package/lib/git.js +167 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +1 -0
- package/lib/index.mjs +7 -0
- package/lib/index.ts +64 -0
- package/lib/inserters.d.ts +98 -0
- package/lib/inserters.js +500 -0
- package/lib/inserters.mjs +360 -0
- package/lib/inserters.ts +521 -0
- package/lib/legislatures.json +38 -0
- package/lib/loaders.d.ts +58 -0
- package/lib/loaders.js +286 -0
- package/lib/loaders.mjs +158 -0
- package/lib/loaders.ts +271 -0
- package/lib/model/agenda.d.ts +6 -0
- package/lib/model/agenda.js +148 -0
- package/lib/model/ameli.d.ts +51 -0
- package/lib/model/ameli.js +149 -0
- package/lib/model/ameli.mjs +84 -0
- package/lib/model/ameli.ts +100 -0
- package/lib/model/commission.d.ts +18 -0
- package/lib/model/commission.js +269 -0
- package/lib/model/debats.d.ts +67 -0
- package/lib/model/debats.js +95 -0
- package/lib/model/debats.mjs +43 -0
- package/lib/model/debats.ts +68 -0
- package/lib/model/documents.d.ts +12 -0
- package/lib/model/documents.js +151 -0
- package/lib/model/dosleg.d.ts +7 -0
- package/lib/model/dosleg.js +326 -0
- package/lib/model/dosleg.mjs +196 -0
- package/lib/model/dosleg.ts +240 -0
- package/lib/model/index.d.ts +7 -0
- package/lib/model/index.js +7 -0
- package/lib/model/index.mjs +5 -0
- package/lib/model/index.ts +15 -0
- package/lib/model/questions.d.ts +45 -0
- package/lib/model/questions.js +89 -0
- package/lib/model/questions.mjs +71 -0
- package/lib/model/questions.ts +93 -0
- package/lib/model/scrutins.d.ts +13 -0
- package/lib/model/scrutins.js +114 -0
- package/lib/model/seance.d.ts +3 -0
- package/lib/model/seance.js +267 -0
- package/lib/model/sens.d.ts +146 -0
- package/lib/model/sens.js +454 -0
- package/lib/model/sens.mjs +415 -0
- package/lib/model/sens.ts +516 -0
- package/lib/model/texte.d.ts +7 -0
- package/lib/model/texte.js +256 -0
- package/lib/model/texte.mjs +208 -0
- package/lib/model/texte.ts +229 -0
- package/lib/model/util.d.ts +9 -0
- package/lib/model/util.js +38 -0
- package/lib/model/util.mjs +19 -0
- package/lib/model/util.ts +32 -0
- package/lib/parsers/texte.d.ts +7 -0
- package/lib/parsers/texte.js +228 -0
- package/lib/raw_types/ameli.d.ts +914 -0
- package/lib/raw_types/ameli.js +5 -0
- package/lib/raw_types/ameli.mjs +163 -0
- package/lib/raw_types/debats.d.ts +207 -0
- package/lib/raw_types/debats.js +5 -0
- package/lib/raw_types/debats.mjs +58 -0
- package/lib/raw_types/dosleg.d.ts +1619 -0
- package/lib/raw_types/dosleg.js +5 -0
- package/lib/raw_types/dosleg.mjs +438 -0
- package/lib/raw_types/questions.d.ts +419 -0
- package/lib/raw_types/questions.js +5 -0
- package/lib/raw_types/questions.mjs +11 -0
- package/lib/raw_types/senat.d.ts +11368 -0
- package/lib/raw_types/senat.js +5 -0
- package/lib/raw_types/sens.d.ts +8248 -0
- package/lib/raw_types/sens.js +5 -0
- package/lib/raw_types/sens.mjs +508 -0
- package/lib/raw_types_kysely/ameli.d.ts +915 -0
- package/lib/raw_types_kysely/ameli.js +7 -0
- package/lib/raw_types_kysely/ameli.mjs +5 -0
- package/lib/raw_types_kysely/ameli.ts +951 -0
- package/lib/raw_types_kysely/debats.d.ts +207 -0
- package/lib/raw_types_kysely/debats.js +7 -0
- package/lib/raw_types_kysely/debats.mjs +5 -0
- package/lib/raw_types_kysely/debats.ts +222 -0
- package/lib/raw_types_kysely/dosleg.d.ts +3532 -0
- package/lib/raw_types_kysely/dosleg.js +7 -0
- package/lib/raw_types_kysely/dosleg.mjs +5 -0
- package/lib/raw_types_kysely/dosleg.ts +3621 -0
- package/lib/raw_types_kysely/questions.d.ts +414 -0
- package/lib/raw_types_kysely/questions.js +7 -0
- package/lib/raw_types_kysely/questions.mjs +5 -0
- package/lib/raw_types_kysely/questions.ts +426 -0
- package/lib/raw_types_kysely/sens.d.ts +4394 -0
- package/lib/raw_types_kysely/sens.js +7 -0
- package/lib/raw_types_kysely/sens.mjs +5 -0
- package/lib/raw_types_kysely/sens.ts +4499 -0
- package/lib/raw_types_schemats/ameli.d.ts +539 -0
- package/lib/raw_types_schemats/ameli.js +2 -0
- package/lib/raw_types_schemats/ameli.mjs +2 -0
- package/lib/raw_types_schemats/ameli.ts +601 -0
- package/lib/raw_types_schemats/debats.d.ts +127 -0
- package/lib/raw_types_schemats/debats.js +2 -0
- package/lib/raw_types_schemats/debats.mjs +2 -0
- package/lib/raw_types_schemats/debats.ts +145 -0
- package/lib/raw_types_schemats/dosleg.d.ts +977 -0
- package/lib/raw_types_schemats/dosleg.js +2 -0
- package/lib/raw_types_schemats/dosleg.mjs +2 -0
- package/lib/raw_types_schemats/dosleg.ts +2193 -0
- package/lib/raw_types_schemats/questions.d.ts +235 -0
- package/lib/raw_types_schemats/questions.js +2 -0
- package/lib/raw_types_schemats/questions.mjs +2 -0
- package/lib/raw_types_schemats/questions.ts +249 -0
- package/lib/raw_types_schemats/sens.d.ts +6915 -0
- package/lib/raw_types_schemats/sens.js +2 -0
- package/lib/raw_types_schemats/sens.mjs +2 -0
- package/lib/raw_types_schemats/sens.ts +2907 -0
- package/lib/scripts/convert_data.d.ts +1 -0
- package/lib/scripts/convert_data.js +354 -0
- package/lib/scripts/convert_data.mjs +181 -0
- package/lib/scripts/convert_data.ts +243 -0
- package/lib/scripts/data-download.d.ts +1 -0
- package/lib/scripts/data-download.js +12 -0
- package/lib/scripts/datautil.d.ts +8 -0
- package/lib/scripts/datautil.js +34 -0
- package/lib/scripts/datautil.mjs +16 -0
- package/lib/scripts/datautil.ts +19 -0
- package/lib/scripts/images/transparent_150x192.jpg +0 -0
- package/lib/scripts/images/transparent_155x225.jpg +0 -0
- package/lib/scripts/parse_textes.d.ts +1 -0
- package/lib/scripts/parse_textes.js +44 -0
- package/lib/scripts/parse_textes.mjs +46 -0
- package/lib/scripts/parse_textes.ts +65 -0
- package/lib/scripts/retrieve_agenda.d.ts +1 -0
- package/lib/scripts/retrieve_agenda.js +132 -0
- package/lib/scripts/retrieve_cr_commission.d.ts +1 -0
- package/lib/scripts/retrieve_cr_commission.js +364 -0
- package/lib/scripts/retrieve_cr_seance.d.ts +6 -0
- package/lib/scripts/retrieve_cr_seance.js +347 -0
- package/lib/scripts/retrieve_documents.d.ts +3 -0
- package/lib/scripts/retrieve_documents.js +219 -0
- package/lib/scripts/retrieve_documents.mjs +249 -0
- package/lib/scripts/retrieve_documents.ts +298 -0
- package/lib/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/scripts/retrieve_open_data.js +315 -0
- package/lib/scripts/retrieve_open_data.mjs +217 -0
- package/lib/scripts/retrieve_open_data.ts +268 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/scripts/retrieve_senateurs_photos.js +147 -0
- package/lib/scripts/retrieve_senateurs_photos.mjs +147 -0
- package/lib/scripts/retrieve_senateurs_photos.ts +177 -0
- package/lib/scripts/retrieve_videos.d.ts +1 -0
- package/lib/scripts/retrieve_videos.js +461 -0
- package/lib/scripts/shared/cli_helpers.d.ts +95 -0
- package/lib/scripts/shared/cli_helpers.js +91 -0
- package/lib/scripts/shared/cli_helpers.ts +36 -0
- package/lib/scripts/shared/util.d.ts +4 -0
- package/lib/scripts/shared/util.js +35 -0
- package/lib/scripts/shared/util.ts +33 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.js +12 -0
- package/lib/src/conversion_textes.js +10 -1
- package/lib/src/index.d.ts +1 -1
- package/lib/src/index.js +1 -1
- package/lib/src/loaders.d.ts +1 -0
- package/lib/src/loaders.js +1 -0
- package/lib/src/model/ameli.js +1 -0
- package/lib/src/parsers/texte.js +2 -2
- package/lib/src/scripts/convert_data.js +11 -10
- package/lib/src/scripts/retrieve_documents.d.ts +1 -1
- package/lib/src/scripts/retrieve_documents.js +25 -10
- package/lib/src/scripts/retrieve_open_data.js +1 -1
- package/lib/src/types/sessions.d.ts +5 -4
- package/lib/src/types/sessions.js +10 -75
- package/lib/src/types/texte.d.ts +2 -0
- package/lib/strings.d.ts +1 -0
- package/lib/strings.js +18 -0
- package/lib/strings.mjs +18 -0
- package/lib/strings.ts +26 -0
- package/lib/types/agenda.d.ts +44 -0
- package/lib/types/agenda.js +1 -0
- package/lib/types/ameli.d.ts +5 -0
- package/lib/types/ameli.js +1 -0
- package/lib/types/ameli.mjs +13 -0
- package/lib/types/ameli.ts +21 -0
- package/lib/types/compte_rendu.d.ts +83 -0
- package/lib/types/compte_rendu.js +1 -0
- package/lib/types/debats.d.ts +2 -0
- package/lib/types/debats.js +1 -0
- package/lib/types/debats.mjs +2 -0
- package/lib/types/debats.ts +6 -0
- package/lib/types/dosleg.d.ts +70 -0
- package/lib/types/dosleg.js +1 -0
- package/lib/types/dosleg.mjs +151 -0
- package/lib/types/dosleg.ts +284 -0
- package/lib/types/questions.d.ts +2 -0
- package/lib/types/questions.js +1 -0
- package/lib/types/questions.mjs +1 -0
- package/lib/types/questions.ts +3 -0
- package/lib/types/sens.d.ts +10 -0
- package/lib/types/sens.js +1 -0
- package/lib/types/sens.mjs +1 -0
- package/lib/types/sens.ts +12 -0
- package/lib/types/sessions.d.ts +5 -0
- package/lib/types/sessions.js +84 -0
- package/lib/types/sessions.mjs +43 -0
- package/lib/types/sessions.ts +42 -0
- package/lib/types/texte.d.ts +74 -0
- package/lib/types/texte.js +16 -0
- package/lib/types/texte.mjs +16 -0
- package/lib/types/texte.ts +76 -0
- package/lib/typings/windows-1252.d.js +2 -0
- package/lib/typings/windows-1252.d.mjs +2 -0
- package/lib/typings/windows-1252.d.ts +11 -0
- package/lib/utils/cr_spliting.d.ts +28 -0
- package/lib/utils/cr_spliting.js +265 -0
- package/lib/utils/date.d.ts +10 -0
- package/lib/utils/date.js +100 -0
- package/lib/utils/nvs-timecode.d.ts +7 -0
- package/lib/utils/nvs-timecode.js +79 -0
- package/lib/utils/reunion_grouping.d.ts +9 -0
- package/lib/utils/reunion_grouping.js +361 -0
- package/lib/utils/reunion_odj_building.d.ts +5 -0
- package/lib/utils/reunion_odj_building.js +154 -0
- package/lib/utils/reunion_parsing.d.ts +23 -0
- package/lib/utils/reunion_parsing.js +209 -0
- package/lib/utils/scoring.d.ts +14 -0
- package/lib/utils/scoring.js +147 -0
- package/lib/utils/string_cleaning.d.ts +7 -0
- package/lib/utils/string_cleaning.js +57 -0
- package/lib/validators/config.d.ts +9 -0
- package/lib/validators/config.js +10 -0
- package/lib/validators/config.mjs +54 -0
- package/lib/validators/config.ts +79 -0
- package/lib/validators/senat.d.ts +0 -0
- package/lib/validators/senat.js +28 -0
- package/lib/validators/senat.mjs +24 -0
- package/lib/validators/senat.ts +26 -0
- package/package.json +5 -5
package/lib/datasets.ts
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import fs from "fs-extra"
|
|
2
|
+
import path from "path"
|
|
3
|
+
import assert from "assert"
|
|
4
|
+
|
|
5
|
+
export interface Dataset {
|
|
6
|
+
database: string
|
|
7
|
+
repairEncoding: boolean
|
|
8
|
+
repairZip?: (dataset: Dataset, dataDir: string) => void
|
|
9
|
+
schema: string
|
|
10
|
+
title: string
|
|
11
|
+
url: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface Datasets {
|
|
15
|
+
ameli: Dataset
|
|
16
|
+
debats: Dataset
|
|
17
|
+
dosleg: Dataset
|
|
18
|
+
questions: Dataset
|
|
19
|
+
sens: Dataset
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export enum EnabledDatasets {
|
|
23
|
+
None = 0,
|
|
24
|
+
Ameli = 1 << 0,
|
|
25
|
+
Debats = 1 << 1,
|
|
26
|
+
DosLeg = 1 << 2,
|
|
27
|
+
Questions = 1 << 3,
|
|
28
|
+
Sens = 1 << 4,
|
|
29
|
+
PhotosSenateurs = 1 << 5,
|
|
30
|
+
All = Ameli | Debats | DosLeg | Questions | Sens | PhotosSenateurs,
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const datasets: Datasets = {
|
|
34
|
+
ameli: {
|
|
35
|
+
database: "ameli",
|
|
36
|
+
repairEncoding: false,
|
|
37
|
+
repairZip: (dataset: Dataset, dataDir: string) => {
|
|
38
|
+
const sqlFilename = `${dataset.database}.sql`
|
|
39
|
+
const sqlFilePath = path.join(dataDir, sqlFilename)
|
|
40
|
+
fs.removeSync(sqlFilePath)
|
|
41
|
+
fs.moveSync(
|
|
42
|
+
path.join(dataDir, "var", "opt", "opendata", sqlFilename),
|
|
43
|
+
sqlFilePath,
|
|
44
|
+
)
|
|
45
|
+
},
|
|
46
|
+
schema: "public",
|
|
47
|
+
title: "Amendements",
|
|
48
|
+
url: "https://data.senat.fr/data/ameli/ameli.zip",
|
|
49
|
+
},
|
|
50
|
+
debats: {
|
|
51
|
+
database: "debats",
|
|
52
|
+
repairEncoding: true,
|
|
53
|
+
schema: "public",
|
|
54
|
+
title:
|
|
55
|
+
"Informations relatives aux comptes rendus intégraux de la séance publique",
|
|
56
|
+
url: "https://data.senat.fr/data/debats/debats.zip",
|
|
57
|
+
},
|
|
58
|
+
dosleg: {
|
|
59
|
+
database: "dosleg",
|
|
60
|
+
repairEncoding: true,
|
|
61
|
+
schema: "public",
|
|
62
|
+
title: "Dossiers législatifs",
|
|
63
|
+
url: "https://data.senat.fr/data/dosleg/dosleg.zip",
|
|
64
|
+
},
|
|
65
|
+
questions: {
|
|
66
|
+
database: "questions",
|
|
67
|
+
repairEncoding: true,
|
|
68
|
+
schema: "questions",
|
|
69
|
+
title:
|
|
70
|
+
"Questions écrites et orales posées par les sénateurs au Gouvernement",
|
|
71
|
+
url: "https://data.senat.fr/data/questions/questions.zip",
|
|
72
|
+
},
|
|
73
|
+
sens: {
|
|
74
|
+
database: "sens",
|
|
75
|
+
repairEncoding: true,
|
|
76
|
+
repairZip: (dataset: Dataset, dataDir: string) => {
|
|
77
|
+
const sqlFilename = `${dataset.database}.sql`
|
|
78
|
+
const sqlFilePath = path.join(dataDir, sqlFilename)
|
|
79
|
+
fs.removeSync(sqlFilePath)
|
|
80
|
+
fs.moveSync(path.join(dataDir, "export_sens.sql"), sqlFilePath)
|
|
81
|
+
},
|
|
82
|
+
schema: "public",
|
|
83
|
+
title: "Sénateurs (y compris organes et présence)",
|
|
84
|
+
url: "https://data.senat.fr/data/senateurs/export_sens.zip",
|
|
85
|
+
},
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function getEnabledDatasets(categories: any): EnabledDatasets {
|
|
89
|
+
categories.map((datasetName: string) =>
|
|
90
|
+
assert.notStrictEqual(
|
|
91
|
+
(EnabledDatasets as any as { [name: string]: EnabledDatasets })[
|
|
92
|
+
datasetName
|
|
93
|
+
],
|
|
94
|
+
undefined,
|
|
95
|
+
`Unknown name of dataset: ${datasetName}`,
|
|
96
|
+
),
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
return categories.reduce(
|
|
100
|
+
(enabledDatasets: EnabledDatasets, datasetName: string): EnabledDatasets =>
|
|
101
|
+
enabledDatasets |
|
|
102
|
+
(EnabledDatasets as any as { [name: string]: EnabledDatasets })[
|
|
103
|
+
datasetName
|
|
104
|
+
],
|
|
105
|
+
EnabledDatasets.None,
|
|
106
|
+
)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export function getChosenFromEnabledDatasets(categories: any): Dataset[] {
|
|
110
|
+
const enabledDatasets = getEnabledDatasets(categories)
|
|
111
|
+
return [
|
|
112
|
+
enabledDatasets & EnabledDatasets.Ameli ? datasets.ameli : null,
|
|
113
|
+
enabledDatasets & EnabledDatasets.Debats ? datasets.debats : null,
|
|
114
|
+
enabledDatasets & EnabledDatasets.DosLeg ? datasets.dosleg : null,
|
|
115
|
+
enabledDatasets & EnabledDatasets.Questions ? datasets.questions : null,
|
|
116
|
+
enabledDatasets & EnabledDatasets.Sens ? datasets.sens : null,
|
|
117
|
+
].filter((dataset: Dataset | null) => dataset !== null) as Dataset[]
|
|
118
|
+
}
|
package/lib/fields.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function parseIntFields(fieldsNames: string[], entry: {
|
|
2
|
+
[fieldName: string]: any;
|
|
3
|
+
} | null): {
|
|
4
|
+
[fieldName: string]: any;
|
|
5
|
+
} | null;
|
|
6
|
+
export declare function trimFieldsRight(fieldsNames: string[], entry: {
|
|
7
|
+
[fieldName: string]: any;
|
|
8
|
+
} | null): {
|
|
9
|
+
[fieldName: string]: any;
|
|
10
|
+
} | null;
|
package/lib/fields.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.symbol.description.js");
|
|
5
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
6
|
+
require("core-js/modules/es.array.from.js");
|
|
7
|
+
require("core-js/modules/es.array.is-array.js");
|
|
8
|
+
require("core-js/modules/es.array.iterator.js");
|
|
9
|
+
require("core-js/modules/es.array.slice.js");
|
|
10
|
+
require("core-js/modules/es.date.to-string.js");
|
|
11
|
+
require("core-js/modules/es.function.name.js");
|
|
12
|
+
require("core-js/modules/es.object.define-property.js");
|
|
13
|
+
require("core-js/modules/es.object.to-string.js");
|
|
14
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
15
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
16
|
+
require("core-js/modules/es.string.iterator.js");
|
|
17
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
18
|
+
Object.defineProperty(exports, "__esModule", {
|
|
19
|
+
value: true
|
|
20
|
+
});
|
|
21
|
+
exports.parseIntFields = parseIntFields;
|
|
22
|
+
exports.trimFieldsRight = trimFieldsRight;
|
|
23
|
+
require("core-js/modules/es.parse-int.js");
|
|
24
|
+
require("core-js/modules/es.string.trim-end.js");
|
|
25
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
26
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
27
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
28
|
+
function parseIntFields(fieldsNames, entry) {
|
|
29
|
+
if (entry === null) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
var _iterator = _createForOfIteratorHelper(fieldsNames),
|
|
33
|
+
_step;
|
|
34
|
+
try {
|
|
35
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
36
|
+
var fieldName = _step.value;
|
|
37
|
+
if (entry[fieldName] !== null) {
|
|
38
|
+
entry[fieldName] = parseInt(entry[fieldName]);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
} catch (err) {
|
|
42
|
+
_iterator.e(err);
|
|
43
|
+
} finally {
|
|
44
|
+
_iterator.f();
|
|
45
|
+
}
|
|
46
|
+
return entry;
|
|
47
|
+
}
|
|
48
|
+
function trimFieldsRight(fieldsNames, entry) {
|
|
49
|
+
if (entry === null) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
var _iterator2 = _createForOfIteratorHelper(fieldsNames),
|
|
53
|
+
_step2;
|
|
54
|
+
try {
|
|
55
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
56
|
+
var fieldName = _step2.value;
|
|
57
|
+
if (entry[fieldName] != null) {
|
|
58
|
+
entry[fieldName] = entry[fieldName].trimEnd();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
} catch (err) {
|
|
62
|
+
_iterator2.e(err);
|
|
63
|
+
} finally {
|
|
64
|
+
_iterator2.f();
|
|
65
|
+
}
|
|
66
|
+
return entry;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZUludEZpZWxkcyIsImZpZWxkc05hbWVzIiwiZW50cnkiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwiZmllbGROYW1lIiwidmFsdWUiLCJwYXJzZUludCIsImVyciIsImUiLCJmIiwidHJpbUZpZWxkc1JpZ2h0IiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInRyaW1FbmQiXSwic291cmNlcyI6WyIuLi9zcmMvZmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBwYXJzZUludEZpZWxkcyhcbiAgZmllbGRzTmFtZXM6IHN0cmluZ1tdLFxuICBlbnRyeTogeyBbZmllbGROYW1lOiBzdHJpbmddOiBhbnkgfSB8IG51bGwsXG4pOiB7IFtmaWVsZE5hbWU6IHN0cmluZ106IGFueSB9IHwgbnVsbCB7XG4gIGlmIChlbnRyeSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgZm9yIChjb25zdCBmaWVsZE5hbWUgb2YgZmllbGRzTmFtZXMpIHtcbiAgICBpZiAoZW50cnlbZmllbGROYW1lXSAhPT0gbnVsbCkge1xuICAgICAgZW50cnlbZmllbGROYW1lXSA9IHBhcnNlSW50KGVudHJ5W2ZpZWxkTmFtZV0pXG4gICAgfVxuICB9XG4gIHJldHVybiBlbnRyeVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJpbUZpZWxkc1JpZ2h0KFxuICBmaWVsZHNOYW1lczogc3RyaW5nW10sXG4gIGVudHJ5OiB7IFtmaWVsZE5hbWU6IHN0cmluZ106IGFueSB9IHwgbnVsbCxcbik6IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcbiAgaWYgKGVudHJ5ID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICBmb3IgKGNvbnN0IGZpZWxkTmFtZSBvZiBmaWVsZHNOYW1lcykge1xuICAgIGlmIChlbnRyeVtmaWVsZE5hbWVdICE9IG51bGwpIHtcbiAgICAgIGVudHJ5W2ZpZWxkTmFtZV0gPSBlbnRyeVtmaWVsZE5hbWVdLnRyaW1FbmQoKVxuICAgIH1cbiAgfVxuICByZXR1cm4gZW50cnlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU8sU0FBU0EsY0FBY0EsQ0FDNUJDLFdBQXFCLEVBQ3JCQyxLQUEwQyxFQUNMO0VBQ3JDLElBQUlBLEtBQUssS0FBSyxJQUFJLEVBQUU7SUFDbEIsT0FBTyxJQUFJO0VBQ2I7RUFBQyxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBQ3VCSCxXQUFXO0lBQUFJLEtBQUE7RUFBQTtJQUFuQyxLQUFBRixTQUFBLENBQUFHLENBQUEsTUFBQUQsS0FBQSxHQUFBRixTQUFBLENBQUFJLENBQUEsSUFBQUMsSUFBQSxHQUFxQztNQUFBLElBQTFCQyxTQUFTLEdBQUFKLEtBQUEsQ0FBQUssS0FBQTtNQUNsQixJQUFJUixLQUFLLENBQUNPLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUM3QlAsS0FBSyxDQUFDTyxTQUFTLENBQUMsR0FBR0UsUUFBUSxDQUFDVCxLQUFLLENBQUNPLFNBQVMsQ0FBQyxDQUFDO01BQy9DO0lBQ0Y7RUFBQyxTQUFBRyxHQUFBO0lBQUFULFNBQUEsQ0FBQVUsQ0FBQSxDQUFBRCxHQUFBO0VBQUE7SUFBQVQsU0FBQSxDQUFBVyxDQUFBO0VBQUE7RUFDRCxPQUFPWixLQUFLO0FBQ2Q7QUFFTyxTQUFTYSxlQUFlQSxDQUM3QmQsV0FBcUIsRUFDckJDLEtBQTBDLEVBQ0w7RUFDckMsSUFBSUEsS0FBSyxLQUFLLElBQUksRUFBRTtJQUNsQixPQUFPLElBQUk7RUFDYjtFQUFDLElBQUFjLFVBQUEsR0FBQVosMEJBQUEsQ0FDdUJILFdBQVc7SUFBQWdCLE1BQUE7RUFBQTtJQUFuQyxLQUFBRCxVQUFBLENBQUFWLENBQUEsTUFBQVcsTUFBQSxHQUFBRCxVQUFBLENBQUFULENBQUEsSUFBQUMsSUFBQSxHQUFxQztNQUFBLElBQTFCQyxTQUFTLEdBQUFRLE1BQUEsQ0FBQVAsS0FBQTtNQUNsQixJQUFJUixLQUFLLENBQUNPLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRTtRQUM1QlAsS0FBSyxDQUFDTyxTQUFTLENBQUMsR0FBR1AsS0FBSyxDQUFDTyxTQUFTLENBQUMsQ0FBQ1MsT0FBTyxDQUFDLENBQUM7TUFDL0M7SUFDRjtFQUFDLFNBQUFOLEdBQUE7SUFBQUksVUFBQSxDQUFBSCxDQUFBLENBQUFELEdBQUE7RUFBQTtJQUFBSSxVQUFBLENBQUFGLENBQUE7RUFBQTtFQUNELE9BQU9aLEtBQUs7QUFDZCIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/fields.mjs
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function parseIntFields(fieldsNames, entry) {
|
|
2
|
+
if (entry === null) {
|
|
3
|
+
return null;
|
|
4
|
+
}
|
|
5
|
+
for (const fieldName of fieldsNames) {
|
|
6
|
+
if (entry[fieldName] !== null) {
|
|
7
|
+
entry[fieldName] = parseInt(entry[fieldName]);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return entry;
|
|
11
|
+
}
|
|
12
|
+
export function trimFieldsRight(fieldsNames, entry) {
|
|
13
|
+
if (entry === null) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
for (const fieldName of fieldsNames) {
|
|
17
|
+
if (entry[fieldName] != null) {
|
|
18
|
+
entry[fieldName] = entry[fieldName].trimEnd();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return entry;
|
|
22
|
+
}
|
package/lib/fields.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function parseIntFields(
|
|
2
|
+
fieldsNames: string[],
|
|
3
|
+
entry: { [fieldName: string]: any } | null,
|
|
4
|
+
): { [fieldName: string]: any } | null {
|
|
5
|
+
if (entry === null) {
|
|
6
|
+
return null
|
|
7
|
+
}
|
|
8
|
+
for (const fieldName of fieldsNames) {
|
|
9
|
+
if (entry[fieldName] !== null) {
|
|
10
|
+
entry[fieldName] = parseInt(entry[fieldName])
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return entry
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function trimFieldsRight(
|
|
17
|
+
fieldsNames: string[],
|
|
18
|
+
entry: { [fieldName: string]: any } | null,
|
|
19
|
+
): { [fieldName: string]: any } | null {
|
|
20
|
+
if (entry === null) {
|
|
21
|
+
return null
|
|
22
|
+
}
|
|
23
|
+
for (const fieldName of fieldsNames) {
|
|
24
|
+
if (entry[fieldName] != null) {
|
|
25
|
+
entry[fieldName] = entry[fieldName].trimEnd()
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return entry
|
|
29
|
+
}
|
package/lib/git.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare function initRepo(repositoryDir: string): void;
|
|
2
|
+
export declare function commit(repositoryDir: string, message: string): boolean;
|
|
3
|
+
export declare function commitAndPush(repositoryDir: string, message: string, remotes?: string[]): number;
|
|
4
|
+
export declare function resetAndPull(gitDir: string): boolean;
|
|
5
|
+
export declare function clone(gitGroupUrl: string | undefined, gitName: string, workingDir: string): void;
|
|
6
|
+
export declare function run(repositoryDir: string, args: string, verbose?: boolean): string;
|
|
7
|
+
export declare function test(repositoryDir: string, args: string, verbose?: boolean): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Information about a changed file in git
|
|
10
|
+
*/
|
|
11
|
+
export interface GitChangedFile {
|
|
12
|
+
path: string;
|
|
13
|
+
status: "A" | "M" | "D" | "R" | "C" | "T" | "U";
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get the list of files that have changed since a specific commit in a git repository.
|
|
17
|
+
* @param repositoryDir The directory of the git repository
|
|
18
|
+
* @param sinceCommit The commit hash to compare against (e.g., "HEAD~1", "abc123", etc.)
|
|
19
|
+
* @param options Options for filtering
|
|
20
|
+
* @param options.diffFilter Git diff-filter string (default: "AMR").
|
|
21
|
+
* A=Added, M=Modified, D=Deleted, R=Renamed, C=Copied, T=Type changed, U=Unmerged
|
|
22
|
+
* @returns A Map of file paths to their git status
|
|
23
|
+
*/
|
|
24
|
+
export declare function getChangedFilesSinceCommit(repositoryDir: string, sinceCommit: string, options?: {
|
|
25
|
+
diffFilter?: string;
|
|
26
|
+
}): Map<string, GitChangedFile["status"]>;
|
package/lib/git.js
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
const MAXBUFFER = 50 * 1024 * 1024;
|
|
5
|
+
export function initRepo(repositoryDir) {
|
|
6
|
+
if (!fs.existsSync(path.join(repositoryDir, ".git"))) {
|
|
7
|
+
fs.ensureDirSync(repositoryDir);
|
|
8
|
+
execSync("git init", {
|
|
9
|
+
cwd: repositoryDir,
|
|
10
|
+
env: process.env,
|
|
11
|
+
encoding: "utf-8",
|
|
12
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function commit(repositoryDir, message) {
|
|
17
|
+
initRepo(repositoryDir);
|
|
18
|
+
execSync("git add .", {
|
|
19
|
+
cwd: repositoryDir,
|
|
20
|
+
env: process.env,
|
|
21
|
+
encoding: "utf-8",
|
|
22
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
23
|
+
maxBuffer: MAXBUFFER,
|
|
24
|
+
});
|
|
25
|
+
try {
|
|
26
|
+
execSync(`git commit -m "${message}" --quiet`, {
|
|
27
|
+
cwd: repositoryDir,
|
|
28
|
+
env: process.env,
|
|
29
|
+
encoding: "utf-8",
|
|
30
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
31
|
+
});
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
catch (childProcess) {
|
|
35
|
+
if (childProcess.stdout === null ||
|
|
36
|
+
!/nothing to commit|rien à valider/.test(childProcess.stdout)) {
|
|
37
|
+
console.error(childProcess.output);
|
|
38
|
+
throw childProcess;
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function commitAndPush(repositoryDir, message, remotes) {
|
|
44
|
+
let exitCode = 0;
|
|
45
|
+
if (commit(repositoryDir, message)) {
|
|
46
|
+
for (const remote of remotes || []) {
|
|
47
|
+
try {
|
|
48
|
+
execSync(`git push ${remote} master`, {
|
|
49
|
+
cwd: repositoryDir,
|
|
50
|
+
env: process.env,
|
|
51
|
+
encoding: "utf-8",
|
|
52
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (childProcess) {
|
|
56
|
+
// Don't stop when push fails.
|
|
57
|
+
console.error(childProcess.output);
|
|
58
|
+
exitCode = childProcess.status;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// There was nothing to commit.
|
|
64
|
+
exitCode = 10;
|
|
65
|
+
}
|
|
66
|
+
return exitCode;
|
|
67
|
+
}
|
|
68
|
+
export function resetAndPull(gitDir) {
|
|
69
|
+
execSync("git reset --hard origin/master", {
|
|
70
|
+
cwd: gitDir,
|
|
71
|
+
env: process.env,
|
|
72
|
+
encoding: "utf-8",
|
|
73
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
74
|
+
});
|
|
75
|
+
execSync("git pull --rebase", {
|
|
76
|
+
cwd: gitDir,
|
|
77
|
+
env: process.env,
|
|
78
|
+
encoding: "utf-8",
|
|
79
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
80
|
+
});
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
export function clone(gitGroupUrl, gitName, workingDir) {
|
|
84
|
+
if (gitGroupUrl !== undefined) {
|
|
85
|
+
execSync(`git clone ${gitGroupUrl}/${gitName}.git`, {
|
|
86
|
+
cwd: workingDir,
|
|
87
|
+
env: process.env,
|
|
88
|
+
encoding: "utf-8",
|
|
89
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export function run(repositoryDir, args, verbose) {
|
|
94
|
+
try {
|
|
95
|
+
if (verbose)
|
|
96
|
+
console.log(`git -C ${repositoryDir} ${args}`);
|
|
97
|
+
const output = execSync(`git ${args}`, {
|
|
98
|
+
cwd: repositoryDir,
|
|
99
|
+
maxBuffer: MAXBUFFER,
|
|
100
|
+
})
|
|
101
|
+
.toString()
|
|
102
|
+
.trim();
|
|
103
|
+
if (verbose)
|
|
104
|
+
console.log(output);
|
|
105
|
+
return output;
|
|
106
|
+
}
|
|
107
|
+
catch (childProcess) {
|
|
108
|
+
for (const output of ["stdout", "stderr"])
|
|
109
|
+
console.error(`${output}: ${childProcess[output]}`);
|
|
110
|
+
throw childProcess;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export function test(repositoryDir, args, verbose) {
|
|
114
|
+
try {
|
|
115
|
+
if (verbose)
|
|
116
|
+
console.log(`git -C ${repositoryDir} ${args}`);
|
|
117
|
+
const output = execSync(`git ${args}`, {
|
|
118
|
+
cwd: repositoryDir,
|
|
119
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
120
|
+
maxBuffer: MAXBUFFER,
|
|
121
|
+
})
|
|
122
|
+
.toString()
|
|
123
|
+
.trim();
|
|
124
|
+
if (verbose)
|
|
125
|
+
console.log(output);
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
catch (childProcess) {
|
|
129
|
+
if (childProcess.status != 0)
|
|
130
|
+
return false;
|
|
131
|
+
throw childProcess;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get the list of files that have changed since a specific commit in a git repository.
|
|
136
|
+
* @param repositoryDir The directory of the git repository
|
|
137
|
+
* @param sinceCommit The commit hash to compare against (e.g., "HEAD~1", "abc123", etc.)
|
|
138
|
+
* @param options Options for filtering
|
|
139
|
+
* @param options.diffFilter Git diff-filter string (default: "AMR").
|
|
140
|
+
* A=Added, M=Modified, D=Deleted, R=Renamed, C=Copied, T=Type changed, U=Unmerged
|
|
141
|
+
* @returns A Map of file paths to their git status
|
|
142
|
+
*/
|
|
143
|
+
export function getChangedFilesSinceCommit(repositoryDir, sinceCommit, options = {}) {
|
|
144
|
+
const { diffFilter } = options;
|
|
145
|
+
try {
|
|
146
|
+
// Using diff-filter: A = Added, M = Modified, R = Renamed, D = Deleted, etc.
|
|
147
|
+
// Default to AMR (excludes deleted files to prevent loading errors)
|
|
148
|
+
const filter = diffFilter ?? "AMR";
|
|
149
|
+
const output = run(repositoryDir, `diff --name-status --diff-filter=${filter} ${sinceCommit}`, false);
|
|
150
|
+
const changedFiles = new Map();
|
|
151
|
+
for (const line of output.split("\n")) {
|
|
152
|
+
if (line.trim().length === 0)
|
|
153
|
+
continue;
|
|
154
|
+
const parts = line.split("\t");
|
|
155
|
+
if (parts.length >= 2) {
|
|
156
|
+
const status = parts[0].charAt(0);
|
|
157
|
+
const path = parts[1];
|
|
158
|
+
changedFiles.set(path, status);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return changedFiles;
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
console.error(`Error getting changed files since commit ${sinceCommit}:`, error);
|
|
165
|
+
return new Map();
|
|
166
|
+
}
|
|
167
|
+
}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type { AmendementResult } from "./model/ameli";
|
|
2
|
+
export type { DossierLegislatifResult } from "./model/dosleg";
|
|
3
|
+
export type { ScrutinResult } from "./model/scrutins";
|
|
4
|
+
export type { QuestionResult } from "./model/questions";
|
|
5
|
+
export type { CirconscriptionResult, OrganismeResult, SenateurResult } from "./model/sens";
|
|
6
|
+
export type { AgendaEvent, Reunion, ReunionOdjPoint } from "./types/agenda";
|
|
7
|
+
export type { Ses, Sub, TxtAmeli } from "./types/ameli";
|
|
8
|
+
export type { CompteRendu } from "./types/compte_rendu";
|
|
9
|
+
export type { Debat, LecAssDeb } from "./types/debats";
|
|
10
|
+
export type { Ass, Aud, Auteur, DateSeance, DecCoc, DenRap, DocAtt, Ecr, EtaLoi, LecAss, LecAssRap, Lecture, Loi, Org, OriTxt, Qua, Rap, RapOrg, Scr, Texte, TypAtt, TypLec, TypLoi, TypTxt, TypUrl, } from "./types/dosleg";
|
|
11
|
+
export type { Photo, Sen } from "./types/sens";
|
|
12
|
+
export { UNDEFINED_SESSION, type Session, getSessionsFromStart } from "./types/sessions";
|
|
13
|
+
export type { Alinea, Article, Division, DivisionTag, FlatTexte } from "./types/texte";
|
package/lib/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UNDEFINED_SESSION, getSessionsFromStart } from "./types/sessions";
|
package/lib/index.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { allFollows, Aggregator, } from "./aggregates";
|
|
2
|
+
export { insertAudReferences, insertDateSeanceReferences, insertAuteurReferences, insertDocAttReferences, insertEcrReferences, insertLecassReferences, insertLecassrapReferences, insertLectureReferences, insertLoiReferences, insertRapReferences, insertTexteReferences, } from "./inserters";
|
|
3
|
+
export { sesFieldsToParseInt, sesFieldsToTrim, subFieldsToParseInt, subFieldsToTrim, txtAmeliFieldsToTrim, } from "./types/ameli";
|
|
4
|
+
export { debatsFieldsToTrim, lecassdebFieldsToTrim, } from "./types/debats";
|
|
5
|
+
export { assFieldsToTrim, audFieldsToTrim, auteurFieldsToTrim, dateSeanceFieldsToTrim, deccocFieldsToTrim, denrapFieldsToTrim, docattFieldsToParseInt, docattFieldsToTrim, ecrFieldsToTrim, etaloiFieldsToTrim, lecassFieldsToTrim, lecassrapFieldsToTrim, lectureFieldsToTrim, loiFieldsToTrim, orgFieldsToTrim, oritxtFieldsToTrim, quaFieldsToTrim, rapFieldsToParseInt, rapFieldsToTrim, raporgFieldsToTrim, scrFieldsToTrim, texteFieldsToParseInt, texteFieldsToTrim, typattFieldsToTrim, typlecFieldsToTrim, typloiFieldsToTrim, typtxtFieldsToTrim, typurlFieldsToTrim, } from "./types/dosleg";
|
|
6
|
+
export { Session } from "./types/sessions";
|
|
7
|
+
export { parseIntFields, trimFieldsRight, } from "./fields";
|
package/lib/index.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export {
|
|
2
|
+
allFollows,
|
|
3
|
+
Aggregator,
|
|
4
|
+
} from "./aggregates"
|
|
5
|
+
export {
|
|
6
|
+
insertAudReferences,
|
|
7
|
+
insertDateSeanceReferences,
|
|
8
|
+
insertAuteurReferences,
|
|
9
|
+
insertDocAttReferences,
|
|
10
|
+
insertEcrReferences,
|
|
11
|
+
insertLecassReferences,
|
|
12
|
+
insertLecassrapReferences,
|
|
13
|
+
insertLectureReferences,
|
|
14
|
+
insertLoiReferences,
|
|
15
|
+
insertRapReferences,
|
|
16
|
+
insertTexteReferences,
|
|
17
|
+
OutputData,
|
|
18
|
+
} from "./inserters"
|
|
19
|
+
export {
|
|
20
|
+
Ses, sesFieldsToParseInt, sesFieldsToTrim,
|
|
21
|
+
Sub, subFieldsToParseInt, subFieldsToTrim,
|
|
22
|
+
TxtAmeli, txtAmeliFieldsToTrim,
|
|
23
|
+
} from "./types/ameli"
|
|
24
|
+
export {
|
|
25
|
+
Debat, debatsFieldsToTrim,
|
|
26
|
+
LecAssDeb, lecassdebFieldsToTrim,
|
|
27
|
+
} from "./types/debats"
|
|
28
|
+
export {
|
|
29
|
+
Ass, assFieldsToTrim,
|
|
30
|
+
Aud, audFieldsToTrim,
|
|
31
|
+
Auteur, auteurFieldsToTrim,
|
|
32
|
+
DateSeance, dateSeanceFieldsToTrim,
|
|
33
|
+
DecCoc, deccocFieldsToTrim,
|
|
34
|
+
DenRap, denrapFieldsToTrim,
|
|
35
|
+
DocAtt, docattFieldsToParseInt, docattFieldsToTrim,
|
|
36
|
+
Ecr, ecrFieldsToTrim,
|
|
37
|
+
EtaLoi, etaloiFieldsToTrim,
|
|
38
|
+
LecAss, lecassFieldsToTrim,
|
|
39
|
+
LecAssRap, lecassrapFieldsToTrim,
|
|
40
|
+
Lecture, lectureFieldsToTrim,
|
|
41
|
+
Loi, loiFieldsToTrim,
|
|
42
|
+
Org, orgFieldsToTrim,
|
|
43
|
+
OriTxt, oritxtFieldsToTrim,
|
|
44
|
+
Qua, quaFieldsToTrim,
|
|
45
|
+
Rap, rapFieldsToParseInt, rapFieldsToTrim,
|
|
46
|
+
RapOrg, raporgFieldsToTrim,
|
|
47
|
+
Scr, scrFieldsToTrim,
|
|
48
|
+
Texte, texteFieldsToParseInt, texteFieldsToTrim,
|
|
49
|
+
TypAtt, typattFieldsToTrim,
|
|
50
|
+
TypLec, typlecFieldsToTrim,
|
|
51
|
+
TypLoi, typloiFieldsToTrim,
|
|
52
|
+
TypTxt, typtxtFieldsToTrim,
|
|
53
|
+
TypUrl, typurlFieldsToTrim,
|
|
54
|
+
|
|
55
|
+
} from "./types/dosleg"
|
|
56
|
+
export {
|
|
57
|
+
Photo,
|
|
58
|
+
Sen,
|
|
59
|
+
} from "./types/sens"
|
|
60
|
+
export { Session } from "./types/sessions"
|
|
61
|
+
export {
|
|
62
|
+
parseIntFields,
|
|
63
|
+
trimFieldsRight,
|
|
64
|
+
} from "./fields"
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { TxtAmeli } from "./types/ameli";
|
|
2
|
+
import { Debat } from "./types/debats";
|
|
3
|
+
import { Ass, Aud, Auteur, DateSeance, DecCoc, DenRap, DocAtt, Ecr, EtaLoi, LecAss, LecAssRap, Lecture, Loi, Org, OriTxt, Qua, Rap, Scr, Texte, TypAtt, TypLec, TypLoi, TypTxt, TypUrl } from "./types/dosleg";
|
|
4
|
+
export interface OutputData {
|
|
5
|
+
readonly ass?: {
|
|
6
|
+
[id: string]: Ass;
|
|
7
|
+
};
|
|
8
|
+
readonly aud?: {
|
|
9
|
+
[id: string]: Aud;
|
|
10
|
+
};
|
|
11
|
+
readonly auteur?: {
|
|
12
|
+
[id: string]: Auteur;
|
|
13
|
+
};
|
|
14
|
+
readonly date_seance?: {
|
|
15
|
+
[id: string]: DateSeance;
|
|
16
|
+
};
|
|
17
|
+
readonly debats?: {
|
|
18
|
+
[id: string]: Debat;
|
|
19
|
+
};
|
|
20
|
+
readonly deccoc?: {
|
|
21
|
+
[id: string]: DecCoc;
|
|
22
|
+
};
|
|
23
|
+
readonly denrap?: {
|
|
24
|
+
[id: string]: DenRap;
|
|
25
|
+
};
|
|
26
|
+
readonly docatt?: {
|
|
27
|
+
[id: string]: DocAtt;
|
|
28
|
+
};
|
|
29
|
+
readonly ecr?: {
|
|
30
|
+
[id: string]: Ecr;
|
|
31
|
+
};
|
|
32
|
+
readonly etaloi?: {
|
|
33
|
+
[id: string]: EtaLoi;
|
|
34
|
+
};
|
|
35
|
+
readonly lecass?: {
|
|
36
|
+
[id: string]: LecAss;
|
|
37
|
+
};
|
|
38
|
+
readonly lecassrap?: {
|
|
39
|
+
[id: string]: LecAssRap;
|
|
40
|
+
};
|
|
41
|
+
readonly lecture?: {
|
|
42
|
+
[id: string]: Lecture;
|
|
43
|
+
};
|
|
44
|
+
readonly loi?: {
|
|
45
|
+
[id: string]: Loi;
|
|
46
|
+
};
|
|
47
|
+
readonly org?: {
|
|
48
|
+
[id: string]: Org;
|
|
49
|
+
};
|
|
50
|
+
readonly oritxt?: {
|
|
51
|
+
[id: string]: OriTxt;
|
|
52
|
+
};
|
|
53
|
+
readonly qua?: {
|
|
54
|
+
[id: string]: Qua;
|
|
55
|
+
};
|
|
56
|
+
readonly rap?: {
|
|
57
|
+
[id: string]: Rap;
|
|
58
|
+
};
|
|
59
|
+
readonly scr?: {
|
|
60
|
+
[id: string]: Scr;
|
|
61
|
+
};
|
|
62
|
+
readonly texte?: {
|
|
63
|
+
[id: string]: Texte;
|
|
64
|
+
};
|
|
65
|
+
readonly typatt?: {
|
|
66
|
+
[id: string]: TypAtt;
|
|
67
|
+
};
|
|
68
|
+
readonly typlec?: {
|
|
69
|
+
[id: string]: TypLec;
|
|
70
|
+
};
|
|
71
|
+
readonly typloi?: {
|
|
72
|
+
[id: string]: TypLoi;
|
|
73
|
+
};
|
|
74
|
+
readonly typtxt?: {
|
|
75
|
+
[id: string]: TypTxt;
|
|
76
|
+
};
|
|
77
|
+
readonly typurl?: {
|
|
78
|
+
[id: string]: TypUrl;
|
|
79
|
+
};
|
|
80
|
+
readonly txt_ameli?: {
|
|
81
|
+
[id: string]: TxtAmeli;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
type VisitedIdsByTableName = {
|
|
85
|
+
[tableName: string]: Set<number | string>;
|
|
86
|
+
};
|
|
87
|
+
export declare function insertAudReferences(aud: Aud, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Aud;
|
|
88
|
+
export declare function insertAuteurReferences(auteur: Auteur, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Auteur;
|
|
89
|
+
export declare function insertDateSeanceReferences(dateSeance: DateSeance, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): DateSeance;
|
|
90
|
+
export declare function insertDocAttReferences(docatt: DocAtt, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName, performInsertRapReferences?: boolean): DocAtt;
|
|
91
|
+
export declare function insertEcrReferences(ecr: Ecr, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Ecr;
|
|
92
|
+
export declare function insertLecassrapReferences(lecassrap: LecAssRap, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): LecAssRap;
|
|
93
|
+
export declare function insertLecassReferences(lecass: LecAss, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): LecAss;
|
|
94
|
+
export declare function insertLectureReferences(lecture: Lecture, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Lecture;
|
|
95
|
+
export declare function insertLoiReferences(loi: Loi, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Loi;
|
|
96
|
+
export declare function insertRapReferences(rap: Rap, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Rap;
|
|
97
|
+
export declare function insertTexteReferences(texte: Texte, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Texte;
|
|
98
|
+
export {};
|