@tricoteuses/senat 1.1.2 → 1.3.2

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 (155) hide show
  1. package/README.md +53 -15
  2. package/lib/config.d.ts +1 -0
  3. package/lib/config.js +14 -45
  4. package/lib/databases.d.ts +9 -0
  5. package/lib/databases.js +90 -117
  6. package/lib/datasets.js +78 -83
  7. package/lib/index.d.ts +8 -7
  8. package/lib/index.js +42 -523
  9. package/lib/legislatures.json +38 -0
  10. package/lib/loaders.d.ts +64 -0
  11. package/lib/loaders.js +177 -0
  12. package/lib/model/ameli.d.ts +105 -4
  13. package/lib/model/ameli.js +88 -166
  14. package/lib/model/debats.d.ts +0 -4
  15. package/lib/model/debats.js +0 -122
  16. package/lib/model/dosleg.d.ts +227 -29
  17. package/lib/model/dosleg.js +205 -839
  18. package/lib/model/index.d.ts +4 -5
  19. package/lib/model/index.js +12 -47
  20. package/lib/model/questions.d.ts +88 -2
  21. package/lib/model/questions.js +75 -51
  22. package/lib/model/sens.d.ts +524 -2
  23. package/lib/model/sens.js +449 -56
  24. package/lib/model/texte.d.ts +7 -0
  25. package/lib/model/texte.js +251 -0
  26. package/lib/model/util.d.ts +7 -1
  27. package/lib/model/util.js +26 -59
  28. package/lib/raw_types/ameli.d.ts +912 -538
  29. package/lib/raw_types/ameli.js +3 -42
  30. package/lib/raw_types/debats.d.ts +204 -124
  31. package/lib/raw_types/debats.js +3 -21
  32. package/lib/raw_types/dosleg.d.ts +3533 -2024
  33. package/lib/raw_types/dosleg.js +3 -95
  34. package/lib/raw_types/questions.d.ts +404 -220
  35. package/lib/raw_types/questions.js +3 -21
  36. package/lib/raw_types/sens.d.ts +4391 -2706
  37. package/lib/raw_types/sens.js +3 -111
  38. package/lib/raw_types_schemats/ameli.d.ts +541 -0
  39. package/lib/raw_types_schemats/ameli.js +3 -0
  40. package/lib/raw_types_schemats/debats.d.ts +127 -0
  41. package/lib/raw_types_schemats/debats.js +3 -0
  42. package/lib/raw_types_schemats/dosleg.d.ts +2029 -0
  43. package/lib/raw_types_schemats/dosleg.js +3 -0
  44. package/lib/raw_types_schemats/questions.d.ts +233 -0
  45. package/lib/raw_types_schemats/questions.js +3 -0
  46. package/lib/raw_types_schemats/sens.d.ts +2709 -0
  47. package/lib/raw_types_schemats/sens.js +3 -0
  48. package/lib/scripts/convert_data.js +184 -275
  49. package/lib/scripts/datautil.d.ts +5 -0
  50. package/lib/scripts/datautil.js +21 -0
  51. package/lib/scripts/parse_textes.js +49 -0
  52. package/lib/scripts/retrieve_documents.js +255 -0
  53. package/lib/scripts/retrieve_open_data.js +211 -360
  54. package/lib/scripts/retrieve_senateurs_photos.js +144 -257
  55. package/lib/scripts/shared/cli_helpers.d.ts +44 -0
  56. package/lib/scripts/shared/cli_helpers.js +35 -0
  57. package/lib/scripts/shared/util.d.ts +3 -0
  58. package/lib/scripts/shared/util.js +36 -0
  59. package/lib/strings.js +20 -45
  60. package/lib/types/ameli.d.ts +2 -2
  61. package/lib/types/ameli.js +14 -25
  62. package/lib/types/debats.d.ts +2 -2
  63. package/lib/types/debats.js +3 -21
  64. package/lib/types/dosleg.d.ts +3 -3
  65. package/lib/types/dosleg.js +152 -119
  66. package/lib/types/questions.d.ts +2 -2
  67. package/lib/types/questions.js +1 -13
  68. package/lib/types/sens.d.ts +2 -4
  69. package/lib/types/sens.js +1 -16
  70. package/lib/types/sessions.d.ts +42 -0
  71. package/lib/types/sessions.js +46 -0
  72. package/lib/types/texte.d.ts +65 -0
  73. package/lib/types/texte.js +19 -0
  74. package/lib/validators/config.js +47 -111
  75. package/lib/validators/senat.js +1 -5
  76. package/package.json +35 -32
  77. package/lib/aggregates.d.ts +0 -54
  78. package/lib/aggregates.js +0 -1122
  79. package/lib/aggregates.mjs +0 -802
  80. package/lib/aggregates.ts +0 -947
  81. package/lib/config.mjs +0 -16
  82. package/lib/config.ts +0 -26
  83. package/lib/databases.mjs +0 -26
  84. package/lib/databases.ts +0 -32
  85. package/lib/datasets.mjs +0 -78
  86. package/lib/datasets.ts +0 -118
  87. package/lib/fields.d.ts +0 -10
  88. package/lib/fields.js +0 -68
  89. package/lib/fields.mjs +0 -22
  90. package/lib/fields.ts +0 -29
  91. package/lib/index.mjs +0 -7
  92. package/lib/index.ts +0 -63
  93. package/lib/inserters.d.ts +0 -102
  94. package/lib/inserters.js +0 -518
  95. package/lib/inserters.mjs +0 -376
  96. package/lib/inserters.ts +0 -545
  97. package/lib/model/ameli.mjs +0 -57
  98. package/lib/model/ameli.ts +0 -86
  99. package/lib/model/debats.mjs +0 -43
  100. package/lib/model/debats.ts +0 -68
  101. package/lib/model/dosleg.mjs +0 -337
  102. package/lib/model/dosleg.ts +0 -558
  103. package/lib/model/index.mjs +0 -5
  104. package/lib/model/index.ts +0 -11
  105. package/lib/model/questions.mjs +0 -8
  106. package/lib/model/questions.ts +0 -14
  107. package/lib/model/sens.mjs +0 -9
  108. package/lib/model/sens.ts +0 -18
  109. package/lib/model/util.mjs +0 -10
  110. package/lib/model/util.ts +0 -16
  111. package/lib/raw_types/ameli.mjs +0 -2
  112. package/lib/raw_types/ameli.ts +0 -601
  113. package/lib/raw_types/debats.mjs +0 -2
  114. package/lib/raw_types/debats.ts +0 -145
  115. package/lib/raw_types/dosleg.mjs +0 -2
  116. package/lib/raw_types/dosleg.ts +0 -2193
  117. package/lib/raw_types/questions.mjs +0 -2
  118. package/lib/raw_types/questions.ts +0 -249
  119. package/lib/raw_types/sens.mjs +0 -2
  120. package/lib/raw_types/sens.ts +0 -2907
  121. package/lib/scripts/convert_data.mjs +0 -146
  122. package/lib/scripts/convert_data.ts +0 -182
  123. package/lib/scripts/fix_db.js +0 -144
  124. package/lib/scripts/fix_db.mjs +0 -64
  125. package/lib/scripts/fix_db.ts +0 -75
  126. package/lib/scripts/images/transparent_150x192.jpg +0 -0
  127. package/lib/scripts/images/transparent_155x225.jpg +0 -0
  128. package/lib/scripts/retrieve_open_data.mjs +0 -218
  129. package/lib/scripts/retrieve_open_data.ts +0 -258
  130. package/lib/scripts/retrieve_senateurs_photos.mjs +0 -164
  131. package/lib/scripts/retrieve_senateurs_photos.ts +0 -200
  132. package/lib/scripts/retrieve_textes.js +0 -179
  133. package/lib/scripts/retrieve_textes.mjs +0 -77
  134. package/lib/scripts/retrieve_textes.ts +0 -95
  135. package/lib/strings.mjs +0 -18
  136. package/lib/strings.ts +0 -26
  137. package/lib/types/ameli.mjs +0 -13
  138. package/lib/types/ameli.ts +0 -21
  139. package/lib/types/debats.mjs +0 -2
  140. package/lib/types/debats.ts +0 -6
  141. package/lib/types/dosleg.mjs +0 -151
  142. package/lib/types/dosleg.ts +0 -284
  143. package/lib/types/questions.mjs +0 -1
  144. package/lib/types/questions.ts +0 -3
  145. package/lib/types/sens.mjs +0 -23
  146. package/lib/types/sens.ts +0 -36
  147. package/lib/typings/windows-1252.d.js +0 -2
  148. package/lib/typings/windows-1252.d.mjs +0 -2
  149. package/lib/typings/windows-1252.d.ts +0 -11
  150. package/lib/validators/config.mjs +0 -54
  151. package/lib/validators/config.ts +0 -79
  152. package/lib/validators/senat.mjs +0 -24
  153. package/lib/validators/senat.ts +0 -26
  154. /package/lib/scripts/{fix_db.d.ts → parse_textes.d.ts} +0 -0
  155. /package/lib/scripts/{retrieve_textes.d.ts → retrieve_documents.d.ts} +0 -0
package/lib/config.mjs DELETED
@@ -1,16 +0,0 @@
1
- require("dotenv").config();
2
- import { validateConfig } from "./validators/config";
3
- const config = {
4
- db: {
5
- host: process.env.TRICOTEUSES_SENAT_DB_HOST || "localhost",
6
- password: process.env.TRICOTEUSES_SENAT_DB_PASSWORD || "opendata",
7
- port: process.env.TRICOTEUSES_SENAT_DB_PORT || 5432,
8
- user: process.env.TRICOTEUSES_SENAT_DB_USER || "opendata",
9
- },
10
- };
11
- const [validConfig, error] = validateConfig(config);
12
- if (error !== null) {
13
- console.error(`Error in configuration:\n${JSON.stringify(validConfig, null, 2)}\nError:\n${JSON.stringify(error, null, 2)}`);
14
- process.exit(-1);
15
- }
16
- export default validConfig;
package/lib/config.ts DELETED
@@ -1,26 +0,0 @@
1
- require("dotenv").config()
2
-
3
- import { validateConfig } from "./validators/config"
4
-
5
- const config = {
6
- db: {
7
- host: process.env.TRICOTEUSES_SENAT_DB_HOST || "localhost",
8
- password: process.env.TRICOTEUSES_SENAT_DB_PASSWORD || "opendata",
9
- port: process.env.TRICOTEUSES_SENAT_DB_PORT || 5432,
10
- user: process.env.TRICOTEUSES_SENAT_DB_USER || "opendata",
11
- },
12
- }
13
-
14
- const [validConfig, error] = validateConfig(config)
15
- if (error !== null) {
16
- console.error(
17
- `Error in configuration:\n${JSON.stringify(
18
- validConfig,
19
- null,
20
- 2,
21
- )}\nError:\n${JSON.stringify(error, null, 2)}`,
22
- )
23
- process.exit(-1)
24
- }
25
-
26
- export default validConfig
package/lib/databases.mjs DELETED
@@ -1,26 +0,0 @@
1
- import PgPromise from "pg-promise";
2
- import config from "./config";
3
- export const pgPromise = PgPromise();
4
- export const dbNames = ["ameli", "debats", "dosleg", "questions", "sens"];
5
- export const dbByName = {};
6
- for (const name of dbNames) {
7
- dbByName[name] = pgPromise({
8
- database: name,
9
- host: config.db.host,
10
- password: config.db.password,
11
- port: config.db.port,
12
- user: config.db.user,
13
- });
14
- }
15
- export let dbSharedConnectionObjectByName = {};
16
- export async function checkDatabase(name) {
17
- // Check that database exists.
18
- const db = dbByName[name];
19
- dbSharedConnectionObjectByName[name] = await db.connect();
20
- return db;
21
- }
22
- export async function checkDatabases() {
23
- for (const name of dbNames) {
24
- await checkDatabase(name);
25
- }
26
- }
package/lib/databases.ts DELETED
@@ -1,32 +0,0 @@
1
- import PgPromise from "pg-promise"
2
-
3
- import config from "./config"
4
-
5
- export const pgPromise = PgPromise()
6
- export const dbNames = ["ameli", "debats", "dosleg", "questions", "sens"]
7
- export const dbByName: { [name: string]: any } = {}
8
- for (const name of dbNames) {
9
- dbByName[name] = pgPromise({
10
- database: name,
11
- host: config.db.host,
12
- password: config.db.password,
13
- port: config.db.port,
14
- user: config.db.user,
15
- })
16
- }
17
- export let dbSharedConnectionObjectByName: {
18
- [name: string]: PgPromise.IConnected<unknown, any>
19
- } = {}
20
-
21
- export async function checkDatabase(name: string) {
22
- // Check that database exists.
23
- const db = dbByName[name]
24
- dbSharedConnectionObjectByName[name] = await db.connect()
25
- return db
26
- }
27
-
28
- export async function checkDatabases() {
29
- for (const name of dbNames) {
30
- await checkDatabase(name)
31
- }
32
- }
package/lib/datasets.mjs DELETED
@@ -1,78 +0,0 @@
1
- import fs from "fs-extra";
2
- import path from "path";
3
- import assert from "assert";
4
- export var EnabledDatasets;
5
- (function (EnabledDatasets) {
6
- EnabledDatasets[EnabledDatasets["None"] = 0] = "None";
7
- EnabledDatasets[EnabledDatasets["Ameli"] = 1] = "Ameli";
8
- EnabledDatasets[EnabledDatasets["Debats"] = 2] = "Debats";
9
- EnabledDatasets[EnabledDatasets["DosLeg"] = 4] = "DosLeg";
10
- EnabledDatasets[EnabledDatasets["Questions"] = 8] = "Questions";
11
- EnabledDatasets[EnabledDatasets["Sens"] = 16] = "Sens";
12
- EnabledDatasets[EnabledDatasets["PhotosSenateurs"] = 32] = "PhotosSenateurs";
13
- EnabledDatasets[EnabledDatasets["All"] = 63] = "All";
14
- })(EnabledDatasets || (EnabledDatasets = {}));
15
- export const datasets = {
16
- ameli: {
17
- database: "ameli",
18
- repairEncoding: false,
19
- repairZip: (dataset, dataDir) => {
20
- const sqlFilename = `${dataset.database}.sql`;
21
- const sqlFilePath = path.join(dataDir, sqlFilename);
22
- fs.removeSync(sqlFilePath);
23
- fs.moveSync(path.join(dataDir, "var", "opt", "opendata", sqlFilename), sqlFilePath);
24
- },
25
- schema: "public",
26
- title: "Amendements",
27
- url: "https://data.senat.fr/data/ameli/ameli.zip",
28
- },
29
- debats: {
30
- database: "debats",
31
- repairEncoding: true,
32
- schema: "public",
33
- title: "Informations relatives aux comptes rendus intégraux de la séance publique",
34
- url: "https://data.senat.fr/data/debats/debats.zip",
35
- },
36
- dosleg: {
37
- database: "dosleg",
38
- repairEncoding: true,
39
- schema: "public",
40
- title: "Dossiers législatifs",
41
- url: "https://data.senat.fr/data/dosleg/dosleg.zip",
42
- },
43
- questions: {
44
- database: "questions",
45
- repairEncoding: true,
46
- schema: "questions",
47
- title: "Questions écrites et orales posées par les sénateurs au Gouvernement",
48
- url: "https://data.senat.fr/data/questions/questions.zip",
49
- },
50
- sens: {
51
- database: "sens",
52
- repairEncoding: true,
53
- repairZip: (dataset, dataDir) => {
54
- const sqlFilename = `${dataset.database}.sql`;
55
- const sqlFilePath = path.join(dataDir, sqlFilename);
56
- fs.removeSync(sqlFilePath);
57
- fs.moveSync(path.join(dataDir, "export_sens.sql"), sqlFilePath);
58
- },
59
- schema: "public",
60
- title: "Sénateurs (y compris organes et présence)",
61
- url: "https://data.senat.fr/data/senateurs/export_sens.zip",
62
- },
63
- };
64
- export function getEnabledDatasets(categories) {
65
- categories.map((datasetName) => assert.notStrictEqual(EnabledDatasets[datasetName], undefined, `Unknown name of dataset: ${datasetName}`));
66
- return categories.reduce((enabledDatasets, datasetName) => enabledDatasets |
67
- EnabledDatasets[datasetName], EnabledDatasets.None);
68
- }
69
- export function getChosenFromEnabledDatasets(categories) {
70
- const enabledDatasets = getEnabledDatasets(categories);
71
- return [
72
- enabledDatasets & EnabledDatasets.Ameli ? datasets.ameli : null,
73
- enabledDatasets & EnabledDatasets.Debats ? datasets.debats : null,
74
- enabledDatasets & EnabledDatasets.DosLeg ? datasets.dosleg : null,
75
- enabledDatasets & EnabledDatasets.Questions ? datasets.questions : null,
76
- enabledDatasets & EnabledDatasets.Sens ? datasets.sens : null,
77
- ].filter((dataset) => dataset !== null);
78
- }
package/lib/datasets.ts DELETED
@@ -1,118 +0,0 @@
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 DELETED
@@ -1,10 +0,0 @@
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 DELETED
@@ -1,68 +0,0 @@
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 DELETED
@@ -1,22 +0,0 @@
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 DELETED
@@ -1,29 +0,0 @@
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.mjs DELETED
@@ -1,7 +0,0 @@
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 { senFieldsToParseInt, senFieldsToTrim } from './types/sens';
7
- export { parseIntFields, trimFieldsRight } from './fields';
package/lib/index.ts DELETED
@@ -1,63 +0,0 @@
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, senFieldsToParseInt, senFieldsToTrim
59
- } from './types/sens'
60
- export {
61
- parseIntFields,
62
- trimFieldsRight
63
- } from './fields'
@@ -1,102 +0,0 @@
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
- import { Question } from "./types/questions";
5
- import { Sen } from "./types/sens";
6
- export interface OutputData {
7
- readonly ass?: {
8
- [id: string]: Ass;
9
- };
10
- readonly aud?: {
11
- [id: string]: Aud;
12
- };
13
- readonly auteur?: {
14
- [id: string]: Auteur;
15
- };
16
- readonly date_seance?: {
17
- [id: string]: DateSeance;
18
- };
19
- readonly debats?: {
20
- [id: string]: Debat;
21
- };
22
- readonly deccoc?: {
23
- [id: string]: DecCoc;
24
- };
25
- readonly denrap?: {
26
- [id: string]: DenRap;
27
- };
28
- readonly docatt?: {
29
- [id: string]: DocAtt;
30
- };
31
- readonly ecr?: {
32
- [id: string]: Ecr;
33
- };
34
- readonly etaloi?: {
35
- [id: string]: EtaLoi;
36
- };
37
- readonly lecass?: {
38
- [id: string]: LecAss;
39
- };
40
- readonly lecassrap?: {
41
- [id: string]: LecAssRap;
42
- };
43
- readonly lecture?: {
44
- [id: string]: Lecture;
45
- };
46
- readonly loi?: {
47
- [id: string]: Loi;
48
- };
49
- readonly org?: {
50
- [id: string]: Org;
51
- };
52
- readonly oritxt?: {
53
- [id: string]: OriTxt;
54
- };
55
- readonly qua?: {
56
- [id: string]: Qua;
57
- };
58
- readonly rap?: {
59
- [id: string]: Rap;
60
- };
61
- readonly scr?: {
62
- [id: string]: Scr;
63
- };
64
- readonly texte?: {
65
- [id: string]: Texte;
66
- };
67
- readonly typatt?: {
68
- [id: string]: TypAtt;
69
- };
70
- readonly typlec?: {
71
- [id: string]: TypLec;
72
- };
73
- readonly typloi?: {
74
- [id: string]: TypLoi;
75
- };
76
- readonly typtxt?: {
77
- [id: string]: TypTxt;
78
- };
79
- readonly typurl?: {
80
- [id: string]: TypUrl;
81
- };
82
- readonly txt_ameli?: {
83
- [id: string]: TxtAmeli;
84
- };
85
- }
86
- type VisitedIdsByTableName = {
87
- [tableName: string]: Set<number | string>;
88
- };
89
- export declare function insertAudReferences(aud: Aud, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Aud;
90
- export declare function insertAuteurReferences(auteur: Auteur, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Auteur;
91
- export declare function insertDateSeanceReferences(dateSeance: DateSeance, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): DateSeance;
92
- export declare function insertDocAttReferences(docatt: DocAtt, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName, performInsertRapReferences?: boolean): DocAtt;
93
- export declare function insertEcrReferences(ecr: Ecr, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Ecr;
94
- export declare function insertLecassrapReferences(lecassrap: LecAssRap, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): LecAssRap;
95
- export declare function insertLecassReferences(lecass: LecAss, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): LecAss;
96
- export declare function insertLectureReferences(lecture: Lecture, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Lecture;
97
- export declare function insertLoiReferences(loi: Loi, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Loi;
98
- export declare function insertQuestionReferences(question: Question, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Question;
99
- export declare function insertRapReferences(rap: Rap, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Rap;
100
- export declare function insertSenReferences(sen: Sen, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Sen;
101
- export declare function insertTexteReferences(texte: Texte, data: OutputData, visitedIdsByTableName: VisitedIdsByTableName): Texte;
102
- export {};