@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
131 lines (130 loc) • 16.5 kB
JavaScript
;
require("core-js/modules/es.symbol.js");
require("core-js/modules/es.symbol.description.js");
require("core-js/modules/es.symbol.iterator.js");
require("core-js/modules/es.array.from.js");
require("core-js/modules/es.array.iterator.js");
require("core-js/modules/es.array.slice.js");
require("core-js/modules/es.date.to-string.js");
require("core-js/modules/es.function.name.js");
require("core-js/modules/es.object.define-property.js");
require("core-js/modules/es.object.to-string.js");
require("core-js/modules/es.regexp.exec.js");
require("core-js/modules/es.regexp.to-string.js");
require("core-js/modules/es.string.iterator.js");
require("core-js/modules/web.dom-collections.iterator.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cleanDossierParlementaire = cleanDossierParlementaire;
require("core-js/modules/es.array.is-array.js");
var _assert = _interopRequireDefault(require("assert"));
var _actes_legislatifs = require("./actes_legislatifs");
var _acteurs = require("./acteurs");
var _xml = require("./xml");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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; } } }; }
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; } }
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; }
function cleanDossierParlementaire(dossierParlementaire) {
(0, _xml.cleanXmlArtefacts)(dossierParlementaire);
var xsiType = dossierParlementaire["@xsi:type"];
if (xsiType !== undefined) {
dossierParlementaire.xsiType = xsiType;
delete dossierParlementaire["@xsi:type"];
}
var titreDossier = dossierParlementaire.titreDossier;
(0, _xml.cleanXmlArtefacts)(titreDossier);
(0, _actes_legislatifs.cleanActeOuDossierInitiateur)(dossierParlementaire);
var actesLegislatifs = dossierParlementaire.actesLegislatifs;
if (actesLegislatifs !== undefined) {
actesLegislatifs = actesLegislatifs.acteLegislatif;
if (!Array.isArray(actesLegislatifs)) {
(0, _assert["default"])(actesLegislatifs);
actesLegislatifs = [actesLegislatifs];
}
dossierParlementaire.actesLegislatifs = actesLegislatifs;
var _iterator = _createForOfIteratorHelper(actesLegislatifs),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var acteLegislatif = _step.value;
(0, _actes_legislatifs.cleanActeLegislatif)(acteLegislatif);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
var plf = dossierParlementaire.PLF;
if (plf !== undefined) {
plf = plf.EtudePLF;
(0, _assert["default"])(Array.isArray(plf));
delete dossierParlementaire.PLF;
dossierParlementaire.plf = plf;
var _iterator2 = _createForOfIteratorHelper(plf),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var etudePlf = _step2.value;
var rapporteurs = etudePlf.rapporteur;
if (rapporteurs !== undefined) {
if (!Array.isArray(rapporteurs)) {
(0, _assert["default"])(rapporteurs);
rapporteurs = [rapporteurs];
}
delete etudePlf.rapporteur;
etudePlf.rapporteurs = rapporteurs;
var _iterator3 = _createForOfIteratorHelper(rapporteurs),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var rapporteur = _step3.value;
(0, _acteurs.cleanRapporteur)(rapporteur);
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
}
var missionMinefi = etudePlf.missionMinefi;
if (missionMinefi !== undefined) {
cleanMission(missionMinefi);
}
etudePlf.ordreDiqs = etudePlf.ordreDIQS;
delete etudePlf.ordreDIQS;
(0, _assert["default"])(etudePlf.ordreDiqs);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
}
function cleanMission(mission) {
var missions = mission.missions;
if (missions !== undefined) {
missions = missions.mission;
if (!Array.isArray(missions)) {
(0, _assert["default"])(missions);
missions = [missions];
}
mission.missions = missions;
var _iterator4 = _createForOfIteratorHelper(missions),
_step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
var missionItem = _step4.value;
cleanMission(missionItem);
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYWN0ZXNfbGVnaXNsYXRpZnMiLCJfYWN0ZXVycyIsIl94bWwiLCJlIiwiX19lc01vZHVsZSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiciIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJjbGVhbkRvc3NpZXJQYXJsZW1lbnRhaXJlIiwiZG9zc2llclBhcmxlbWVudGFpcmUiLCJjbGVhblhtbEFydGVmYWN0cyIsInhzaVR5cGUiLCJ1bmRlZmluZWQiLCJ0aXRyZURvc3NpZXIiLCJjbGVhbkFjdGVPdURvc3NpZXJJbml0aWF0ZXVyIiwiYWN0ZXNMZWdpc2xhdGlmcyIsImFjdGVMZWdpc2xhdGlmIiwiYXNzZXJ0IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJjbGVhbkFjdGVMZWdpc2xhdGlmIiwiZXJyIiwicGxmIiwiUExGIiwiRXR1ZGVQTEYiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiZXR1ZGVQbGYiLCJyYXBwb3J0ZXVycyIsInJhcHBvcnRldXIiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwiY2xlYW5SYXBwb3J0ZXVyIiwibWlzc2lvbk1pbmVmaSIsImNsZWFuTWlzc2lvbiIsIm9yZHJlRGlxcyIsIm9yZHJlRElRUyIsIm1pc3Npb24iLCJtaXNzaW9ucyIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJtaXNzaW9uSXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9kb3NzaWVyc19sZWdpc2xhdGlmcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQge1xuICBjbGVhbkFjdGVMZWdpc2xhdGlmLFxuICBjbGVhbkFjdGVPdURvc3NpZXJJbml0aWF0ZXVyLFxufSBmcm9tIFwiLi9hY3Rlc19sZWdpc2xhdGlmc1wiXG5pbXBvcnQgeyBjbGVhblJhcHBvcnRldXIgfSBmcm9tIFwiLi9hY3RldXJzXCJcbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUoZG9zc2llclBhcmxlbWVudGFpcmU6IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhkb3NzaWVyUGFybGVtZW50YWlyZSlcblxuICBjb25zdCB4c2lUeXBlID0gZG9zc2llclBhcmxlbWVudGFpcmVbXCJAeHNpOnR5cGVcIl1cbiAgaWYgKHhzaVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgZGVsZXRlIGRvc3NpZXJQYXJsZW1lbnRhaXJlW1wiQHhzaTp0eXBlXCJdXG4gIH1cblxuICBjb25zdCB0aXRyZURvc3NpZXIgPSBkb3NzaWVyUGFybGVtZW50YWlyZS50aXRyZURvc3NpZXJcbiAgY2xlYW5YbWxBcnRlZmFjdHModGl0cmVEb3NzaWVyKVxuXG4gIGNsZWFuQWN0ZU91RG9zc2llckluaXRpYXRldXIoZG9zc2llclBhcmxlbWVudGFpcmUpXG5cbiAgbGV0IGFjdGVzTGVnaXNsYXRpZnMgPSBkb3NzaWVyUGFybGVtZW50YWlyZS5hY3Rlc0xlZ2lzbGF0aWZzXG4gIGlmIChhY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICBhY3Rlc0xlZ2lzbGF0aWZzID0gYWN0ZXNMZWdpc2xhdGlmcy5hY3RlTGVnaXNsYXRpZlxuICAgIGlmICghQXJyYXkuaXNBcnJheShhY3Rlc0xlZ2lzbGF0aWZzKSkge1xuICAgICAgYXNzZXJ0KGFjdGVzTGVnaXNsYXRpZnMpXG4gICAgICBhY3Rlc0xlZ2lzbGF0aWZzID0gW2FjdGVzTGVnaXNsYXRpZnNdXG4gICAgfVxuICAgIGRvc3NpZXJQYXJsZW1lbnRhaXJlLmFjdGVzTGVnaXNsYXRpZnMgPSBhY3Rlc0xlZ2lzbGF0aWZzXG4gICAgZm9yIChjb25zdCBhY3RlTGVnaXNsYXRpZiBvZiBhY3Rlc0xlZ2lzbGF0aWZzKSB7XG4gICAgICBjbGVhbkFjdGVMZWdpc2xhdGlmKGFjdGVMZWdpc2xhdGlmKVxuICAgIH1cbiAgfVxuXG4gIGxldCBwbGYgPSBkb3NzaWVyUGFybGVtZW50YWlyZS5QTEZcbiAgaWYgKHBsZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcGxmID0gcGxmLkV0dWRlUExGXG4gICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkocGxmKSlcbiAgICBkZWxldGUgZG9zc2llclBhcmxlbWVudGFpcmUuUExGXG4gICAgZG9zc2llclBhcmxlbWVudGFpcmUucGxmID0gcGxmXG5cbiAgICBmb3IgKGNvbnN0IGV0dWRlUGxmIG9mIHBsZikge1xuICAgICAgbGV0IHJhcHBvcnRldXJzID0gZXR1ZGVQbGYucmFwcG9ydGV1clxuICAgICAgaWYgKHJhcHBvcnRldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJhcHBvcnRldXJzKSkge1xuICAgICAgICAgIGFzc2VydChyYXBwb3J0ZXVycylcbiAgICAgICAgICByYXBwb3J0ZXVycyA9IFtyYXBwb3J0ZXVyc11cbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgZXR1ZGVQbGYucmFwcG9ydGV1clxuICAgICAgICBldHVkZVBsZi5yYXBwb3J0ZXVycyA9IHJhcHBvcnRldXJzXG4gICAgICAgIGZvciAoY29uc3QgcmFwcG9ydGV1ciBvZiByYXBwb3J0ZXVycykge1xuICAgICAgICAgIGNsZWFuUmFwcG9ydGV1cihyYXBwb3J0ZXVyKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxldCBtaXNzaW9uTWluZWZpID0gZXR1ZGVQbGYubWlzc2lvbk1pbmVmaVxuICAgICAgaWYgKG1pc3Npb25NaW5lZmkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhbk1pc3Npb24obWlzc2lvbk1pbmVmaSlcbiAgICAgIH1cblxuICAgICAgZXR1ZGVQbGYub3JkcmVEaXFzID0gZXR1ZGVQbGYub3JkcmVESVFTXG4gICAgICBkZWxldGUgZXR1ZGVQbGYub3JkcmVESVFTXG4gICAgICBhc3NlcnQoZXR1ZGVQbGYub3JkcmVEaXFzKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhbk1pc3Npb24obWlzc2lvbjogYW55KSB7XG4gIGxldCBtaXNzaW9ucyA9IG1pc3Npb24ubWlzc2lvbnNcbiAgaWYgKG1pc3Npb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICBtaXNzaW9ucyA9IG1pc3Npb25zLm1pc3Npb25cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobWlzc2lvbnMpKSB7XG4gICAgICBhc3NlcnQobWlzc2lvbnMpXG4gICAgICBtaXNzaW9ucyA9IFttaXNzaW9uc11cbiAgICB9XG4gICAgbWlzc2lvbi5taXNzaW9ucyA9IG1pc3Npb25zXG4gICAgZm9yIChjb25zdCBtaXNzaW9uSXRlbSBvZiBtaXNzaW9ucykge1xuICAgICAgY2xlYW5NaXNzaW9uKG1pc3Npb25JdGVtKVxuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxrQkFBQSxHQUFBRCxPQUFBO0FBSUEsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSCxPQUFBO0FBQXlDLFNBQUFELHVCQUFBSyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSwyQkFBQUMsQ0FB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