@tricoteuses/tisseuse 0.20.0 → 0.21.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 +79 -0
- package/dist/{html-C07GdZ0O.js → html-jaUHsXKQ.js} +5810 -5370
- package/dist/index.js +126 -126
- package/dist/{resolver-4v_fWVor.js → resolver-CzmDH4S3.js} +138 -130
- package/dist/server-f-legi.js +73 -92
- package/dist/server.js +554 -516
- package/dist/src/lib/extractors/action_directives_cpu.test.d.ts +1 -0
- package/dist/src/lib/extractors/links.citation_scope.test.d.ts +1 -0
- package/dist/src/lib/extractors/portion_references_cpu.test.d.ts +1 -0
- package/dist/src/lib/extractors/references.d.ts +8 -8
- package/dist/src/lib/f_legi/resolver.d.ts +0 -2
- package/dist/src/lib/index.d.ts +1 -0
- package/dist/src/lib/legi/canutes_article_preload.test.d.ts +1 -0
- package/dist/src/lib/legi/canutes_candidates.test.d.ts +1 -0
- package/dist/src/lib/legi/canutes_resolver.d.ts +5 -4
- package/dist/src/lib/legi/canutes_resolver_cache.test.d.ts +1 -0
- package/dist/src/lib/legi/canutes_section_roots.test.d.ts +1 -0
- package/dist/src/lib/legi/canutes_sql.d.ts +4 -0
- package/dist/src/lib/legi/canutes_text_titles_cache.d.ts +24 -0
- package/dist/src/lib/legi/canutes_text_titles_cache.integration.test.d.ts +1 -0
- package/dist/src/lib/legi/canutes_titles_metrics.d.ts +13 -0
- package/dist/src/lib/legi/text_titles_infos.d.ts +1 -0
- package/dist/src/lib/linkers/html.d.ts +3 -3
- package/dist/src/lib/linkers/markdown.d.ts +2 -2
- package/dist/src/lib/server/akn_rendering.test.d.ts +1 -0
- package/dist/src/lib/server/bill_action_resolver_invariance.test.d.ts +1 -0
- package/dist/src/lib/server/bill_action_target_fixtures.d.ts +7 -0
- package/dist/src/lib/server/bill_citation_anaphora.test.d.ts +1 -0
- package/dist/src/lib/server/bill_comparison.d.ts +42 -0
- package/dist/src/lib/server/bill_comparison.test.d.ts +1 -0
- package/dist/src/lib/server/bill_target_scope.test.d.ts +1 -0
- package/dist/src/lib/server/canutes_legacy_candidates.d.ts +19 -0
- package/dist/src/lib/server/canutes_only_compatibility.test.d.ts +1 -0
- package/dist/src/lib/server/databases/canutes_text_titles_cache.d.ts +8 -0
- package/dist/src/lib/server/flegi_profiling.d.ts +14 -0
- package/dist/src/lib/server/flegi_profiling.test.d.ts +1 -0
- package/dist/src/lib/server/masquage-typesense.test.d.ts +1 -0
- package/dist/src/lib/server/masquage_typesense.d.ts +36 -0
- package/dist/src/lib/server/sql_profiling.d.ts +30 -0
- package/dist/src/lib/server/sql_profiling.test.d.ts +1 -0
- package/dist/src/lib/text_parsers/action_words.d.ts +2 -0
- package/dist/src/lib/text_parsers/action_words.test.d.ts +1 -0
- package/dist/src/lib/text_parsers/texts.d.ts +1 -0
- package/dist/src/scripts/compare_legi_bills.d.ts +1 -0
- package/dist/src/scripts/configure_postgres_legi_resolver.d.ts +1 -0
- package/dist/src/scripts/profile_canutes_bill.d.ts +1 -0
- package/dist/src/scripts/test_canutes_titles_cache.d.ts +1 -0
- package/dist/src/scripts/warm_canutes_text_titles_cache.d.ts +1 -0
- package/package.json +7 -1
|
@@ -889,8 +889,8 @@ var we = [
|
|
|
889
889
|
})), F = S("ci ?- ?(après|avant|dessous|dessus)", {
|
|
890
890
|
flags: "i",
|
|
891
891
|
value: (e) => `ci-${e[1]}`
|
|
892
|
-
}), Ue = _([T, F], { value: (e) => e[1] }), We = S(" précitée?", { flags: "i" }), Ge = g(F, N), Ke = _([x(S("ces ", { flags: "i" }), { default: "" }), N], { value: (e) => e[1] }), qe = g(F, P),
|
|
893
|
-
function
|
|
892
|
+
}), Ue = _([T, F], { value: (e) => e[1] }), We = S(" précitée?", { flags: "i" }), Ge = g(F, N), Ke = _([x(S("ces ", { flags: "i" }), { default: "" }), N], { value: (e) => e[1] }), qe = g(F, P), I = _([x(S("ce(tte|t)? ", { flags: "i" }), { default: "" }), P], { value: (e) => e[1] }), L = /^<\/?(!DOCTYPE|\?XML|[A-Z][A-Z0-9]*)/i;
|
|
893
|
+
function R(e, t) {
|
|
894
894
|
return (n) => {
|
|
895
895
|
let r = [], i = n;
|
|
896
896
|
for (let e of t) {
|
|
@@ -905,7 +905,7 @@ function L(e, t) {
|
|
|
905
905
|
};
|
|
906
906
|
};
|
|
907
907
|
}
|
|
908
|
-
function
|
|
908
|
+
function Je(e) {
|
|
909
909
|
return (t) => {
|
|
910
910
|
let n = [], r = [], i = 0, a = 0;
|
|
911
911
|
for (let { start: o, stop: s } of e) {
|
|
@@ -925,16 +925,16 @@ function Ye(e) {
|
|
|
925
925
|
};
|
|
926
926
|
};
|
|
927
927
|
}
|
|
928
|
-
function*
|
|
928
|
+
function* z(e) {
|
|
929
929
|
if (e.transformations === void 0) yield e;
|
|
930
|
-
else for (let t of e.transformations) yield*
|
|
930
|
+
else for (let t of e.transformations) yield* z(t);
|
|
931
931
|
}
|
|
932
|
-
function*
|
|
933
|
-
let t = [...
|
|
932
|
+
function* Ye(e) {
|
|
933
|
+
let t = [...z(e)].reverse(), n = { position: {
|
|
934
934
|
start: 0,
|
|
935
935
|
stop: 0
|
|
936
936
|
} }, r = t.map((e) => {
|
|
937
|
-
let t =
|
|
937
|
+
let t = Xe(e);
|
|
938
938
|
return t.next(n), t;
|
|
939
939
|
}), i = yield n;
|
|
940
940
|
for (; i !== void 0;) {
|
|
@@ -948,7 +948,7 @@ function* Xe(e) {
|
|
|
948
948
|
}
|
|
949
949
|
for (let e of r) e.next(void 0);
|
|
950
950
|
}
|
|
951
|
-
function*
|
|
951
|
+
function* Xe(e) {
|
|
952
952
|
let t = yield { position: {
|
|
953
953
|
start: 0,
|
|
954
954
|
stop: 0
|
|
@@ -987,7 +987,7 @@ function* Ze(e) {
|
|
|
987
987
|
if (i + 1 < d) {
|
|
988
988
|
let r = !1, o = n[i + 1];
|
|
989
989
|
if (o.openingTag !== void 0 && o.outputIndex + o.outputLength < e.start) {
|
|
990
|
-
let e = o.openingTag.match(
|
|
990
|
+
let e = o.openingTag.match(L);
|
|
991
991
|
if (e !== null) {
|
|
992
992
|
let t = e[1], n = t.toUpperCase();
|
|
993
993
|
[
|
|
@@ -1012,7 +1012,7 @@ function* Ze(e) {
|
|
|
1012
1012
|
if (i + 1 > f) {
|
|
1013
1013
|
let a = !1, s = n[r], l = n[i + 1];
|
|
1014
1014
|
if (s.openingTag !== void 0 && e.stop < l.outputIndex) {
|
|
1015
|
-
let e = s.openingTag.match(
|
|
1015
|
+
let e = s.openingTag.match(L);
|
|
1016
1016
|
if (e !== null) {
|
|
1017
1017
|
let t = e[1], n = t.toUpperCase();
|
|
1018
1018
|
[
|
|
@@ -1052,19 +1052,19 @@ function* Ze(e) {
|
|
|
1052
1052
|
}).filter(([, e]) => e !== void 0));
|
|
1053
1053
|
}
|
|
1054
1054
|
}
|
|
1055
|
-
function
|
|
1056
|
-
let t =
|
|
1055
|
+
function Ze(e) {
|
|
1056
|
+
let t = Ye(e);
|
|
1057
1057
|
return t.next({
|
|
1058
1058
|
start: 0,
|
|
1059
1059
|
stop: 0
|
|
1060
1060
|
}), t;
|
|
1061
1061
|
}
|
|
1062
|
-
function
|
|
1062
|
+
function Qe(e, t) {
|
|
1063
1063
|
let n = t.map((e) => [e]);
|
|
1064
|
-
for (let { sourceMap: t } of [...
|
|
1064
|
+
for (let { sourceMap: t } of [...z(e)].reverse()) n = $e(t, n);
|
|
1065
1065
|
return n;
|
|
1066
1066
|
}
|
|
1067
|
-
function
|
|
1067
|
+
function $e(e, t) {
|
|
1068
1068
|
let n = [];
|
|
1069
1069
|
e = [
|
|
1070
1070
|
{
|
|
@@ -1129,16 +1129,16 @@ function et(e, t) {
|
|
|
1129
1129
|
}
|
|
1130
1130
|
return n;
|
|
1131
1131
|
}
|
|
1132
|
-
function
|
|
1133
|
-
let n =
|
|
1134
|
-
return t.map((e) =>
|
|
1132
|
+
function et(e, t) {
|
|
1133
|
+
let n = Ze(e);
|
|
1134
|
+
return t.map((e) => tt(n, e));
|
|
1135
1135
|
}
|
|
1136
|
-
function
|
|
1136
|
+
function tt(e, t) {
|
|
1137
1137
|
let n = e.next(t);
|
|
1138
1138
|
if (n.done) throw Error(`Reverse transformation of position failed: ${t}`);
|
|
1139
1139
|
return n.value;
|
|
1140
1140
|
}
|
|
1141
|
-
var
|
|
1141
|
+
var nt = (e, t, n = 0) => t === void 0 ? e : (t.innerPrefix ?? "") + e.slice(t.position.start + n, t.position.stop + n) + (t.innerSuffix ?? ""), rt = (e, t) => (e.outerPrefix ?? "") + t + (e.outerSuffix ?? ""), it = {
|
|
1142
1142
|
amp: "&",
|
|
1143
1143
|
apos: "'",
|
|
1144
1144
|
asymp: "≈",
|
|
@@ -1156,7 +1156,7 @@ var rt = (e, t, n = 0) => t === void 0 ? e : (t.innerPrefix ?? "") + e.slice(t.p
|
|
|
1156
1156
|
reg: "®",
|
|
1157
1157
|
trade: "™"
|
|
1158
1158
|
};
|
|
1159
|
-
function
|
|
1159
|
+
function at({ removeAWithHref: e } = {}) {
|
|
1160
1160
|
return (t) => {
|
|
1161
1161
|
let n = 0, r = 0, i = [], a = [], o = [], s = "Conversion des éléments HTML en texte";
|
|
1162
1162
|
for (; n < t.length;) {
|
|
@@ -1174,7 +1174,7 @@ function ot({ removeAWithHref: e } = {}) {
|
|
|
1174
1174
|
sourceMap: a,
|
|
1175
1175
|
title: s
|
|
1176
1176
|
};
|
|
1177
|
-
let u = t.slice(c, l + 1), d = u.startsWith("</"), f = u.length, p = u.match(
|
|
1177
|
+
let u = t.slice(c, l + 1), d = u.startsWith("</"), f = u.length, p = u.match(L);
|
|
1178
1178
|
if (p === null) {
|
|
1179
1179
|
i.push(t.slice(n, l + 1).replace(/[\n\r]/g, " ")), n = l + 1;
|
|
1180
1180
|
continue;
|
|
@@ -1351,12 +1351,12 @@ function ot({ removeAWithHref: e } = {}) {
|
|
|
1351
1351
|
};
|
|
1352
1352
|
};
|
|
1353
1353
|
}
|
|
1354
|
-
function
|
|
1354
|
+
function ot(e) {
|
|
1355
1355
|
let t = 0, n = [];
|
|
1356
1356
|
return {
|
|
1357
1357
|
input: e,
|
|
1358
1358
|
output: e.replace(/&(amp|apos|asymp|copy|deg|euro|gt|lt|mdash|nbsp|ndash|ne|pound|quot|reg|trade);/gi, (e, r, i) => {
|
|
1359
|
-
let a =
|
|
1359
|
+
let a = it[r.toLowerCase()];
|
|
1360
1360
|
return n.push({
|
|
1361
1361
|
inputIndex: i,
|
|
1362
1362
|
inputLength: e.length,
|
|
@@ -1368,7 +1368,7 @@ function st(e) {
|
|
|
1368
1368
|
title: "Décodage des entités HTML nommées"
|
|
1369
1369
|
};
|
|
1370
1370
|
}
|
|
1371
|
-
function
|
|
1371
|
+
function st(e) {
|
|
1372
1372
|
let t = 0, n = [];
|
|
1373
1373
|
return {
|
|
1374
1374
|
input: e,
|
|
@@ -1385,14 +1385,14 @@ function ct(e) {
|
|
|
1385
1385
|
title: "Décodage des entités HTML numériques"
|
|
1386
1386
|
};
|
|
1387
1387
|
}
|
|
1388
|
-
function
|
|
1388
|
+
function ct(e) {
|
|
1389
1389
|
let t = [], n = e;
|
|
1390
1390
|
for (let [e, r] of [
|
|
1391
1391
|
[/<!--.*?-->/gs, ""],
|
|
1392
1392
|
[/<script.*?>.*?<\/script>/gis, ""],
|
|
1393
1393
|
[/<style.*?>.*?<\/style>/gis, ""]
|
|
1394
1394
|
]) {
|
|
1395
|
-
let i =
|
|
1395
|
+
let i = B(e, r)(n);
|
|
1396
1396
|
i.sourceMap.length !== 0 && (t.push(i), n = i.output);
|
|
1397
1397
|
}
|
|
1398
1398
|
return {
|
|
@@ -1402,7 +1402,7 @@ function lt(e) {
|
|
|
1402
1402
|
transformations: t
|
|
1403
1403
|
};
|
|
1404
1404
|
}
|
|
1405
|
-
function
|
|
1405
|
+
function B(e, t) {
|
|
1406
1406
|
return (n) => {
|
|
1407
1407
|
let r = [], i = n.replaceAll(e, (e, ...n) => {
|
|
1408
1408
|
let i = n.at(-2), a = t;
|
|
@@ -1422,14 +1422,14 @@ function z(e, t) {
|
|
|
1422
1422
|
};
|
|
1423
1423
|
};
|
|
1424
1424
|
}
|
|
1425
|
-
function
|
|
1425
|
+
function V(e) {
|
|
1426
1426
|
let t = [], n = e;
|
|
1427
1427
|
for (let [e, r] of [
|
|
1428
1428
|
[/(\sn°)([^\s])/gi, "$1 $2"],
|
|
1429
1429
|
[/[\u200E\u200F]/g, ""],
|
|
1430
1430
|
[/[\uF031-\uF039\uF041-\uF054\uF061-\uF06A]/g, ""]
|
|
1431
1431
|
]) {
|
|
1432
|
-
let i =
|
|
1432
|
+
let i = B(e, r)(n);
|
|
1433
1433
|
i.sourceMap.length !== 0 && (t.push(i), n = i.output);
|
|
1434
1434
|
}
|
|
1435
1435
|
return {
|
|
@@ -1439,25 +1439,25 @@ function B(e) {
|
|
|
1439
1439
|
transformations: t
|
|
1440
1440
|
};
|
|
1441
1441
|
}
|
|
1442
|
-
function
|
|
1443
|
-
return (t) =>
|
|
1442
|
+
function lt({ removeAWithHref: e } = {}) {
|
|
1443
|
+
return (t) => R("Simplification du HTML", [
|
|
1444
|
+
ot,
|
|
1444
1445
|
st,
|
|
1445
1446
|
ct,
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
V
|
|
1447
|
+
V,
|
|
1448
|
+
U,
|
|
1449
|
+
at({ removeAWithHref: e }),
|
|
1450
|
+
H
|
|
1451
1451
|
])(t);
|
|
1452
1452
|
}
|
|
1453
|
-
function
|
|
1454
|
-
return
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1453
|
+
function ut(e) {
|
|
1454
|
+
return R("Simplification du texte brut", [
|
|
1455
|
+
V,
|
|
1456
|
+
U,
|
|
1457
|
+
H
|
|
1458
1458
|
])(e);
|
|
1459
1459
|
}
|
|
1460
|
-
function
|
|
1460
|
+
function H(e) {
|
|
1461
1461
|
let t = [], n = e;
|
|
1462
1462
|
for (let [e, r, i] of [
|
|
1463
1463
|
[
|
|
@@ -1515,8 +1515,8 @@ function V(e) {
|
|
|
1515
1515
|
transformations: t
|
|
1516
1516
|
};
|
|
1517
1517
|
}
|
|
1518
|
-
function
|
|
1519
|
-
return
|
|
1518
|
+
function U(e) {
|
|
1519
|
+
return R("Simplification des caractères unicodes", [
|
|
1520
1520
|
["À", "À"],
|
|
1521
1521
|
["Â", "Â"],
|
|
1522
1522
|
["Ä", "Ä"],
|
|
@@ -1551,21 +1551,25 @@ function H(e) {
|
|
|
1551
1551
|
[/[‐‑–·]/g, "-"],
|
|
1552
1552
|
[/’/g, "'"],
|
|
1553
1553
|
["İ", "I"]
|
|
1554
|
-
].map(([e, t]) =>
|
|
1554
|
+
].map(([e, t]) => B(e, t)))(e);
|
|
1555
1555
|
}
|
|
1556
1556
|
//#endregion
|
|
1557
1557
|
//#region src/lib/text_parsers/texts.ts
|
|
1558
|
-
var
|
|
1559
|
-
function _t(
|
|
1558
|
+
var W = {}, dt = {}, ft = {}, pt = {}, mt = {}, ht = {}, gt = 0;
|
|
1559
|
+
function _t() {
|
|
1560
|
+
return gt;
|
|
1561
|
+
}
|
|
1562
|
+
function vt(e) {
|
|
1563
|
+
gt++;
|
|
1560
1564
|
let t = e ?? {};
|
|
1561
|
-
|
|
1565
|
+
G(dt, t.codeTitleVersionsByCid ?? {}), G(ft, t.textCidByOtherTitleWordsTree ?? {}), G(pt, t.textCidByTitleRestWordsTree ?? {}), G(W, Object.fromEntries(Object.entries(t.textInfosByCid ?? {}).map(([e, t]) => [e, Array.isArray(t) ? {
|
|
1562
1566
|
nature: t[0],
|
|
1563
1567
|
title: t[1]
|
|
1564
|
-
} : t]))),
|
|
1568
|
+
} : t]))), G(mt, t.textsCidsByNatureAndDate ?? {}), G(ht, t.textsCidsByNatureAndNum ?? {});
|
|
1565
1569
|
}
|
|
1566
|
-
function
|
|
1570
|
+
function yt(e, t) {
|
|
1567
1571
|
let n = (e) => {
|
|
1568
|
-
let n =
|
|
1572
|
+
let n = dt[e] ?? [], r = n.filter(({ debut: e, fin: n }) => e <= t && t < n), i = (r.length > 0 ? r : n.filter(({ debut: e }) => e <= t)).toSorted((e, t) => t.fin.localeCompare(e.fin) || t.debut.localeCompare(e.debut))[0];
|
|
1569
1573
|
return [
|
|
1570
1574
|
+(r.length > 0),
|
|
1571
1575
|
i?.fin ?? "",
|
|
@@ -1577,12 +1581,12 @@ function vt(e, t) {
|
|
|
1577
1581
|
return i[0] - r[0] || i[1].localeCompare(r[1]) || i[2].localeCompare(r[2]) || e.localeCompare(t);
|
|
1578
1582
|
});
|
|
1579
1583
|
}
|
|
1580
|
-
function
|
|
1584
|
+
function G(e, t) {
|
|
1581
1585
|
let n = e;
|
|
1582
1586
|
for (let e of Object.keys(n)) delete n[e];
|
|
1583
1587
|
Object.assign(e, t);
|
|
1584
1588
|
}
|
|
1585
|
-
var
|
|
1589
|
+
var bt = (e) => Array.isArray(e) ? e : [e], K = v(g(S("Constitution", { value: "CONSTITUTION" }), S("arrêtés?|circulaires?|code professionnel local|code|décret-loi|décrets?|livre(?= des procédures fiscales)|loi constitutionnelle|loi d'orientation quinquennale|loi d'orientation|loi de programme|loi locale|loi organique|loi quinquennale|loi|ordonnance (?:du Roi|locale|ministérielle|royale)|ordonnance", {
|
|
1586
1590
|
flags: "i",
|
|
1587
1591
|
value: (e) => {
|
|
1588
1592
|
let t = e[0].toLowerCase();
|
|
@@ -1591,7 +1595,7 @@ var yt = (e) => Array.isArray(e) ? e : [e], G = v(g(S("Constitution", { value: "
|
|
|
1591
1595
|
})), { value: (e) => ({
|
|
1592
1596
|
nature: e,
|
|
1593
1597
|
type: "texte"
|
|
1594
|
-
}) }),
|
|
1598
|
+
}) }), xt = _([x(E, { default: null }), S(String.raw`\d+(-\d+)?`)], { value: (e) => e[1] }), q = g(M, _([xt, x(Pe, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
|
|
1595
1599
|
...e[1],
|
|
1596
1600
|
num: e[0]
|
|
1597
1601
|
} }));
|
|
@@ -1603,11 +1607,11 @@ S("décision( du Conseil constitutionnel)? (?<numero>[-/0-9A-Z]+ (QPC|DC|AN|D|EL
|
|
|
1603
1607
|
type: "décision du Conseil constitutionnel"
|
|
1604
1608
|
})
|
|
1605
1609
|
});
|
|
1606
|
-
var
|
|
1607
|
-
G,
|
|
1608
|
-
q,
|
|
1609
|
-
T,
|
|
1610
|
+
var J = x(g(S(" de la République française", { flags: "i" }), S(" du pays", { flags: "i" })), { default: null }), St = g(_([
|
|
1610
1611
|
K,
|
|
1612
|
+
J,
|
|
1613
|
+
T,
|
|
1614
|
+
q,
|
|
1611
1615
|
S(".*")
|
|
1612
1616
|
], { value: (e) => {
|
|
1613
1617
|
let t = {
|
|
@@ -1616,10 +1620,10 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1616
1620
|
}, n = e[4].trim() || void 0;
|
|
1617
1621
|
return n !== void 0 && (t.titleRest = n), t;
|
|
1618
1622
|
} }), _([
|
|
1619
|
-
|
|
1623
|
+
K,
|
|
1620
1624
|
S("[^()]+"),
|
|
1621
1625
|
S(String.raw`\( ?`),
|
|
1622
|
-
|
|
1626
|
+
q,
|
|
1623
1627
|
S(String.raw` ?\)`)
|
|
1624
1628
|
], { value: (e) => {
|
|
1625
1629
|
let t = {
|
|
@@ -1636,14 +1640,14 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1636
1640
|
})), S(".+")], { value: (e) => {
|
|
1637
1641
|
let t = { ...e[0] }, n = e[1].trim() || void 0;
|
|
1638
1642
|
return n !== void 0 && (t.titleRest = n), t;
|
|
1639
|
-
} })),
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
x([T,
|
|
1643
|
+
} })), Y = g(_([
|
|
1644
|
+
K,
|
|
1645
|
+
J,
|
|
1646
|
+
x([T, q], {
|
|
1643
1647
|
default: null,
|
|
1644
1648
|
value: (e) => e[1]
|
|
1645
1649
|
}),
|
|
1646
|
-
x([T, v(w(
|
|
1650
|
+
x([T, v(w(pt), { value: (e, t) => ({
|
|
1647
1651
|
...e,
|
|
1648
1652
|
titleRest: t.text()
|
|
1649
1653
|
}) })], {
|
|
@@ -1652,7 +1656,7 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1652
1656
|
}),
|
|
1653
1657
|
x([
|
|
1654
1658
|
S(String.raw` ?\( ?`),
|
|
1655
|
-
|
|
1659
|
+
q,
|
|
1656
1660
|
S(String.raw` ?\)`)
|
|
1657
1661
|
], {
|
|
1658
1662
|
default: null,
|
|
@@ -1664,24 +1668,24 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1664
1668
|
if (a === void 0 && r === void 0 && i === void 0) return;
|
|
1665
1669
|
let s = /* @__PURE__ */ new Set();
|
|
1666
1670
|
if (r !== void 0) {
|
|
1667
|
-
let e =
|
|
1671
|
+
let e = mt[t]?.[r];
|
|
1668
1672
|
if (e !== void 0) {
|
|
1669
|
-
let t =
|
|
1673
|
+
let t = bt(e);
|
|
1670
1674
|
s = s.size === 0 ? new Set(t) : s.intersection(new Set(t));
|
|
1671
1675
|
}
|
|
1672
1676
|
}
|
|
1673
1677
|
if (i !== void 0) {
|
|
1674
|
-
let e =
|
|
1678
|
+
let e = ht[t]?.[i];
|
|
1675
1679
|
if (e !== void 0) {
|
|
1676
|
-
let t =
|
|
1680
|
+
let t = bt(e);
|
|
1677
1681
|
s = s.size === 0 ? new Set(t) : s.intersection(new Set(t));
|
|
1678
1682
|
}
|
|
1679
1683
|
}
|
|
1680
1684
|
if (a !== void 0) {
|
|
1681
1685
|
let e = Array.isArray(a) ? a : [a];
|
|
1682
|
-
s = s.size === 0 ? new Set(e) : s.intersection(new Set(e.filter((e) =>
|
|
1686
|
+
s = s.size === 0 ? new Set(e) : s.intersection(new Set(e.filter((e) => W[e].nature === t)));
|
|
1683
1687
|
}
|
|
1684
|
-
let c = s.size === 1 ? s.values().next().value : void 0, l = c === void 0 ? void 0 :
|
|
1688
|
+
let c = s.size === 1 ? s.values().next().value : void 0, l = c === void 0 ? void 0 : W[c];
|
|
1685
1689
|
return Object.fromEntries(Object.entries({
|
|
1686
1690
|
cid: c,
|
|
1687
1691
|
candidateCids: t === "CODE" && s.size > 1 ? [...s] : void 0,
|
|
@@ -1692,22 +1696,22 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1692
1696
|
titleRest: o,
|
|
1693
1697
|
type: n
|
|
1694
1698
|
}).filter(([, e]) => e !== void 0));
|
|
1695
|
-
} }), _([w(
|
|
1696
|
-
let { cid: t } = e[0], n = typeof t == "string" ?
|
|
1699
|
+
} }), _([w(ft), x(We, { default: "" })], { value: (e) => {
|
|
1700
|
+
let { cid: t } = e[0], n = typeof t == "string" ? W[t] : void 0;
|
|
1697
1701
|
return Object.fromEntries(Object.entries({
|
|
1698
1702
|
cid: t,
|
|
1699
1703
|
...n ?? {},
|
|
1700
1704
|
type: "texte"
|
|
1701
1705
|
}).filter(([, e]) => e !== void 0));
|
|
1702
|
-
} })),
|
|
1706
|
+
} })), Ct = _([
|
|
1703
1707
|
O,
|
|
1704
1708
|
S("/"),
|
|
1705
1709
|
O,
|
|
1706
1710
|
x(S(" ?/ ?(CEE?)", { value: (e) => e[1] }), { default: "" })
|
|
1707
|
-
], { value: (e) => `${e[0]}/${e[2]}${e[3] ? `/${e[3]}` : ""}` }),
|
|
1711
|
+
], { value: (e) => `${e[0]}/${e[2]}${e[3] ? `/${e[3]}` : ""}` }), wt = _([x(E, { default: "" }), Ct], { value: (e) => e[1] }), Tt = g(_([wt, x(Pe, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
|
|
1708
1712
|
...e[1],
|
|
1709
1713
|
num: e[0]
|
|
1710
|
-
} }), M),
|
|
1714
|
+
} }), M), Et = _([S("arrêtés?|arrêts?|avis|décisions?|déclarations?|délibérations?|directive(?: d'exécution|déléguée)?|informations?|instructions?|lettres?|règlement(?: d'exécution)?", {
|
|
1711
1715
|
flags: "i",
|
|
1712
1716
|
value: (e) => {
|
|
1713
1717
|
let t = e[0].toLowerCase();
|
|
@@ -1718,9 +1722,9 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1718
1722
|
legislation: "UE",
|
|
1719
1723
|
type: "texte"
|
|
1720
1724
|
}) }), X = _([
|
|
1721
|
-
|
|
1725
|
+
Et,
|
|
1722
1726
|
T,
|
|
1723
|
-
|
|
1727
|
+
Tt
|
|
1724
1728
|
], { value: (e) => ({
|
|
1725
1729
|
...e[2],
|
|
1726
1730
|
...e[0]
|
|
@@ -1731,48 +1735,30 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1731
1735
|
legislation: "international",
|
|
1732
1736
|
type: "texte"
|
|
1733
1737
|
}
|
|
1734
|
-
}),
|
|
1735
|
-
|
|
1738
|
+
}), Dt = _([x(Ve, { default: !1 }), g(_([
|
|
1739
|
+
I,
|
|
1736
1740
|
T,
|
|
1737
|
-
g(
|
|
1741
|
+
g(Y, X, Z, K, Et)
|
|
1738
1742
|
], { value: (e) => ({
|
|
1739
1743
|
...e[2],
|
|
1740
1744
|
...e[0] === void 0 ? {} : e[0]
|
|
1741
|
-
}) }),
|
|
1745
|
+
}) }), Y, X, Z)], { value: (e, t) => {
|
|
1742
1746
|
let n = {
|
|
1743
1747
|
...e[1],
|
|
1744
1748
|
...e[0] ? { ofTheSaid: !0 } : {},
|
|
1745
1749
|
position: t.position()
|
|
1746
1750
|
};
|
|
1747
1751
|
return t.currentText = n, n;
|
|
1748
|
-
} }),
|
|
1749
|
-
let t = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1750
|
-
return t === void 0 || ["2222-02-22", "2999-01-01"].includes(t) ? e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_PUBLI : t;
|
|
1751
|
-
}, Dt = (e) => {
|
|
1752
|
-
let t = e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_TEXTE;
|
|
1753
|
-
if (!["2222-02-22", "2999-01-01"].includes(t)) return t;
|
|
1754
|
-
let n = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1755
|
-
if (n !== void 0 && !["2222-02-22", "2999-01-01"].includes(n)) return n;
|
|
1756
|
-
throw Error(`Missing date signature in text ${e.META.META_COMMUN.ID}`);
|
|
1757
|
-
}, Ot = (e) => (t, n) => {
|
|
1758
|
-
let r = e(t), i = e(n);
|
|
1759
|
-
if (r !== i) return r.localeCompare(i);
|
|
1760
|
-
let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
|
|
1761
|
-
if (o !== c) {
|
|
1762
|
-
if (o === "JORF") return -1;
|
|
1763
|
-
if (c === "JORF") return 1;
|
|
1764
|
-
}
|
|
1765
|
-
throw Error(`TODO: Unable to sort texts ${a.ID} & ${s.ID} by date.`);
|
|
1766
|
-
}, kt = class {
|
|
1752
|
+
} }), Ot = class {
|
|
1767
1753
|
label;
|
|
1768
1754
|
enabled;
|
|
1769
1755
|
metrics = [];
|
|
1770
1756
|
startedAt = performance.now();
|
|
1771
|
-
constructor(e, t =
|
|
1757
|
+
constructor(e, t = kt()) {
|
|
1772
1758
|
this.label = e, this.enabled = t;
|
|
1773
1759
|
}
|
|
1774
1760
|
add(e) {
|
|
1775
|
-
this.enabled && (this.metrics.push(e),
|
|
1761
|
+
this.enabled && (this.metrics.push(e), At() && console.info(`[timing:${this.label}]`, JSON.stringify(e)));
|
|
1776
1762
|
}
|
|
1777
1763
|
async time(e, t, n) {
|
|
1778
1764
|
if (!this.enabled) return t();
|
|
@@ -1811,36 +1797,58 @@ var q = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1811
1797
|
}, null, 2));
|
|
1812
1798
|
}
|
|
1813
1799
|
};
|
|
1814
|
-
function
|
|
1800
|
+
function kt() {
|
|
1815
1801
|
let e = globalThis.process?.env;
|
|
1816
1802
|
return e?.PJL_BUILD_TIMINGS === "1" || e?.PJL_BUILD_TIMINGS === "true";
|
|
1817
1803
|
}
|
|
1818
|
-
function
|
|
1804
|
+
function At() {
|
|
1819
1805
|
let e = globalThis.process?.env;
|
|
1820
1806
|
return e?.PJL_BUILD_TIMINGS_PROGRESS === "1" || e?.PJL_BUILD_TIMINGS_PROGRESS === "true";
|
|
1821
1807
|
}
|
|
1822
1808
|
//#endregion
|
|
1823
|
-
//#region src/lib/
|
|
1824
|
-
var
|
|
1825
|
-
|
|
1809
|
+
//#region src/lib/textes.ts
|
|
1810
|
+
var Q = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.?$/, "").replace(/\.$/, ""), jt = (e) => {
|
|
1811
|
+
let t = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1812
|
+
return t === void 0 || ["2222-02-22", "2999-01-01"].includes(t) ? e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_PUBLI : t;
|
|
1813
|
+
}, Mt = (e) => {
|
|
1814
|
+
let t = e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_TEXTE;
|
|
1815
|
+
if (!["2222-02-22", "2999-01-01"].includes(t)) return t;
|
|
1816
|
+
let n = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1817
|
+
if (n !== void 0 && !["2222-02-22", "2999-01-01"].includes(n)) return n;
|
|
1818
|
+
throw Error(`Missing date signature in text ${e.META.META_COMMUN.ID}`);
|
|
1819
|
+
}, Nt = (e) => (t, n) => {
|
|
1820
|
+
let r = e(t), i = e(n);
|
|
1821
|
+
if (r !== i) return r.localeCompare(i);
|
|
1822
|
+
let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
|
|
1823
|
+
if (o !== c) {
|
|
1824
|
+
if (o === "JORF") return -1;
|
|
1825
|
+
if (c === "JORF") return 1;
|
|
1826
|
+
}
|
|
1827
|
+
throw Error(`TODO: Unable to sort texts ${a.ID} & ${s.ID} by date.`);
|
|
1828
|
+
}, Pt = "current";
|
|
1829
|
+
function Ft(e, t, n, r) {
|
|
1826
1830
|
n != null && ((e[t] ??= {})[n] ??= []).push(r);
|
|
1827
1831
|
}
|
|
1828
|
-
function
|
|
1829
|
-
return
|
|
1832
|
+
function It(e) {
|
|
1833
|
+
return ut(e).output;
|
|
1830
1834
|
}
|
|
1831
|
-
function
|
|
1832
|
-
let r =
|
|
1835
|
+
function Lt(e, t, n) {
|
|
1836
|
+
let r = It(Q(t).replace(/[,()]/g, " ")).split(" ").map((e) => /^[IVX]+$/gi.test(e) ? d(e).toString() : e.toLowerCase().replace(/^no$/, "n°")), i = e;
|
|
1833
1837
|
for (let e of r) i = i[e] ??= {};
|
|
1834
1838
|
i.cid === void 0 ? i.cid = n : Array.isArray(i.cid) ? i.cid.push(n) : i.cid = [i.cid, n];
|
|
1835
1839
|
}
|
|
1836
|
-
async function
|
|
1837
|
-
|
|
1840
|
+
async function Rt(e, t = {}) {
|
|
1841
|
+
Bt(await Ht(e, t));
|
|
1842
|
+
}
|
|
1843
|
+
var zt = /* @__PURE__ */ new WeakMap();
|
|
1844
|
+
function Bt(e) {
|
|
1845
|
+
vt(e), zt.set(e, _t());
|
|
1838
1846
|
}
|
|
1839
|
-
function
|
|
1840
|
-
|
|
1847
|
+
function Vt(e) {
|
|
1848
|
+
return zt.get(e) === _t();
|
|
1841
1849
|
}
|
|
1842
|
-
async function
|
|
1843
|
-
let n = new
|
|
1850
|
+
async function Ht(e, { onProgress: t } = {}) {
|
|
1851
|
+
let n = new Ot("legi.buildTextTitlesInfos"), r = {}, i = {}, a = {}, o = {}, s = {}, c = {}, l = {
|
|
1844
1852
|
addOtherTitleWordsTreeMs: 0,
|
|
1845
1853
|
addTitleRestWordsTreeMs: 0,
|
|
1846
1854
|
cleanTitleMs: 0,
|
|
@@ -1913,7 +1921,7 @@ async function Rt(e, { onProgress: t } = {}) {
|
|
|
1913
1921
|
}
|
|
1914
1922
|
}), u.otherTitleCount += y.size;
|
|
1915
1923
|
for (let e of b) {
|
|
1916
|
-
let t = d("parseTitleMs", () =>
|
|
1924
|
+
let t = d("parseTitleMs", () => St(new h(It(e))));
|
|
1917
1925
|
if (t === void 0 && g === "DECRET" && (u.fallbackDecretTitleCount++, t = {
|
|
1918
1926
|
date: m ?? void 0,
|
|
1919
1927
|
nature: g,
|
|
@@ -1922,16 +1930,16 @@ async function Rt(e, { onProgress: t } = {}) {
|
|
|
1922
1930
|
type: "texte"
|
|
1923
1931
|
}), t === void 0) throw Error(`Unparsable title of ${g} n° ${_ ?? ""} du ${m ?? ""} (${l}): ${e}`);
|
|
1924
1932
|
if (u.parsedTitleCount++, d("indexNatureDateNumMs", () => {
|
|
1925
|
-
|
|
1933
|
+
Ft(s, g, t.date, l), Ft(c, g, t.num, l);
|
|
1926
1934
|
}), t.titleRest !== void 0) {
|
|
1927
1935
|
let { titleRest: e } = t;
|
|
1928
1936
|
u.titleRestCount++, d("addTitleRestWordsTreeMs", () => {
|
|
1929
|
-
|
|
1937
|
+
Lt(i, e, l);
|
|
1930
1938
|
});
|
|
1931
1939
|
}
|
|
1932
1940
|
}
|
|
1933
1941
|
for (let e of y) d("addOtherTitleWordsTreeMs", () => {
|
|
1934
|
-
|
|
1942
|
+
Lt(r, e, l);
|
|
1935
1943
|
});
|
|
1936
1944
|
}
|
|
1937
1945
|
t?.({
|
|
@@ -1943,8 +1951,8 @@ async function Rt(e, { onProgress: t } = {}) {
|
|
|
1943
1951
|
textCidByOtherTitleWordsTree: $(r),
|
|
1944
1952
|
textCidByTitleRestWordsTree: $(i),
|
|
1945
1953
|
textInfosByCid: a,
|
|
1946
|
-
textsCidsByNatureAndDate:
|
|
1947
|
-
textsCidsByNatureAndNum:
|
|
1954
|
+
textsCidsByNatureAndDate: Ut(s),
|
|
1955
|
+
textsCidsByNatureAndNum: Ut(c)
|
|
1948
1956
|
}));
|
|
1949
1957
|
t?.({ phase: "compact:done" });
|
|
1950
1958
|
for (let [e, t] of Object.entries(l)) n.add({
|
|
@@ -1956,7 +1964,7 @@ async function Rt(e, { onProgress: t } = {}) {
|
|
|
1956
1964
|
...u
|
|
1957
1965
|
}), f;
|
|
1958
1966
|
}
|
|
1959
|
-
function
|
|
1967
|
+
function Ut(e) {
|
|
1960
1968
|
return Object.fromEntries(Object.entries(e).map(([e, t]) => [e, Object.fromEntries(Object.entries(t).map(([e, t]) => [e, t.length === 1 ? t[0] : t]))]));
|
|
1961
1969
|
}
|
|
1962
1970
|
function $(e) {
|
|
@@ -1975,7 +1983,7 @@ function $(e) {
|
|
|
1975
1983
|
}
|
|
1976
1984
|
//#endregion
|
|
1977
1985
|
//#region src/lib/legi/resolver.ts
|
|
1978
|
-
var
|
|
1986
|
+
var Wt = class {
|
|
1979
1987
|
getArticleHistoryInfo(e) {
|
|
1980
1988
|
return Promise.resolve(void 0);
|
|
1981
1989
|
}
|
|
@@ -1987,4 +1995,4 @@ var Bt = class {
|
|
|
1987
1995
|
}
|
|
1988
1996
|
};
|
|
1989
1997
|
//#endregion
|
|
1990
|
-
export {
|
|
1998
|
+
export { Fe as $, lt as A, g as At, nt as B, w as Bt, Z as C, ie as Ct, ct as D, ce as Dt, st as E, E as Et, Ze as F, x as Ft, Ue as G, d as Gt, N as H, c as Ht, Je as I, ee as It, qe as J, Ge as K, Qe as L, S as Lt, H as M, v as Mt, U as N, y as Nt, B as O, le as Ot, R as P, b as Pt, Ve as Q, tt as R, te as Rt, Y as S, T as St, ot as T, oe as Tt, P as U, l as Ut, rt as V, m as Vt, F as W, u as Wt, He as X, I as Y, Be as Z, xt as _, pe as _t, Vt as a, M as at, Dt as b, Ce as bt, jt as c, k as ct, Ot as d, ye as dt, Ie as et, St as f, Ee as ft, wt as g, fe as gt, q as h, O as ht, Bt as i, j as it, ut as j, _ as jt, V as k, h as kt, Mt as l, be as lt, K as m, ue as mt, Rt as n, ze as nt, Pt as o, je as ot, Tt as p, Te as pt, Ke as q, Ht as r, Re as rt, Q as s, ve as st, Wt as t, Le as tt, Nt as u, de as ut, J as v, me as vt, at as w, ae as wt, X as x, re as xt, yt as y, xe as yt, et as z, C as zt };
|