@tricoteuses/assemblee 1.10.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -1
- package/lib/amendements-79bwpkvR.js +154 -0
- package/lib/amendements-CV3s5a0M.js +667 -0
- package/lib/cleaners/index.d.ts +9 -9
- package/lib/cleaners.js +564 -0
- package/lib/datasets.d.ts +3 -3
- package/lib/dossiers_legislatifs.d.ts +2 -2
- package/lib/index.d.ts +17 -22
- package/lib/index.js +1542 -314
- package/lib/inserters.d.ts +5 -5
- package/lib/loaders-9mHdTl9L.js +4158 -0
- package/lib/loaders.d.ts +12 -12
- package/lib/loaders.js +29 -1689
- package/lib/organes.d.ts +1 -1
- package/lib/parse-Ccs6wcUg.js +2512 -0
- package/lib/parsers/index.d.ts +2 -3
- package/lib/parsers/plf.d.ts +1 -0
- package/lib/parsers/recherche_amendements.d.ts +2 -2
- package/lib/parsers/textes_lois.d.ts +1 -23
- package/lib/parsers.js +398 -0
- package/lib/raw_types/debats.d.ts +2 -2
- package/lib/raw_types/dossiers_legislatifs.d.ts +1 -1
- package/lib/schemas/acteurs_et_organes.json +1166 -0
- package/lib/schemas/agendas.json +1745 -0
- package/lib/schemas/amendements.json +2085 -0
- package/lib/schemas/debats.json +842 -0
- package/lib/schemas/dossiers_legislatifs.json +3874 -0
- package/lib/schemas/legislatures.json +17 -0
- package/lib/schemas/questions.json +704 -0
- package/lib/schemas/scrutins.json +701 -0
- package/lib/scripts/retrieve_deputes_photos.d.ts +1 -1
- package/lib/types/acteurs_et_organes.d.ts +340 -0
- package/lib/types/agendas.d.ts +236 -10
- package/lib/types/amendements.d.ts +276 -1
- package/lib/types/debats.d.ts +52 -2
- package/lib/types/dossiers_legislatifs.d.ts +403 -9
- package/lib/types/questions.d.ts +99 -2
- package/lib/types/scrutins.d.ts +101 -0
- package/lib/urls.d.ts +2 -2
- package/package.json +32 -94
- package/lib/api.js +0 -52
- package/lib/api.mjs +0 -45
- package/lib/bugs/acteur-00010/plugin.test.js +0 -90
- package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
- package/lib/bugs/acteur-00010.d.ts +0 -7
- package/lib/bugs/acteur-00010.js +0 -116
- package/lib/bugs/acteur-00010.mjs +0 -26
- package/lib/bugs/agenda-00002/plugin.test.js +0 -124
- package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
- package/lib/bugs/agenda-00002.d.ts +0 -15
- package/lib/bugs/agenda-00002.js +0 -406
- package/lib/bugs/agenda-00002.mjs +0 -172
- package/lib/bugs/agenda-00008/plugin.test.js +0 -92
- package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
- package/lib/bugs/agenda-00008.d.ts +0 -7
- package/lib/bugs/agenda-00008.js +0 -123
- package/lib/bugs/agenda-00008.mjs +0 -26
- package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
- package/lib/bugs/agenda-00011/plugin.test.js +0 -263
- package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
- package/lib/bugs/agenda-00011.d.ts +0 -16
- package/lib/bugs/agenda-00011.js +0 -333
- package/lib/bugs/agenda-00011.mjs +0 -125
- package/lib/bugs.d.ts +0 -21
- package/lib/bugs.js +0 -452
- package/lib/bugs.mjs +0 -70
- package/lib/cleaners/actes_legislatifs.js +0 -315
- package/lib/cleaners/actes_legislatifs.mjs +0 -253
- package/lib/cleaners/acteurs.js +0 -265
- package/lib/cleaners/acteurs.mjs +0 -180
- package/lib/cleaners/amendements.js +0 -294
- package/lib/cleaners/amendements.mjs +0 -227
- package/lib/cleaners/debats.js +0 -12
- package/lib/cleaners/debats.mjs +0 -5
- package/lib/cleaners/documents.js +0 -205
- package/lib/cleaners/documents.mjs +0 -133
- package/lib/cleaners/dossiers_legislatifs.js +0 -131
- package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
- package/lib/cleaners/index.js +0 -70
- package/lib/cleaners/index.mjs +0 -10
- package/lib/cleaners/organes.js +0 -65
- package/lib/cleaners/organes.mjs +0 -48
- package/lib/cleaners/questions.js +0 -12
- package/lib/cleaners/questions.mjs +0 -5
- package/lib/cleaners/reunions.js +0 -312
- package/lib/cleaners/reunions.mjs +0 -255
- package/lib/cleaners/scrutins.js +0 -340
- package/lib/cleaners/scrutins.mjs +0 -221
- package/lib/cleaners/xml.js +0 -74
- package/lib/cleaners/xml.mjs +0 -59
- package/lib/datasets.js +0 -837
- package/lib/datasets.mjs +0 -755
- package/lib/dates.js +0 -124
- package/lib/dates.mjs +0 -100
- package/lib/dossiers_legislatifs.js +0 -346
- package/lib/dossiers_legislatifs.mjs +0 -208
- package/lib/file_systems.js +0 -162
- package/lib/file_systems.mjs +0 -62
- package/lib/git.js +0 -223
- package/lib/git.mjs +0 -151
- package/lib/index.mjs +0 -17
- package/lib/inserters.js +0 -521
- package/lib/inserters.mjs +0 -337
- package/lib/loaders.mjs +0 -886
- package/lib/logger.js +0 -35
- package/lib/logger.mjs +0 -26
- package/lib/organes.js +0 -22
- package/lib/organes.mjs +0 -15
- package/lib/parsers/documents.d.ts +0 -62
- package/lib/parsers/documents.js +0 -453
- package/lib/parsers/documents.mjs +0 -370
- package/lib/parsers/index.js +0 -40
- package/lib/parsers/index.mjs +0 -4
- package/lib/parsers/recherche_amendements.js +0 -403
- package/lib/parsers/recherche_amendements.mjs +0 -167
- package/lib/parsers/textes_lois.js +0 -307
- package/lib/parsers/textes_lois.mjs +0 -264
- package/lib/raw_types/acteurs_et_organes.js +0 -1215
- package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
- package/lib/raw_types/agendas.js +0 -777
- package/lib/raw_types/agendas.mjs +0 -724
- package/lib/raw_types/amendements.js +0 -1052
- package/lib/raw_types/amendements.mjs +0 -993
- package/lib/raw_types/debats.js +0 -630
- package/lib/raw_types/debats.mjs +0 -573
- package/lib/raw_types/dossiers_legislatifs.js +0 -1529
- package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
- package/lib/raw_types/questions.js +0 -469
- package/lib/raw_types/questions.mjs +0 -416
- package/lib/raw_types/scrutins.js +0 -651
- package/lib/raw_types/scrutins.mjs +0 -598
- package/lib/schemas/acteur/Acteur.json +0 -56
- package/lib/schemas/acteur/AdresseElectronique.json +0 -52
- package/lib/schemas/acteur/AdressePostale.json +0 -75
- package/lib/schemas/acteur/Civ.json +0 -14
- package/lib/schemas/acteur/Collaborateur.json +0 -29
- package/lib/schemas/acteur/EtatCivil.json +0 -51
- package/lib/schemas/acteur/Ident.json +0 -40
- package/lib/schemas/acteur/Lieu.json +0 -66
- package/lib/schemas/acteur/Mandat.json +0 -192
- package/lib/schemas/acteur/Profession.json +0 -46
- package/lib/schemas/agenda/Agenda.json +0 -318
- package/lib/schemas/agenda/CycleDeVie.json +0 -45
- package/lib/schemas/agenda/PointOdj.json +0 -82
- package/lib/schemas/amendement/Amendement.json +0 -246
- package/lib/schemas/amendement/Diff.json +0 -25
- package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
- package/lib/schemas/amendement/Identifiant.json +0 -62
- package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
- package/lib/schemas/amendement/Representation.json +0 -67
- package/lib/schemas/amendement/Total.json +0 -26
- package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
- package/lib/schemas/converted_from_type/agendas.json +0 -1100
- package/lib/schemas/converted_from_type/amendements.json +0 -3191
- package/lib/schemas/converted_from_type/debats.json +0 -682
- package/lib/schemas/converted_from_type/deputes.json +0 -26
- package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
- package/lib/schemas/converted_from_type/legislatures.json +0 -16
- package/lib/schemas/converted_from_type/questions.json +0 -328
- package/lib/schemas/converted_from_type/scrutins.json +0 -393
- package/lib/schemas/debat/Contenu.json +0 -75
- package/lib/schemas/debat/Debat.json +0 -40
- package/lib/schemas/debat/Metadonnees.json +0 -75
- package/lib/schemas/debat/Orateur.json +0 -60
- package/lib/schemas/debat/Point.json +0 -169
- package/lib/schemas/debat/Sommaire.json +0 -71
- package/lib/schemas/debat/SommaireElement.json +0 -108
- package/lib/schemas/debat/Texte.json +0 -34
- package/lib/schemas/document/CodeLibelle.json +0 -25
- package/lib/schemas/document/Document.json +0 -385
- package/lib/schemas/document/Indexation.json +0 -38
- package/lib/schemas/dossier/ActeLegislatif.json +0 -211
- package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
- package/lib/schemas/dossier/Agenda.json +0 -23
- package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
- package/lib/schemas/dossier/Decision.json +0 -25
- package/lib/schemas/dossier/Dossier.json +0 -124
- package/lib/schemas/dossier/EtudeImpact.json +0 -29
- package/lib/schemas/dossier/EtudePlf.json +0 -105
- package/lib/schemas/dossier/Europe.json +0 -42
- package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
- package/lib/schemas/dossier/InfoJO.json +0 -23
- package/lib/schemas/dossier/Initiateur.json +0 -36
- package/lib/schemas/dossier/Motion.json +0 -27
- package/lib/schemas/dossier/Promulgation.json +0 -62
- package/lib/schemas/dossier/Rapporteur.json +0 -36
- package/lib/schemas/dossier/Texte.json +0 -47
- package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
- package/lib/schemas/organe/Organe.json +0 -136
- package/lib/schemas/organe/ViMoDe.json +0 -28
- package/lib/schemas/question/Auteur.json +0 -58
- package/lib/schemas/question/Cloture.json +0 -28
- package/lib/schemas/question/InfoJO.json +0 -40
- package/lib/schemas/question/MinAttribElement.json +0 -30
- package/lib/schemas/question/Question.json +0 -172
- package/lib/schemas/question/Renouvellement.json +0 -17
- package/lib/schemas/question/Signalement.json +0 -21
- package/lib/schemas/question/Texte.json +0 -24
- package/lib/schemas/scrutin/DecompteVoix.json +0 -35
- package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
- package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
- package/lib/schemas/scrutin/OrganeVotant.json +0 -88
- package/lib/schemas/scrutin/Scrutin.json +0 -187
- package/lib/schemas/scrutin/Votant.json +0 -37
- package/lib/scripts/bugs_helper.d.ts +0 -13
- package/lib/scripts/bugs_helper.js +0 -595
- package/lib/scripts/bugs_helper.mjs +0 -251
- package/lib/scripts/clean_reorganized_data.js +0 -613
- package/lib/scripts/clean_reorganized_data.mjs +0 -276
- package/lib/scripts/diff_amendements.js +0 -249
- package/lib/scripts/diff_amendements.mjs +0 -202
- package/lib/scripts/document_dossiers_legislatifs.js +0 -655
- package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
- package/lib/scripts/get_today_reunions.js +0 -37
- package/lib/scripts/get_today_reunions.mjs +0 -31
- package/lib/scripts/merge_scrutins.js +0 -97
- package/lib/scripts/merge_scrutins.mjs +0 -47
- package/lib/scripts/parse_textes_lois.d.ts +0 -1
- package/lib/scripts/parse_textes_lois.js +0 -171
- package/lib/scripts/parse_textes_lois.mjs +0 -140
- package/lib/scripts/process_open_dataset.js +0 -301
- package/lib/scripts/process_open_dataset.mjs +0 -134
- package/lib/scripts/raw_types_from_amendements.js +0 -135
- package/lib/scripts/raw_types_from_amendements.mjs +0 -134
- package/lib/scripts/reorganize_data.js +0 -805
- package/lib/scripts/reorganize_data.mjs +0 -517
- package/lib/scripts/retrieve_deputes_photos.js +0 -310
- package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
- package/lib/scripts/retrieve_documents.js +0 -547
- package/lib/scripts/retrieve_documents.mjs +0 -242
- package/lib/scripts/retrieve_open_data.js +0 -107
- package/lib/scripts/retrieve_open_data.mjs +0 -26
- package/lib/scripts/retrieve_pending_amendments.js +0 -206
- package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
- package/lib/scripts/retrieve_senateurs_photos.js +0 -234
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
- package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
- package/lib/scripts/retrieve_textes_lois.js +0 -240
- package/lib/scripts/retrieve_textes_lois.mjs +0 -85
- package/lib/scripts/shared/cli_helpers.js +0 -89
- package/lib/scripts/shared/cli_helpers.mjs +0 -81
- package/lib/scripts/test_iter_load.js +0 -155
- package/lib/scripts/test_iter_load.mjs +0 -72
- package/lib/scripts/test_load.js +0 -26
- package/lib/scripts/test_load.mjs +0 -16
- package/lib/scripts/test_load_big_files.js +0 -26
- package/lib/scripts/test_load_big_files.mjs +0 -16
- package/lib/scripts/validate_json.js +0 -353
- package/lib/scripts/validate_json.mjs +0 -184
- package/lib/shared_types/codes_actes.js +0 -231
- package/lib/shared_types/codes_actes.mjs +0 -224
- package/lib/strings.js +0 -16
- package/lib/strings.mjs +0 -7
- package/lib/types/acteurs_et_organes.js +0 -965
- package/lib/types/acteurs_et_organes.mjs +0 -906
- package/lib/types/agendas.js +0 -628
- package/lib/types/agendas.mjs +0 -575
- package/lib/types/amendements.js +0 -899
- package/lib/types/amendements.mjs +0 -842
- package/lib/types/debats.js +0 -619
- package/lib/types/debats.mjs +0 -562
- package/lib/types/dossiers_legislatifs.js +0 -1188
- package/lib/types/dossiers_legislatifs.mjs +0 -1130
- package/lib/types/legislatures.js +0 -17
- package/lib/types/legislatures.mjs +0 -10
- package/lib/types/questions.js +0 -454
- package/lib/types/questions.mjs +0 -401
- package/lib/types/scrutins.js +0 -556
- package/lib/types/scrutins.mjs +0 -503
- package/lib/urls.js +0 -325
- package/lib/urls.mjs +0 -258
- /package/lib/{bugs/acteur-00010/plugin.test.d.ts → scripts/add_links_to_documents.d.ts} +0 -0
- /package/lib/{bugs/agenda-00002/plugin.test.d.ts → scripts/copy-schemas.d.ts} +0 -0
- /package/lib/{bugs/agenda-00008/plugin.test.d.ts → scripts/generate-json-schemas.d.ts} +0 -0
package/lib/cleaners/xml.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.cleanBooleanAttribute = cleanBooleanAttribute;
|
|
8
|
-
exports.cleanIntegerAttribute = cleanIntegerAttribute;
|
|
9
|
-
exports.cleanXmlArtefacts = cleanXmlArtefacts;
|
|
10
|
-
require("core-js/modules/es.array.concat.js");
|
|
11
|
-
require("core-js/modules/es.array.is-array.js");
|
|
12
|
-
require("core-js/modules/es.number.is-nan.js");
|
|
13
|
-
require("core-js/modules/es.number.parse-int.js");
|
|
14
|
-
require("core-js/modules/es.object.keys.js");
|
|
15
|
-
var _nodeAssert = _interopRequireDefault(require("node:assert"));
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
17
|
-
// Move constant to module scope to avoid recreation
|
|
18
|
-
var BOOLEAN_MAP = {
|
|
19
|
-
"false": false,
|
|
20
|
-
"true": true
|
|
21
|
-
};
|
|
22
|
-
var XML_NAMESPACE = "http://schemas.assemblee-nationale.fr/referentiel";
|
|
23
|
-
var XSI_NAMESPACE = "http://www.w3.org/2001/XMLSchema-instance";
|
|
24
|
-
function cleanBooleanAttribute(o, key) {
|
|
25
|
-
var stringValue = o[key];
|
|
26
|
-
if (stringValue === undefined || stringValue === null) {
|
|
27
|
-
delete o[key];
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
var booleanValue = BOOLEAN_MAP[stringValue];
|
|
31
|
-
_nodeAssert["default"].notStrictEqual(booleanValue, undefined, "Invalid boolean value: ".concat(key, " = ").concat(stringValue));
|
|
32
|
-
o[key] = booleanValue;
|
|
33
|
-
return booleanValue;
|
|
34
|
-
}
|
|
35
|
-
function cleanIntegerAttribute(o, key) {
|
|
36
|
-
var stringValue = o[key];
|
|
37
|
-
if (stringValue === undefined || stringValue === null) {
|
|
38
|
-
delete o[key];
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
var integerValue = Number.parseInt(stringValue);
|
|
42
|
-
(0, _nodeAssert["default"])(!Number.isNaN(integerValue), "Invalid number value: ".concat(key, " = ").concat(stringValue));
|
|
43
|
-
o[key] = integerValue;
|
|
44
|
-
return integerValue;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/// Remove XML fields that have no use in JSON.
|
|
48
|
-
function cleanXmlArtefacts(o) {
|
|
49
|
-
var _o$Xmlns;
|
|
50
|
-
// Optimize namespace checks with direct property access
|
|
51
|
-
var xmlns = (_o$Xmlns = o["@xmlns"]) !== null && _o$Xmlns !== void 0 ? _o$Xmlns : o["xmlns"];
|
|
52
|
-
if (xmlns !== undefined) {
|
|
53
|
-
_nodeAssert["default"].strictEqual(xmlns, XML_NAMESPACE);
|
|
54
|
-
delete o["@xmlns"];
|
|
55
|
-
delete o["xmlns"];
|
|
56
|
-
}
|
|
57
|
-
if (o["@xmlns:xsi"] === XSI_NAMESPACE) {
|
|
58
|
-
delete o["@xmlns:xsi"];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Optimize empty checks with direct property access
|
|
62
|
-
for (var key in o) {
|
|
63
|
-
var value = o[key];
|
|
64
|
-
if (value === null) {
|
|
65
|
-
delete o[key];
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (value === undefined) continue;
|
|
69
|
-
if (value["@xsi:nil"] === "true" || Array.isArray(value) && value.length === 0 || !Array.isArray(value) && value.constructor === Object && Object.keys(value).length === 0) {
|
|
70
|
-
delete o[key];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZUFzc2VydCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJCT09MRUFOX01BUCIsIlhNTF9OQU1FU1BBQ0UiLCJYU0lfTkFNRVNQQUNFIiwiY2xlYW5Cb29sZWFuQXR0cmlidXRlIiwibyIsImtleSIsInN0cmluZ1ZhbHVlIiwidW5kZWZpbmVkIiwiYm9vbGVhblZhbHVlIiwiYXNzZXJ0Iiwibm90U3RyaWN0RXF1YWwiLCJjb25jYXQiLCJjbGVhbkludGVnZXJBdHRyaWJ1dGUiLCJpbnRlZ2VyVmFsdWUiLCJOdW1iZXIiLCJwYXJzZUludCIsImlzTmFOIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJfbyRYbWxucyIsInhtbG5zIiwic3RyaWN0RXF1YWwiLCJ2YWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImNvbnN0cnVjdG9yIiwiT2JqZWN0Iiwia2V5cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy94bWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwibm9kZTphc3NlcnRcIlxuXG4vLyBNb3ZlIGNvbnN0YW50IHRvIG1vZHVsZSBzY29wZSB0byBhdm9pZCByZWNyZWF0aW9uXG5jb25zdCBCT09MRUFOX01BUCA9IHtcbiAgZmFsc2U6IGZhbHNlLFxuICB0cnVlOiB0cnVlLFxufSBhcyBjb25zdFxuXG5jb25zdCBYTUxfTkFNRVNQQUNFID0gXCJodHRwOi8vc2NoZW1hcy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3JlZmVyZW50aWVsXCJcbmNvbnN0IFhTSV9OQU1FU1BBQ0UgPSBcImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShcbiAgbzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAga2V5OiBzdHJpbmcsXG4pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3RyaW5nVmFsdWUgPSBvW2tleV1cbiAgaWYgKHN0cmluZ1ZhbHVlID09PSB1bmRlZmluZWQgfHwgc3RyaW5nVmFsdWUgPT09IG51bGwpIHtcbiAgICBkZWxldGUgb1trZXldXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGJvb2xlYW5WYWx1ZTogYm9vbGVhbiA9XG4gICAgQk9PTEVBTl9NQVBbc3RyaW5nVmFsdWUgYXMga2V5b2YgdHlwZW9mIEJPT0xFQU5fTUFQXVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgYm9vbGVhblZhbHVlLFxuICAgIHVuZGVmaW5lZCxcbiAgICBgSW52YWxpZCBib29sZWFuIHZhbHVlOiAke2tleX0gPSAke3N0cmluZ1ZhbHVlfWAsXG4gIClcbiAgb1trZXldID0gYm9vbGVhblZhbHVlXG4gIHJldHVybiBib29sZWFuVmFsdWVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuSW50ZWdlckF0dHJpYnV0ZShcbiAgbzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAga2V5OiBzdHJpbmcsXG4pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCBzdHJpbmdWYWx1ZSA9IG9ba2V5XVxuICBpZiAoc3RyaW5nVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBzdHJpbmdWYWx1ZSA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSBvW2tleV1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbiAgY29uc3QgaW50ZWdlclZhbHVlID0gTnVtYmVyLnBhcnNlSW50KHN0cmluZ1ZhbHVlKVxuICBhc3NlcnQoXG4gICAgIU51bWJlci5pc05hTihpbnRlZ2VyVmFsdWUpLFxuICAgIGBJbnZhbGlkIG51bWJlciB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGludGVnZXJWYWx1ZVxuICByZXR1cm4gaW50ZWdlclZhbHVlXG59XG5cbi8vLyBSZW1vdmUgWE1MIGZpZWxkcyB0aGF0IGhhdmUgbm8gdXNlIGluIEpTT04uXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5YbWxBcnRlZmFjdHMobzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAvLyBPcHRpbWl6ZSBuYW1lc3BhY2UgY2hlY2tzIHdpdGggZGlyZWN0IHByb3BlcnR5IGFjY2Vzc1xuICBjb25zdCB4bWxucyA9IG9bXCJAeG1sbnNcIl0gPz8gb1tcInhtbG5zXCJdXG4gIGlmICh4bWxucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHhtbG5zLCBYTUxfTkFNRVNQQUNFKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zXCJdXG4gICAgZGVsZXRlIG9bXCJ4bWxuc1wiXVxuICB9XG5cbiAgaWYgKG9bXCJAeG1sbnM6eHNpXCJdID09PSBYU0lfTkFNRVNQQUNFKSB7XG4gICAgZGVsZXRlIG9bXCJAeG1sbnM6eHNpXCJdXG4gIH1cblxuICAvLyBPcHRpbWl6ZSBlbXB0eSBjaGVja3Mgd2l0aCBkaXJlY3QgcHJvcGVydHkgYWNjZXNzXG4gIGZvciAoY29uc3Qga2V5IGluIG8pIHtcbiAgICBjb25zdCB2YWx1ZSA9IG9ba2V5XVxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgZGVsZXRlIG9ba2V5XVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgY29udGludWVcblxuICAgIGlmIChcbiAgICAgIHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB8fFxuICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgICAgICB2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0ICYmXG4gICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDApXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQWdDLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFFaEM7QUFDQSxJQUFNRSxXQUFXLEdBQUc7RUFDbEIsU0FBTyxLQUFLO0VBQ1osUUFBTTtBQUNSLENBQVU7QUFFVixJQUFNQyxhQUFhLEdBQUcsbURBQW1EO0FBQ3pFLElBQU1DLGFBQWEsR0FBRywyQ0FBMkM7QUFFMUQsU0FBU0MscUJBQXFCQSxDQUNuQ0MsQ0FBeUIsRUFDekJDLEdBQVcsRUFDVTtFQUNyQixJQUFNQyxXQUFXLEdBQUdGLENBQUMsQ0FBQ0MsR0FBRyxDQUFDO0VBQzFCLElBQUlDLFdBQVcsS0FBS0MsU0FBUyxJQUFJRCxXQUFXLEtBQUssSUFBSSxFQUFFO0lBQ3JELE9BQU9GLENBQUMsQ0FBQ0MsR0FBRyxDQUFDO0lBQ2IsT0FBT0UsU0FBUztFQUNsQjtFQUNBLElBQU1DLFlBQXFCLEdBQ3pCUixXQUFXLENBQUNNLFdBQVcsQ0FBNkI7RUFDdERHLHNCQUFNLENBQUNDLGNBQWMsQ0FDbkJGLFlBQVksRUFDWkQsU0FBUyw0QkFBQUksTUFBQSxDQUNpQk4sR0FBRyxTQUFBTSxNQUFBLENBQU1MLFdBQVcsQ0FDaEQsQ0FBQztFQUNERixDQUFDLENBQUNDLEdBQUcsQ0FBQyxHQUFHRyxZQUFZO0VBQ3JCLE9BQU9BLFlBQVk7QUFDckI7QUFFTyxTQUFTSSxxQkFBcUJBLENBQ25DUixDQUF5QixFQUN6QkMsR0FBVyxFQUNTO0VBQ3BCLElBQU1DLFdBQVcsR0FBR0YsQ0FBQyxDQUFDQyxHQUFHLENBQUM7RUFDMUIsSUFBSUMsV0FBVyxLQUFLQyxTQUFTLElBQUlELFdBQVcsS0FBSyxJQUFJLEVBQUU7SUFDckQsT0FBT0YsQ0FBQyxDQUFDQyxHQUFHLENBQUM7SUFDYixPQUFPRSxTQUFTO0VBQ2xCO0VBQ0EsSUFBTU0sWUFBWSxHQUFHQyxNQUFNLENBQUNDLFFBQVEsQ0FBQ1QsV0FBVyxDQUFDO0VBQ2pELElBQUFHLHNCQUFNLEVBQ0osQ0FBQ0ssTUFBTSxDQUFDRSxLQUFLLENBQUNILFlBQVksQ0FBQywyQkFBQUYsTUFBQSxDQUNGTixHQUFHLFNBQUFNLE1BQUEsQ0FBTUwsV0FBVyxDQUMvQyxDQUFDO0VBQ0RGLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLEdBQUdRLFlBQVk7RUFDckIsT0FBT0EsWUFBWTtBQUNyQjs7QUFFQTtBQUNPLFNBQVNJLGlCQUFpQkEsQ0FBQ2IsQ0FBeUIsRUFBUTtFQUFBLElBQUFjLFFBQUE7RUFDakU7RUFDQSxJQUFNQyxLQUFLLElBQUFELFFBQUEsR0FBR2QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFBYyxRQUFBLGNBQUFBLFFBQUEsR0FBSWQsQ0FBQyxDQUFDLE9BQU8sQ0FBQztFQUN2QyxJQUFJZSxLQUFLLEtBQUtaLFNBQVMsRUFBRTtJQUN2QkUsc0JBQU0sQ0FBQ1csV0FBVyxDQUFDRCxLQUFLLEVBQUVsQixhQUFhLENBQUM7SUFDeEMsT0FBT0csQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNsQixPQUFPQSxDQUFDLENBQUMsT0FBTyxDQUFDO0VBQ25CO0VBRUEsSUFBSUEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLRixhQUFhLEVBQUU7SUFDckMsT0FBT0UsQ0FBQyxDQUFDLFlBQVksQ0FBQztFQUN4Qjs7RUFFQTtFQUNBLEtBQUssSUFBTUMsR0FBRyxJQUFJRCxDQUFDLEVBQUU7SUFDbkIsSUFBTWlCLEtBQUssR0FBR2pCLENBQUMsQ0FBQ0MsR0FBRyxDQUFDO0lBQ3BCLElBQUlnQixLQUFLLEtBQUssSUFBSSxFQUFFO01BQ2xCLE9BQU9qQixDQUFDLENBQUNDLEdBQUcsQ0FBQztNQUNiO0lBQ0Y7SUFFQSxJQUFJZ0IsS0FBSyxLQUFLZCxTQUFTLEVBQUU7SUFFekIsSUFDRWMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLE1BQU0sSUFDM0JDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixLQUFLLENBQUMsSUFBSUEsS0FBSyxDQUFDRyxNQUFNLEtBQUssQ0FBRSxJQUMzQyxDQUFDRixLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDLElBQ3BCQSxLQUFLLENBQUNJLFdBQVcsS0FBS0MsTUFBTSxJQUM1QkEsTUFBTSxDQUFDQyxJQUFJLENBQUNOLEtBQUssQ0FBQyxDQUFDRyxNQUFNLEtBQUssQ0FBRSxFQUNsQztNQUNBLE9BQU9wQixDQUFDLENBQUNDLEdBQUcsQ0FBQztJQUNmO0VBQ0Y7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/cleaners/xml.mjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import assert from "node:assert";
|
|
2
|
-
|
|
3
|
-
// Move constant to module scope to avoid recreation
|
|
4
|
-
const BOOLEAN_MAP = {
|
|
5
|
-
false: false,
|
|
6
|
-
true: true
|
|
7
|
-
};
|
|
8
|
-
const XML_NAMESPACE = "http://schemas.assemblee-nationale.fr/referentiel";
|
|
9
|
-
const XSI_NAMESPACE = "http://www.w3.org/2001/XMLSchema-instance";
|
|
10
|
-
export function cleanBooleanAttribute(o, key) {
|
|
11
|
-
const stringValue = o[key];
|
|
12
|
-
if (stringValue === undefined || stringValue === null) {
|
|
13
|
-
delete o[key];
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
const booleanValue = BOOLEAN_MAP[stringValue];
|
|
17
|
-
assert.notStrictEqual(booleanValue, undefined, `Invalid boolean value: ${key} = ${stringValue}`);
|
|
18
|
-
o[key] = booleanValue;
|
|
19
|
-
return booleanValue;
|
|
20
|
-
}
|
|
21
|
-
export function cleanIntegerAttribute(o, key) {
|
|
22
|
-
const stringValue = o[key];
|
|
23
|
-
if (stringValue === undefined || stringValue === null) {
|
|
24
|
-
delete o[key];
|
|
25
|
-
return undefined;
|
|
26
|
-
}
|
|
27
|
-
const integerValue = Number.parseInt(stringValue);
|
|
28
|
-
assert(!Number.isNaN(integerValue), `Invalid number value: ${key} = ${stringValue}`);
|
|
29
|
-
o[key] = integerValue;
|
|
30
|
-
return integerValue;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/// Remove XML fields that have no use in JSON.
|
|
34
|
-
export function cleanXmlArtefacts(o) {
|
|
35
|
-
// Optimize namespace checks with direct property access
|
|
36
|
-
const xmlns = o["@xmlns"] ?? o["xmlns"];
|
|
37
|
-
if (xmlns !== undefined) {
|
|
38
|
-
assert.strictEqual(xmlns, XML_NAMESPACE);
|
|
39
|
-
delete o["@xmlns"];
|
|
40
|
-
delete o["xmlns"];
|
|
41
|
-
}
|
|
42
|
-
if (o["@xmlns:xsi"] === XSI_NAMESPACE) {
|
|
43
|
-
delete o["@xmlns:xsi"];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Optimize empty checks with direct property access
|
|
47
|
-
for (const key in o) {
|
|
48
|
-
const value = o[key];
|
|
49
|
-
if (value === null) {
|
|
50
|
-
delete o[key];
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if (value === undefined) continue;
|
|
54
|
-
if (value["@xsi:nil"] === "true" || Array.isArray(value) && value.length === 0 || !Array.isArray(value) && value.constructor === Object && Object.keys(value).length === 0) {
|
|
55
|
-
delete o[key];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJCT09MRUFOX01BUCIsImZhbHNlIiwidHJ1ZSIsIlhNTF9OQU1FU1BBQ0UiLCJYU0lfTkFNRVNQQUNFIiwiY2xlYW5Cb29sZWFuQXR0cmlidXRlIiwibyIsImtleSIsInN0cmluZ1ZhbHVlIiwidW5kZWZpbmVkIiwiYm9vbGVhblZhbHVlIiwibm90U3RyaWN0RXF1YWwiLCJjbGVhbkludGVnZXJBdHRyaWJ1dGUiLCJpbnRlZ2VyVmFsdWUiLCJOdW1iZXIiLCJwYXJzZUludCIsImlzTmFOIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJ4bWxucyIsInN0cmljdEVxdWFsIiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJjb25zdHJ1Y3RvciIsIk9iamVjdCIsImtleXMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW5lcnMveG1sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcIm5vZGU6YXNzZXJ0XCJcblxuLy8gTW92ZSBjb25zdGFudCB0byBtb2R1bGUgc2NvcGUgdG8gYXZvaWQgcmVjcmVhdGlvblxuY29uc3QgQk9PTEVBTl9NQVAgPSB7XG4gIGZhbHNlOiBmYWxzZSxcbiAgdHJ1ZTogdHJ1ZSxcbn0gYXMgY29uc3RcblxuY29uc3QgWE1MX05BTUVTUEFDRSA9IFwiaHR0cDovL3NjaGVtYXMuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9yZWZlcmVudGllbFwiXG5jb25zdCBYU0lfTkFNRVNQQUNFID0gXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiXG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0cmluZ1ZhbHVlID0gb1trZXldXG4gIGlmIChzdHJpbmdWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHN0cmluZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgZGVsZXRlIG9ba2V5XVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuICBjb25zdCBib29sZWFuVmFsdWU6IGJvb2xlYW4gPVxuICAgIEJPT0xFQU5fTUFQW3N0cmluZ1ZhbHVlIGFzIGtleW9mIHR5cGVvZiBCT09MRUFOX01BUF1cbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIGJvb2xlYW5WYWx1ZSxcbiAgICB1bmRlZmluZWQsXG4gICAgYEludmFsaWQgYm9vbGVhbiB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGJvb2xlYW5WYWx1ZVxuICByZXR1cm4gYm9vbGVhblZhbHVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkludGVnZXJBdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3RyaW5nVmFsdWUgPSBvW2tleV1cbiAgaWYgKHN0cmluZ1ZhbHVlID09PSB1bmRlZmluZWQgfHwgc3RyaW5nVmFsdWUgPT09IG51bGwpIHtcbiAgICBkZWxldGUgb1trZXldXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGludGVnZXJWYWx1ZSA9IE51bWJlci5wYXJzZUludChzdHJpbmdWYWx1ZSlcbiAgYXNzZXJ0KFxuICAgICFOdW1iZXIuaXNOYU4oaW50ZWdlclZhbHVlKSxcbiAgICBgSW52YWxpZCBudW1iZXIgdmFsdWU6ICR7a2V5fSA9ICR7c3RyaW5nVmFsdWV9YCxcbiAgKVxuICBvW2tleV0gPSBpbnRlZ2VyVmFsdWVcbiAgcmV0dXJuIGludGVnZXJWYWx1ZVxufVxuXG4vLy8gUmVtb3ZlIFhNTCBmaWVsZHMgdGhhdCBoYXZlIG5vIHVzZSBpbiBKU09OLlxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuWG1sQXJ0ZWZhY3RzKG86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgLy8gT3B0aW1pemUgbmFtZXNwYWNlIGNoZWNrcyB3aXRoIGRpcmVjdCBwcm9wZXJ0eSBhY2Nlc3NcbiAgY29uc3QgeG1sbnMgPSBvW1wiQHhtbG5zXCJdID8/IG9bXCJ4bWxuc1wiXVxuICBpZiAoeG1sbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxucywgWE1MX05BTUVTUEFDRSlcbiAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICAgIGRlbGV0ZSBvW1wieG1sbnNcIl1cbiAgfVxuXG4gIGlmIChvW1wiQHhtbG5zOnhzaVwiXSA9PT0gWFNJX05BTUVTUEFDRSkge1xuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gT3B0aW1pemUgZW1wdHkgY2hlY2tzIHdpdGggZGlyZWN0IHByb3BlcnR5IGFjY2Vzc1xuICBmb3IgKGNvbnN0IGtleSBpbiBvKSB7XG4gICAgY29uc3QgdmFsdWUgPSBvW2tleV1cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGRlbGV0ZSBvW2tleV1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIGNvbnRpbnVlXG5cbiAgICBpZiAoXG4gICAgICB2YWx1ZVtcIkB4c2k6bmlsXCJdID09PSBcInRydWVcIiB8fFxuICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcbiAgICAgICAgdmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJlxuICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKVxuICAgICkge1xuICAgICAgZGVsZXRlIG9ba2V5XVxuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sYUFBYTs7QUFFaEM7QUFDQSxNQUFNQyxXQUFXLEdBQUc7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
|