@tricoteuses/tisseuse 0.13.12 → 0.14.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.
Files changed (33) hide show
  1. package/dist/{html-DhGw-Yqr.js → html-BKxA21Bq.js} +3118 -2926
  2. package/dist/index.js +64 -64
  3. package/dist/{resolver-DZS-DNp6.js → resolver-dqOM1G7A.js} +191 -137
  4. package/dist/server-f-legi.js +26 -17
  5. package/dist/server.js +1264 -564
  6. package/dist/src/lib/extractors/article_portions.d.ts +8 -0
  7. package/dist/src/lib/extractors/portion_references.d.ts +10 -0
  8. package/dist/src/lib/extractors/portion_references.test.d.ts +1 -0
  9. package/dist/src/lib/extractors/quoted_text.d.ts +20 -0
  10. package/dist/src/lib/extractors/table_of_contents.d.ts +18 -8
  11. package/dist/src/lib/extractors/table_of_contents.test.d.ts +1 -0
  12. package/dist/src/lib/index.d.ts +4 -4
  13. package/dist/src/lib/server/index.d.ts +2 -1
  14. package/dist/src/lib/server/parsed_amendments.d.ts +71 -0
  15. package/dist/src/lib/server/parsed_amendments.test.d.ts +1 -0
  16. package/dist/src/lib/server/parsed_bills.d.ts +6 -3
  17. package/dist/src/lib/text_parsers/action_citation_patterns.d.ts +2 -0
  18. package/dist/src/lib/text_parsers/action_citation_patterns.test.d.ts +1 -0
  19. package/dist/src/lib/text_parsers/action_occurrences.d.ts +3 -0
  20. package/dist/src/lib/text_parsers/action_occurrences.test.d.ts +1 -0
  21. package/dist/src/lib/text_parsers/action_position_cues.d.ts +12 -0
  22. package/dist/src/lib/text_parsers/action_position_cues.test.d.ts +1 -0
  23. package/dist/src/lib/text_parsers/action_target_scopes.d.ts +7 -0
  24. package/dist/src/lib/text_parsers/action_words.d.ts +10 -0
  25. package/dist/src/lib/text_parsers/amendment_action_directives.d.ts +17 -0
  26. package/dist/src/lib/text_parsers/articles.d.ts +17 -0
  27. package/dist/src/lib/text_parsers/citations.d.ts +4 -0
  28. package/dist/src/lib/text_parsers/numbers.d.ts +18 -15
  29. package/dist/src/lib/text_parsers/repeated_actions.d.ts +4 -0
  30. package/dist/src/lib/text_parsers/repeated_actions.test.d.ts +1 -0
  31. package/dist/src/scripts/shared/checkpoint_cli_options.d.ts +4 -0
  32. package/dist/src/scripts/shared/checkpoint_cli_options.test.d.ts +1 -0
  33. package/package.json +1 -1
@@ -546,7 +546,31 @@ var h = class {
546
546
  }), b("seconde?", {
547
547
  flags: "i",
548
548
  value: 2
549
- }), _([D, b("ième", { flags: "i" })], { value: (e) => e[0] })), Se = g(pe, xe), Ce = [
549
+ }), _([D, b("ième", { flags: "i" })], { value: (e) => e[0] })), Se = g(pe, xe), Ce = "[0-9]+(?:e|er|ere|ère)?|[A-Za-zÀ-ÖØ-öø-ÿ'’.-]+";
550
+ function O(e, t) {
551
+ let n = new h(e), r = t(n);
552
+ if (n.remaining().trim().length > 0) return null;
553
+ if (typeof r == "number") return r;
554
+ if (r && typeof r == "object" && "value" in r) {
555
+ let e = r.value;
556
+ return Number.isFinite(e) ? e : null;
557
+ }
558
+ return null;
559
+ }
560
+ function we(e) {
561
+ return e.trim().replace(/[’]/gu, "'").replace(/iere$/iu, "ière").replace(/ieme$/iu, "ième");
562
+ }
563
+ function Te(e) {
564
+ let t = e.trim();
565
+ if (!t) return null;
566
+ let n = Array.from(new Set([t, we(t)]));
567
+ for (let e of n) {
568
+ let t = O(e, Se) ?? O(e, be) ?? O(e, fe);
569
+ if (t !== null) return t;
570
+ }
571
+ return null;
572
+ }
573
+ var k = [
550
574
  {
551
575
  pattern: "bis",
552
576
  value: 2
@@ -591,7 +615,7 @@ var h = class {
591
615
  pattern: "semel",
592
616
  value: 1
593
617
  }
594
- ], we = Ce.filter((e) => e.pattern !== "semel").map((e) => e.pattern).join("|"), Te = v(g(b("quinquagies", {
618
+ ], Ee = k.filter((e) => e.pattern !== "semel").map((e) => e.pattern).join("|"), De = v(g(b("quinquagies", {
595
619
  flags: "i",
596
620
  value: 50
597
621
  }), b("sexagies", {
@@ -663,20 +687,20 @@ var h = class {
663
687
  }), b("nonagies", {
664
688
  flags: "i",
665
689
  value: 90
666
- })))], { value: (e, { variables: t }) => t.dizaines + t.unites }), ...Ce.map((e) => b(e.pattern, {
690
+ })))], { value: (e, { variables: t }) => t.dizaines + t.unites }), ...k.map((e) => b(e.pattern, {
667
691
  flags: "i",
668
692
  value: e.value
669
693
  }))), { value: (e, t) => ({
670
694
  position: t.position(),
671
695
  text: t.text().toLowerCase(),
672
696
  value: e
673
- }) }), O = b(String.raw`[12]\d{3}`), Ee = v(g(me, b(String.raw`1[0-4]|\d`)), { value: (e) => p(parseInt(e)) }), k = g(b(String.raw`1\s*er`, {
697
+ }) }), A = b(String.raw`[12]\d{3}`), Oe = v(g(me, b(String.raw`1[0-4]|\d`)), { value: (e) => p(parseInt(e)) }), ke = g(b(String.raw`1\s*er`, {
674
698
  flags: "i",
675
699
  value: "01"
676
- }), b(String.raw`[12]\d|3[01]`, { value: (e) => e[0] }), b(String.raw`\d`, { value: (e) => "0" + e[0] })), De = g(b(String.raw`1\s*er`, {
700
+ }), b(String.raw`[12]\d|3[01]`, { value: (e) => e[0] }), b(String.raw`\d`, { value: (e) => "0" + e[0] })), Ae = g(b(String.raw`1\s*er`, {
677
701
  flags: "i",
678
702
  value: "1"
679
- }), b(String.raw`[12]\d|30`, { value: (e) => e[0] }), b(String.raw`\d`, { value: (e) => e[0] })), Oe = g(b("janvier", {
703
+ }), b(String.raw`[12]\d|30`, { value: (e) => e[0] }), b(String.raw`\d`, { value: (e) => e[0] })), je = g(b("janvier", {
680
704
  flags: "i",
681
705
  value: "01"
682
706
  }), b("février", {
@@ -712,7 +736,7 @@ var h = class {
712
736
  }), b("décembre", {
713
737
  flags: "i",
714
738
  value: "12"
715
- })), ke = g(b("vendémiaire", {
739
+ })), Me = g(b("vendémiaire", {
716
740
  flags: "i",
717
741
  value: "vendémiaire"
718
742
  }), b("brumaire", {
@@ -748,44 +772,44 @@ var h = class {
748
772
  }), b("fructidor", {
749
773
  flags: "i",
750
774
  value: "fructidor"
751
- })), A = g(_([
752
- x("jour", k),
775
+ })), j = g(_([
776
+ x("jour", ke),
753
777
  C,
754
- x("mois", Oe),
778
+ x("mois", je),
755
779
  C,
756
- x("annee", O)
780
+ x("annee", A)
757
781
  ], { value: (e, { variables: t }) => `${t.annee}-${t.mois}-${t.jour}` }), _([
758
- x("jour", k),
782
+ x("jour", ke),
759
783
  b("-"),
760
784
  x("mois", g(b(String.raw`1[0-2]`, { value: (e) => e[0] }), b(String.raw`0?(\d)`, { value: (e) => "0" + e[1] }))),
761
785
  b("-"),
762
- x("annee", O)
763
- ], { value: (e, { variables: t }) => `${t.annee}-${t.mois}-${t.jour}` })), Ae = _([
764
- x("jour", De),
786
+ x("annee", A)
787
+ ], { value: (e, { variables: t }) => `${t.annee}-${t.mois}-${t.jour}` })), Ne = _([
788
+ x("jour", Ae),
765
789
  C,
766
- x("mois", ke),
790
+ x("mois", Me),
767
791
  b(" an ", { flags: "i" }),
768
- x("annee", Ee)
769
- ], { value: (e, { variables: t }) => `${t.jour} ${t.mois} an ${t.annee}` }), j = _([y(b("du ", { flags: "i" }), { default: null }), g(_([Ae, y(_([
792
+ x("annee", Oe)
793
+ ], { value: (e, { variables: t }) => `${t.jour} ${t.mois} an ${t.annee}` }), M = _([y(b("du ", { flags: "i" }), { default: null }), g(_([Ne, y(_([
770
794
  b(String.raw` \(`),
771
- A,
795
+ j,
772
796
  b(String.raw`\)`)
773
797
  ], { value: (e) => e[1] }), { default: null })], { value: (e) => {
774
798
  let t = { dateCalendrierRepublicain: e[0] }, n = e[1];
775
799
  return n !== null && (t.date = n), t;
776
- } }), v(A, { value: (e) => ({ date: e }) }))], { value: (e) => e[1] }), je = _([C, j], { value: (e) => e[1] }), Me = b(String.raw`(?<=^|\P{Alphabetic})(aux|des|les)( |(?=dite?s ))`, { flags: "iv" }), Ne = g(b(String.raw`(?<=^|\P{Alphabetic})(au|du|le)( |(?=dit ))`, { flags: "iv" }), b(String.raw`(?<=^|\P{Alphabetic})([àa] )?la( |(?=dite ))`, { flags: "iv" }), b(String.raw`(?<=^|\P{Alphabetic})([àa] )?l'`, { flags: "iv" })), Pe = _([g(b(String.raw`[ \n]de (?=ce(tte)?s )`, { flags: "i" }), b(String.raw`[ \n]des( |(?=dite?s ))`, { flags: "i" }))], { value: "des" }), Fe = v(g(b(String.raw`[ \n]de (?=ce(tte|t)? )`, { flags: "i" }), b(String.raw`[ \n]de l'`, { flags: "i" }), b(String.raw`[ \n]de la( |(?=dite ))`, { flags: "i" }), b(String.raw`[ \n]du( |(?=dit ))`, { flags: "i" })), { value: "de" }), Ie = b("dite?s ", {
800
+ } }), v(j, { value: (e) => ({ date: e }) }))], { value: (e) => e[1] }), Pe = _([C, M], { value: (e) => e[1] }), Fe = b(String.raw`(?<=^|\P{Alphabetic})(aux|des|les)( |(?=dite?s ))`, { flags: "iv" }), Ie = g(b(String.raw`(?<=^|\P{Alphabetic})(au|du|le)( |(?=dit ))`, { flags: "iv" }), b(String.raw`(?<=^|\P{Alphabetic})([àa] )?la( |(?=dite ))`, { flags: "iv" }), b(String.raw`(?<=^|\P{Alphabetic})([àa] )?l'`, { flags: "iv" })), Le = _([g(b(String.raw`[ \n]de (?=ce(tte)?s )`, { flags: "i" }), b(String.raw`[ \n]des( |(?=dite?s ))`, { flags: "i" }))], { value: "des" }), Re = v(g(b(String.raw`[ \n]de (?=ce(tte|t)? )`, { flags: "i" }), b(String.raw`[ \n]de l'`, { flags: "i" }), b(String.raw`[ \n]de la( |(?=dite ))`, { flags: "i" }), b(String.raw`[ \n]du( |(?=dit ))`, { flags: "i" })), { value: "de" }), ze = b("dite?s ", {
777
801
  flags: "i",
778
802
  value: !0
779
- }), Le = b("dite? ", {
803
+ }), Be = b("dite? ", {
780
804
  flags: "i",
781
805
  value: !0
782
- }), Re = g(b("(nouvel|nouveau|nouvelle) ", {
806
+ }), Ve = g(b("(nouvel|nouveau|nouvelle) ", {
783
807
  flags: "i",
784
808
  value: "new"
785
809
  }), b("(ancien|ancienne) ", {
786
810
  flags: "i",
787
811
  value: "old"
788
- })), M = g(b("derni(er|ère)s", {
812
+ })), N = g(b("derni(er|ère)s", {
789
813
  flags: "i",
790
814
  value: (e, t) => ({
791
815
  index: -1,
@@ -806,7 +830,7 @@ var h = class {
806
830
  }), b("suivante?s", {
807
831
  flags: "i",
808
832
  value: { relative: "+∞" }
809
- })), N = g(b("antépénultième", {
833
+ })), P = g(b("antépénultième", {
810
834
  flags: "i",
811
835
  value: (e, t) => ({
812
836
  index: -3,
@@ -848,11 +872,11 @@ var h = class {
848
872
  }), b("suivante?", {
849
873
  flags: "i",
850
874
  value: { relative: 1 }
851
- })), P = b("ci ?- ?(après|avant|dessous|dessus)", {
875
+ })), F = b("ci ?- ?(après|avant|dessous|dessus)", {
852
876
  flags: "i",
853
877
  value: (e) => `ci-${e[1]}`
854
- }), ze = _([C, P], { value: (e) => e[1] }), Be = b(" précitée?", { flags: "i" }), Ve = g(P, M), He = _([y(b("ces ", { flags: "i" }), { default: "" }), M], { value: (e) => e[1] }), Ue = g(P, N), We = _([y(b("ce(tte|t)? ", { flags: "i" }), { default: "" }), N], { value: (e) => e[1] }), F = /^<\/?(!DOCTYPE|\?XML|[A-Z][A-Z0-9]*)/i;
855
- function I(e, t) {
878
+ }), He = _([C, F], { value: (e) => e[1] }), Ue = b(" précitée?", { flags: "i" }), We = g(F, N), Ge = _([y(b("ces ", { flags: "i" }), { default: "" }), N], { value: (e) => e[1] }), Ke = g(F, P), qe = _([y(b("ce(tte|t)? ", { flags: "i" }), { default: "" }), P], { value: (e) => e[1] }), I = /^<\/?(!DOCTYPE|\?XML|[A-Z][A-Z0-9]*)/i;
879
+ function L(e, t) {
856
880
  return (n) => {
857
881
  let r = [], i = n;
858
882
  for (let e of t) {
@@ -867,16 +891,16 @@ function I(e, t) {
867
891
  };
868
892
  };
869
893
  }
870
- function* L(e) {
894
+ function* R(e) {
871
895
  if (e.transformations === void 0) yield e;
872
- else for (let t of e.transformations) yield* L(t);
896
+ else for (let t of e.transformations) yield* R(t);
873
897
  }
874
- function* Ge(e) {
875
- let t = [...L(e)].reverse(), n = { position: {
898
+ function* Je(e) {
899
+ let t = [...R(e)].reverse(), n = { position: {
876
900
  start: 0,
877
901
  stop: 0
878
902
  } }, r = t.map((e) => {
879
- let t = Ke(e);
903
+ let t = Ye(e);
880
904
  return t.next(n), t;
881
905
  }), i = yield n;
882
906
  for (; i !== void 0;) {
@@ -890,7 +914,7 @@ function* Ge(e) {
890
914
  }
891
915
  for (let e of r) e.next(void 0);
892
916
  }
893
- function* Ke(e) {
917
+ function* Ye(e) {
894
918
  let t = yield { position: {
895
919
  start: 0,
896
920
  stop: 0
@@ -929,7 +953,7 @@ function* Ke(e) {
929
953
  if (i + 1 < d) {
930
954
  let r = !1, o = n[i + 1];
931
955
  if (o.openingTag !== void 0 && o.outputIndex + o.outputLength < e.start) {
932
- let e = o.openingTag.match(F);
956
+ let e = o.openingTag.match(I);
933
957
  if (e !== null) {
934
958
  let t = e[1], n = t.toUpperCase();
935
959
  [
@@ -954,7 +978,7 @@ function* Ke(e) {
954
978
  if (i + 1 > f) {
955
979
  let a = !1, s = n[r], l = n[i + 1];
956
980
  if (s.openingTag !== void 0 && e.stop < l.outputIndex) {
957
- let e = s.openingTag.match(F);
981
+ let e = s.openingTag.match(I);
958
982
  if (e !== null) {
959
983
  let t = e[1], n = t.toUpperCase();
960
984
  [
@@ -994,19 +1018,19 @@ function* Ke(e) {
994
1018
  }).filter(([, e]) => e !== void 0));
995
1019
  }
996
1020
  }
997
- function qe(e) {
998
- let t = Ge(e);
1021
+ function Xe(e) {
1022
+ let t = Je(e);
999
1023
  return t.next({
1000
1024
  start: 0,
1001
1025
  stop: 0
1002
1026
  }), t;
1003
1027
  }
1004
- function Je(e, t) {
1028
+ function Ze(e, t) {
1005
1029
  let n = t.map((e) => [e]);
1006
- for (let { sourceMap: t } of [...L(e)].reverse()) n = Ye(t, n);
1030
+ for (let { sourceMap: t } of [...R(e)].reverse()) n = Qe(t, n);
1007
1031
  return n;
1008
1032
  }
1009
- function Ye(e, t) {
1033
+ function Qe(e, t) {
1010
1034
  let n = [];
1011
1035
  e = [
1012
1036
  {
@@ -1071,16 +1095,16 @@ function Ye(e, t) {
1071
1095
  }
1072
1096
  return n;
1073
1097
  }
1074
- function Xe(e, t) {
1075
- let n = qe(e);
1076
- return t.map((e) => Ze(n, e));
1098
+ function $e(e, t) {
1099
+ let n = Xe(e);
1100
+ return t.map((e) => et(n, e));
1077
1101
  }
1078
- function Ze(e, t) {
1102
+ function et(e, t) {
1079
1103
  let n = e.next(t);
1080
1104
  if (n.done) throw Error(`Reverse transformation of position failed: ${t}`);
1081
1105
  return n.value;
1082
1106
  }
1083
- var Qe = (e, t, n = 0) => t === void 0 ? e : (t.innerPrefix ?? "") + e.slice(t.position.start + n, t.position.stop + n) + (t.innerSuffix ?? ""), $e = (e, t) => (e.outerPrefix ?? "") + t + (e.outerSuffix ?? ""), et = {
1107
+ var tt = (e, t, n = 0) => t === void 0 ? e : (t.innerPrefix ?? "") + e.slice(t.position.start + n, t.position.stop + n) + (t.innerSuffix ?? ""), nt = (e, t) => (e.outerPrefix ?? "") + t + (e.outerSuffix ?? ""), rt = {
1084
1108
  amp: "&",
1085
1109
  apos: "'",
1086
1110
  asymp: "≈",
@@ -1098,7 +1122,7 @@ var Qe = (e, t, n = 0) => t === void 0 ? e : (t.innerPrefix ?? "") + e.slice(t.p
1098
1122
  reg: "®",
1099
1123
  trade: "™"
1100
1124
  };
1101
- function tt({ removeAWithHref: e } = {}) {
1125
+ function it({ removeAWithHref: e } = {}) {
1102
1126
  return (t) => {
1103
1127
  let n = 0, r = 0, i = [], a = [], o = [], s = "Conversion des éléments HTML en texte";
1104
1128
  for (; n < t.length;) {
@@ -1116,7 +1140,7 @@ function tt({ removeAWithHref: e } = {}) {
1116
1140
  sourceMap: a,
1117
1141
  title: s
1118
1142
  };
1119
- let u = t.slice(c, l + 1), d = u.startsWith("</"), f = u.length, p = u.match(F);
1143
+ let u = t.slice(c, l + 1), d = u.startsWith("</"), f = u.length, p = u.match(I);
1120
1144
  if (p === null) {
1121
1145
  i.push(t.slice(n, l + 1).replace(/[\n\r]/g, " ")), n = l + 1;
1122
1146
  continue;
@@ -1293,12 +1317,12 @@ function tt({ removeAWithHref: e } = {}) {
1293
1317
  };
1294
1318
  };
1295
1319
  }
1296
- function nt(e) {
1320
+ function at(e) {
1297
1321
  let t = 0, n = [];
1298
1322
  return {
1299
1323
  input: e,
1300
1324
  output: e.replace(/&(amp|apos|asymp|copy|deg|euro|gt|lt|mdash|nbsp|ndash|ne|pound|quot|reg|trade);/gi, (e, r, i) => {
1301
- let a = et[r.toLowerCase()];
1325
+ let a = rt[r.toLowerCase()];
1302
1326
  return n.push({
1303
1327
  inputIndex: i,
1304
1328
  inputLength: e.length,
@@ -1310,7 +1334,7 @@ function nt(e) {
1310
1334
  title: "Décodage des entités HTML nommées"
1311
1335
  };
1312
1336
  }
1313
- function rt(e) {
1337
+ function ot(e) {
1314
1338
  let t = 0, n = [];
1315
1339
  return {
1316
1340
  input: e,
@@ -1327,14 +1351,14 @@ function rt(e) {
1327
1351
  title: "Décodage des entités HTML numériques"
1328
1352
  };
1329
1353
  }
1330
- function it(e) {
1354
+ function st(e) {
1331
1355
  let t = [], n = e;
1332
1356
  for (let [e, r] of [
1333
1357
  [/<!--.*?-->/gs, ""],
1334
1358
  [/<script.*?>.*?<\/script>/gis, ""],
1335
1359
  [/<style.*?>.*?<\/style>/gis, ""]
1336
1360
  ]) {
1337
- let i = R(e, r)(n);
1361
+ let i = z(e, r)(n);
1338
1362
  i.sourceMap.length !== 0 && (t.push(i), n = i.output);
1339
1363
  }
1340
1364
  return {
@@ -1344,7 +1368,7 @@ function it(e) {
1344
1368
  transformations: t
1345
1369
  };
1346
1370
  }
1347
- function R(e, t) {
1371
+ function z(e, t) {
1348
1372
  return (n) => {
1349
1373
  let r = [], i = n.replaceAll(e, (e, ...n) => {
1350
1374
  let i = n.at(-2), a = t;
@@ -1364,14 +1388,14 @@ function R(e, t) {
1364
1388
  };
1365
1389
  };
1366
1390
  }
1367
- function z(e) {
1391
+ function B(e) {
1368
1392
  let t = [], n = e;
1369
1393
  for (let [e, r] of [
1370
1394
  [/(\sn°)([^\s])/gi, "$1 $2"],
1371
1395
  [/[\u200E\u200F]/g, ""],
1372
1396
  [/[\uF031-\uF039\uF041-\uF054\uF061-\uF06A]/g, ""]
1373
1397
  ]) {
1374
- let i = R(e, r)(n);
1398
+ let i = z(e, r)(n);
1375
1399
  i.sourceMap.length !== 0 && (t.push(i), n = i.output);
1376
1400
  }
1377
1401
  return {
@@ -1381,25 +1405,25 @@ function z(e) {
1381
1405
  transformations: t
1382
1406
  };
1383
1407
  }
1384
- function at({ removeAWithHref: e } = {}) {
1385
- return (t) => I("Simplification du HTML", [
1386
- nt,
1387
- rt,
1388
- it,
1389
- z,
1390
- V,
1391
- tt({ removeAWithHref: e }),
1392
- B
1408
+ function ct({ removeAWithHref: e } = {}) {
1409
+ return (t) => L("Simplification du HTML", [
1410
+ at,
1411
+ ot,
1412
+ st,
1413
+ B,
1414
+ H,
1415
+ it({ removeAWithHref: e }),
1416
+ V
1393
1417
  ])(t);
1394
1418
  }
1395
- function ot(e) {
1396
- return I("Simplification du texte brut", [
1397
- z,
1398
- V,
1399
- B
1419
+ function lt(e) {
1420
+ return L("Simplification du texte brut", [
1421
+ B,
1422
+ H,
1423
+ V
1400
1424
  ])(e);
1401
1425
  }
1402
- function B(e) {
1426
+ function V(e) {
1403
1427
  let t = [], n = e;
1404
1428
  for (let [e, r, i] of [
1405
1429
  [
@@ -1457,9 +1481,39 @@ function B(e) {
1457
1481
  transformations: t
1458
1482
  };
1459
1483
  }
1460
- function V(e) {
1484
+ function H(e) {
1461
1485
  let t = [], n = e;
1462
1486
  for (let [e, r] of [
1487
+ ["À", "À"],
1488
+ ["Â", "Â"],
1489
+ ["Ä", "Ä"],
1490
+ ["Ç", "Ç"],
1491
+ ["È", "È"],
1492
+ ["É", "É"],
1493
+ ["Ê", "Ê"],
1494
+ ["Ë", "Ë"],
1495
+ ["Î", "Î"],
1496
+ ["Ï", "Ï"],
1497
+ ["Ô", "Ô"],
1498
+ ["Ö", "Ö"],
1499
+ ["Ù", "Ù"],
1500
+ ["Û", "Û"],
1501
+ ["Ü", "Ü"],
1502
+ ["à", "à"],
1503
+ ["â", "â"],
1504
+ ["ä", "ä"],
1505
+ ["ç", "ç"],
1506
+ ["è", "è"],
1507
+ ["é", "é"],
1508
+ ["ê", "ê"],
1509
+ ["ë", "ë"],
1510
+ ["î", "î"],
1511
+ ["ï", "ï"],
1512
+ ["ô", "ô"],
1513
+ ["ö", "ö"],
1514
+ ["ù", "ù"],
1515
+ ["û", "û"],
1516
+ ["ü", "ü"],
1463
1517
  [/[ \t]/g, " "],
1464
1518
  [/[‐‑–·]/g, "-"],
1465
1519
  [/’/g, "'"],
@@ -1467,9 +1521,9 @@ function V(e) {
1467
1521
  ]) n = n.replaceAll(e, (e, ...n) => {
1468
1522
  let i = n.at(-2), a = {
1469
1523
  inputIndex: i,
1470
- inputLength: 1,
1524
+ inputLength: e.length,
1471
1525
  outputIndex: i,
1472
- outputLength: 1
1526
+ outputLength: r.length
1473
1527
  };
1474
1528
  return t.push(a), r;
1475
1529
  });
@@ -1485,20 +1539,20 @@ function V(e) {
1485
1539
  }
1486
1540
  //#endregion
1487
1541
  //#region src/lib/text_parsers/texts.ts
1488
- var H = {}, st = {}, ct = {}, lt = {}, ut = {};
1489
- function dt(e) {
1542
+ var U = {}, ut = {}, dt = {}, ft = {}, pt = {};
1543
+ function mt(e) {
1490
1544
  let t = e ?? {};
1491
- U(st, t.textCidByOtherTitleWordsTree ?? {}), U(ct, t.textCidByTitleRestWordsTree ?? {}), U(H, Object.fromEntries(Object.entries(t.textInfosByCid ?? {}).map(([e, t]) => [e, Array.isArray(t) ? {
1545
+ W(ut, t.textCidByOtherTitleWordsTree ?? {}), W(dt, t.textCidByTitleRestWordsTree ?? {}), W(U, Object.fromEntries(Object.entries(t.textInfosByCid ?? {}).map(([e, t]) => [e, Array.isArray(t) ? {
1492
1546
  nature: t[0],
1493
1547
  title: t[1]
1494
- } : t]))), U(lt, t.textsCidsByNatureAndDate ?? {}), U(ut, t.textsCidsByNatureAndNum ?? {});
1548
+ } : t]))), W(ft, t.textsCidsByNatureAndDate ?? {}), W(pt, t.textsCidsByNatureAndNum ?? {});
1495
1549
  }
1496
- function U(e, t) {
1550
+ function W(e, t) {
1497
1551
  let n = e;
1498
1552
  for (let e of Object.keys(n)) delete n[e];
1499
1553
  Object.assign(e, t);
1500
1554
  }
1501
- var ft = (e) => Array.isArray(e) ? e : [e], W = v(g(b("Constitution", { value: "CONSTITUTION" }), b("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", {
1555
+ var ht = (e) => Array.isArray(e) ? e : [e], G = v(g(b("Constitution", { value: "CONSTITUTION" }), b("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", {
1502
1556
  flags: "i",
1503
1557
  value: (e) => {
1504
1558
  let t = e[0].toLowerCase();
@@ -1507,7 +1561,7 @@ var ft = (e) => Array.isArray(e) ? e : [e], W = v(g(b("Constitution", { value: "
1507
1561
  })), { value: (e) => ({
1508
1562
  nature: e,
1509
1563
  type: "texte"
1510
- }) }), pt = _([y(w, { default: null }), b(String.raw`\d+(-\d+)?`)], { value: (e) => e[1] }), G = g(j, _([pt, y(je, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
1564
+ }) }), gt = _([y(w, { default: null }), b(String.raw`\d+(-\d+)?`)], { value: (e) => e[1] }), K = g(M, _([gt, y(Pe, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
1511
1565
  ...e[1],
1512
1566
  num: e[0]
1513
1567
  } }));
@@ -1519,11 +1573,11 @@ b("décision( du Conseil constitutionnel)? (?<numero>[-/0-9A-Z]+ (QPC|DC|AN|D|EL
1519
1573
  type: "décision du Conseil constitutionnel"
1520
1574
  })
1521
1575
  });
1522
- var K = y(g(b(" de la République française", { flags: "i" }), b(" du pays", { flags: "i" })), { default: null }), mt = g(_([
1523
- W,
1524
- K,
1525
- C,
1576
+ var q = y(g(b(" de la République française", { flags: "i" }), b(" du pays", { flags: "i" })), { default: null }), J = g(_([
1526
1577
  G,
1578
+ q,
1579
+ C,
1580
+ K,
1527
1581
  b(".*")
1528
1582
  ], { value: (e) => {
1529
1583
  let t = {
@@ -1532,10 +1586,10 @@ var K = y(g(b(" de la République française", { flags: "i" }), b(" du pays", {
1532
1586
  }, n = e[4].trim() || void 0;
1533
1587
  return n !== void 0 && (t.titleRest = n), t;
1534
1588
  } }), _([
1535
- W,
1589
+ G,
1536
1590
  b("[^()]+"),
1537
1591
  b(String.raw`\( ?`),
1538
- G,
1592
+ K,
1539
1593
  b(String.raw` ?\)`)
1540
1594
  ], { value: (e) => {
1541
1595
  let t = {
@@ -1552,14 +1606,14 @@ var K = y(g(b(" de la République française", { flags: "i" }), b(" du pays", {
1552
1606
  })), b(".+")], { value: (e) => {
1553
1607
  let t = { ...e[0] }, n = e[1].trim() || void 0;
1554
1608
  return n !== void 0 && (t.titleRest = n), t;
1555
- } })), q = g(_([
1556
- W,
1557
- K,
1558
- y([C, G], {
1609
+ } })), Y = g(_([
1610
+ G,
1611
+ q,
1612
+ y([C, K], {
1559
1613
  default: null,
1560
1614
  value: (e) => e[1]
1561
1615
  }),
1562
- y([C, v(S(ct), { value: (e, t) => ({
1616
+ y([C, v(S(dt), { value: (e, t) => ({
1563
1617
  ...e,
1564
1618
  titleRest: t.text()
1565
1619
  }) })], {
@@ -1568,36 +1622,36 @@ var K = y(g(b(" de la République française", { flags: "i" }), b(" du pays", {
1568
1622
  }),
1569
1623
  y([
1570
1624
  b(String.raw` ?\( ?`),
1571
- G,
1625
+ K,
1572
1626
  b(String.raw` ?\)`)
1573
1627
  ], {
1574
1628
  default: null,
1575
1629
  value: (e) => e[1]
1576
1630
  }),
1577
- y(Be, { default: "" })
1631
+ y(Ue, { default: "" })
1578
1632
  ], { value: (e) => {
1579
1633
  let { nature: t, type: n } = e[0], { date: r, num: i } = e[2] ?? e[4] ?? {}, { cid: a, titleRest: o } = e[3] ?? {};
1580
1634
  if (a === void 0 && r === void 0 && i === void 0) return;
1581
1635
  let s = /* @__PURE__ */ new Set();
1582
1636
  if (r !== void 0) {
1583
- let e = lt[t]?.[r];
1637
+ let e = ft[t]?.[r];
1584
1638
  if (e !== void 0) {
1585
- let t = ft(e);
1639
+ let t = ht(e);
1586
1640
  s = s.size === 0 ? new Set(t) : s.intersection(new Set(t));
1587
1641
  }
1588
1642
  }
1589
1643
  if (i !== void 0) {
1590
- let e = ut[t]?.[i];
1644
+ let e = pt[t]?.[i];
1591
1645
  if (e !== void 0) {
1592
- let t = ft(e);
1646
+ let t = ht(e);
1593
1647
  s = s.size === 0 ? new Set(t) : s.intersection(new Set(t));
1594
1648
  }
1595
1649
  }
1596
1650
  if (a !== void 0) {
1597
1651
  let e = Array.isArray(a) ? a : [a];
1598
- s = s.size === 0 ? new Set(e) : s.intersection(new Set(e.filter((e) => H[e].nature === t)));
1652
+ s = s.size === 0 ? new Set(e) : s.intersection(new Set(e.filter((e) => U[e].nature === t)));
1599
1653
  }
1600
- let c = s.size === 1 ? s.values().next().value : void 0, l = c === void 0 ? void 0 : H[c];
1654
+ let c = s.size === 1 ? s.values().next().value : void 0, l = c === void 0 ? void 0 : U[c];
1601
1655
  return Object.fromEntries(Object.entries({
1602
1656
  cid: c,
1603
1657
  date: r,
@@ -1607,22 +1661,22 @@ var K = y(g(b(" de la République française", { flags: "i" }), b(" du pays", {
1607
1661
  titleRest: o,
1608
1662
  type: n
1609
1663
  }).filter(([, e]) => e !== void 0));
1610
- } }), _([S(st), y(Be, { default: "" })], { value: (e) => {
1611
- let { cid: t } = e[0], n = typeof t == "string" ? H[t] : void 0;
1664
+ } }), _([S(ut), y(Ue, { default: "" })], { value: (e) => {
1665
+ let { cid: t } = e[0], n = typeof t == "string" ? U[t] : void 0;
1612
1666
  return Object.fromEntries(Object.entries({
1613
1667
  cid: t,
1614
1668
  ...n ?? {},
1615
1669
  type: "texte"
1616
1670
  }).filter(([, e]) => e !== void 0));
1617
- } })), ht = _([
1671
+ } })), _t = _([
1618
1672
  E,
1619
1673
  b("/"),
1620
1674
  E,
1621
1675
  y(b(" ?/ ?(CEE?)", { value: (e) => e[1] }), { default: "" })
1622
- ], { value: (e) => `${e[0]}/${e[2]}${e[3] ? `/${e[3]}` : ""}` }), gt = _([y(w, { default: "" }), ht], { value: (e) => e[1] }), J = g(_([gt, y(je, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
1676
+ ], { value: (e) => `${e[0]}/${e[2]}${e[3] ? `/${e[3]}` : ""}` }), vt = _([y(w, { default: "" }), _t], { value: (e) => e[1] }), yt = g(_([vt, y(Pe, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
1623
1677
  ...e[1],
1624
1678
  num: e[0]
1625
- } }), j), _t = _([b("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)?", {
1679
+ } }), M), bt = _([b("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)?", {
1626
1680
  flags: "i",
1627
1681
  value: (e) => {
1628
1682
  let t = e[0].toLowerCase();
@@ -1632,44 +1686,44 @@ var K = y(g(b(" de la République française", { flags: "i" }), b(" du pays", {
1632
1686
  nature: e[0],
1633
1687
  legislation: "UE",
1634
1688
  type: "texte"
1635
- }) }), Y = _([
1636
- _t,
1689
+ }) }), X = _([
1690
+ bt,
1637
1691
  C,
1638
- J
1692
+ yt
1639
1693
  ], { value: (e) => ({
1640
1694
  ...e[2],
1641
1695
  ...e[0]
1642
- }) }), X = b("convention", {
1696
+ }) }), Z = b("convention", {
1643
1697
  flags: "i",
1644
1698
  value: {
1645
1699
  nature: "CONVENTION",
1646
1700
  legislation: "international",
1647
1701
  type: "texte"
1648
1702
  }
1649
- }), vt = _([y(Le, { default: !1 }), g(_([
1650
- We,
1703
+ }), xt = _([y(Be, { default: !1 }), g(_([
1704
+ qe,
1651
1705
  C,
1652
- g(q, Y, X, W, _t)
1706
+ g(Y, X, Z, G, bt)
1653
1707
  ], { value: (e) => ({
1654
1708
  ...e[2],
1655
1709
  ...e[0] === void 0 ? {} : e[0]
1656
- }) }), q, Y, X)], { value: (e, t) => {
1710
+ }) }), Y, X, Z)], { value: (e, t) => {
1657
1711
  let n = {
1658
1712
  ...e[1],
1659
1713
  ...e[0] ? { ofTheSaid: !0 } : {},
1660
1714
  position: t.position()
1661
1715
  };
1662
1716
  return t.currentText = n, n;
1663
- } }), Z = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.?$/, "").replace(/\.$/, ""), yt = (e) => {
1717
+ } }), Q = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.?$/, "").replace(/\.$/, ""), St = (e) => {
1664
1718
  let t = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
1665
1719
  return t === void 0 || ["2222-02-22", "2999-01-01"].includes(t) ? e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_PUBLI : t;
1666
- }, bt = (e) => {
1720
+ }, Ct = (e) => {
1667
1721
  let t = e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_TEXTE;
1668
1722
  if (!["2222-02-22", "2999-01-01"].includes(t)) return t;
1669
1723
  let n = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
1670
1724
  if (n !== void 0 && !["2222-02-22", "2999-01-01"].includes(n)) return n;
1671
1725
  throw Error(`Missing date signature in text ${e.META.META_COMMUN.ID}`);
1672
- }, xt = (e) => (t, n) => {
1726
+ }, wt = (e) => (t, n) => {
1673
1727
  let r = e(t), i = e(n);
1674
1728
  if (r !== i) return r.localeCompare(i);
1675
1729
  let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
@@ -1681,21 +1735,21 @@ var K = y(g(b(" de la République française", { flags: "i" }), b(" du pays", {
1681
1735
  };
1682
1736
  //#endregion
1683
1737
  //#region src/lib/legi/text_titles_infos.ts
1684
- function St(e, t, n, r) {
1738
+ function Tt(e, t, n, r) {
1685
1739
  n != null && ((e[t] ??= {})[n] ??= []).push(r);
1686
1740
  }
1687
- function Ct(e) {
1688
- return ot(e).output;
1741
+ function Et(e) {
1742
+ return lt(e).output;
1689
1743
  }
1690
- function wt(e, t, n) {
1691
- let r = Ct(Z(t).replace(/[,()]/g, " ")).split(" ").map((e) => /^[IVX]+$/gi.test(e) ? d(e).toString() : e.toLowerCase().replace(/^no$/, "n°")), i = e;
1744
+ function Dt(e, t, n) {
1745
+ let r = Et(Q(t).replace(/[,()]/g, " ")).split(" ").map((e) => /^[IVX]+$/gi.test(e) ? d(e).toString() : e.toLowerCase().replace(/^no$/, "n°")), i = e;
1692
1746
  for (let e of r) i = i[e] ??= {};
1693
1747
  i.cid === void 0 ? i.cid = n : Array.isArray(i.cid) ? i.cid.push(n) : i.cid = [i.cid, n];
1694
1748
  }
1695
- async function Tt(e, t = {}) {
1696
- dt(await Et(e, t));
1749
+ async function Ot(e, t = {}) {
1750
+ mt(await kt(e, t));
1697
1751
  }
1698
- async function Et(e, { onProgress: t } = {}) {
1752
+ async function kt(e, { onProgress: t } = {}) {
1699
1753
  let n = {}, r = {}, i = {}, a = {}, o = {};
1700
1754
  t?.({
1701
1755
  count: e.length,
@@ -1706,7 +1760,7 @@ async function Et(e, { onProgress: t } = {}) {
1706
1760
  count: s,
1707
1761
  phase: "parse:progress"
1708
1762
  }), await new Promise((e) => setTimeout(e, 0)));
1709
- let e = Z(f);
1763
+ let e = Q(f);
1710
1764
  if ([
1711
1765
  "code",
1712
1766
  "décret",
@@ -1734,7 +1788,7 @@ async function Et(e, { onProgress: t } = {}) {
1734
1788
  default: m.add(e);
1735
1789
  }
1736
1790
  for (let e of m) {
1737
- let t = mt(new h(Ct(e)));
1791
+ let t = J(new h(Et(e)));
1738
1792
  if (t === void 0 && u === "DECRET" && (t = {
1739
1793
  date: l ?? void 0,
1740
1794
  nature: u,
@@ -1742,9 +1796,9 @@ async function Et(e, { onProgress: t } = {}) {
1742
1796
  titleRest: e.replace(/^Décrets?\s*/i, "").trim() || void 0,
1743
1797
  type: "texte"
1744
1798
  }), t === void 0) throw Error(`Unparsable title of ${u} n° ${d ?? ""} du ${l ?? ""} (${c}): ${e}`);
1745
- St(a, u, t.date, c), St(o, u, t.num, c), t.titleRest !== void 0 && wt(r, t.titleRest, c);
1799
+ Tt(a, u, t.date, c), Tt(o, u, t.num, c), t.titleRest !== void 0 && Dt(r, t.titleRest, c);
1746
1800
  }
1747
- for (let e of p) wt(n, e, c);
1801
+ for (let e of p) Dt(n, e, c);
1748
1802
  }
1749
1803
  t?.({
1750
1804
  count: e.length,
@@ -1754,12 +1808,12 @@ async function Et(e, { onProgress: t } = {}) {
1754
1808
  textCidByOtherTitleWordsTree: $(n),
1755
1809
  textCidByTitleRestWordsTree: $(r),
1756
1810
  textInfosByCid: i,
1757
- textsCidsByNatureAndDate: Q(a),
1758
- textsCidsByNatureAndNum: Q(o)
1811
+ textsCidsByNatureAndDate: At(a),
1812
+ textsCidsByNatureAndNum: At(o)
1759
1813
  };
1760
1814
  return t?.({ phase: "compact:done" }), s;
1761
1815
  }
1762
- function Q(e) {
1816
+ function At(e) {
1763
1817
  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]))]));
1764
1818
  }
1765
1819
  function $(e) {
@@ -1778,16 +1832,16 @@ function $(e) {
1778
1832
  }
1779
1833
  //#endregion
1780
1834
  //#region src/lib/timings.ts
1781
- var Dt = class {
1835
+ var jt = class {
1782
1836
  label;
1783
1837
  enabled;
1784
1838
  metrics = [];
1785
1839
  startedAt = performance.now();
1786
- constructor(e, t = Ot()) {
1840
+ constructor(e, t = Mt()) {
1787
1841
  this.label = e, this.enabled = t;
1788
1842
  }
1789
1843
  add(e) {
1790
- this.enabled && (this.metrics.push(e), kt() && console.info(`[timing:${this.label}]`, JSON.stringify(e)));
1844
+ this.enabled && (this.metrics.push(e), Nt() && console.info(`[timing:${this.label}]`, JSON.stringify(e)));
1791
1845
  }
1792
1846
  async time(e, t, n) {
1793
1847
  if (!this.enabled) return t();
@@ -1826,17 +1880,17 @@ var Dt = class {
1826
1880
  }, null, 2));
1827
1881
  }
1828
1882
  };
1829
- function Ot() {
1883
+ function Mt() {
1830
1884
  let e = globalThis.process?.env;
1831
1885
  return e?.PJL_BUILD_TIMINGS === "1" || e?.PJL_BUILD_TIMINGS === "true";
1832
1886
  }
1833
- function kt() {
1887
+ function Nt() {
1834
1888
  let e = globalThis.process?.env;
1835
1889
  return e?.PJL_BUILD_TIMINGS_PROGRESS === "1" || e?.PJL_BUILD_TIMINGS_PROGRESS === "true";
1836
1890
  }
1837
1891
  //#endregion
1838
1892
  //#region src/lib/legi/resolver.ts
1839
- var At = class {
1893
+ var Pt = class {
1840
1894
  getEuropeanTextUrl(e) {
1841
1895
  return Promise.resolve(void 0);
1842
1896
  }
@@ -1845,4 +1899,4 @@ var At = class {
1845
1899
  }
1846
1900
  };
1847
1901
  //#endregion
1848
- export { j as $, I as A, re as At, ze as B, it as C, _ as Ct, ot as D, y as Dt, at as E, te as Et, Qe as F, l as Ft, Re as G, He as H, $e as I, u as It, Me as J, Ie as K, M as L, Je as M, S as Mt, Ze as N, m as Nt, B as O, ne as Ot, Xe as P, c as Pt, A as Q, N as R, rt as S, g as St, z as T, ee as Tt, Ue as U, Ve as V, We as W, Pe as X, Ne as Y, Fe as Z, Y as _, ce as _t, Z as a, xe as at, tt as b, de as bt, xt as c, fe as ct, W as d, he as dt, Oe as et, G as f, ge as ft, vt as g, se as gt, K as h, oe as ht, Et as i, pe as it, qe as j, x as jt, V as k, b as kt, mt as l, E as lt, pt as m, C as mt, Dt as n, D as nt, yt as o, Te as ot, gt as p, ae as pt, Le as q, Tt as r, Se as rt, bt as s, we as st, At as t, be as tt, J as u, me as ut, q as v, w as vt, R as w, v as wt, nt as x, h as xt, X as y, ue as yt, P as z };
1902
+ export { M as $, L as A, ne as At, He as B, st as C, h as Ct, lt as D, ee as Dt, ct as E, v as Et, tt as F, m as Ft, Ve as G, Ge as H, nt as I, c as It, Fe as J, ze as K, N as L, l as Lt, Ze as M, re as Mt, et as N, x as Nt, V as O, te as Ot, $e as P, S as Pt, j as Q, P as R, u as Rt, ot as S, de as St, B as T, _ as Tt, Ke as U, We as V, qe as W, Le as X, Ie as Y, Re as Z, X as _, oe as _t, Q as a, xe as at, it as b, w as bt, wt as c, fe as ct, G as d, he as dt, je as et, K as f, ge as ft, xt as g, C as gt, q as h, ae as ht, kt as i, pe as it, Xe as j, b as jt, H as k, y as kt, J as l, E as lt, gt as m, Te as mt, jt as n, D as nt, St as o, De as ot, vt as p, Ce as pt, Be as q, Ot as r, Se as rt, Ct as s, Ee as st, Pt as t, be as tt, yt as u, me as ut, Y as v, se as vt, z as w, g as wt, at as x, ue as xt, Z as y, ce as yt, F as z, d as zt };