@tricoteuses/senat 0.3.1 → 1.0.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.
- package/README.md +52 -0
- package/lib/config.d.ts +2 -0
- package/lib/config.js +49 -0
- package/lib/config.mjs +16 -0
- package/lib/config.ts +26 -0
- package/lib/databases.d.ts +11 -0
- package/lib/databases.js +125 -0
- package/lib/databases.mjs +26 -0
- package/lib/databases.ts +32 -0
- package/lib/datasets.d.ts +27 -0
- package/lib/datasets.js +85 -0
- package/lib/datasets.mjs +68 -0
- package/lib/datasets.ts +107 -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/index.d.ts +6 -5
- package/lib/index.js +317 -86
- package/lib/index.mjs +6 -1
- package/lib/index.ts +59 -0
- package/lib/inserters.d.ts +1 -1
- package/lib/inserters.js +76 -182
- package/lib/inserters.ts +520 -0
- package/lib/raw_types/ameli.d.ts +416 -410
- package/lib/raw_types/ameli.js +28 -144
- package/lib/raw_types/ameli.ts +601 -0
- package/lib/raw_types/debats.d.ts +82 -80
- package/lib/raw_types/debats.js +10 -42
- package/lib/raw_types/debats.ts +145 -0
- package/lib/raw_types/dosleg.d.ts +936 -920
- package/lib/raw_types/dosleg.js +6 -344
- package/lib/raw_types/dosleg.ts +2193 -0
- package/lib/raw_types/questions.d.ts +2 -2
- package/lib/raw_types/questions.js +3 -3
- package/lib/raw_types/questions.mjs +2 -2
- package/lib/raw_types/questions.ts +9 -0
- package/lib/raw_types/sens.d.ts +1180 -1176
- package/lib/raw_types/sens.js +5 -397
- package/lib/raw_types/sens.ts +2907 -0
- package/lib/scripts/images/transparent_150x192.jpg +0 -0
- package/lib/scripts/images/transparent_155x225.jpg +0 -0
- package/lib/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/scripts/retrieve_open_data.js +366 -0
- package/lib/scripts/retrieve_open_data.mjs +215 -0
- package/lib/scripts/retrieve_open_data.ts +254 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/scripts/retrieve_senateurs_photos.js +268 -0
- package/lib/scripts/retrieve_senateurs_photos.mjs +164 -0
- package/lib/scripts/retrieve_senateurs_photos.ts +200 -0
- package/lib/scripts/retrieve_textes.d.ts +1 -0
- package/lib/scripts/retrieve_textes.js +177 -0
- package/lib/scripts/retrieve_textes.mjs +75 -0
- package/lib/scripts/retrieve_textes.ts +93 -0
- package/lib/strings.d.ts +1 -0
- package/lib/strings.js +49 -0
- package/lib/strings.mjs +18 -0
- package/lib/strings.ts +26 -0
- package/lib/types/ameli.d.ts +5 -0
- package/lib/types/ameli.js +9 -2
- package/lib/types/ameli.mjs +13 -1
- package/lib/types/ameli.ts +21 -0
- package/lib/types/debats.d.ts +2 -0
- package/lib/types/debats.js +5 -2
- package/lib/types/debats.mjs +2 -1
- package/lib/types/debats.ts +6 -0
- package/lib/types/dosleg.d.ts +28 -0
- package/lib/types/dosleg.js +31 -2
- package/lib/types/dosleg.mjs +151 -1
- package/lib/types/dosleg.ts +284 -0
- package/lib/types/questions.js +1 -1
- package/lib/types/questions.ts +0 -0
- package/lib/types/sens.d.ts +2 -0
- package/lib/types/sens.js +5 -2
- package/lib/types/sens.mjs +23 -1
- package/lib/types/sens.ts +36 -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/validators/config.d.ts +1 -0
- package/lib/validators/config.js +121 -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 +36 -5
package/lib/datasets.ts
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
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
|
+
}
|
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/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { insertAudReferences, insertDateSeanceReferences, insertAuteurReferences, insertDocAttReferences, insertEcrReferences, insertLecassReferences, insertLecassrapReferences, insertLectureReferences, insertLoiReferences, insertRapReferences, insertTexteReferences, OutputData, } from
|
|
2
|
-
export { Ses, Sub, TxtAmeli } from
|
|
3
|
-
export { Debat, LecAssDeb } from
|
|
4
|
-
export { 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
|
|
5
|
-
export { Photo, Sen } from
|
|
1
|
+
export { insertAudReferences, insertDateSeanceReferences, insertAuteurReferences, insertDocAttReferences, insertEcrReferences, insertLecassReferences, insertLecassrapReferences, insertLectureReferences, insertLoiReferences, insertRapReferences, insertTexteReferences, OutputData, } from './inserters';
|
|
2
|
+
export { Ses, sesFieldsToParseInt, sesFieldsToTrim, Sub, subFieldsToParseInt, subFieldsToTrim, TxtAmeli, txtAmeliFieldsToTrim } from './types/ameli';
|
|
3
|
+
export { Debat, debatsFieldsToTrim, LecAssDeb, lecassdebFieldsToTrim } from './types/debats';
|
|
4
|
+
export { Ass, assFieldsToTrim, Aud, audFieldsToTrim, Auteur, auteurFieldsToTrim, DateSeance, dateSeanceFieldsToTrim, DecCoc, deccocFieldsToTrim, DenRap, denrapFieldsToTrim, DocAtt, docattFieldsToParseInt, docattFieldsToTrim, Ecr, ecrFieldsToTrim, EtaLoi, etaloiFieldsToTrim, LecAss, lecassFieldsToTrim, LecAssRap, lecassrapFieldsToTrim, Lecture, lectureFieldsToTrim, Loi, loiFieldsToTrim, Org, orgFieldsToTrim, OriTxt, oritxtFieldsToTrim, Qua, quaFieldsToTrim, Rap, rapFieldsToParseInt, rapFieldsToTrim, RapOrg, raporgFieldsToTrim, Scr, scrFieldsToTrim, Texte, texteFieldsToParseInt, texteFieldsToTrim, TypAtt, typattFieldsToTrim, TypLec, typlecFieldsToTrim, TypLoi, typloiFieldsToTrim, TypTxt, typtxtFieldsToTrim, TypUrl, typurlFieldsToTrim } from './types/dosleg';
|
|
5
|
+
export { Photo, Sen, senFieldsToParseInt, senFieldsToTrim } from './types/sens';
|
|
6
|
+
export { parseIntFields, trimFieldsRight } from './fields';
|