@tricoteuses/tisseuse 0.14.16 → 0.14.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -1
- package/dist/{html-DA1zf9Pf.js → html-DN3bob0k.js} +124 -64
- package/dist/index.js +139 -122
- package/dist/server.js +667 -667
- package/dist/src/lib/index.d.ts +1 -1
- package/dist/src/lib/linkers/cited-article.test.d.ts +1 -0
- package/dist/src/lib/links.d.ts +7 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as e,
|
|
2
|
-
import { $ as dt, A as ft, C as pt, D as mt, Dt as
|
|
1
|
+
import { $ as e, At as t, B as n, Bt as r, C as i, Ct as a, Dt as o, F as s, Ft as c, G as l, Gt as u, H as d, Ht as f, I as p, It as m, J as ee, K as te, Kt as ne, L as re, Lt as ie, M as ae, Mt as oe, N as se, Nt as ce, Ot as le, P as ue, Pt as de, Q as fe, R as pe, Rt as me, St as he, Tt as ge, U as _e, Ut as ve, V as ye, Vt as be, W as xe, Wt as Se, X as Ce, Y as we, _ as Te, _t as Ee, a as h, at as De, bt as Oe, c as ke, ct as Ae, d as g, dt as je, et as Me, f as Ne, ft as Pe, g as Fe, gt as Ie, h as Le, ht as Re, i as ze, it as Be, j as Ve, jt as He, kt as Ue, l as We, lt as Ge, mt as Ke, n as qe, nt as Je, o as _, ot as Ye, p as Xe, pt as Ze, q as Qe, r as v, s as $e, st as et, t as tt, tt as nt, u as rt, ut as it, v as at, vt as y, wt as ot, xt as st, y as ct, yt as b, z as lt, zt as ut } from "./html-DN3bob0k.js";
|
|
2
|
+
import { $ as dt, A as ft, C as pt, D as mt, Dt as x, E as ht, Et as S, F as gt, Ft as _t, H as vt, I as yt, It as bt, J as xt, K as St, L as C, Lt as w, M as Ct, Mt as wt, N as Tt, Nt as T, O as Et, Ot as E, P as Dt, Pt as Ot, Q as kt, R as D, S as At, St as jt, T as Mt, Tt as O, V as Nt, W as Pt, X as Ft, Y as It, Z as Lt, _ as Rt, b as k, bt as zt, c as Bt, ct as Vt, d as Ht, dt as Ut, et as A, f as Wt, ft as Gt, g as Kt, h as qt, j as Jt, jt as j, k as M, l as Yt, m as Xt, mt as Zt, n as Qt, ot as $t, p as en, pt as tn, q as nn, r as rn, rt as an, s as on, t as sn, tt as cn, u as ln, ut as un, v as dn, vt as N, w as fn, wt as pn, x as mn, xt as hn, y as P } from "./resolver-CuP8arVX.js";
|
|
3
3
|
//#region ../../node_modules/@tricoteuses/legifrance/dist/legal/index.js
|
|
4
4
|
function gn(e, t) {
|
|
5
5
|
if (e != null) {
|
|
@@ -10,10 +10,10 @@ function gn(e, t) {
|
|
|
10
10
|
}
|
|
11
11
|
//#endregion
|
|
12
12
|
//#region src/lib/loaders/legifrance.ts
|
|
13
|
-
function
|
|
13
|
+
function F({ data: e, num: t }) {
|
|
14
14
|
return t !== null && (e.num = t), e;
|
|
15
15
|
}
|
|
16
|
-
async function
|
|
16
|
+
async function I(e, t, n) {
|
|
17
17
|
let r = t.get("ARTICLE");
|
|
18
18
|
r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("ARTICLE", r));
|
|
19
19
|
let i = r.get(n);
|
|
@@ -21,7 +21,7 @@ async function F(e, t, n) {
|
|
|
21
21
|
SELECT data, num
|
|
22
22
|
FROM legifrance.article
|
|
23
23
|
WHERE id = ${n}
|
|
24
|
-
`).map(
|
|
24
|
+
`).map(F)[0], r.set(n, i ?? null)), i ?? void 0;
|
|
25
25
|
}
|
|
26
26
|
async function _n(e, t, n) {
|
|
27
27
|
let r = t.get("JO");
|
|
@@ -34,7 +34,7 @@ async function _n(e, t, n) {
|
|
|
34
34
|
WHERE id = ${n}
|
|
35
35
|
`)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
|
|
36
36
|
}
|
|
37
|
-
async function
|
|
37
|
+
async function L(e, t, n) {
|
|
38
38
|
let r = t.get("SECTION_TA");
|
|
39
39
|
r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("SECTION_TA", r));
|
|
40
40
|
let i = r.get(n);
|
|
@@ -131,65 +131,65 @@ async function wn(e, t, n) {
|
|
|
131
131
|
SELECT data, num
|
|
132
132
|
FROM legifrance.article
|
|
133
133
|
${n}
|
|
134
|
-
`).map(
|
|
134
|
+
`).map(F)) r.set(t.META.META_COMMUN.ID, t), i.push(t);
|
|
135
135
|
return i;
|
|
136
136
|
}
|
|
137
137
|
//#endregion
|
|
138
138
|
//#region src/lib/articles.ts
|
|
139
|
-
var
|
|
140
|
-
function R(e) {
|
|
141
|
-
return [e, ...e.TM === void 0 ? [] : R(e.TM)];
|
|
142
|
-
}
|
|
139
|
+
var R = ["2222-02-22", "2999-01-01"];
|
|
143
140
|
function z(e) {
|
|
144
|
-
return e
|
|
141
|
+
return [e, ...e.TM === void 0 ? [] : z(e.TM)];
|
|
142
|
+
}
|
|
143
|
+
function B(e) {
|
|
144
|
+
return e !== void 0 && R.includes(e);
|
|
145
145
|
}
|
|
146
146
|
function Tn({ dateDebut: e, sourceDateDebut: t, sourceDateFin: n }) {
|
|
147
|
-
return t !== void 0 && n !== void 0 && !
|
|
147
|
+
return t !== void 0 && n !== void 0 && !B(t) && !B(n) && n <= t ? "never_effective" : e === void 0 || B(e) ? "unknown" : n === "2999-01-01" ? "open_ended" : n === void 0 || B(n) ? "unknown" : n > e ? "dated" : "unknown";
|
|
148
148
|
}
|
|
149
149
|
var En = (e) => {
|
|
150
150
|
if (e !== void 0) for (let t = 0; t < e.length; ++t) {
|
|
151
|
-
let n =
|
|
151
|
+
let n = A(new O(e, t));
|
|
152
152
|
if (typeof n == "string") return n;
|
|
153
153
|
}
|
|
154
|
-
},
|
|
154
|
+
}, V = (e) => (e === void 0 ? [] : Array.isArray(e) ? e : [e]).map((e) => En(e["#text"])).find((e) => e !== void 0), Dn = (e) => {
|
|
155
155
|
let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
|
|
156
|
-
if (t !== void 0 && !
|
|
157
|
-
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 ? [] :
|
|
156
|
+
if (t !== void 0 && !R.includes(t)) return t;
|
|
157
|
+
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 ? [] : z(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !R.includes(e));
|
|
158
158
|
if (i.length > 0) return i.sort().at(-1);
|
|
159
159
|
let a = n["@date_publi"];
|
|
160
|
-
if (a !== void 0 && !
|
|
160
|
+
if (a !== void 0 && !R.includes(a)) return a;
|
|
161
161
|
let o = n["@date_signature"];
|
|
162
|
-
if (o !== void 0 && !
|
|
162
|
+
if (o !== void 0 && !R.includes(o)) return o;
|
|
163
163
|
let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
|
|
164
|
-
if (s !== void 0 && !
|
|
165
|
-
let c =
|
|
164
|
+
if (s !== void 0 && !R.includes(s)) return s;
|
|
165
|
+
let c = V(r);
|
|
166
166
|
if (c !== void 0) return c;
|
|
167
|
-
if (
|
|
167
|
+
if (R.includes(t ?? "")) return t;
|
|
168
168
|
throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
|
|
169
|
-
},
|
|
169
|
+
}, H = (e) => {
|
|
170
170
|
let t = e.META.META_SPEC.META_ARTICLE.DATE_DEBUT;
|
|
171
|
-
if (t !== void 0 && !
|
|
171
|
+
if (t !== void 0 && !R.includes(t)) return t;
|
|
172
172
|
let n = e.CONTEXTE.TEXTE, r = n["@date_signature"];
|
|
173
|
-
if (r !== void 0 && !
|
|
173
|
+
if (r !== void 0 && !R.includes(r)) return r;
|
|
174
174
|
let i = n["@date_publi"];
|
|
175
|
-
if (i !== void 0 && !
|
|
176
|
-
let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] :
|
|
175
|
+
if (i !== void 0 && !R.includes(i)) return i;
|
|
176
|
+
let a = n.TITRE_TXT, o = [...a === void 0 ? [] : (Array.isArray(a) ? a : [a]).map((e) => e["@debut"]), ...n.TM === void 0 ? [] : z(n.TM).map((e) => (Array.isArray(e.TITRE_TM) ? e.TITRE_TM : [e.TITRE_TM]).map((e) => e["@debut"])).flat()].filter((e) => !R.includes(e));
|
|
177
177
|
if (o.length > 0) return o.sort().at(-1);
|
|
178
178
|
let s = e.META.META_SPEC.META_ARTICLE.DATE_FIN;
|
|
179
|
-
if (s !== void 0 && !
|
|
180
|
-
let c =
|
|
179
|
+
if (s !== void 0 && !R.includes(s)) return s;
|
|
180
|
+
let c = V(a);
|
|
181
181
|
if (c !== void 0) return c;
|
|
182
|
-
if (
|
|
182
|
+
if (R.includes(t ?? "")) return t;
|
|
183
183
|
throw Error(`Missing date signature in article ${e.META.META_COMMUN.ID}`);
|
|
184
184
|
};
|
|
185
185
|
async function On(e, t, n, r) {
|
|
186
|
-
let i = await
|
|
186
|
+
let i = await I(e, t, n);
|
|
187
187
|
if (i === void 0) return;
|
|
188
|
-
let a =
|
|
188
|
+
let a = H(i), o = i.META.META_COMMUN.ORIGINE;
|
|
189
189
|
if (o === "KALI") return;
|
|
190
190
|
let s = i.CONTEXTE.TEXTE;
|
|
191
191
|
if (s.TM === void 0) return;
|
|
192
|
-
let c =
|
|
192
|
+
let c = z(s.TM).reverse(), l;
|
|
193
193
|
switch (o) {
|
|
194
194
|
case "JORF":
|
|
195
195
|
l = c.map((e) => e.TITRE_TM["@id"]);
|
|
@@ -197,14 +197,14 @@ async function On(e, t, n, r) {
|
|
|
197
197
|
case "LEGI":
|
|
198
198
|
l = c.map((e) => gn(e.TITRE_TM, a)?.["@id"]);
|
|
199
199
|
break;
|
|
200
|
-
default:
|
|
200
|
+
default: w("getOrLoadArticleSiblingId origine", o);
|
|
201
201
|
}
|
|
202
|
-
return await (r === -1 ?
|
|
202
|
+
return await (r === -1 ? q : K)(e, t, n, a, i.num, l);
|
|
203
203
|
}
|
|
204
|
-
async function
|
|
204
|
+
async function U(e, t, n, r, i, a) {
|
|
205
205
|
let o = r[n];
|
|
206
206
|
if (o === void 0) {
|
|
207
|
-
let s = await
|
|
207
|
+
let s = await L(e, t, n);
|
|
208
208
|
if (s === void 0) return;
|
|
209
209
|
let c = s.STRUCTURE_TA;
|
|
210
210
|
if (c === void 0) return;
|
|
@@ -232,8 +232,8 @@ async function H(e, t, n, r, i, a) {
|
|
|
232
232
|
}
|
|
233
233
|
return o;
|
|
234
234
|
}
|
|
235
|
-
async function
|
|
236
|
-
let r = await
|
|
235
|
+
async function W(e, t, n) {
|
|
236
|
+
let r = await L(e, t, n);
|
|
237
237
|
if (r === void 0) return;
|
|
238
238
|
let i = r.STRUCTURE_TA;
|
|
239
239
|
if (i === void 0) return;
|
|
@@ -241,26 +241,26 @@ async function U(e, t, n) {
|
|
|
241
241
|
if (a !== void 0) return a[0]["@id"];
|
|
242
242
|
let o = i.LIEN_SECTION_TA;
|
|
243
243
|
if (o !== void 0) for (let n of o) {
|
|
244
|
-
let r = await
|
|
244
|
+
let r = await W(e, t, n["@id"]);
|
|
245
245
|
if (r !== void 0) return r;
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
|
-
async function
|
|
249
|
-
let r = await
|
|
248
|
+
async function G(e, t, n) {
|
|
249
|
+
let r = await L(e, t, n);
|
|
250
250
|
if (r === void 0) return;
|
|
251
251
|
let i = r.STRUCTURE_TA;
|
|
252
252
|
if (i === void 0) return;
|
|
253
253
|
let a = i.LIEN_SECTION_TA;
|
|
254
254
|
if (a !== void 0) for (let n of a.toReversed()) {
|
|
255
|
-
let r = await
|
|
255
|
+
let r = await G(e, t, n["@id"]);
|
|
256
256
|
if (r !== void 0) return r;
|
|
257
257
|
}
|
|
258
258
|
return i.LIEN_ART?.at(-1)?.["@id"];
|
|
259
259
|
}
|
|
260
|
-
async function
|
|
260
|
+
async function K(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
261
261
|
let l = a[o];
|
|
262
262
|
if (l === void 0) return;
|
|
263
|
-
let u = await
|
|
263
|
+
let u = await U(e, t, l, s, n, c);
|
|
264
264
|
if (u === void 0) return;
|
|
265
265
|
let { area: d, index: f, sectionTa: p } = u, m = p.STRUCTURE_TA;
|
|
266
266
|
switch (d) {
|
|
@@ -269,32 +269,32 @@ async function G(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
|
269
269
|
for (let n = f + 1; n < c.length; n++) {
|
|
270
270
|
let a = c[n];
|
|
271
271
|
if (a["@num"] !== i) {
|
|
272
|
-
let n = await
|
|
273
|
-
if (n !== void 0 &&
|
|
272
|
+
let n = await I(e, t, a["@id"]);
|
|
273
|
+
if (n !== void 0 && H(n) <= r) return a["@id"];
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
276
|
let u = m.LIEN_SECTION_TA;
|
|
277
277
|
if (u !== void 0) for (let n of u) {
|
|
278
|
-
let r = await
|
|
278
|
+
let r = await W(e, t, n["@id"]);
|
|
279
279
|
if (r !== void 0) return r;
|
|
280
280
|
}
|
|
281
|
-
return await
|
|
281
|
+
return await K(e, t, n, r, i, a, o + 1, s, l);
|
|
282
282
|
}
|
|
283
283
|
case "LIEN_SECTION_TA": {
|
|
284
284
|
let c = m.LIEN_SECTION_TA;
|
|
285
285
|
for (let n = f + 1; n < c.length; n++) {
|
|
286
|
-
let r = await
|
|
286
|
+
let r = await W(e, t, c[n]["@id"]);
|
|
287
287
|
if (r !== void 0) return r;
|
|
288
288
|
}
|
|
289
|
-
return await
|
|
289
|
+
return await K(e, t, n, r, i, a, o + 1, s, l);
|
|
290
290
|
}
|
|
291
|
-
default:
|
|
291
|
+
default: w("moveToNextArticleId area", d);
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
|
-
async function
|
|
294
|
+
async function q(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
295
295
|
let l = a[o];
|
|
296
296
|
if (l === void 0) return;
|
|
297
|
-
let u = await
|
|
297
|
+
let u = await U(e, t, l, s, n, c);
|
|
298
298
|
if (u === void 0) return;
|
|
299
299
|
let { area: d, index: f, sectionTa: p } = u, m = p.STRUCTURE_TA;
|
|
300
300
|
switch (d) {
|
|
@@ -303,21 +303,21 @@ async function K(e, t, n, r, i, a, o = 0, s = {}, c = void 0) {
|
|
|
303
303
|
for (let n = f - 1; n >= 0; n--) {
|
|
304
304
|
let a = c[n];
|
|
305
305
|
if (a["@num"] !== i) {
|
|
306
|
-
let n = await
|
|
307
|
-
if (n !== void 0 &&
|
|
306
|
+
let n = await I(e, t, a["@id"]);
|
|
307
|
+
if (n !== void 0 && H(n) <= r) return a["@id"];
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
|
-
return await
|
|
310
|
+
return await q(e, t, n, r, i, a, o + 1, s, l);
|
|
311
311
|
}
|
|
312
312
|
case "LIEN_SECTION_TA": {
|
|
313
313
|
for (let n = f - 1; n >= 0; n--) {
|
|
314
|
-
let r = await
|
|
314
|
+
let r = await G(e, t, m.LIEN_SECTION_TA[n]["@id"]);
|
|
315
315
|
if (r !== void 0) return r;
|
|
316
316
|
}
|
|
317
317
|
let c = m.LIEN_ART;
|
|
318
|
-
return c === void 0 ? await
|
|
318
|
+
return c === void 0 ? await q(e, t, n, r, i, a, o + 1, s, l) : (u.area = "LIEN_ART", u.index = c.length, await q(e, t, n, r, i, a, o, s));
|
|
319
319
|
}
|
|
320
|
-
default:
|
|
320
|
+
default: w("moveToPreviousArticleId area", d);
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
323
|
var kn = (e) => (t, n) => {
|
|
@@ -339,16 +339,16 @@ var kn = (e) => (t, n) => {
|
|
|
339
339
|
if (m <= i) return 1;
|
|
340
340
|
}
|
|
341
341
|
throw Error(`TODO: Unable to sort articles ${a.ID} & ${s.ID} by date.`);
|
|
342
|
-
},
|
|
343
|
-
assemblee:
|
|
344
|
-
legifrance:
|
|
345
|
-
}),
|
|
346
|
-
function
|
|
347
|
-
return
|
|
342
|
+
}, J = () => /* @__PURE__ */ new Map(), An = () => /* @__PURE__ */ new Map(), jn = () => ({
|
|
343
|
+
assemblee: J(),
|
|
344
|
+
legifrance: An()
|
|
345
|
+
}), Mn = new Intl.DateTimeFormat("fr-FR", { dateStyle: "long" });
|
|
346
|
+
function Nn(e) {
|
|
347
|
+
return Mn.format(new Date(e)).replace(/^1 /, "1er ");
|
|
348
348
|
}
|
|
349
349
|
//#endregion
|
|
350
350
|
//#region src/lib/json.ts
|
|
351
|
-
var
|
|
351
|
+
var Pn = (e, t) => t instanceof Object && !Array.isArray(t) ? Object.keys(t).sort().reduce((e, n) => (e[n] = t[n], e), {}) : t;
|
|
352
352
|
//#endregion
|
|
353
353
|
//#region src/lib/markdown.ts
|
|
354
354
|
function Y(e) {
|
|
@@ -356,14 +356,14 @@ function Y(e) {
|
|
|
356
356
|
}
|
|
357
357
|
//#endregion
|
|
358
358
|
//#region src/lib/linkers/markdown.ts
|
|
359
|
-
async function
|
|
360
|
-
let s = t ?? (e === void 0 ? void 0 : new
|
|
359
|
+
async function Fn({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkType: i, previousContext: a, text: o }) {
|
|
360
|
+
let s = t ?? (e === void 0 ? void 0 : new Xe(e));
|
|
361
361
|
if (s === void 0) throw Error("A Canutes database or legal resolver is required");
|
|
362
362
|
await s.preloadTextTitlesInfos();
|
|
363
|
-
let c =
|
|
363
|
+
let c = M(o), l = new O(c.output);
|
|
364
364
|
l.currentArticle = a?.currentArticle, l.currentText = a?.currentText;
|
|
365
365
|
let u = o, d = 0;
|
|
366
|
-
for await (let e of
|
|
366
|
+
for await (let e of g({
|
|
367
367
|
legiResolver: s,
|
|
368
368
|
context: l,
|
|
369
369
|
date: n,
|
|
@@ -371,10 +371,10 @@ async function X({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkT
|
|
|
371
371
|
})) switch (e.type) {
|
|
372
372
|
case "article_definition": break;
|
|
373
373
|
case "external_article": {
|
|
374
|
-
let { articleId: t, historyArticleId: n, originalTransformation: a } = e, o = t === void 0 ? n === void 0 ? void 0 :
|
|
374
|
+
let { articleId: t, historyArticleId: n, originalTransformation: a } = e, o = t === void 0 ? n === void 0 ? void 0 : h(i, r, n) : _(i, r, t);
|
|
375
375
|
if (o !== void 0) {
|
|
376
376
|
if (a === void 0) throw Error(`Missing originalTransformation attribute in external article link: ${JSON.stringify(e, null, 2)}`);
|
|
377
|
-
let t =
|
|
377
|
+
let t = D(a, `[${Y(C(u, a, d))}](${o})`);
|
|
378
378
|
u = u.slice(0, a.position.start + d) + t + u.slice(a.position.stop + d), d += t.length - (a.position.stop - a.position.start);
|
|
379
379
|
}
|
|
380
380
|
break;
|
|
@@ -383,26 +383,43 @@ async function X({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkT
|
|
|
383
383
|
let { originalTransformation: t, sectionTaId: n } = e;
|
|
384
384
|
if (n !== void 0) {
|
|
385
385
|
if (t === void 0) throw Error(`Missing originalTransformation attribute in external division link: ${JSON.stringify(e, null, 2)}`);
|
|
386
|
-
let a =
|
|
386
|
+
let a = D(t, `[${Y(C(u, t, d))}](${_(i, r, n)})`);
|
|
387
387
|
u = u.slice(0, t.position.start + d) + a + u.slice(t.position.stop + d), d += a.length - (t.position.stop - t.position.start);
|
|
388
388
|
}
|
|
389
389
|
break;
|
|
390
390
|
}
|
|
391
391
|
case "external_text": {
|
|
392
|
-
let { originalTransformation: t, text:
|
|
393
|
-
if (
|
|
394
|
-
|
|
392
|
+
let { originalTransformation: t, text: a } = e;
|
|
393
|
+
if (a.cid === void 0) {
|
|
394
|
+
a.relative !== 0 && console.error(`Link to text "${l.text(a.position)}" without CID: ${JSON.stringify(a, null, 2)}`);
|
|
395
395
|
continue;
|
|
396
396
|
}
|
|
397
397
|
if (t === void 0) throw Error(`Missing originalTransformation attribute in external text link: ${JSON.stringify(e, null, 2)}`);
|
|
398
|
-
let
|
|
399
|
-
|
|
398
|
+
let o = v(l.text(a.position)), c;
|
|
399
|
+
if (o !== void 0) {
|
|
400
|
+
let e = await s.getActiveArticlesByTextAndNum({
|
|
401
|
+
date: n,
|
|
402
|
+
num: o,
|
|
403
|
+
textId: a.cid
|
|
404
|
+
}), t = e.filter(({ dateDebut: e, dateFin: t }) => e <= n && t > n);
|
|
405
|
+
if (t.length === 1) c = _(i, r, t[0].id);
|
|
406
|
+
else if (e.length > 0) {
|
|
407
|
+
let e = await s.getArticleHistoryInfo({
|
|
408
|
+
num: o,
|
|
409
|
+
textId: a.cid
|
|
410
|
+
});
|
|
411
|
+
e !== void 0 && (c = h(i, r, e.articleId));
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
c === void 0 && (c = _(i, r, a.cid));
|
|
415
|
+
let f = D(t, `[${Y(C(u, t, d))}](${c})`);
|
|
416
|
+
u = u.slice(0, t.position.start + d) + f + u.slice(t.position.stop + d), d += f.length - (t.position.stop - t.position.start);
|
|
400
417
|
break;
|
|
401
418
|
}
|
|
402
419
|
case "internal_article": {
|
|
403
420
|
let { definition: t, originalTransformation: n } = e;
|
|
404
421
|
if (n === void 0) throw Error(`Missing originalTransformation attribute in internal article link: ${JSON.stringify(e, null, 2)}`);
|
|
405
|
-
let r =
|
|
422
|
+
let r = D(n, `[${Y(C(u, n, d))}](#definition_article_${t.textId}_${t.article.num.replaceAll(" ", "_")})`);
|
|
406
423
|
u = u.slice(0, n.position.start + d) + r + u.slice(n.position.stop + d), d += r.length - (n.position.stop - n.position.start);
|
|
407
424
|
break;
|
|
408
425
|
}
|
|
@@ -410,11 +427,11 @@ async function X({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkT
|
|
|
410
427
|
let { url: t, originalTransformation: n } = e;
|
|
411
428
|
if (t === void 0) continue;
|
|
412
429
|
if (n === void 0) throw Error(`Missing originalTransformation attribute in european text link: ${JSON.stringify(e, null, 2)}`);
|
|
413
|
-
let r =
|
|
430
|
+
let r = C(u, n, d), i = D(n, `<a class="lien_texte_european" href="${t}"${t.startsWith("/") ? "" : " target=\"_blank\""}>${r}</a>`);
|
|
414
431
|
u = u.slice(0, n.position.start + d) + i + u.slice(n.position.stop + d), d += i.length - (n.position.stop - n.position.start);
|
|
415
432
|
break;
|
|
416
433
|
}
|
|
417
|
-
default:
|
|
434
|
+
default: w("Link", e);
|
|
418
435
|
}
|
|
419
436
|
return {
|
|
420
437
|
context: l,
|
|
@@ -423,7 +440,7 @@ async function X({ canutesDb: e, legiResolver: t, date: n, linkBaseUrl: r, linkT
|
|
|
423
440
|
}
|
|
424
441
|
//#endregion
|
|
425
442
|
//#region src/lib/loaders/assemblee.ts
|
|
426
|
-
async function
|
|
443
|
+
async function In(e, t, n) {
|
|
427
444
|
let r = t.get("Document");
|
|
428
445
|
r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r));
|
|
429
446
|
let i = r.get(n);
|
|
@@ -433,7 +450,7 @@ async function Pn(e, t, n) {
|
|
|
433
450
|
WHERE uid = ${n}
|
|
434
451
|
`)[0]?.data, r.set(n, i ?? null)), i ?? void 0;
|
|
435
452
|
}
|
|
436
|
-
async function
|
|
453
|
+
async function Ln(e, t, n) {
|
|
437
454
|
let r = t.get("Document");
|
|
438
455
|
return r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("Document", r)), (await e`
|
|
439
456
|
SELECT data, uid
|
|
@@ -441,7 +458,7 @@ async function Fn(e, t, n) {
|
|
|
441
458
|
WHERE data ->> 'dossierRef' = ${n}
|
|
442
459
|
`).map(({ data: e, uid: t }) => (r.set(t, e ?? null), e));
|
|
443
460
|
}
|
|
444
|
-
async function
|
|
461
|
+
async function Rn(e, t, n) {
|
|
445
462
|
let r = t.get("DossierParlementaire");
|
|
446
463
|
r === void 0 && (r = /* @__PURE__ */ new Map(), t.set("DossierParlementaire", r));
|
|
447
464
|
let i = r.get(n);
|
|
@@ -453,15 +470,15 @@ async function In(e, t, n) {
|
|
|
453
470
|
}
|
|
454
471
|
//#endregion
|
|
455
472
|
//#region src/lib/text_parsers/search_queries.ts
|
|
456
|
-
var
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
473
|
+
var zn = T("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i" }), X = x([
|
|
474
|
+
zn,
|
|
475
|
+
j(N, { default: "" }),
|
|
476
|
+
S(y, b)
|
|
460
477
|
], { value: (e, t) => ({
|
|
461
478
|
num: e[2],
|
|
462
479
|
position: t.position(),
|
|
463
480
|
type: "article"
|
|
464
|
-
}) }),
|
|
481
|
+
}) }), Bn = S(T("c(?:ode|\\.)? ?civ(?:il)?", {
|
|
465
482
|
flags: "i",
|
|
466
483
|
value: (e, t) => ({
|
|
467
484
|
cid: "LEGITEXT000006070721",
|
|
@@ -470,7 +487,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
470
487
|
title: "Code civil",
|
|
471
488
|
type: "texte"
|
|
472
489
|
})
|
|
473
|
-
}),
|
|
490
|
+
}), T("c(?:ode|\\.)? ?trav(?:ail)?", {
|
|
474
491
|
flags: "i",
|
|
475
492
|
value: (e, t) => ({
|
|
476
493
|
cid: "LEGITEXT000006072050",
|
|
@@ -479,7 +496,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
479
496
|
title: "Code du travail",
|
|
480
497
|
type: "texte"
|
|
481
498
|
})
|
|
482
|
-
}),
|
|
499
|
+
}), T("c(?:ode|\\.)? ?p[eé]n(?:al)?", {
|
|
483
500
|
flags: "i",
|
|
484
501
|
value: (e, t) => ({
|
|
485
502
|
cid: "LEGITEXT000006070719",
|
|
@@ -488,7 +505,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
488
505
|
title: "Code pénal",
|
|
489
506
|
type: "texte"
|
|
490
507
|
})
|
|
491
|
-
}),
|
|
508
|
+
}), T("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?p[eé]n(?:al)?|cpp", {
|
|
492
509
|
flags: "i",
|
|
493
510
|
value: (e, t) => ({
|
|
494
511
|
cid: "LEGITEXT000006071154",
|
|
@@ -497,7 +514,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
497
514
|
title: "Code de procédure pénale",
|
|
498
515
|
type: "texte"
|
|
499
516
|
})
|
|
500
|
-
}),
|
|
517
|
+
}), T("c(?:ode|\\.)? ?pr(?:oc(?:[eé]dure)?)? ?civ(?:il)?|cpc", {
|
|
501
518
|
flags: "i",
|
|
502
519
|
value: (e, t) => ({
|
|
503
520
|
cid: "LEGITEXT000006070716",
|
|
@@ -506,7 +523,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
506
523
|
title: "Code de procédure civile",
|
|
507
524
|
type: "texte"
|
|
508
525
|
})
|
|
509
|
-
}),
|
|
526
|
+
}), T("c(?:ode|\\.)? ?s[eé]cur(?:it[eé])? ?soc(?:iale)?|css", {
|
|
510
527
|
flags: "i",
|
|
511
528
|
value: (e, t) => ({
|
|
512
529
|
cid: "LEGITEXT000006073189",
|
|
@@ -515,7 +532,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
515
532
|
title: "Code de la sécurité sociale",
|
|
516
533
|
type: "texte"
|
|
517
534
|
})
|
|
518
|
-
}),
|
|
535
|
+
}), T("c(?:ode|\\.)? ?rur(?:al)?(?: et de la p[êe]che maritime)?", {
|
|
519
536
|
flags: "i",
|
|
520
537
|
value: (e, t) => ({
|
|
521
538
|
cid: "LEGITEXT000006071367",
|
|
@@ -524,7 +541,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
524
541
|
title: "Code rural et de la pêche maritime",
|
|
525
542
|
type: "texte"
|
|
526
543
|
})
|
|
527
|
-
}),
|
|
544
|
+
}), T("c(?:ode|\\.)? ?env(?:ironnement)?", {
|
|
528
545
|
flags: "i",
|
|
529
546
|
value: (e, t) => ({
|
|
530
547
|
cid: "LEGITEXT000006074220",
|
|
@@ -533,7 +550,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
533
550
|
title: "Code de l'environnement",
|
|
534
551
|
type: "texte"
|
|
535
552
|
})
|
|
536
|
-
}),
|
|
553
|
+
}), T("c(?:ode|\\.)? ?urb(?:anisme)?", {
|
|
537
554
|
flags: "i",
|
|
538
555
|
value: (e, t) => ({
|
|
539
556
|
cid: "LEGITEXT000006074075",
|
|
@@ -542,7 +559,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
542
559
|
title: "Code de l'urbanisme",
|
|
543
560
|
type: "texte"
|
|
544
561
|
})
|
|
545
|
-
}),
|
|
562
|
+
}), T("c(?:ode|\\.)? ?jus(?:tice)? ?adm(?:in(?:istrative)?)?|cja", {
|
|
546
563
|
flags: "i",
|
|
547
564
|
value: (e, t) => ({
|
|
548
565
|
cid: "LEGITEXT000006070933",
|
|
@@ -551,7 +568,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
551
568
|
title: "Code de justice administrative",
|
|
552
569
|
type: "texte"
|
|
553
570
|
})
|
|
554
|
-
}),
|
|
571
|
+
}), T("cgi", {
|
|
555
572
|
flags: "i",
|
|
556
573
|
value: (e, t) => ({
|
|
557
574
|
cid: "LEGITEXT000006069577",
|
|
@@ -560,7 +577,7 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
560
577
|
title: "Code général des impôts",
|
|
561
578
|
type: "texte"
|
|
562
579
|
})
|
|
563
|
-
}),
|
|
580
|
+
}), T("c(?:ode|\\.)? ?com(?:merce)?", {
|
|
564
581
|
flags: "i",
|
|
565
582
|
value: (e, t) => ({
|
|
566
583
|
cid: "LEGITEXT000005634379",
|
|
@@ -569,30 +586,30 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
569
586
|
title: "Code de commerce",
|
|
570
587
|
type: "texte"
|
|
571
588
|
})
|
|
572
|
-
})),
|
|
589
|
+
})), Z = S(Bn, E(k, { value: (e, t) => e === void 0 ? void 0 : {
|
|
573
590
|
...e,
|
|
574
591
|
position: t.position()
|
|
575
|
-
} }),
|
|
592
|
+
} }), E(P, { value: (e, t) => ({
|
|
576
593
|
...e,
|
|
577
594
|
position: t.position()
|
|
578
|
-
}) })),
|
|
595
|
+
}) })), Q = j(T(" (?:du |de la |de l'|des |de |d')?", { flags: "i" }), { default: "" }), Vn = T(".+?(?=\\s*(?:du |de la |de l'|des |de |d')?\\s*(?:art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?))", {
|
|
579
596
|
flags: "i",
|
|
580
597
|
value: (e, t) => ({
|
|
581
598
|
type: "texte",
|
|
582
599
|
title: e[0].trim(),
|
|
583
600
|
position: t.position()
|
|
584
601
|
})
|
|
585
|
-
}),
|
|
602
|
+
}), $ = T(".+", {
|
|
586
603
|
flags: "i",
|
|
587
604
|
value: (e, t) => ({
|
|
588
605
|
type: "texte",
|
|
589
606
|
title: e[0].trim(),
|
|
590
607
|
position: t.position()
|
|
591
608
|
})
|
|
592
|
-
}),
|
|
609
|
+
}), Hn = S(x([
|
|
610
|
+
Z,
|
|
593
611
|
Q,
|
|
594
|
-
|
|
595
|
-
Z
|
|
612
|
+
X
|
|
596
613
|
], { value: (e, t) => {
|
|
597
614
|
let n = e[0];
|
|
598
615
|
return {
|
|
@@ -601,19 +618,19 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
601
618
|
position: t.position(),
|
|
602
619
|
type: "parent-enfant"
|
|
603
620
|
};
|
|
604
|
-
} }),
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
621
|
+
} }), x([
|
|
622
|
+
X,
|
|
623
|
+
Q,
|
|
624
|
+
Z
|
|
608
625
|
], { value: (e, t) => ({
|
|
609
626
|
child: e[0],
|
|
610
627
|
parent: e[2],
|
|
611
628
|
position: t.position(),
|
|
612
629
|
type: "parent-enfant"
|
|
613
|
-
}) }),
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
630
|
+
}) }), x([
|
|
631
|
+
Vn,
|
|
632
|
+
Q,
|
|
633
|
+
X
|
|
617
634
|
], { value: (e, t) => {
|
|
618
635
|
let n = e[0];
|
|
619
636
|
return {
|
|
@@ -622,15 +639,15 @@ var Ln = w("art(?:icle|icl|ic|i|s)?\\.?|al(?:inéa|inea|in|i)?\\.?", { flags: "i
|
|
|
622
639
|
position: t.position(),
|
|
623
640
|
type: "parent-enfant"
|
|
624
641
|
};
|
|
625
|
-
} }),
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
642
|
+
} }), x([
|
|
643
|
+
X,
|
|
644
|
+
Q,
|
|
645
|
+
$
|
|
629
646
|
], { value: (e, t) => ({
|
|
630
647
|
child: e[0],
|
|
631
648
|
parent: e[2],
|
|
632
649
|
position: t.position(),
|
|
633
650
|
type: "parent-enfant"
|
|
634
|
-
}) }),
|
|
651
|
+
}) }), X, Z, $), Un = Fn;
|
|
635
652
|
//#endregion
|
|
636
|
-
export { sn as LegiResolver,
|
|
653
|
+
export { sn as LegiResolver, O as TextParserContext, ye as action, i as actionDirective, c as actionTargets, Ue as addChildLeftToLastChild, tt as addLinksOrReferencesToHtmlPage, qe as addLinksToHtml, Fn as addLinksToMarkdown, Un as addLinksToText, $e as addPositionsToTableOfContentsItems, an as adjectifNumeralCardinal, $t as adjectifNumeralOrdinalCourt, nn as adjectifTemporelSingulier, Vt as adverbeMultiplicatifLatin, Nt as adverbeRelatif, S as alternatives, je as article, Pe as articles, w as assertNever, a as auPortion, ot as auxPortions, Qt as buildAndInstallTextTitlesInfos, fe as buildArticlePortionTreeFromHtml, rn as buildTextTitlesInfos, x as chain, Ct as chainTransformers, Qe as citation, ee as citationLigne, we as citationSimple, Ce as citationToText, v as citedArticleNumFromTextCitation, Tn as classifyArticleTemporalStatus, on as cleanTexteTitle, m as compoundReferencesSeparators, E as convert, At as convertHtmlElementsToText, t as createEnumerationOrBoundedInterval, He as createParentChildTreeFromReferences, A as date, pt as decodeNamedHtmlEntities, fn as decodeNumericHtmlEntities, Ze as definitionArticleDansCitation, Ke as definitionArticleDansProjetOuPropositionLoi, De as definitionDivision, Ht as definitionTexteFrancais, Re as designationArticle, Ye as designationDivision, xt as ditPluriel, It as ditSingulier, et as division, ie as divisionTypes, Ae as divisions, cn as duDate, N as espace, vt as espaceAdverbeRelatif, me as europeanLawNatures, F as extendLoadedArticle, Le as extractActionDirectiveAstsFromText, Fe as extractActionDirectivesFromHtml, Te as extractActionDirectivesFromText, Ie as extractArticleDefinitionsFromCitation, Be as extractBillDefinitions, Ve as extractCitationReferences, e as extractPortionSelectors, ae as extractReferences, se as extractReferencesWithOriginalTransformations, g as extractTextLinks, Nn as formatLongDate, ut as frenchLawNatures, Dn as getArticleDateDebut, H as getArticleDateSignature, ue as getExtractedReferences, s as getExtractedReferencesWithOriginalTransformations, ke as getExtractedTableOfContentsFromTextBill, I as getOrLoadArticle, On as getOrLoadArticleSiblingId, In as getOrLoadDocument, Ln as getOrLoadDocumentsByDossierParlementaireUid, Rn as getOrLoadDossierParlementaire, _n as getOrLoadJo, L as getOrLoadSectionTa, vn as getOrLoadSectionsTa, Cn as getOrLoadTexteVersion, bn as getOrLoadTextekali, yn as getOrLoadTextelr, Sn as getOrLoadTextesVersions, xn as getOrLoadTexteslr, We as getTableOfContentsItems, Bt as getTexteVersionDateDebut, Yt as getTexteVersionDateSignature, Wt as identificationTexteEuropeen, r as internationalLawNatures, Ft as introPluriel, Lt as introSingulier, Me as isArticlePortionStructuralStart, B as isLegifranceSentinelDate, be as isTextAstAtomicReference, f as isTextAstDivision, ve as isTextAstPortion, oe as iterAtomicFirstParentReferences, ce as iterAtomicReferences, de as iterIncludedReferences, Ne as iterReferenceLinks, Pn as jsonReplacer, Se as lawNatures, zt as lettreAscii, kt as liaisonPluriel, dt as liaisonSingulier, ze as linkTypes, Ee as listeArticles, p as listeReferencesSeules, wn as loadArticles, u as localizationAdverbs, Ge as natureDivisionSingulier, en as natureTexteFrancais, J as newAssembleeObjectCache, An as newLegifranceObjectCache, jn as newObjectCache, Tt as newReverseTransformationsMergedFromPositionsIterator, y as nomArticle, b as nomSpecialArticle, un as nombreAsTextAstNumber, Ut as nombreCardinal, Gt as nombreRomainCardinal, tn as nombreRomainOrdinal, Zt as nombreRomainOu0iAsTextAstNumber, hn as nonLettre, Oe as normalizeBillArticleNumber, jt as numero, it as numeroDivision, Xt as numeroEtOuDateTexteFrancais, ge as numeroPortion, qt as numeroTexteEuropeen, Kt as numeroTexteFrancais, j as optional, Rt as optionalEspaceDuTerritoire, st as parseArticleNumber, nt as parseArticleSubdivisionMarker, he as parseBillArticleLabel, wt as parseText, ne as portionTypes, o as portions, re as reference, d as referenceDoctrinale, _e as referenceDoctrinaleArticleAvantSource, xe as referenceDoctrinaleArticlesAvantSource, l as referenceDoctrinaleSourceAvantArticle, pe as referenceSeule, T as regExp, Pt as relatifPlurielPrepose, St as relatifSingulierPrepose, Ot as repeat, Mt as replaceHtmlPatterns, ht as replacePattern, mt as replaceTextPatterns, at as resolveActionDirectivesFromHtml, ct as resolveActionDirectivesFromText, Je as resolvePortionSelector, Dt as reversePositionsSplitFromPositions, gt as reverseTransformationFromPosition, yt as reverseTransformationsMergedFromPositions, C as reverseTransformedInnerFragment, D as reverseTransformedReplacement, X as searchArticle, zn as searchArticleKeyword, Hn as searchQueryReference, Z as searchTexte, Bn as searchTexteAbbreviations, Et as simplifyHtml, M as simplifyPlainText, ft as simplifyText, Jt as simplifyUnicodeCharacters, kn as sortArticlesByDate, ln as sortTextesVersionsByDate, dn as texte, P as texteEuropeen, k as texteFrancais, te as texteFrancaisAbrege, mn as texteInternational, le as unePortion, lt as uniteBasePreciseeSingulier, n as uniteBaseSingulier, h as urlFromArticleVersionsId, _ as urlFromLegalId, _t as variable, pn as virguleOuEspace, rt as walkTableOfContents, bt as wordsTree };
|