@tricoteuses/tisseuse 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/html-Ds2IZ1nn.js +12773 -0
- package/dist/index.js +233 -224
- package/dist/server.js +1 -1
- package/dist/{lib → src/lib}/extractors/action_directives.d.ts +3 -3
- package/dist/{lib → src/lib}/extractors/article_portions.d.ts +1 -1
- package/dist/src/lib/extractors/definitions.d.ts +3 -0
- package/dist/{lib → src/lib}/extractors/links.d.ts +4 -4
- package/dist/{lib → src/lib}/extractors/references.d.ts +3 -3
- package/dist/{lib → src/lib}/extractors/table_of_contents.d.ts +4 -4
- package/dist/{lib → src/lib}/linkers/html.d.ts +4 -4
- package/dist/{lib → src/lib}/linkers/markdown.d.ts +2 -2
- package/dist/{lib → src/lib}/loaders/assemblee.d.ts +1 -1
- package/dist/{lib → src/lib}/loaders/legifrance.d.ts +1 -1
- package/dist/src/lib/server/auditors/config.d.ts +1 -0
- package/dist/{lib → src/lib}/server/config.d.ts +1 -1
- package/dist/{lib → src/lib}/server/linkers/html.d.ts +1 -1
- package/dist/{lib → src/lib}/server/text_parsers/transformers.d.ts +1 -1
- package/package.json +10 -8
- package/dist/html-kKhAILq4.js +0 -12756
- package/dist/lib/extractors/definitions.d.ts +0 -3
- package/dist/lib/server/auditors/config.d.ts +0 -4
- package/dist/lib/text_parsers/text_titles_infos.json.d.ts +0 -4
- /package/dist/{lib → src/lib}/alineas/alineas_numbers.d.ts +0 -0
- /package/dist/{lib → src/lib}/articles.d.ts +0 -0
- /package/dist/{lib → src/lib}/articles.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/asserts.d.ts +0 -0
- /package/dist/{lib → src/lib}/cache.d.ts +0 -0
- /package/dist/{lib → src/lib}/dates.d.ts +0 -0
- /package/dist/{lib → src/lib}/extractors/action_directives.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/extractors/article_portions.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/extractors/links.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/extractors/references.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/index.d.ts +0 -0
- /package/dist/{lib → src/lib}/json.d.ts +0 -0
- /package/dist/{lib → src/lib}/links.d.ts +0 -0
- /package/dist/{lib → src/lib}/markdown.d.ts +0 -0
- /package/dist/{lib → src/lib}/server/alineas/alineas_images_utils.d.ts +0 -0
- /package/dist/{lib → src/lib}/server/databases/index.d.ts +0 -0
- /package/dist/{lib → src/lib}/server/html_simplifier.d.ts +0 -0
- /package/dist/{lib → src/lib}/server/html_simplifier.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/server/index.d.ts +0 -0
- /package/dist/{lib → src/lib}/server/tables_of_contents.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/actions.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/actions.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/articles.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/articles.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/ast.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/citations.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/citations.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/dates.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/dates.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/divisions.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/divisions.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/fragments.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/helpers.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/numbers.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/numbers.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/parsers.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/parsers.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/portions.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/portions.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/prepositions.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/prepositions.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/references.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/references.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/relative_locations.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/relative_locations.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/search_queries.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/search_queries.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/separators.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/simplifiers.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/simplifiers.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/texts.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/texts.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/transformers.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/typography.d.ts +0 -0
- /package/dist/{lib → src/lib}/text_parsers/typography.test.d.ts +0 -0
- /package/dist/{lib → src/lib}/textes.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/add_links_to_assemblee_parsed_documents.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/add_links_to_html_document.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/add_links_to_legifrance.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/add_links_to_senat_parsed_documents.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/add_positions_to_table_of_contents.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/add_references_to_html_document.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/associate_jorf_textes_with_assemblee_commissions.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/associate_jorf_textes_with_dossiers_legislatifs_assemblee.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/configure.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/enrich_assemblee_documents.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/enrich_senat_documents.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/extract_alineas_images.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/extract_texts_titles_infos.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/generate_alineas_numbers_review.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/html_document_to_text.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/index_typesense.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/merge_reviewed_alineas_numbers.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/set_articles_missing_num.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/simplified_html_bill_to_table_of_contents.d.ts +0 -0
- /package/dist/{scripts → src/scripts}/simplify_word_html.d.ts +0 -0
package/dist/index.js
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import { $ as e, $t as t, A as n, An as r, At as i, B as a, Bt as o, C as s, Cn as c, Ct as l, D as u, Dn as d, Dt as f, E as p, En as m, Et as h, F as g, Fn as _, Ft as ee, G as te, Gt as ne, H as re, Ht as ie, I as ae, In as v, It as oe, J as se, Jt as ce, K as le, Kt as ue, L as de, Lt as y, M as fe, Mn as pe, Mt as b, N as me, Nn as he, Nt as
|
|
1
|
+
import { $ as e, $t as t, A as n, An as r, At as i, B as a, Bt as o, C as s, Cn as c, Ct as l, D as u, Dn as d, Dt as f, E as p, En as m, Et as h, F as g, Fn as _, Ft as ee, G as te, Gt as ne, H as re, Ht as ie, I as ae, In as v, It as oe, J as se, Jt as ce, K as le, Kt as ue, L as de, Lt as y, M as fe, Mn as pe, Mt as b, N as me, Nn as he, Nt as ge, O as _e, On as ve, Ot as ye, P as be, Pn as xe, Pt as Se, Q as Ce, Qt as we, R as Te, Rt as Ee, S as De, Sn as x, St as Oe, T as ke, Tn as Ae, Tt as je, U as Me, Ut as Ne, V as Pe, Vt as S, W as Fe, Wt as Ie, X as Le, Xt as Re, Y as ze, Yt as Be, Z as Ve, Zt as He, _ as C, _n as w, _t as Ue, a as We, an as Ge, at as Ke, b as qe, bn as T, bt as Je, c as Ye, cn as Xe, ct as Ze, d as Qe, dn as $e, dt as et, en as tt, et as nt, f as rt, fn as it, ft as at, g as ot, gn as E, gt as st, h as ct, hn as lt, ht as ut, i as D, in as dt, it as ft, j as O, jn as pt, jt as mt, k as ht, kn as k, kt as gt, l as _t, ln as vt, lt as yt, m as bt, mn as xt, mt as St, n as Ct, nn as wt, nt as Tt, o as Et, on as Dt, ot as Ot, p as kt, pn as At, pt as jt, q as Mt, qt as Nt, r as Pt, rn as Ft, rt as It, s as Lt, sn as Rt, st as zt, t as Bt, tn as Vt, tt as Ht, u as Ut, un as Wt, ut as Gt, v as Kt, vn as A, vt as qt, w as Jt, wn as Yt, wt as Xt, x as Zt, xn as Qt, xt as $t, y as en, yn as tn, yt as nn, z as rn, zt as an } from "./html-Ds2IZ1nn.js";
|
|
2
2
|
//#region ../../node_modules/@tricoteuses/legifrance/dist/legal/index.js
|
|
3
|
-
function
|
|
3
|
+
function on(e, t) {
|
|
4
4
|
if (e != null) {
|
|
5
5
|
if (!Array.isArray(e)) return e;
|
|
6
6
|
for (let n of e) if (n["@debut"] <= t && t <= n["@fin"]) return n;
|
|
7
7
|
return e[0];
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
function*
|
|
11
|
-
yield e, e.TM !== void 0 && (yield*
|
|
10
|
+
function* j(e) {
|
|
11
|
+
yield e, e.TM !== void 0 && (yield* j(e.TM));
|
|
12
12
|
}
|
|
13
13
|
//#endregion
|
|
14
14
|
//#region src/lib/articles.ts
|
|
15
|
-
var
|
|
15
|
+
var M = ["2222-02-22", "2999-01-01"], sn = (e) => {
|
|
16
16
|
if (e !== void 0) for (let t = 0; t < e.length; ++t) {
|
|
17
|
-
let n =
|
|
17
|
+
let n = tt(new E(e, t));
|
|
18
18
|
if (typeof n == "string") return n;
|
|
19
19
|
}
|
|
20
|
-
},
|
|
20
|
+
}, cn = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => sn(e["#text"])).find((e) => e !== void 0), ln = (e) => {
|
|
21
21
|
let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
|
|
22
|
-
if (t !== void 0 && !
|
|
23
|
-
let n = e.CONTEXTE.TEXTE, r = n.TITRE_TXT, i = [...r === void 0 ? [] : (Array.isArray(r) ? r : [r]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] :
|
|
22
|
+
if (t !== void 0 && !M.includes(t)) return t;
|
|
23
|
+
let n = e.CONTEXTE.TEXTE, r = n.TITRE_TXT, i = [...r === void 0 ? [] : (Array.isArray(r) ? r : [r]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : j(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).toArray().flat()].filter((e) => !M.includes(e));
|
|
24
24
|
if (i.length > 0) return i.sort().at(-1);
|
|
25
25
|
let a = n["@date_publi"];
|
|
26
|
-
if (a !== void 0 && !
|
|
26
|
+
if (a !== void 0 && !M.includes(a)) return a;
|
|
27
27
|
let o = n["@date_signature"];
|
|
28
|
-
if (o !== void 0 && !
|
|
28
|
+
if (o !== void 0 && !M.includes(o)) return o;
|
|
29
29
|
let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
|
|
30
|
-
if (s !== void 0 && !
|
|
31
|
-
let c =
|
|
30
|
+
if (s !== void 0 && !M.includes(s)) return s;
|
|
31
|
+
let c = cn(r);
|
|
32
32
|
if (c !== void 0) return c;
|
|
33
|
-
if (
|
|
33
|
+
if (M.includes(t ?? "")) return t;
|
|
34
34
|
throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
|
|
35
|
-
},
|
|
35
|
+
}, N = (e) => {
|
|
36
36
|
let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
|
|
37
|
-
if (t !== void 0 && !
|
|
37
|
+
if (t !== void 0 && !M.includes(t)) return t;
|
|
38
38
|
let n = e.CONTEXTE.TEXTE, r = n["@date_signature"];
|
|
39
|
-
if (r !== void 0 && !
|
|
39
|
+
if (r !== void 0 && !M.includes(r)) return r;
|
|
40
40
|
let i = n["@date_publi"];
|
|
41
|
-
if (i !== void 0 && !
|
|
42
|
-
let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] :
|
|
41
|
+
if (i !== void 0 && !M.includes(i)) return i;
|
|
42
|
+
let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : j(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).toArray().flat()].filter((e) => !M.includes(e));
|
|
43
43
|
if (o.length > 0) return o.sort().at(-1);
|
|
44
44
|
let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
|
|
45
|
-
if (s !== void 0 && !
|
|
46
|
-
let c =
|
|
45
|
+
if (s !== void 0 && !M.includes(s)) return s;
|
|
46
|
+
let c = cn(a);
|
|
47
47
|
if (c !== void 0) return c;
|
|
48
|
-
if (
|
|
48
|
+
if (M.includes(t ?? "")) return t;
|
|
49
49
|
throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
|
|
50
50
|
};
|
|
51
|
-
async function
|
|
51
|
+
async function un(e, t, n, r) {
|
|
52
52
|
let i = await d(e, t, n);
|
|
53
53
|
if (i === void 0) return;
|
|
54
|
-
let a =
|
|
54
|
+
let a = N(i), o = i.META.META_COMMUN.ORIGINE, s = i.CONTEXTE.TEXTE;
|
|
55
55
|
if (s.TM === void 0) return;
|
|
56
|
-
let c =
|
|
56
|
+
let c = j(s.TM).toArray().reverse(), l;
|
|
57
57
|
switch (o) {
|
|
58
58
|
case "JORF":
|
|
59
59
|
l = c.map((e) => e.TITRE_TM["@id"]);
|
|
60
60
|
break;
|
|
61
61
|
case "LEGI":
|
|
62
|
-
l = c.map((e) =>
|
|
62
|
+
l = c.map((e) => on(e.TITRE_TM, a)?.["@id"]);
|
|
63
63
|
break;
|
|
64
64
|
default: v("getOrLoadArticleSiblingId origine", o);
|
|
65
65
|
}
|
|
66
|
-
return await (r === -1 ?
|
|
66
|
+
return await (r === -1 ? I : F)(e, t, n, a, i.num, l);
|
|
67
67
|
}
|
|
68
|
-
async function
|
|
68
|
+
async function dn(e, t, n, r, i, a) {
|
|
69
69
|
let o = r[n];
|
|
70
70
|
if (o === void 0) {
|
|
71
|
-
let s = await
|
|
71
|
+
let s = await k(e, t, n);
|
|
72
72
|
if (s === void 0) return;
|
|
73
73
|
let c = s.STRUCTURE_TA;
|
|
74
74
|
if (c === void 0) return;
|
|
@@ -96,8 +96,8 @@ async function un(e, t, n, r, i, a) {
|
|
|
96
96
|
}
|
|
97
97
|
return o;
|
|
98
98
|
}
|
|
99
|
-
async function
|
|
100
|
-
let r = await
|
|
99
|
+
async function P(e, t, n) {
|
|
100
|
+
let r = await k(e, t, n);
|
|
101
101
|
if (r === void 0) return;
|
|
102
102
|
let i = r.STRUCTURE_TA;
|
|
103
103
|
if (i === void 0) return;
|
|
@@ -105,26 +105,26 @@ async function F(e, t, n) {
|
|
|
105
105
|
if (a !== void 0) return a[0]["@id"];
|
|
106
106
|
let o = i.LIEN_SECTION_TA;
|
|
107
107
|
if (o !== void 0) for (let n of o) {
|
|
108
|
-
let r = await
|
|
108
|
+
let r = await P(e, t, n["@id"]);
|
|
109
109
|
if (r !== void 0) return r;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
async function
|
|
113
|
-
let r = await
|
|
112
|
+
async function fn(e, t, n) {
|
|
113
|
+
let r = await k(e, t, n);
|
|
114
114
|
if (r === void 0) return;
|
|
115
115
|
let i = r.STRUCTURE_TA;
|
|
116
116
|
if (i === void 0) return;
|
|
117
117
|
let a = i.LIEN_SECTION_TA;
|
|
118
118
|
if (a !== void 0) for (let n of a.toReversed()) {
|
|
119
|
-
let r = await
|
|
119
|
+
let r = await fn(e, t, n["@id"]);
|
|
120
120
|
if (r !== void 0) return r;
|
|
121
121
|
}
|
|
122
122
|
return i.LIEN_ART?.at(-1)?.["@id"];
|
|
123
123
|
}
|
|
124
|
-
async function
|
|
124
|
+
async function F(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
125
125
|
let l = a[o];
|
|
126
126
|
if (l === void 0) return;
|
|
127
|
-
let u = await
|
|
127
|
+
let u = await dn(e, t, l, s, n, c);
|
|
128
128
|
if (u === void 0) return;
|
|
129
129
|
let { area: f, index: p, sectionTa: m } = u, h = m.STRUCTURE_TA;
|
|
130
130
|
switch (f) {
|
|
@@ -134,31 +134,31 @@ async function I(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
|
134
134
|
let a = c[n];
|
|
135
135
|
if (a["@num"] !== i) {
|
|
136
136
|
let n = await d(e, t, a["@id"]);
|
|
137
|
-
if (n !== void 0 &&
|
|
137
|
+
if (n !== void 0 && N(n) <= r) return a["@id"];
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
let u = h.LIEN_SECTION_TA;
|
|
141
141
|
if (u !== void 0) for (let n of u) {
|
|
142
|
-
let r = await
|
|
142
|
+
let r = await P(e, t, n["@id"]);
|
|
143
143
|
if (r !== void 0) return r;
|
|
144
144
|
}
|
|
145
|
-
return await
|
|
145
|
+
return await F(e, t, n, r, i, a, o + 1, s, l);
|
|
146
146
|
}
|
|
147
147
|
case "LIEN_SECTION_TA": {
|
|
148
148
|
let c = h.LIEN_SECTION_TA;
|
|
149
149
|
for (let n = p + 1; n < c.length; n++) {
|
|
150
|
-
let r = await
|
|
150
|
+
let r = await P(e, t, c[n]["@id"]);
|
|
151
151
|
if (r !== void 0) return r;
|
|
152
152
|
}
|
|
153
|
-
return await
|
|
153
|
+
return await F(e, t, n, r, i, a, o + 1, s, l);
|
|
154
154
|
}
|
|
155
155
|
default: v("moveToNextArticleId area", f);
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
-
async function
|
|
158
|
+
async function I(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
159
159
|
let l = a[o];
|
|
160
160
|
if (l === void 0) return;
|
|
161
|
-
let u = await
|
|
161
|
+
let u = await dn(e, t, l, s, n, c);
|
|
162
162
|
if (u === void 0) return;
|
|
163
163
|
let { area: f, index: p, sectionTa: m } = u, h = m.STRUCTURE_TA;
|
|
164
164
|
switch (f) {
|
|
@@ -168,23 +168,23 @@ async function L(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
|
168
168
|
let a = c[n];
|
|
169
169
|
if (a["@num"] !== i) {
|
|
170
170
|
let n = await d(e, t, a["@id"]);
|
|
171
|
-
if (n !== void 0 &&
|
|
171
|
+
if (n !== void 0 && N(n) <= r) return a["@id"];
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
return await
|
|
174
|
+
return await I(e, t, n, r, i, a, o + 1, s, l);
|
|
175
175
|
}
|
|
176
176
|
case "LIEN_SECTION_TA": {
|
|
177
177
|
for (let n = p - 1; n >= 0; n--) {
|
|
178
|
-
let r = await
|
|
178
|
+
let r = await fn(e, t, h.LIEN_SECTION_TA[n]["@id"]);
|
|
179
179
|
if (r !== void 0) return r;
|
|
180
180
|
}
|
|
181
181
|
let c = h.LIEN_ART;
|
|
182
|
-
return c === void 0 ? await
|
|
182
|
+
return c === void 0 ? await I(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await I(e, t, n, r, i, a, o, s));
|
|
183
183
|
}
|
|
184
184
|
default: v("moveToPreviousArticleId area", f);
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
var
|
|
187
|
+
var pn = (e) => (t, n) => {
|
|
188
188
|
let r = e(t), i = e(n);
|
|
189
189
|
if (r !== i) return r.localeCompare(i);
|
|
190
190
|
let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
|
|
@@ -203,13 +203,13 @@ var fn = (e) => (t, n) => {
|
|
|
203
203
|
if (m <= i) return 1;
|
|
204
204
|
}
|
|
205
205
|
throw Error(`TODO: Unable to sort articles ${a.ID} & ${s.ID} by date.`);
|
|
206
|
-
},
|
|
207
|
-
function
|
|
208
|
-
return
|
|
206
|
+
}, mn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
|
|
207
|
+
function hn(e) {
|
|
208
|
+
return mn.format(new Date(e)).replace(/^1 /, "1er ");
|
|
209
209
|
}
|
|
210
210
|
//#endregion
|
|
211
211
|
//#region src/lib/extractors/article_portions.ts
|
|
212
|
-
var
|
|
212
|
+
var L = new RegExp(String.raw`^\s*([IVXLCDM]+|[A-Z]|[a-z]|\d+)(?:\s+(?:${Ge}))?(?:\s*(?:°|\.|\)|-|–|—))+(?:\s+(?:${Ge}))?(?:\s+|(?=[\p{L}\p{N}]))`, "iu"), gn = /^\s*(partie|livre|titre|sous-titre|chapitre|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe)\s+([IVXLCDM]+|[A-Z]|\d+)(?:\s*(?:°|\.|\)|-))?\s*/iu, _n = /^(partie|livre|titre|sous-titre|chapitre|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe)\b/i, vn = {
|
|
213
213
|
partie: 0,
|
|
214
214
|
livre: 1,
|
|
215
215
|
titre: 2,
|
|
@@ -221,17 +221,17 @@ var R = new RegExp(String.raw`^\s*([IVXLCDM]+|[A-Z]|[a-z]|\d+)(?:\s+(?:${Ge}))?(
|
|
|
221
221
|
"sous-paragraphe": 8,
|
|
222
222
|
"sous-sous-paragraphe": 9
|
|
223
223
|
};
|
|
224
|
-
function
|
|
224
|
+
function R(e) {
|
|
225
225
|
return /^[IVXLCDM]+$/i.test(e);
|
|
226
226
|
}
|
|
227
|
-
function
|
|
228
|
-
let t =
|
|
227
|
+
function yn(e) {
|
|
228
|
+
let t = Qt(e, Ue);
|
|
229
229
|
return t && typeof t == "object" && t.type === "item" && typeof t.index == "number" && typeof t.num == "string" ? {
|
|
230
230
|
num: t.num,
|
|
231
231
|
index: t.index
|
|
232
232
|
} : null;
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function bn(e) {
|
|
235
235
|
let t = {
|
|
236
236
|
I: 1,
|
|
237
237
|
V: 5,
|
|
@@ -248,29 +248,29 @@ function yn(e) {
|
|
|
248
248
|
}
|
|
249
249
|
return n || void 0;
|
|
250
250
|
}
|
|
251
|
-
function
|
|
251
|
+
function z(e) {
|
|
252
252
|
let t = e.trim(), n = t.split(/\s+/), r = n[0] ? n[0].replace(/[^\p{L}\p{N}]+/gu, "") : t, i = n.length > 1 ? n.slice(1).join(" ") : void 0, a = (() => {
|
|
253
253
|
if (/^\d+$/.test(r)) return Number(r);
|
|
254
254
|
if (/^[A-Z]$/i.test(r)) return r.toLowerCase().charCodeAt(0) - 97 + 1;
|
|
255
|
-
if (
|
|
255
|
+
if (R(r)) return bn(r);
|
|
256
256
|
})();
|
|
257
257
|
if (a === void 0) return;
|
|
258
258
|
if (!i) return a;
|
|
259
|
-
let o =
|
|
259
|
+
let o = Qt(i, dt);
|
|
260
260
|
if (o && typeof o == "object" && "value" in o) {
|
|
261
261
|
let e = o.value;
|
|
262
262
|
if (typeof e == "number") return a + e / 1e3;
|
|
263
263
|
}
|
|
264
264
|
return a;
|
|
265
265
|
}
|
|
266
|
-
function
|
|
266
|
+
function xn(e) {
|
|
267
267
|
let t = e.trim().split(/\s+/)[0] ?? e, n = t.replace(/[^\p{L}\p{N}]+/gu, "");
|
|
268
|
-
return /^[ivxlcdm]+$/.test(n) && (n.length > 1 || /^[ivx]$/.test(n)) ? 105 : /^[A-Z]$/.test(n) ? 101 : /^\d+$/.test(n) && /°/.test(t) ? 103 : /^\d+$/.test(n) ? 102 : /^[a-z]$/.test(n) ? 104 :
|
|
268
|
+
return /^[ivxlcdm]+$/.test(n) && (n.length > 1 || /^[ivx]$/.test(n)) ? 105 : /^[A-Z]$/.test(n) ? 101 : /^\d+$/.test(n) && /°/.test(t) ? 103 : /^\d+$/.test(n) ? 102 : /^[a-z]$/.test(n) ? 104 : R(n) ? 100 : 105;
|
|
269
269
|
}
|
|
270
|
-
function
|
|
270
|
+
function B(e) {
|
|
271
271
|
return e.children.filter((e) => e.type === "alinéa").length + 1;
|
|
272
272
|
}
|
|
273
|
-
function
|
|
273
|
+
function Sn(t) {
|
|
274
274
|
let n = e(t), r = {
|
|
275
275
|
type: "article",
|
|
276
276
|
children: []
|
|
@@ -301,36 +301,36 @@ function xn(t) {
|
|
|
301
301
|
let l = (e, n, r) => {
|
|
302
302
|
let a = e, o = n;
|
|
303
303
|
for (;;) {
|
|
304
|
-
let e = o.match(
|
|
304
|
+
let e = o.match(L);
|
|
305
305
|
if (!e) break;
|
|
306
|
-
let t =
|
|
306
|
+
let t = yn(e[0]), n = t?.num ?? e[1], r = {
|
|
307
307
|
type: "item",
|
|
308
|
-
index: t?.index ??
|
|
308
|
+
index: t?.index ?? z(n),
|
|
309
309
|
num: n,
|
|
310
310
|
label: void 0,
|
|
311
311
|
children: []
|
|
312
312
|
};
|
|
313
313
|
a.children.push(r), i.push({
|
|
314
|
-
level:
|
|
314
|
+
level: xn(n),
|
|
315
315
|
node: r
|
|
316
316
|
}), a = r, o = o.slice(e[0].length).trim();
|
|
317
317
|
}
|
|
318
318
|
o && a.children.push({
|
|
319
319
|
type: "alinéa",
|
|
320
|
-
index:
|
|
320
|
+
index: B(a),
|
|
321
321
|
text: o,
|
|
322
322
|
html: r,
|
|
323
323
|
paragraphIndex: t
|
|
324
324
|
});
|
|
325
325
|
};
|
|
326
326
|
for (let e of c) {
|
|
327
|
-
let n = e.text, a = n.match(
|
|
327
|
+
let n = e.text, a = n.match(gn);
|
|
328
328
|
if (a) {
|
|
329
|
-
let o = a[1].toLowerCase(), s = a[2], c =
|
|
329
|
+
let o = a[1].toLowerCase(), s = a[2], c = vn[o];
|
|
330
330
|
for (; i.length > 0 && i[i.length - 1].level >= c;) i.pop();
|
|
331
331
|
let u = i[i.length - 1]?.node ?? r, d = {
|
|
332
332
|
type: o,
|
|
333
|
-
index:
|
|
333
|
+
index: z(s),
|
|
334
334
|
num: s,
|
|
335
335
|
label: void 0,
|
|
336
336
|
children: []
|
|
@@ -340,22 +340,22 @@ function xn(t) {
|
|
|
340
340
|
node: d
|
|
341
341
|
});
|
|
342
342
|
let f = n.slice(a[0].length).trim();
|
|
343
|
-
f && (
|
|
343
|
+
f && (_n.test(f) ? d.label = f : L.test(f) ? l(d, f, e.html) : d.children.push({
|
|
344
344
|
type: "alinéa",
|
|
345
|
-
index:
|
|
345
|
+
index: B(d),
|
|
346
346
|
text: f,
|
|
347
347
|
html: e.html,
|
|
348
348
|
paragraphIndex: t
|
|
349
349
|
}));
|
|
350
350
|
continue;
|
|
351
351
|
}
|
|
352
|
-
let o = n.match(
|
|
352
|
+
let o = n.match(L);
|
|
353
353
|
if (o) {
|
|
354
|
-
let a =
|
|
354
|
+
let a = yn(o[0]), s = a?.num ?? o[1], c = xn(s);
|
|
355
355
|
for (; i.length > 0 && i[i.length - 1].level >= c;) i.pop();
|
|
356
356
|
let u = i[i.length - 1]?.node ?? r, d = {
|
|
357
357
|
type: "item",
|
|
358
|
-
index: a?.index ??
|
|
358
|
+
index: a?.index ?? z(s),
|
|
359
359
|
num: s,
|
|
360
360
|
label: void 0,
|
|
361
361
|
children: []
|
|
@@ -365,9 +365,9 @@ function xn(t) {
|
|
|
365
365
|
node: d
|
|
366
366
|
});
|
|
367
367
|
let f = n.slice(o[0].length).trim();
|
|
368
|
-
f && (
|
|
368
|
+
f && (_n.test(f) ? d.label = f : L.test(f) ? l(d, f, e.html) : d.children.push({
|
|
369
369
|
type: "alinéa",
|
|
370
|
-
index:
|
|
370
|
+
index: B(d),
|
|
371
371
|
text: f,
|
|
372
372
|
html: e.html,
|
|
373
373
|
paragraphIndex: t
|
|
@@ -377,7 +377,7 @@ function xn(t) {
|
|
|
377
377
|
let s = i[i.length - 1]?.node ?? r;
|
|
378
378
|
s.children.push({
|
|
379
379
|
type: "alinéa",
|
|
380
|
-
index:
|
|
380
|
+
index: B(s),
|
|
381
381
|
text: n,
|
|
382
382
|
html: e.html,
|
|
383
383
|
paragraphIndex: t
|
|
@@ -385,8 +385,8 @@ function xn(t) {
|
|
|
385
385
|
}
|
|
386
386
|
}), r;
|
|
387
387
|
}
|
|
388
|
-
function
|
|
389
|
-
return e.type === "parent-enfant" ? [...
|
|
388
|
+
function V(e) {
|
|
389
|
+
return e.type === "parent-enfant" ? [...V(e.parent), ...V(e.child)] : ne(e) && (ue(e) || Nt(e)) ? [{
|
|
390
390
|
type: e.type,
|
|
391
391
|
index: e.index,
|
|
392
392
|
num: e.num,
|
|
@@ -394,10 +394,10 @@ function H(e) {
|
|
|
394
394
|
present: e.present
|
|
395
395
|
}] : [];
|
|
396
396
|
}
|
|
397
|
-
function
|
|
398
|
-
if (e.type === "reference_et_action") return
|
|
397
|
+
function H(e) {
|
|
398
|
+
if (e.type === "reference_et_action") return H(e.reference);
|
|
399
399
|
if (e.type === "parent-enfant") {
|
|
400
|
-
let t =
|
|
400
|
+
let t = H(e.parent), n = H(e.child);
|
|
401
401
|
if (t.length === 0) return n;
|
|
402
402
|
if (n.length === 0) return t;
|
|
403
403
|
let r = [];
|
|
@@ -428,7 +428,7 @@ function U(e) {
|
|
|
428
428
|
return r;
|
|
429
429
|
}
|
|
430
430
|
if (e.type === "bounded-interval") {
|
|
431
|
-
let t =
|
|
431
|
+
let t = V(e.first), n = V(e.last);
|
|
432
432
|
return t.length === 0 || n.length === 0 ? [] : [{
|
|
433
433
|
kind: "range",
|
|
434
434
|
first: t,
|
|
@@ -436,7 +436,7 @@ function U(e) {
|
|
|
436
436
|
}];
|
|
437
437
|
}
|
|
438
438
|
if (e.type === "counted-interval") {
|
|
439
|
-
let t =
|
|
439
|
+
let t = V(e.first);
|
|
440
440
|
return t.length === 0 ? [] : [{
|
|
441
441
|
kind: "range",
|
|
442
442
|
first: t,
|
|
@@ -444,16 +444,16 @@ function U(e) {
|
|
|
444
444
|
count: e.count
|
|
445
445
|
}];
|
|
446
446
|
}
|
|
447
|
-
if (e.type === "enumeration") return [...
|
|
448
|
-
if (e.type === "exclusion") return
|
|
449
|
-
let t =
|
|
447
|
+
if (e.type === "enumeration") return [...H(e.left), ...H(e.right)];
|
|
448
|
+
if (e.type === "exclusion") return H(e.left);
|
|
449
|
+
let t = V(e);
|
|
450
450
|
return t.length === 0 ? [] : [{
|
|
451
451
|
kind: "single",
|
|
452
452
|
steps: t
|
|
453
453
|
}];
|
|
454
454
|
}
|
|
455
|
-
function
|
|
456
|
-
let t =
|
|
455
|
+
function Cn(e) {
|
|
456
|
+
let t = H(e);
|
|
457
457
|
if (t.length === 0) return t;
|
|
458
458
|
let n = t[0];
|
|
459
459
|
if (n?.kind === "single" && n.steps.length > 1) {
|
|
@@ -465,18 +465,18 @@ function Sn(e) {
|
|
|
465
465
|
}
|
|
466
466
|
return t;
|
|
467
467
|
}
|
|
468
|
-
function
|
|
468
|
+
function wn(e, t) {
|
|
469
469
|
if (t.num !== void 0 && e.num !== void 0) {
|
|
470
470
|
let n = (e) => e.toLowerCase().replace(/[.)]/g, "").trim();
|
|
471
471
|
if (n(t.num) !== n(e.num)) return !1;
|
|
472
472
|
}
|
|
473
473
|
return t.index !== void 0 && e.index !== void 0 ? t.index === e.index : t.num !== void 0 && e.num !== void 0;
|
|
474
474
|
}
|
|
475
|
-
function
|
|
476
|
-
let n = (e) => "children" in e && (e.type === "article" || e.type === "item" ||
|
|
477
|
-
if (
|
|
475
|
+
function Tn(e, t) {
|
|
476
|
+
let n = (e) => "children" in e && (e.type === "article" || e.type === "item" || S.includes(e.type)) ? e.children : [], r = (e) => e.type === "alinéa" ? [e] : e.type === "article" || e.type === "item" || S.includes(e.type) ? e.children.flatMap(r) : [];
|
|
477
|
+
if (S.includes(t.type)) {
|
|
478
478
|
let r = n(e);
|
|
479
|
-
for (let e of r) if (
|
|
479
|
+
for (let e of r) if (S.includes(e.type) && e.type === t.type && wn(e, t)) return {
|
|
480
480
|
node: e,
|
|
481
481
|
path: [e]
|
|
482
482
|
};
|
|
@@ -484,13 +484,13 @@ function wn(e, t) {
|
|
|
484
484
|
}
|
|
485
485
|
if (t.type === "item") {
|
|
486
486
|
let r = n(e);
|
|
487
|
-
for (let e of r) if (e.type === "item" &&
|
|
487
|
+
for (let e of r) if (e.type === "item" && wn(e, t)) return {
|
|
488
488
|
node: e,
|
|
489
489
|
path: [e]
|
|
490
490
|
};
|
|
491
491
|
for (let e of r) {
|
|
492
492
|
if (e.type === "alinéa") continue;
|
|
493
|
-
let n =
|
|
493
|
+
let n = Tn(e, t);
|
|
494
494
|
if (n) return {
|
|
495
495
|
node: n.node,
|
|
496
496
|
path: [e, ...n.path]
|
|
@@ -537,12 +537,12 @@ function wn(e, t) {
|
|
|
537
537
|
}
|
|
538
538
|
return null;
|
|
539
539
|
}
|
|
540
|
-
function
|
|
540
|
+
function U(e, t) {
|
|
541
541
|
if (t.kind === "range") {
|
|
542
|
-
let n =
|
|
542
|
+
let n = U(e, {
|
|
543
543
|
kind: "single",
|
|
544
544
|
steps: t.first
|
|
545
|
-
}), r =
|
|
545
|
+
}), r = U(e, {
|
|
546
546
|
kind: "single",
|
|
547
547
|
steps: t.last
|
|
548
548
|
});
|
|
@@ -556,7 +556,7 @@ function Tn(e, t) {
|
|
|
556
556
|
}
|
|
557
557
|
let n = e, r = [];
|
|
558
558
|
for (let e of t.steps) {
|
|
559
|
-
let t =
|
|
559
|
+
let t = Tn(n, e);
|
|
560
560
|
if (!t) return null;
|
|
561
561
|
n = t.node, r.push(...t.path);
|
|
562
562
|
}
|
|
@@ -572,7 +572,7 @@ function W(e) {
|
|
|
572
572
|
return e.toLowerCase().normalize("NFD").replace(/\p{Diacritic}/gu, "");
|
|
573
573
|
}
|
|
574
574
|
function G(e) {
|
|
575
|
-
return e.replace(
|
|
575
|
+
return e.replace(L, "");
|
|
576
576
|
}
|
|
577
577
|
function En(e) {
|
|
578
578
|
let t = e.split("\n"), n = [], r = 0;
|
|
@@ -587,10 +587,10 @@ function En(e) {
|
|
|
587
587
|
return n;
|
|
588
588
|
}
|
|
589
589
|
function Dn(e) {
|
|
590
|
-
return
|
|
590
|
+
return L.test(e);
|
|
591
591
|
}
|
|
592
592
|
function On(e) {
|
|
593
|
-
let t =
|
|
593
|
+
let t = L.exec(e);
|
|
594
594
|
if (!t) return null;
|
|
595
595
|
let n = t[1] ?? "";
|
|
596
596
|
return n ? /^\d+$/.test(n) ? {
|
|
@@ -602,7 +602,7 @@ function On(e) {
|
|
|
602
602
|
} : /^[a-z]$/.test(n) ? {
|
|
603
603
|
marker: n,
|
|
604
604
|
level: 3
|
|
605
|
-
} :
|
|
605
|
+
} : R(n) || /^[A-Z]$/.test(n) ? {
|
|
606
606
|
marker: n,
|
|
607
607
|
level: 1
|
|
608
608
|
} : {
|
|
@@ -618,22 +618,22 @@ function An(e) {
|
|
|
618
618
|
return e.type === "reference_et_action" ? e.reference : e;
|
|
619
619
|
}
|
|
620
620
|
function jn(e) {
|
|
621
|
-
return s(new
|
|
621
|
+
return s(new E(e)).map(An).find((e) => b(e) === "article") || (lr(e)?.reference ?? null);
|
|
622
622
|
}
|
|
623
623
|
function Mn(e) {
|
|
624
|
-
let t = kn(e) ?? e.length, n =
|
|
624
|
+
let t = kn(e) ?? e.length, n = $n(e), r = s(new E(e)).map(An).filter((e) => !er(e.position, n) && b(e) !== "article" && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
|
|
625
625
|
if (r[0]) return r[0];
|
|
626
626
|
let i = e.slice(0, t).trimEnd();
|
|
627
627
|
return J(i, 0) ?? J(i.replace(/\b(?:est|sont)\s*$/iu, "").trimEnd(), 0);
|
|
628
628
|
}
|
|
629
629
|
function Nn(e) {
|
|
630
|
-
let t = kn(e) ?? e.length, n =
|
|
630
|
+
let t = kn(e) ?? e.length, n = $n(e), r = s(new E(e)).map(An).filter((e) => !er(e.position, n) && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
|
|
631
631
|
return r.length === 0 ? null : r.find((e) => b(e) !== "article") ?? null ?? r[0] ?? null;
|
|
632
632
|
}
|
|
633
633
|
function Pn(e) {
|
|
634
634
|
let t = [e, G(e)].map((e) => e.trim()).filter((e, t, n) => e && n.indexOf(e) === t);
|
|
635
635
|
for (let e of t) {
|
|
636
|
-
let t = J(e, 0) ??
|
|
636
|
+
let t = J(e, 0) ?? sr(e) ?? Nn(e) ?? jn(e);
|
|
637
637
|
if (t) return t;
|
|
638
638
|
}
|
|
639
639
|
return null;
|
|
@@ -724,7 +724,7 @@ function Un(e, t) {
|
|
|
724
724
|
if (!e) return t;
|
|
725
725
|
if (!t) return e;
|
|
726
726
|
let n = Rn(t, Ln(e));
|
|
727
|
-
return n.type === "article" || b(n),
|
|
727
|
+
return n.type === "article" || b(n), ge(e, n);
|
|
728
728
|
}
|
|
729
729
|
function Wn(e) {
|
|
730
730
|
return [G(e.line.text), ...e.body.map((e) => e.text)].join("\n").trim();
|
|
@@ -781,14 +781,14 @@ function Yn(e) {
|
|
|
781
781
|
for (; n < e.length;) {
|
|
782
782
|
let r = e.indexOf("«", n);
|
|
783
783
|
if (r === -1) break;
|
|
784
|
-
let i = new
|
|
784
|
+
let i = new E(e);
|
|
785
785
|
i.offset = r;
|
|
786
|
-
let a =
|
|
786
|
+
let a = ze(i);
|
|
787
787
|
if (!a) {
|
|
788
788
|
n = r + 1;
|
|
789
789
|
continue;
|
|
790
790
|
}
|
|
791
|
-
let o = Jn(
|
|
791
|
+
let o = Jn(Ce(i, a).output), s = a.position ?? {
|
|
792
792
|
start: r,
|
|
793
793
|
stop: r + 1
|
|
794
794
|
};
|
|
@@ -802,30 +802,39 @@ function Yn(e) {
|
|
|
802
802
|
}
|
|
803
803
|
return t;
|
|
804
804
|
}
|
|
805
|
-
function Xn(e) {
|
|
805
|
+
function Xn(e, t) {
|
|
806
|
+
if (t.length === 0) return e;
|
|
807
|
+
let n = 0, r = [];
|
|
808
|
+
for (let { start: i, end: a } of t) {
|
|
809
|
+
let t = Math.max(0, Math.min(i, e.length)), o = Math.max(t, Math.min(a, e.length));
|
|
810
|
+
t > n && r.push(e.slice(n, t)), o > t && r.push(" "), n = o;
|
|
811
|
+
}
|
|
812
|
+
return n < e.length && r.push(e.slice(n)), r.join("");
|
|
813
|
+
}
|
|
814
|
+
function Zn(e) {
|
|
806
815
|
let t = e.trim();
|
|
807
816
|
if (!t) return null;
|
|
808
|
-
let n =
|
|
817
|
+
let n = wt(new E(t));
|
|
809
818
|
if (typeof n == "number") return n;
|
|
810
819
|
if (n && typeof n == "object" && "value" in n) {
|
|
811
820
|
let e = n.value;
|
|
812
821
|
return Number.isFinite(e) ? e : null;
|
|
813
822
|
}
|
|
814
|
-
let r =
|
|
823
|
+
let r = Dt(new E(t));
|
|
815
824
|
if (r && typeof r == "object" && "value" in r) {
|
|
816
825
|
let e = r.value;
|
|
817
826
|
return Number.isFinite(e) ? e : null;
|
|
818
827
|
}
|
|
819
828
|
return typeof r == "number" ? r : null;
|
|
820
829
|
}
|
|
821
|
-
function
|
|
830
|
+
function Qn(e, t) {
|
|
822
831
|
let n = e.slice(0, t), r = /([0-9A-Za-zÀ-ÖØ-öø-ÿ'’.-]+)\s+occurrence\b/giu, i = null, a;
|
|
823
832
|
for (; (a = r.exec(n)) !== null;) i = a;
|
|
824
833
|
if (!i) return null;
|
|
825
|
-
let o = i[1], s =
|
|
834
|
+
let o = i[1], s = Zn(o);
|
|
826
835
|
return !s || s < 1 ? null : s;
|
|
827
836
|
}
|
|
828
|
-
function
|
|
837
|
+
function $n(e) {
|
|
829
838
|
let t = [], n = 0;
|
|
830
839
|
for (; n < e.length;) {
|
|
831
840
|
let r = e.indexOf("«", n);
|
|
@@ -845,10 +854,10 @@ function Qn(e) {
|
|
|
845
854
|
}
|
|
846
855
|
return t;
|
|
847
856
|
}
|
|
848
|
-
function
|
|
857
|
+
function er(e, t) {
|
|
849
858
|
return e ? t.some((t) => e.start >= t.start && e.stop <= t.end) : !1;
|
|
850
859
|
}
|
|
851
|
-
function
|
|
860
|
+
function tr(e) {
|
|
852
861
|
if (!e.includes("«")) return e;
|
|
853
862
|
let t = e.split(""), n = !1;
|
|
854
863
|
for (let e = 0; e < t.length; e++) {
|
|
@@ -891,22 +900,22 @@ function q(e, t) {
|
|
|
891
900
|
}
|
|
892
901
|
K(e.position, t);
|
|
893
902
|
}
|
|
894
|
-
function
|
|
903
|
+
function nr(e) {
|
|
895
904
|
return e.replace(/\b(de\s+l['’]?|de\s+la|de\s+le|du|des)\s*$/i, "");
|
|
896
905
|
}
|
|
897
|
-
function
|
|
906
|
+
function rr(e) {
|
|
898
907
|
let t = W(e);
|
|
899
908
|
return t.startsWith("alinea") ? "alinéa" : t.startsWith("phrase") ? "phrase" : null;
|
|
900
909
|
}
|
|
901
|
-
function
|
|
910
|
+
function ir(e) {
|
|
902
911
|
let t = /^(?:(?:[aà]\s+)?l['’]|(?:[aà]\s+)?la\b|(?:[aà]\s+)?le\b|les\b|des\b|aux\b|du\b)\s*/iu.exec(e)?.[0].length ?? 0, n = e.slice(t > 0 ? t : 0).trim();
|
|
903
912
|
return n ? {
|
|
904
913
|
text: n,
|
|
905
914
|
offset: t
|
|
906
915
|
} : null;
|
|
907
916
|
}
|
|
908
|
-
function
|
|
909
|
-
let t = new
|
|
917
|
+
function ar(e) {
|
|
918
|
+
let t = new E(e), n = qt(t);
|
|
910
919
|
return !n || t.remaining().trim().length !== 0 ? null : n;
|
|
911
920
|
}
|
|
912
921
|
function J(e, t) {
|
|
@@ -916,7 +925,7 @@ function J(e, t) {
|
|
|
916
925
|
for (let e of r) {
|
|
917
926
|
let r = e.index ?? 0, i = n.slice(r).trim(), a = /\b(alinéas?|phrases?)\b\s*$/iu.exec(i);
|
|
918
927
|
if (!a || a.index === void 0) continue;
|
|
919
|
-
let o =
|
|
928
|
+
let o = rr(a[1] ?? "");
|
|
920
929
|
if (!o) continue;
|
|
921
930
|
let s = i.slice(0, a.index).trim();
|
|
922
931
|
if (!s) continue;
|
|
@@ -935,12 +944,12 @@ function J(e, t) {
|
|
|
935
944
|
}), l.length < 2) continue;
|
|
936
945
|
let f = [], p = [], m = !0, h;
|
|
937
946
|
for (let [e, n] of l.entries()) {
|
|
938
|
-
let i =
|
|
947
|
+
let i = ir(n.text);
|
|
939
948
|
if (!i) {
|
|
940
949
|
f.length = 0;
|
|
941
950
|
break;
|
|
942
951
|
}
|
|
943
|
-
let a =
|
|
952
|
+
let a = ar(`${i.text} ${o}`);
|
|
944
953
|
if (!a) {
|
|
945
954
|
f.length = 0;
|
|
946
955
|
break;
|
|
@@ -958,12 +967,12 @@ function J(e, t) {
|
|
|
958
967
|
last: f[f.length - 1],
|
|
959
968
|
position: ee,
|
|
960
969
|
type: "bounded-interval"
|
|
961
|
-
} :
|
|
970
|
+
} : Se(g, _.map((e, t) => [p[t] ?? "et", e]), ee);
|
|
962
971
|
}
|
|
963
972
|
return null;
|
|
964
973
|
}
|
|
965
|
-
function
|
|
966
|
-
let n =
|
|
974
|
+
function or(e, t) {
|
|
975
|
+
let n = nr(e);
|
|
967
976
|
if (!n) return null;
|
|
968
977
|
let r = J(n, t);
|
|
969
978
|
if (r) return r;
|
|
@@ -971,64 +980,64 @@ function ar(e, t) {
|
|
|
971
980
|
for (let e of i) {
|
|
972
981
|
let r = e.index ?? 0, i = n.slice(r);
|
|
973
982
|
if (!i) continue;
|
|
974
|
-
let a = new
|
|
983
|
+
let a = new E(i), o = qt(a);
|
|
975
984
|
if (!(!o || a.offset === 0) && i.slice(a.offset).trim().length === 0) return q(o, t + r), o;
|
|
976
985
|
}
|
|
977
986
|
return null;
|
|
978
987
|
}
|
|
979
|
-
function
|
|
988
|
+
function sr(e) {
|
|
980
989
|
let t = /\barticle\b/i.exec(e);
|
|
981
990
|
if (!t || t.index === void 0) return null;
|
|
982
|
-
let n = t.index, r =
|
|
991
|
+
let n = t.index, r = zt(new E(e.slice(n)));
|
|
983
992
|
if (!r) return null;
|
|
984
993
|
q(r, n);
|
|
985
|
-
let i =
|
|
986
|
-
return i ?
|
|
994
|
+
let i = or(e.slice(0, n), 0);
|
|
995
|
+
return i ? ge(r, i) : null;
|
|
987
996
|
}
|
|
988
|
-
function
|
|
989
|
-
let
|
|
990
|
-
if (t.action === "supprimer" ||
|
|
997
|
+
function cr(e, t, n, r, i) {
|
|
998
|
+
let a = W(e), o = W(Xn(e, r)), s = /\bredige\b|\bredigee\b|\bredigees\b|\brediges\b|\bainsi\b/.test(a) || /\bdispositions suivantes\b/.test(a), c = /\bapres\b/.test(o) || /\bapres (la|les) reference\b|\bapres (le|les) mots\b|\bapres la mention\b/.test(o), l = /\bavant\b/.test(o) || /\bavant (la|les) reference\b|\bavant (le|les) mots\b|\bavant la mention\b/.test(o), u = t.action === "rétablir" || /\bretabl/.test(a), d = /\binsere(?:e|es|s)?\b|\bajoute\b|\bajoutee\b|\bajoutes\b|\bajoutees\b|\bcomplete\b/.test(a) || u, f = /\bremplace\b|\bremplacee\b|\bremplaces\b|\bremplacees\b/.test(a), p = /\bsupprime\b|\bsupprimee\b|\bsupprimes\b|\bsupprimees\b|\babroge\b|\babrogee\b|\babroges\b|\babrogees\b/.test(a);
|
|
999
|
+
if (t.action === "supprimer" || p) return n === "article" && i.length === 0 ? { kind: "delete_article" } : i.length >= 1 ? {
|
|
991
1000
|
kind: "delete",
|
|
992
|
-
targetText:
|
|
993
|
-
extraTargetTexts:
|
|
1001
|
+
targetText: i[0],
|
|
1002
|
+
extraTargetTexts: i.slice(1)
|
|
994
1003
|
} : { kind: "delete_portion" };
|
|
995
|
-
if (
|
|
1004
|
+
if (f && i.length >= 2) return {
|
|
996
1005
|
kind: "replace",
|
|
997
|
-
targetText:
|
|
998
|
-
replacementText:
|
|
1006
|
+
targetText: i[0],
|
|
1007
|
+
replacementText: i[1]
|
|
999
1008
|
};
|
|
1000
|
-
if (
|
|
1009
|
+
if (f && i.length === 1 && s) return {
|
|
1001
1010
|
kind: "replace_portion",
|
|
1002
|
-
replacementText:
|
|
1011
|
+
replacementText: i[0]
|
|
1003
1012
|
};
|
|
1004
|
-
if (
|
|
1005
|
-
if (
|
|
1013
|
+
if (d && i.length >= 2) {
|
|
1014
|
+
if (c) return {
|
|
1006
1015
|
kind: "insert_after",
|
|
1007
|
-
targetText:
|
|
1008
|
-
insertText:
|
|
1016
|
+
targetText: i[0],
|
|
1017
|
+
insertText: i[1]
|
|
1009
1018
|
};
|
|
1010
|
-
if (
|
|
1019
|
+
if (l) return {
|
|
1011
1020
|
kind: "insert_before",
|
|
1012
|
-
targetText:
|
|
1013
|
-
insertText:
|
|
1021
|
+
targetText: i[0],
|
|
1022
|
+
insertText: i[1]
|
|
1014
1023
|
};
|
|
1015
1024
|
}
|
|
1016
|
-
return
|
|
1025
|
+
return d && i.length === 1 ? c ? {
|
|
1017
1026
|
kind: "insert_after",
|
|
1018
1027
|
targetText: "",
|
|
1019
|
-
insertText:
|
|
1020
|
-
} :
|
|
1028
|
+
insertText: i[0]
|
|
1029
|
+
} : l ? {
|
|
1021
1030
|
kind: "insert_before",
|
|
1022
1031
|
targetText: "",
|
|
1023
|
-
insertText:
|
|
1032
|
+
insertText: i[0]
|
|
1024
1033
|
} : {
|
|
1025
1034
|
kind: "insert_after",
|
|
1026
1035
|
targetText: "",
|
|
1027
|
-
insertText:
|
|
1036
|
+
insertText: i[0]
|
|
1028
1037
|
} : null;
|
|
1029
1038
|
}
|
|
1030
1039
|
function Y({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText: i }) {
|
|
1031
|
-
let a = e.target ?? b(t), o =
|
|
1040
|
+
let a = e.target ?? b(t), o = Cn(t), s = i && n.start < i.length ? i.slice(n.start) : r, c = Yn(s), l = cr(r, e, a, c, c.map((e) => e.text));
|
|
1032
1041
|
if (!l) return null;
|
|
1033
1042
|
switch (l.kind) {
|
|
1034
1043
|
case "insert_after":
|
|
@@ -1062,7 +1071,7 @@ function Y({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText
|
|
|
1062
1071
|
sourceText: r
|
|
1063
1072
|
};
|
|
1064
1073
|
case "delete": {
|
|
1065
|
-
let e = c.map((e) =>
|
|
1074
|
+
let e = c.map((e) => Qn(s, e.start)), i = /* @__PURE__ */ new Map();
|
|
1066
1075
|
for (let [t, n] of c.entries()) i.has(n.text) || i.set(n.text, e[t] ?? null);
|
|
1067
1076
|
let u = [l.targetText, ...l.extraTargetTexts ?? []].filter((e) => e && e.trim().length > 0).filter((e, t, n) => n.indexOf(e) === t);
|
|
1068
1077
|
return u.length > 1 ? u.map((e) => ({
|
|
@@ -1104,7 +1113,7 @@ function Y({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText
|
|
|
1104
1113
|
default: return null;
|
|
1105
1114
|
}
|
|
1106
1115
|
}
|
|
1107
|
-
function
|
|
1116
|
+
function lr(e) {
|
|
1108
1117
|
let t = /\barticle\s+([0-9]+(?:-[0-9]+)?(?:\s*[A-Z])?(?:\s+[a-z]+)?)\b/i.exec(e);
|
|
1109
1118
|
if (!t || t.index === void 0) return null;
|
|
1110
1119
|
let n = t.index, r = t.index + t[0].length;
|
|
@@ -1123,22 +1132,22 @@ function cr(e) {
|
|
|
1123
1132
|
}
|
|
1124
1133
|
};
|
|
1125
1134
|
}
|
|
1126
|
-
function
|
|
1127
|
-
let n =
|
|
1135
|
+
function ur(e, t) {
|
|
1136
|
+
let n = C(e).output;
|
|
1128
1137
|
if (t.allowListExtraction) {
|
|
1129
1138
|
let e = qn(n);
|
|
1130
1139
|
if (e) return e;
|
|
1131
1140
|
}
|
|
1132
|
-
let r =
|
|
1133
|
-
if (r.length > 0 && (a = a.filter((e) =>
|
|
1134
|
-
let e =
|
|
1141
|
+
let r = $n(n), i = tr(n), a = s(new E(n));
|
|
1142
|
+
if (r.length > 0 && (a = a.filter((e) => !er(e.position, r))), a.length === 0 && (a = s(new E(i.split(",")[0] ?? i))), a.length === 0) {
|
|
1143
|
+
let e = lr(i);
|
|
1135
1144
|
e && (a = [{
|
|
1136
1145
|
...e.reference,
|
|
1137
1146
|
position: e.position
|
|
1138
1147
|
}]);
|
|
1139
1148
|
}
|
|
1140
1149
|
if (a.length === 1 && a[0]?.type === "article") {
|
|
1141
|
-
let e =
|
|
1150
|
+
let e = sr(i);
|
|
1142
1151
|
e && (a = [e]);
|
|
1143
1152
|
}
|
|
1144
1153
|
let o = [];
|
|
@@ -1170,7 +1179,7 @@ function lr(e, t) {
|
|
|
1170
1179
|
t && (Array.isArray(t) ? o.push(...t) : o.push(t));
|
|
1171
1180
|
}
|
|
1172
1181
|
if (o.length === 0) {
|
|
1173
|
-
let e =
|
|
1182
|
+
let e = lr(i);
|
|
1174
1183
|
if (e) {
|
|
1175
1184
|
let t = Y({
|
|
1176
1185
|
action: { action: "modifier" },
|
|
@@ -1184,14 +1193,14 @@ function lr(e, t) {
|
|
|
1184
1193
|
}
|
|
1185
1194
|
return o;
|
|
1186
1195
|
}
|
|
1187
|
-
function ur(e) {
|
|
1188
|
-
return lr(e, { allowListExtraction: !0 });
|
|
1189
|
-
}
|
|
1190
1196
|
function dr(e) {
|
|
1197
|
+
return ur(e, { allowListExtraction: !0 });
|
|
1198
|
+
}
|
|
1199
|
+
function fr(e) {
|
|
1191
1200
|
let t = W(e);
|
|
1192
1201
|
return t.includes("«") || t.includes("»") || !e.trim().endsWith(":") ? !1 : /\b(remplace|modifie|redige|rediges|redigee|redigees)\b/.test(t);
|
|
1193
1202
|
}
|
|
1194
|
-
function
|
|
1203
|
+
function pr(e, t) {
|
|
1195
1204
|
let n = [], r = !1, i = t + 1;
|
|
1196
1205
|
for (; i < e.length;) {
|
|
1197
1206
|
let t = e[i], a = G(t);
|
|
@@ -1205,28 +1214,28 @@ function fr(e, t) {
|
|
|
1205
1214
|
endIndex: i
|
|
1206
1215
|
};
|
|
1207
1216
|
}
|
|
1208
|
-
function
|
|
1209
|
-
let t =
|
|
1217
|
+
function mr(e) {
|
|
1218
|
+
let t = ot()(e).output.split("\n").map((e) => e.trim()).filter((e) => e.length > 0), n = [];
|
|
1210
1219
|
for (let e = 0; e < t.length; e += 1) {
|
|
1211
1220
|
let r = t[e];
|
|
1212
|
-
if (
|
|
1213
|
-
let r =
|
|
1221
|
+
if (fr(r)) {
|
|
1222
|
+
let r = pr(t, e);
|
|
1214
1223
|
if (r) {
|
|
1215
|
-
let t =
|
|
1224
|
+
let t = dr(r.combinedText);
|
|
1216
1225
|
if (t.length > 0) {
|
|
1217
1226
|
n.push(...t), e = r.endIndex;
|
|
1218
1227
|
continue;
|
|
1219
1228
|
}
|
|
1220
1229
|
}
|
|
1221
1230
|
}
|
|
1222
|
-
let i =
|
|
1231
|
+
let i = ur(r, { allowListExtraction: !1 });
|
|
1223
1232
|
i.length > 0 && n.push(...i);
|
|
1224
1233
|
}
|
|
1225
1234
|
return n;
|
|
1226
1235
|
}
|
|
1227
1236
|
//#endregion
|
|
1228
1237
|
//#region src/lib/json.ts
|
|
1229
|
-
var
|
|
1238
|
+
var hr = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
|
|
1230
1239
|
//#endregion
|
|
1231
1240
|
//#region src/lib/markdown.ts
|
|
1232
1241
|
function X(e) {
|
|
@@ -1234,11 +1243,11 @@ function X(e) {
|
|
|
1234
1243
|
}
|
|
1235
1244
|
//#endregion
|
|
1236
1245
|
//#region src/lib/linkers/markdown.ts
|
|
1237
|
-
async function
|
|
1238
|
-
let s =
|
|
1246
|
+
async function gr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previousContext: a, text: o }) {
|
|
1247
|
+
let s = C(o), c = new E(s.output);
|
|
1239
1248
|
c.currentArticle = a?.currentArticle, c.currentText = a?.currentText;
|
|
1240
1249
|
let l = o, u = 0;
|
|
1241
|
-
for await (let a of
|
|
1250
|
+
for await (let a of Ye({
|
|
1242
1251
|
canutesDb: e,
|
|
1243
1252
|
context: c,
|
|
1244
1253
|
date: t,
|
|
@@ -1249,7 +1258,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
|
|
|
1249
1258
|
let { articleId: e, originalTransformation: t } = a;
|
|
1250
1259
|
if (e !== void 0) {
|
|
1251
1260
|
if (t === void 0) throw Error(`Missing originalTransformation attribute in external article link: ${JSON.stringify(a, null, 2)}`);
|
|
1252
|
-
let o =
|
|
1261
|
+
let o = O(t, `[${X(n(l, t, u))}](${D(i, r, e)})`);
|
|
1253
1262
|
l = l.slice(0, t.position.start + u) + o + l.slice(t.position.stop + u), u += o.length - (t.position.stop - t.position.start);
|
|
1254
1263
|
}
|
|
1255
1264
|
break;
|
|
@@ -1258,7 +1267,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
|
|
|
1258
1267
|
let { originalTransformation: e, sectionTaId: t } = a;
|
|
1259
1268
|
if (t !== void 0) {
|
|
1260
1269
|
if (e === void 0) throw Error(`Missing originalTransformation attribute in external division link: ${JSON.stringify(a, null, 2)}`);
|
|
1261
|
-
let o =
|
|
1270
|
+
let o = O(e, `[${X(n(l, e, u))}](${D(i, r, t)})`);
|
|
1262
1271
|
l = l.slice(0, e.position.start + u) + o + l.slice(e.position.stop + u), u += o.length - (e.position.stop - e.position.start);
|
|
1263
1272
|
}
|
|
1264
1273
|
break;
|
|
@@ -1270,14 +1279,14 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
|
|
|
1270
1279
|
continue;
|
|
1271
1280
|
}
|
|
1272
1281
|
if (e === void 0) throw Error(`Missing originalTransformation attribute in external text link: ${JSON.stringify(a, null, 2)}`);
|
|
1273
|
-
let o =
|
|
1282
|
+
let o = O(e, `[${X(n(l, e, u))}](${D(i, r, t.cid)})`);
|
|
1274
1283
|
l = l.slice(0, e.position.start + u) + o + l.slice(e.position.stop + u), u += o.length - (e.position.stop - e.position.start);
|
|
1275
1284
|
break;
|
|
1276
1285
|
}
|
|
1277
1286
|
case "internal_article": {
|
|
1278
1287
|
let { definition: e, originalTransformation: t } = a;
|
|
1279
1288
|
if (t === void 0) throw Error(`Missing originalTransformation attribute in internal article link: ${JSON.stringify(a, null, 2)}`);
|
|
1280
|
-
let r =
|
|
1289
|
+
let r = O(t, `[${X(n(l, t, u))}](#definition_article_${e.textId}_${e.article.num.replaceAll(" ", "_")})`);
|
|
1281
1290
|
l = l.slice(0, t.position.start + u) + r + l.slice(t.position.stop + u), u += r.length - (t.position.stop - t.position.start);
|
|
1282
1291
|
break;
|
|
1283
1292
|
}
|
|
@@ -1285,7 +1294,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
|
|
|
1285
1294
|
let { url: e, originalTransformation: t } = a;
|
|
1286
1295
|
if (e === void 0) continue;
|
|
1287
1296
|
if (t === void 0) throw Error(`Missing originalTransformation attribute in european text link: ${JSON.stringify(a, null, 2)}`);
|
|
1288
|
-
let r =
|
|
1297
|
+
let r = O(t, `<a class="lien_texte_european" href="${e}" target="_blank">${n(l, t, u)}</a>`);
|
|
1289
1298
|
l = l.slice(0, t.position.start + u) + r + l.slice(t.position.stop + u), u += r.length - (t.position.stop - t.position.start);
|
|
1290
1299
|
break;
|
|
1291
1300
|
}
|
|
@@ -1298,7 +1307,7 @@ async function hr({ canutesDb: e, date: t, linkBaseUrl: r, linkType: i, previous
|
|
|
1298
1307
|
}
|
|
1299
1308
|
//#endregion
|
|
1300
1309
|
//#region src/lib/loaders/assemblee.ts
|
|
1301
|
-
async function
|
|
1310
|
+
async function _r(e, t, n) {
|
|
1302
1311
|
let r = t.get("Document");
|
|
1303
1312
|
r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r));
|
|
1304
1313
|
let i = r.get(n);
|
|
@@ -1308,7 +1317,7 @@ async function gr(e, t, n) {
|
|
|
1308
1317
|
WHERE uid = ${n}
|
|
1309
1318
|
`)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
|
|
1310
1319
|
}
|
|
1311
|
-
async function
|
|
1320
|
+
async function vr(e, t, n) {
|
|
1312
1321
|
let r = t.get("Document");
|
|
1313
1322
|
return r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r)), (await e`
|
|
1314
1323
|
SELECT data, uid
|
|
@@ -1316,7 +1325,7 @@ async function _r(e, t, n) {
|
|
|
1316
1325
|
WHERE dossier_uid = ${n}
|
|
1317
1326
|
`).map(({ data: e, uid: t }) => (r.set(t, e ?? null), e));
|
|
1318
1327
|
}
|
|
1319
|
-
async function
|
|
1328
|
+
async function yr(e, t, n) {
|
|
1320
1329
|
let r = t.get("DossierParlementaire");
|
|
1321
1330
|
r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("DossierParlementaire", r));
|
|
1322
1331
|
let i = r.get(n);
|
|
@@ -1328,15 +1337,15 @@ async function vr(e, t, n) {
|
|
|
1328
1337
|
}
|
|
1329
1338
|
//#endregion
|
|
1330
1339
|
//#region src/lib/text_parsers/search_queries.ts
|
|
1331
|
-
var
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
w(
|
|
1340
|
+
var br = x("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), Z = A([
|
|
1341
|
+
br,
|
|
1342
|
+
T($e, { default: "" }),
|
|
1343
|
+
w(jt, St)
|
|
1335
1344
|
], { value: (e, t) => ({
|
|
1336
1345
|
num: e[2],
|
|
1337
1346
|
position: t.position(),
|
|
1338
1347
|
type: "article"
|
|
1339
|
-
}) }),
|
|
1348
|
+
}) }), xr = w(x("c(?:ode|\\.)? ?civ(?:il)?", {
|
|
1340
1349
|
flags: "i",
|
|
1341
1350
|
value: (e, t) => ({
|
|
1342
1351
|
cid: "LEGITEXT000006070721",
|
|
@@ -1345,7 +1354,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1345
1354
|
title: "Code civil",
|
|
1346
1355
|
type: "texte"
|
|
1347
1356
|
})
|
|
1348
|
-
}),
|
|
1357
|
+
}), x("c(?:ode|\\.)? ?trav(?:ail)?", {
|
|
1349
1358
|
flags: "i",
|
|
1350
1359
|
value: (e, t) => ({
|
|
1351
1360
|
cid: "LEGITEXT000006072050",
|
|
@@ -1354,7 +1363,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1354
1363
|
title: "Code du travail",
|
|
1355
1364
|
type: "texte"
|
|
1356
1365
|
})
|
|
1357
|
-
}),
|
|
1366
|
+
}), x("c(?:ode|\\.)? ?p[eé]n(?:al)?", {
|
|
1358
1367
|
flags: "i",
|
|
1359
1368
|
value: (e, t) => ({
|
|
1360
1369
|
cid: "LEGITEXT000006070719",
|
|
@@ -1363,7 +1372,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1363
1372
|
title: "Code pénal",
|
|
1364
1373
|
type: "texte"
|
|
1365
1374
|
})
|
|
1366
|
-
}),
|
|
1375
|
+
}), x("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?p[eé]n(?:al)?|cpp", {
|
|
1367
1376
|
flags: "i",
|
|
1368
1377
|
value: (e, t) => ({
|
|
1369
1378
|
cid: "LEGITEXT000006071154",
|
|
@@ -1372,7 +1381,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1372
1381
|
title: "Code de procédure pénale",
|
|
1373
1382
|
type: "texte"
|
|
1374
1383
|
})
|
|
1375
|
-
}),
|
|
1384
|
+
}), x("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?civ(?:il)?|cpc", {
|
|
1376
1385
|
flags: "i",
|
|
1377
1386
|
value: (e, t) => ({
|
|
1378
1387
|
cid: "LEGITEXT000006070716",
|
|
@@ -1381,7 +1390,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1381
1390
|
title: "Code de procédure civile",
|
|
1382
1391
|
type: "texte"
|
|
1383
1392
|
})
|
|
1384
|
-
}),
|
|
1393
|
+
}), x("c(?:ode|\\.)? ?s[eé]cur(?:it[eé])? ?soc(?:iale)?|css", {
|
|
1385
1394
|
flags: "i",
|
|
1386
1395
|
value: (e, t) => ({
|
|
1387
1396
|
cid: "LEGITEXT000006073189",
|
|
@@ -1390,7 +1399,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1390
1399
|
title: "Code de la sécurité sociale",
|
|
1391
1400
|
type: "texte"
|
|
1392
1401
|
})
|
|
1393
|
-
}),
|
|
1402
|
+
}), x("c(?:ode|\\.)? ?rur(?:al)?(?: et de la p[êe]che maritime)?", {
|
|
1394
1403
|
flags: "i",
|
|
1395
1404
|
value: (e, t) => ({
|
|
1396
1405
|
cid: "LEGITEXT000006071367",
|
|
@@ -1399,7 +1408,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1399
1408
|
title: "Code rural et de la pêche maritime",
|
|
1400
1409
|
type: "texte"
|
|
1401
1410
|
})
|
|
1402
|
-
}),
|
|
1411
|
+
}), x("c(?:ode|\\.)? ?env(?:ironnement)?", {
|
|
1403
1412
|
flags: "i",
|
|
1404
1413
|
value: (e, t) => ({
|
|
1405
1414
|
cid: "LEGITEXT000006074220",
|
|
@@ -1408,7 +1417,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1408
1417
|
title: "Code de l'environnement",
|
|
1409
1418
|
type: "texte"
|
|
1410
1419
|
})
|
|
1411
|
-
}),
|
|
1420
|
+
}), x("c(?:ode|\\.)? ?urb(?:anisme)?", {
|
|
1412
1421
|
flags: "i",
|
|
1413
1422
|
value: (e, t) => ({
|
|
1414
1423
|
cid: "LEGITEXT000006074075",
|
|
@@ -1417,7 +1426,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1417
1426
|
title: "Code de l'urbanisme",
|
|
1418
1427
|
type: "texte"
|
|
1419
1428
|
})
|
|
1420
|
-
}),
|
|
1429
|
+
}), x("c(?:ode|\\.)? ?jus(?:tice)? ?adm(?:in(?:istrative)?)?|cja", {
|
|
1421
1430
|
flags: "i",
|
|
1422
1431
|
value: (e, t) => ({
|
|
1423
1432
|
cid: "LEGITEXT000006070933",
|
|
@@ -1426,7 +1435,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1426
1435
|
title: "Code de justice administrative",
|
|
1427
1436
|
type: "texte"
|
|
1428
1437
|
})
|
|
1429
|
-
}),
|
|
1438
|
+
}), x("cgi", {
|
|
1430
1439
|
flags: "i",
|
|
1431
1440
|
value: (e, t) => ({
|
|
1432
1441
|
cid: "LEGITEXT000006069577",
|
|
@@ -1435,7 +1444,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1435
1444
|
title: "Code général des impôts",
|
|
1436
1445
|
type: "texte"
|
|
1437
1446
|
})
|
|
1438
|
-
}),
|
|
1447
|
+
}), x("c(?:ode|\\.)? ?com(?:merce)?", {
|
|
1439
1448
|
flags: "i",
|
|
1440
1449
|
value: (e, t) => ({
|
|
1441
1450
|
cid: "LEGITEXT000005634379",
|
|
@@ -1444,27 +1453,27 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1444
1453
|
title: "Code de commerce",
|
|
1445
1454
|
type: "texte"
|
|
1446
1455
|
})
|
|
1447
|
-
})), Q = w(
|
|
1456
|
+
})), Q = w(xr, tn(le, { value: (e, t) => e === void 0 ? void 0 : {
|
|
1448
1457
|
...e,
|
|
1449
1458
|
position: t.position()
|
|
1450
|
-
} }),
|
|
1459
|
+
} }), tn(te, { value: (e, t) => ({
|
|
1451
1460
|
...e,
|
|
1452
1461
|
position: t.position()
|
|
1453
|
-
}) })), $ =
|
|
1462
|
+
}) })), $ = T(x(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), Sr = x(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
|
|
1454
1463
|
flags: "i",
|
|
1455
1464
|
value: (e, t) => ({
|
|
1456
1465
|
type: "texte",
|
|
1457
1466
|
title: e[0].trim(),
|
|
1458
1467
|
position: t.position()
|
|
1459
1468
|
})
|
|
1460
|
-
}),
|
|
1469
|
+
}), Cr = x(".+", {
|
|
1461
1470
|
flags: "i",
|
|
1462
1471
|
value: (e, t) => ({
|
|
1463
1472
|
type: "texte",
|
|
1464
1473
|
title: e[0].trim(),
|
|
1465
1474
|
position: t.position()
|
|
1466
1475
|
})
|
|
1467
|
-
}),
|
|
1476
|
+
}), wr = w(A([
|
|
1468
1477
|
Q,
|
|
1469
1478
|
$,
|
|
1470
1479
|
Z
|
|
@@ -1476,7 +1485,7 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1476
1485
|
position: t.position(),
|
|
1477
1486
|
type: "parent-enfant"
|
|
1478
1487
|
};
|
|
1479
|
-
} }),
|
|
1488
|
+
} }), A([
|
|
1480
1489
|
Z,
|
|
1481
1490
|
$,
|
|
1482
1491
|
Q
|
|
@@ -1485,8 +1494,8 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1485
1494
|
parent: e[2],
|
|
1486
1495
|
position: t.position(),
|
|
1487
1496
|
type: "parent-enfant"
|
|
1488
|
-
}) }),
|
|
1489
|
-
|
|
1497
|
+
}) }), A([
|
|
1498
|
+
Sr,
|
|
1490
1499
|
$,
|
|
1491
1500
|
Z
|
|
1492
1501
|
], { value: (e, t) => {
|
|
@@ -1497,25 +1506,25 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1497
1506
|
position: t.position(),
|
|
1498
1507
|
type: "parent-enfant"
|
|
1499
1508
|
};
|
|
1500
|
-
} }),
|
|
1509
|
+
} }), A([
|
|
1501
1510
|
Z,
|
|
1502
1511
|
$,
|
|
1503
|
-
|
|
1512
|
+
Cr
|
|
1504
1513
|
], { value: (e, t) => ({
|
|
1505
1514
|
child: e[0],
|
|
1506
1515
|
parent: e[2],
|
|
1507
1516
|
position: t.position(),
|
|
1508
1517
|
type: "parent-enfant"
|
|
1509
|
-
}) }), Z, Q,
|
|
1518
|
+
}) }), Z, Q, Cr), Tr = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.?$/, "").replace(/\.$/, ""), Er = (e) => {
|
|
1510
1519
|
let t = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1511
1520
|
return t === void 0 || ["2222-02-22", "2999-01-01"].includes(t) ? e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_PUBLI : t;
|
|
1512
|
-
},
|
|
1521
|
+
}, Dr = (e) => {
|
|
1513
1522
|
let t = e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_TEXTE;
|
|
1514
1523
|
if (!["2222-02-22", "2999-01-01"].includes(t)) return t;
|
|
1515
1524
|
let n = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1516
1525
|
if (n !== void 0 && !["2222-02-22", "2999-01-01"].includes(n)) return n;
|
|
1517
1526
|
throw Error(`Missing date signature in text ${e.META.META_COMMUN.ID}`);
|
|
1518
|
-
},
|
|
1527
|
+
}, Or = (e) => (t, n) => {
|
|
1519
1528
|
let r = e(t), i = e(n);
|
|
1520
1529
|
if (r !== i) return r.localeCompare(i);
|
|
1521
1530
|
let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
|
|
@@ -1524,6 +1533,6 @@ var yr = S("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
1524
1533
|
if (c === "JORF") return 1;
|
|
1525
1534
|
}
|
|
1526
1535
|
throw Error(`TODO: Unable to sort texts ${a.ID} & ${s.ID} by date.`);
|
|
1527
|
-
},
|
|
1536
|
+
}, kr = gr;
|
|
1528
1537
|
//#endregion
|
|
1529
|
-
export {
|
|
1538
|
+
export { E as TextParserContext, se as action, an as actionTargets, ge as addChildLeftToLastChild, Bt as addLinksOrReferencesToHtmlPage, Ct as addLinksToHtml, gr as addLinksToMarkdown, kr as addLinksToText, We as addPositionsToTableOfContentsItems, Ft as adjectifNumeralOrdinalCourt, je as adjectifTemporelSingulier, dt as adverbeMultiplicatifLatin, $t as adverbeRelatif, w as alternatives, zt as article, Ze as articles, v as assertNever, ut as auPortion, st as auxPortions, Sn as buildArticlePortionTreeFromHtml, A as chain, ke as chainTransformers, ze as citation, Le as citationLigne, Ve as citationSimple, Tr as cleanTexteTitle, o as compoundReferencesSeparators, tn as convert, Ut as convertHtmlElementsToText, Se as createEnumerationOrBoundedInterval, ee as createParentChildTreeFromReferences, tt as date, Qe as decodeNamedHtmlEntities, rt as decodeNumericHtmlEntities, yt as definitionArticleDansCitation, Gt as definitionArticleDansProjetOuPropositionLoi, Ht as definitionDivision, de as definitionTexteFrancais, et as designationArticle, Tt as designationDivision, h as ditPluriel, f as ditSingulier, It as division, S as divisionTypes, ft as divisions, Vt as duDate, $e as espace, Oe as espaceAdverbeRelatif, ie as europeanLawNatures, m as extendLoadedArticle, mr as extractActionDirectivesFromHtml, dr as extractActionDirectivesFromText, nt as extractBillDefinitions, qe as extractCitationReferences, Cn as extractPortionSelectors, Zt as extractReferences, De as extractReferencesWithOriginalTransformations, Ye as extractTextLinks, hn as formatLongDate, Ne as frenchLawNatures, ln as getArticleDateDebut, N as getArticleDateSignature, s as getExtractedReferences, Jt as getExtractedReferencesWithOriginalTransformations, Et as getExtractedTableOfContentsFromTextBill, d as getOrLoadArticle, un as getOrLoadArticleSiblingId, _r as getOrLoadDocument, vr as getOrLoadDocumentsByDossierParlementaireUid, yr as getOrLoadDossierParlementaire, ve as getOrLoadJo, k as getOrLoadSectionTa, r as getOrLoadSectionsTa, pt as getOrLoadTexteVersion, pe as getOrLoadTextelr, he as getOrLoadTextesVersions, xe as getOrLoadTexteslr, Er as getTexteVersionDateDebut, Dr as getTexteVersionDateSignature, Te as identificationTexteEuropeen, Ie as internationalLawNatures, ye as introPluriel, gt as introSingulier, ne as isTextAstAtomicReference, ue as isTextAstDivision, Nt as isTextAstPortion, oe as iterAtomicFirstParentReferences, y as iterAtomicReferences, Ee as iterIncludedReferences, _t as iterReferenceLinks, hr as jsonReplacer, ce as lawNatures, it as lettreAscii, i as liaisonPluriel, mt as liaisonSingulier, Pt as linkTypes, at as listeArticles, fe as listeReferencesSeules, _ as loadArticles, Be as localizationAdverbs, Ke as natureDivisionSingulier, rn as natureTexteFrancais, He as newAssembleeObjectCache, we as newLegifranceObjectCache, t as newObjectCache, p as newReverseTransformationsMergedFromPositionsIterator, jt as nomArticle, St as nomSpecialArticle, Dt as nombreAsTextAstNumber, Rt as nombreCardinal, Xe as nombreRomainCardinal, vt as nombreRomainOrdinal, Wt as nombreRomainOu0iAsTextAstNumber, At as nonLettre, xt as numero, Ot as numeroDivision, a as numeroEtOuDateTexteFrancais, Ue as numeroPortion, Pe as numeroTexteEuropeen, re as numeroTexteFrancais, T as optional, Me as optionalEspaceDuTerritoire, Qt as parseText, Re as portionTypes, nn as portions, me as reference, be as referenceSeule, x as regExp, l as relatifPlurielPrepose, Xt as relatifSingulierPrepose, c as repeat, kt as replaceHtmlPatterns, bt as replacePattern, ct as replaceTextPatterns, U as resolvePortionSelector, u as reversePositionsSplitFromPositions, _e as reverseTransformationFromPosition, ht as reverseTransformationsMergedFromPositions, n as reverseTransformedInnerFragment, O as reverseTransformedReplacement, Z as searchArticle, br as searchArticleKeyword, wr as searchQueryReference, Q as searchTexte, xr as searchTexteAbbreviations, ot as simplifyHtml, C as simplifyPlainText, Kt as simplifyText, en as simplifyUnicodeCharacters, pn as sortArticlesByDate, Or as sortTextesVersionsByDate, Fe as texte, te as texteEuropeen, le as texteFrancais, Mt as texteInternational, Je as unePortion, g as uniteBasePreciseeSingulier, ae as uniteBaseSingulier, D as urlFromLegalId, Yt as variable, lt as virguleOuEspace, Lt as walkTableOfContents, Ae as wordsTree };
|