@tricoteuses/tisseuse 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +6 -2
- package/README.md +2 -2
- package/dist/html-B_uf_8Zi.js +12736 -0
- package/dist/index.js +1260 -5180
- package/dist/lib/alineas/alineas_numbers.d.ts +5 -0
- package/dist/lib/extractors/action_directives.d.ts +54 -0
- package/dist/lib/extractors/article_portions.d.ts +59 -0
- package/dist/lib/extractors/definitions.d.ts +3 -0
- package/dist/lib/{text_parsers → extractors}/links.d.ts +35 -20
- package/dist/lib/extractors/references.d.ts +8 -0
- package/dist/lib/{table_of_contents.d.ts → extractors/table_of_contents.d.ts} +10 -2
- package/dist/lib/index.d.ts +18 -6
- package/dist/lib/linkers/html.d.ts +45 -0
- package/dist/lib/linkers/markdown.d.ts +15 -0
- package/dist/lib/markdown.d.ts +1 -0
- package/dist/lib/server/alineas/alineas_images_utils.d.ts +88 -0
- package/dist/lib/server/config.d.ts +1 -1
- package/dist/lib/server/databases/index.d.ts +1 -5
- package/dist/lib/server/html_simplifier.d.ts +34 -0
- package/dist/lib/server/index.d.ts +3 -0
- package/dist/lib/server/linkers/html.d.ts +21 -0
- package/dist/lib/server/tables_of_contents.d.ts +2 -0
- package/dist/lib/text_parsers/actions.d.ts +11 -1
- package/dist/lib/text_parsers/articles.d.ts +15 -15
- package/dist/lib/text_parsers/ast.d.ts +8 -3
- package/dist/lib/text_parsers/citations.d.ts +4 -4
- package/dist/lib/text_parsers/dates.d.ts +10 -10
- package/dist/lib/text_parsers/divisions.d.ts +13 -13
- package/dist/lib/text_parsers/helpers.d.ts +2 -1
- package/dist/lib/text_parsers/numbers.d.ts +16 -15
- package/dist/lib/text_parsers/parsers.d.ts +17 -1
- package/dist/lib/text_parsers/portions.d.ts +25 -19
- package/dist/lib/text_parsers/prepositions.d.ts +7 -6
- package/dist/lib/text_parsers/references.d.ts +17 -15
- package/dist/lib/text_parsers/relative_locations.d.ts +9 -9
- package/dist/lib/text_parsers/search_queries.d.ts +7 -0
- package/dist/lib/text_parsers/search_queries.test.d.ts +1 -0
- package/dist/lib/text_parsers/separators.d.ts +3 -3
- package/dist/lib/text_parsers/texts.d.ts +14 -14
- package/dist/lib/text_parsers/typography.d.ts +9 -9
- package/dist/scripts/add_links_to_senat_parsed_documents.d.ts +1 -0
- package/dist/scripts/{link_table_of_contents_to_simplified_html.d.ts → add_positions_to_table_of_contents.d.ts} +1 -13
- package/dist/scripts/enrich_assemblee_documents.d.ts +1 -0
- package/dist/scripts/extract_alineas_images.d.ts +71 -0
- package/dist/scripts/generate_alineas_numbers_review.d.ts +24 -0
- package/dist/scripts/{extract_texts_infos.d.ts → index_typesense.d.ts} +1 -0
- package/dist/scripts/merge_reviewed_alineas_numbers.d.ts +16 -0
- package/dist/scripts/simplify_word_html.d.ts +1 -0
- package/dist/server.js +19498 -74
- package/package.json +25 -17
- package/dist/lib/server/databases/tisseuse.d.ts +0 -1
- package/dist/lib/text_parsers/index.d.ts +0 -8
- package/dist/lib/text_parsers/text_titles_infos.json.d.ts +0 -4
- package/dist/scripts/configure.d.ts +0 -1
- package/dist/scripts/extract_assemblee_dossiers_et_documents_infos.d.ts +0 -6
- package/dist/scripts/test.d.ts +0 -0
- /package/dist/lib/{text_parsers/index.test.d.ts → extractors/action_directives.test.d.ts} +0 -0
- /package/dist/lib/{text_parsers/links.test.d.ts → extractors/article_portions.test.d.ts} +0 -0
- /package/dist/{scripts/add_links_to_assemblee_documents.d.ts → lib/extractors/links.test.d.ts} +0 -0
- /package/dist/{scripts/etude_natures_dates_et_titres_textes.d.ts → lib/extractors/references.test.d.ts} +0 -0
- /package/dist/{scripts/extract_jos_infos.d.ts → lib/server/html_simplifier.test.d.ts} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { PortionSelector } from './article_portions.js';
|
|
2
|
+
import { ActionTarget, TextAstReference } from '../text_parsers/ast.js';
|
|
3
|
+
import { FragmentPosition } from '../text_parsers/fragments.js';
|
|
4
|
+
export type ActionDirective = {
|
|
5
|
+
kind: "insert_after" | "insert_before";
|
|
6
|
+
targetType: ActionTarget;
|
|
7
|
+
reference: TextAstReference;
|
|
8
|
+
portionSelectors: PortionSelector[];
|
|
9
|
+
targetText: string;
|
|
10
|
+
insertText: string;
|
|
11
|
+
sourcePosition: FragmentPosition;
|
|
12
|
+
sourceText: string;
|
|
13
|
+
} | {
|
|
14
|
+
kind: "replace_portion";
|
|
15
|
+
targetType: ActionTarget;
|
|
16
|
+
reference: TextAstReference;
|
|
17
|
+
portionSelectors: PortionSelector[];
|
|
18
|
+
replacementText: string;
|
|
19
|
+
sourcePosition: FragmentPosition;
|
|
20
|
+
sourceText: string;
|
|
21
|
+
} | {
|
|
22
|
+
kind: "replace";
|
|
23
|
+
targetType: ActionTarget;
|
|
24
|
+
reference: TextAstReference;
|
|
25
|
+
portionSelectors: PortionSelector[];
|
|
26
|
+
targetText: string;
|
|
27
|
+
replacementText: string;
|
|
28
|
+
sourcePosition: FragmentPosition;
|
|
29
|
+
sourceText: string;
|
|
30
|
+
} | {
|
|
31
|
+
kind: "delete";
|
|
32
|
+
targetType: ActionTarget;
|
|
33
|
+
reference: TextAstReference;
|
|
34
|
+
portionSelectors: PortionSelector[];
|
|
35
|
+
targetText: string;
|
|
36
|
+
sourcePosition: FragmentPosition;
|
|
37
|
+
sourceText: string;
|
|
38
|
+
} | {
|
|
39
|
+
kind: "delete_portion";
|
|
40
|
+
targetType: ActionTarget;
|
|
41
|
+
reference: TextAstReference;
|
|
42
|
+
portionSelectors: PortionSelector[];
|
|
43
|
+
sourcePosition: FragmentPosition;
|
|
44
|
+
sourceText: string;
|
|
45
|
+
} | {
|
|
46
|
+
kind: "delete_article";
|
|
47
|
+
targetType: "article";
|
|
48
|
+
reference: TextAstReference;
|
|
49
|
+
portionSelectors: PortionSelector[];
|
|
50
|
+
sourcePosition: FragmentPosition;
|
|
51
|
+
sourceText: string;
|
|
52
|
+
};
|
|
53
|
+
export declare function extractActionDirectivesFromText(text: string): ActionDirective[];
|
|
54
|
+
export declare function extractActionDirectivesFromHtml(html: string): ActionDirective[];
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { DivisionType, PortionType, TextAstLocalization, TextAstReference } from '../text_parsers/ast.js';
|
|
2
|
+
export type PortionSelectorStep = {
|
|
3
|
+
type: PortionType | DivisionType;
|
|
4
|
+
index?: number;
|
|
5
|
+
num?: string;
|
|
6
|
+
relative?: TextAstLocalization["relative"];
|
|
7
|
+
present?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type PortionSelector = {
|
|
10
|
+
kind: "single";
|
|
11
|
+
steps: PortionSelectorStep[];
|
|
12
|
+
} | {
|
|
13
|
+
kind: "range";
|
|
14
|
+
first: PortionSelectorStep[];
|
|
15
|
+
last: PortionSelectorStep[];
|
|
16
|
+
count?: number;
|
|
17
|
+
};
|
|
18
|
+
export type ArticlePortionNode = ArticlePortionArticle | ArticlePortionDivision | ArticlePortionItem | ArticlePortionAlinea;
|
|
19
|
+
export interface ArticlePortionArticle {
|
|
20
|
+
type: "article";
|
|
21
|
+
children: ArticlePortionNode[];
|
|
22
|
+
}
|
|
23
|
+
export interface ArticlePortionDivision {
|
|
24
|
+
type: DivisionType;
|
|
25
|
+
index?: number;
|
|
26
|
+
num?: string;
|
|
27
|
+
label?: string;
|
|
28
|
+
children: ArticlePortionNode[];
|
|
29
|
+
}
|
|
30
|
+
export interface ArticlePortionItem {
|
|
31
|
+
type: "item";
|
|
32
|
+
index?: number;
|
|
33
|
+
num?: string;
|
|
34
|
+
label?: string;
|
|
35
|
+
children: ArticlePortionNode[];
|
|
36
|
+
}
|
|
37
|
+
export interface ArticlePortionAlinea {
|
|
38
|
+
type: "alinéa";
|
|
39
|
+
index: number;
|
|
40
|
+
text: string;
|
|
41
|
+
html: string;
|
|
42
|
+
paragraphIndex: number;
|
|
43
|
+
}
|
|
44
|
+
export type ArticlePortionMatch = {
|
|
45
|
+
selector: PortionSelector;
|
|
46
|
+
node: ArticlePortionNode;
|
|
47
|
+
path: ArticlePortionNode[];
|
|
48
|
+
} | {
|
|
49
|
+
selector: PortionSelector;
|
|
50
|
+
start: ArticlePortionNode;
|
|
51
|
+
end: ArticlePortionNode;
|
|
52
|
+
pathStart: ArticlePortionNode[];
|
|
53
|
+
pathEnd: ArticlePortionNode[];
|
|
54
|
+
};
|
|
55
|
+
export declare const ITEM_PREFIX_RE: RegExp;
|
|
56
|
+
export declare function isRomanNumeral(token: string): boolean;
|
|
57
|
+
export declare function buildArticlePortionTreeFromHtml(html: string): ArticlePortionArticle;
|
|
58
|
+
export declare function extractPortionSelectors(reference: TextAstReference): PortionSelector[];
|
|
59
|
+
export declare function resolvePortionSelector(article: ArticlePortionArticle, selector: PortionSelector): ArticlePortionMatch | null;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TextAstArticle, TextAstDivision } from '../text_parsers/ast.js';
|
|
2
|
+
import { TextParserContext } from '../text_parsers/parsers.js';
|
|
3
|
+
export declare function extractBillDefinitions(context: TextParserContext): Generator<TextAstArticle | TextAstDivision, void, unknown>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Sql } from 'postgres';
|
|
2
|
-
import { TextAstArticle, TextAstDivision, TextAstPosition, TextAstReference, TextAstText } from '
|
|
3
|
-
import { FragmentPosition, FragmentReverseTransformation } from '
|
|
4
|
-
import { TextParserContext } from '
|
|
5
|
-
import { Transformation } from '
|
|
2
|
+
import { TextAstArticle, TextAstDivision, TextAstPosition, TextAstReference, TextAstText } from '../text_parsers/ast.js';
|
|
3
|
+
import { FragmentPosition, FragmentReverseTransformation } from '../text_parsers/fragments.js';
|
|
4
|
+
import { TextParserContext } from '../text_parsers/parsers.js';
|
|
5
|
+
import { Transformation } from '../text_parsers/transformers.js';
|
|
6
6
|
export type DefinitionOrLink = ArticleDefinition | ArticleLink | DivisionLink | TextLink;
|
|
7
7
|
export interface ArticleDefinition {
|
|
8
8
|
article: TextAstArticle;
|
|
@@ -10,7 +10,7 @@ export interface ArticleDefinition {
|
|
|
10
10
|
* Same value as article.originalTransformation, added for homogeneity
|
|
11
11
|
*
|
|
12
12
|
* Only defined when a transformation was used to convert input text
|
|
13
|
-
* simplified text.
|
|
13
|
+
* to simplified text.
|
|
14
14
|
*/
|
|
15
15
|
originalTransformation?: FragmentReverseTransformation;
|
|
16
16
|
/**
|
|
@@ -26,7 +26,7 @@ export interface ArticleExternalLink {
|
|
|
26
26
|
articleId?: string;
|
|
27
27
|
/**
|
|
28
28
|
* Only defined when a transformation was used to convert input text
|
|
29
|
-
*
|
|
29
|
+
* to simpeurolified text.
|
|
30
30
|
*/
|
|
31
31
|
originalTransformation?: FragmentReverseTransformation;
|
|
32
32
|
position: FragmentPosition;
|
|
@@ -38,7 +38,7 @@ export interface ArticleInternalLink {
|
|
|
38
38
|
definition: ArticleDefinition;
|
|
39
39
|
/**
|
|
40
40
|
* Only defined when a transformation was used to convert input text
|
|
41
|
-
* simplified text.
|
|
41
|
+
* to simplified text.
|
|
42
42
|
*/
|
|
43
43
|
originalTransformation?: FragmentReverseTransformation;
|
|
44
44
|
position: FragmentPosition;
|
|
@@ -50,7 +50,7 @@ export interface DivisionExternalLink {
|
|
|
50
50
|
division: TextAstDivision;
|
|
51
51
|
/**
|
|
52
52
|
* Only defined when a transformation was used to convert input text
|
|
53
|
-
* simplified text.
|
|
53
|
+
* to simplified text.
|
|
54
54
|
*/
|
|
55
55
|
originalTransformation?: FragmentReverseTransformation;
|
|
56
56
|
position: FragmentPosition;
|
|
@@ -62,14 +62,27 @@ export type DivisionLink = DivisionExternalLink;
|
|
|
62
62
|
export interface ExtractedLinkDb {
|
|
63
63
|
field_name: string;
|
|
64
64
|
index: number;
|
|
65
|
-
link: ArticleExternalLink | DivisionExternalLink | TextExternalLink;
|
|
65
|
+
link: ArticleExternalLink | DivisionExternalLink | TextEuropeanLink | TextExternalLink;
|
|
66
66
|
source_id: string;
|
|
67
67
|
target_id: string | null;
|
|
68
68
|
}
|
|
69
|
+
export interface TextEuropeanLink {
|
|
70
|
+
/**
|
|
71
|
+
* Only defined when a transformation was used to convert input text
|
|
72
|
+
* to simplified text.
|
|
73
|
+
*/
|
|
74
|
+
originalTransformation?: FragmentReverseTransformation;
|
|
75
|
+
position: FragmentPosition;
|
|
76
|
+
reference: TextAstReference;
|
|
77
|
+
text: TextAstText & TextAstPosition;
|
|
78
|
+
titleId: string;
|
|
79
|
+
type: "european_text";
|
|
80
|
+
url?: string;
|
|
81
|
+
}
|
|
69
82
|
export interface TextExternalLink {
|
|
70
83
|
/**
|
|
71
84
|
* Only defined when a transformation was used to convert input text
|
|
72
|
-
* simplified text.
|
|
85
|
+
* to simplified text.
|
|
73
86
|
*/
|
|
74
87
|
originalTransformation?: FragmentReverseTransformation;
|
|
75
88
|
position: FragmentPosition;
|
|
@@ -77,7 +90,7 @@ export interface TextExternalLink {
|
|
|
77
90
|
text: TextAstText & TextAstPosition;
|
|
78
91
|
type: "external_text";
|
|
79
92
|
}
|
|
80
|
-
export type TextLink = TextExternalLink;
|
|
93
|
+
export type TextLink = TextEuropeanLink | TextExternalLink;
|
|
81
94
|
export interface TextLinksParserState {
|
|
82
95
|
articleId?: string;
|
|
83
96
|
codeId?: string;
|
|
@@ -88,34 +101,36 @@ export interface TextLinksParserState {
|
|
|
88
101
|
sectionTaId?: string;
|
|
89
102
|
textId?: string;
|
|
90
103
|
}
|
|
91
|
-
export declare function
|
|
92
|
-
articleDefinitionByNumByTextId?: Record<string, Record<string, ArticleDefinition>>;
|
|
104
|
+
export declare function extractTextLinks({ context, date, europeDb, legiDb, logIgnoredReferencesTypes, logPartialReferences, logReferences, state: inputState, transformation, }: {
|
|
93
105
|
context: TextParserContext;
|
|
94
106
|
date: string;
|
|
107
|
+
europeDb: Sql;
|
|
95
108
|
legiDb: Sql;
|
|
96
109
|
logIgnoredReferencesTypes?: boolean;
|
|
97
110
|
logPartialReferences?: boolean;
|
|
98
|
-
|
|
99
|
-
reference: TextAstReference;
|
|
111
|
+
logReferences?: boolean;
|
|
100
112
|
/**
|
|
101
113
|
* When given, state is modified by this generator, so that the callers
|
|
102
114
|
* always has the latest state version (and can reuse it for the next article,
|
|
103
115
|
* for example).
|
|
104
116
|
*/
|
|
105
117
|
state?: TextLinksParserState;
|
|
106
|
-
|
|
107
|
-
|
|
118
|
+
transformation?: Transformation;
|
|
119
|
+
}): AsyncGenerator<DefinitionOrLink, void>;
|
|
120
|
+
export declare function iterReferenceLinks({ articleDefinitionByNumByTextId: articleDefinitionByNumByTextIdInput, context, date, europeDb, legiDb, logIgnoredReferencesTypes, logPartialReferences, originalPositionsFromTransformedIterator, reference, state: inputState, }: {
|
|
121
|
+
articleDefinitionByNumByTextId?: Record<string, Record<string, ArticleDefinition>>;
|
|
108
122
|
context: TextParserContext;
|
|
109
123
|
date: string;
|
|
124
|
+
europeDb: Sql;
|
|
110
125
|
legiDb: Sql;
|
|
111
126
|
logIgnoredReferencesTypes?: boolean;
|
|
112
127
|
logPartialReferences?: boolean;
|
|
113
|
-
|
|
128
|
+
originalPositionsFromTransformedIterator?: Generator<FragmentReverseTransformation, void, FragmentPosition | undefined>;
|
|
129
|
+
reference: TextAstReference;
|
|
114
130
|
/**
|
|
115
131
|
* When given, state is modified by this generator, so that the callers
|
|
116
132
|
* always has the latest state version (and can reuse it for the next article,
|
|
117
133
|
* for example).
|
|
118
134
|
*/
|
|
119
135
|
state?: TextLinksParserState;
|
|
120
|
-
|
|
121
|
-
}): AsyncGenerator<DefinitionOrLink, void>;
|
|
136
|
+
}): AsyncGenerator<DefinitionOrLink>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TextAstCitation, TextAstReference } from '../text_parsers/ast.js';
|
|
2
|
+
import { TextParserContext } from '../text_parsers/parsers.js';
|
|
3
|
+
import { Transformation } from '../text_parsers/transformers.js';
|
|
4
|
+
export declare function extractCitationReferences(context: TextParserContext, citation: TextAstCitation): Generator<TextAstReference, void>;
|
|
5
|
+
export declare function extractReferences(context: TextParserContext): Generator<TextAstReference, void>;
|
|
6
|
+
export declare function extractReferencesWithOriginalTransformations(context: TextParserContext, transformation: Transformation): Generator<TextAstReference, void>;
|
|
7
|
+
export declare const getExtractedReferences: (context: TextParserContext) => TextAstReference[];
|
|
8
|
+
export declare const getExtractedReferencesWithOriginalTransformations: (context: TextParserContext, transformation: Transformation) => TextAstReference[];
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { DivisionType } from '
|
|
2
|
-
import { FragmentPosition, FragmentReverseTransformation } from '
|
|
1
|
+
import { DivisionType } from '../text_parsers/ast.js';
|
|
2
|
+
import { FragmentPosition, FragmentReverseTransformation } from '../text_parsers/fragments.js';
|
|
3
|
+
import { TextParserContext } from '../text_parsers/parsers.js';
|
|
4
|
+
import { Transformation } from '../text_parsers/transformers.js';
|
|
3
5
|
export interface TableOfContents {
|
|
4
6
|
articles?: TableOfContentsArticle[];
|
|
5
7
|
divisions?: TableOfContentsDivision[];
|
|
@@ -28,4 +30,10 @@ export interface TableOfContentsPositioned {
|
|
|
28
30
|
articles?: TableOfContentsArticlePositioned[];
|
|
29
31
|
divisions?: TableOfContentsDivisionPositioned[];
|
|
30
32
|
}
|
|
33
|
+
export declare function addPositionsToTableOfContentsItems({ context, tableOfContents, transformation, }: {
|
|
34
|
+
context: TextParserContext;
|
|
35
|
+
tableOfContents: TableOfContents;
|
|
36
|
+
transformation: Transformation;
|
|
37
|
+
}): Generator<TableOfContentsArticlePositioned | TableOfContentsDivisionPositioned, void, unknown>;
|
|
38
|
+
export declare function getExtractedTableOfContentsFromTextBill(textBill: string): TableOfContents;
|
|
31
39
|
export declare function walkTableOfContents(tableOfContents: TableOfContents | TableOfContentsDivision): Generator<TableOfContentsArticle | TableOfContentsDivision, void, unknown>;
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,30 +1,42 @@
|
|
|
1
|
+
import { addLinksToMarkdown } from './linkers/markdown.js';
|
|
1
2
|
export { getArticleDateDebut, getArticleDateSignature, getOrLoadArticleSiblingId, sortArticlesByDate, } from './articles.js';
|
|
2
3
|
export { assertNever } from './asserts.js';
|
|
3
4
|
export { newAssembleeObjectCache, newLegifranceObjectCache, newObjectCache, type AssembleeObjectCache, type AssembleeObjectType, type LegifranceObjectCache, type ObjectCache, } from './cache.js';
|
|
4
5
|
export { formatLongDate } from './dates.js';
|
|
6
|
+
export { extractBillDefinitions } from './extractors/definitions.js';
|
|
7
|
+
export { extractActionDirectivesFromHtml, extractActionDirectivesFromText, type ActionDirective, } from './extractors/action_directives.js';
|
|
8
|
+
export { extractTextLinks, iterReferenceLinks, type ArticleDefinition, type ArticleExternalLink, type ArticleInternalLink, type ArticleLink, type DefinitionOrLink, type DivisionExternalLink, type DivisionLink, type ExtractedLinkDb, type TextEuropeanLink, type TextExternalLink, type TextLink, type TextLinksParserState, } from './extractors/links.js';
|
|
9
|
+
export { extractCitationReferences, extractReferences, extractReferencesWithOriginalTransformations, getExtractedReferences, getExtractedReferencesWithOriginalTransformations, } from './extractors/references.js';
|
|
10
|
+
export { buildArticlePortionTreeFromHtml, extractPortionSelectors, resolvePortionSelector, type ArticlePortionArticle, type ArticlePortionDivision, type ArticlePortionItem, type ArticlePortionAlinea, type ArticlePortionMatch, type ArticlePortionNode, type PortionSelector, type PortionSelectorStep, } from './extractors/article_portions.js';
|
|
11
|
+
export { addPositionsToTableOfContentsItems, getExtractedTableOfContentsFromTextBill, walkTableOfContents, type TableOfContents, type TableOfContentsArticle, type TableOfContentsArticlePositioned, type TableOfContentsDivision, type TableOfContentsDivisionPositioned, type TableOfContentsPositioned, } from './extractors/table_of_contents.js';
|
|
5
12
|
export { jsonReplacer } from './json.js';
|
|
13
|
+
export { addLinksToHtml, addLinksOrReferencesToHtmlPage, type OutputByType, type OutputType, } from './linkers/html.js';
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Utiliser `addLinksToMarkdown` à la place.
|
|
16
|
+
* Cette fonction sera supprimée dans la version 1.0.
|
|
17
|
+
*/
|
|
18
|
+
export declare const addLinksToText: typeof addLinksToMarkdown;
|
|
19
|
+
export { addLinksToMarkdown };
|
|
6
20
|
export { linkTypes, urlFromLegalId, type LinkType } from './links.js';
|
|
7
21
|
export { getOrLoadDocument, getOrLoadDocumentsByDossierParlementaireUid, getOrLoadDossierParlementaire, } from './loaders/assemblee.js';
|
|
8
22
|
export { extendLoadedArticle, getOrLoadArticle, getOrLoadJo, getOrLoadSectionTa, getOrLoadSectionsTa, getOrLoadTextelr, getOrLoadTexteslr, getOrLoadTextesVersions, getOrLoadTexteVersion, loadArticles, type ArticleExtension, type JorfArticleExtended, type LegiArticleExtended, } from './loaders/legifrance.js';
|
|
9
|
-
export { walkTableOfContents, type TableOfContents, type TableOfContentsArticle, type TableOfContentsArticlePositioned, type TableOfContentsDivision, type TableOfContentsDivisionPositioned, type TableOfContentsPositioned, } from './table_of_contents.js';
|
|
10
23
|
export { action } from './text_parsers/actions.js';
|
|
11
24
|
export { article, articles, definitionArticleDansCitation, definitionArticleDansProjetOuPropositionLoi, designationArticle, listeArticles, nomArticle, nomSpecialArticle, } from './text_parsers/articles.js';
|
|
12
|
-
export { compoundReferencesSeparators, divisionTypes, europeanLawNatures, frenchLawNatures, internationalLawNatures, isTextAstAtomicReference, isTextAstDivision, isTextAstPortion, lawNatures, localizationAdverbs, portionTypes, type CompoundReferencesSeparator, type DivisionType, type EuropeanLawNature, type FrenchLawNature, type InternationalLawNature, type LawNature, type LocalizationAdverb, type PortionType, type TextAst, type TextAstAction, type TextAstArticle, type TextAstAtomicReference, type TextAstBoundedInterval, type TextAstCitation, type TextAstCompoundReference, type TextAstConseilConstitutionnelDecision, type TextAstCountedInterval, type TextAstDivision, type TextAstEnumeration, type TextAstExclusion, type TextAstIncompleteHeader, type TextAstLocalization, type TextAstNumber, type TextAstParentChild, type TextAstPortion, type TextAstPosition, type TextAstReference, type TextAstReferenceAndAction, type TextAstText, type TextAstTextIdentification, type TextAstTextInfos, type TextInfosByWordsTree, type TextInfosByWordsTreeNode, } from './text_parsers/ast.js';
|
|
25
|
+
export { actionTargets, compoundReferencesSeparators, divisionTypes, europeanLawNatures, frenchLawNatures, internationalLawNatures, isTextAstAtomicReference, isTextAstDivision, isTextAstPortion, lawNatures, localizationAdverbs, portionTypes, type ActionTarget, type CompoundReferencesSeparator, type DivisionType, type EuropeanLawNature, type FrenchLawNature, type InternationalLawNature, type LawNature, type LocalizationAdverb, type PortionType, type TextAst, type TextAstAction, type TextAstArticle, type TextAstAtomicReference, type TextAstBoundedInterval, type TextAstCitation, type TextAstCompoundReference, type TextAstConseilConstitutionnelDecision, type TextAstCountedInterval, type TextAstDivision, type TextAstEnumeration, type TextAstExclusion, type TextAstIncompleteHeader, type TextAstLocalization, type TextAstNumber, type TextAstParentChild, type TextAstPortion, type TextAstPosition, type TextAstReference, type TextAstReferenceAndAction, type TextAstText, type TextAstTextIdentification, type TextAstTextInfos, type TextInfosByWordsTree, type TextInfosByWordsTreeNode, } from './text_parsers/ast.js';
|
|
13
26
|
export { citation, citationLigne, citationSimple, } from './text_parsers/citations.js';
|
|
14
27
|
export { date, duDate } from './text_parsers/dates.js';
|
|
15
28
|
export { definitionDivision, designationDivision, division, divisions, natureDivisionSingulier, numeroDivision, } from './text_parsers/divisions.js';
|
|
16
29
|
export type { FragmentPosition, FragmentReverseTransformation, } from './text_parsers/fragments.js';
|
|
17
30
|
export { addChildLeftToLastChild, createEnumerationOrBoundedInterval, createParentChildTreeFromReferences, iterAtomicFirstParentReferences, iterAtomicReferences, iterIncludedReferences, } from './text_parsers/helpers.js';
|
|
18
|
-
export { getParsedReferences, getParsedReferencesWithOriginalTransformations, parseCitationReferences, parseReferences, parseReferencesWithOriginalTransformations, } from './text_parsers/index.js';
|
|
19
|
-
export { iterReferenceLinks, parseTextLinks, type ArticleDefinition, type ArticleExternalLink, type ArticleInternalLink, type ArticleLink, type DefinitionOrLink, type DivisionExternalLink, type DivisionLink, type ExtractedLinkDb, type TextExternalLink, type TextLink, type TextLinksParserState, } from './text_parsers/links.js';
|
|
20
31
|
export { adjectifNumeralOrdinalCourt, adverbeMultiplicatifLatin, nombreAsTextAstNumber, nombreCardinal, nombreRomainCardinal, nombreRomainOrdinal, nombreRomainOu0iAsTextAstNumber, } from './text_parsers/numbers.js';
|
|
21
32
|
export { alternatives, chain, convert, optional, parseText, regExp, repeat, TextParserContext, variable, wordsTree, } from './text_parsers/parsers.js';
|
|
22
33
|
export { auPortion, auxPortions, numeroPortion, portions, unePortion, } from './text_parsers/portions.js';
|
|
23
|
-
export { ditPluriel, ditSingulier, introPluriel, introSingulier, liaisonPluriel, liaisonSingulier, } from './text_parsers/prepositions.js';
|
|
34
|
+
export { adjectifTemporelSingulier, ditPluriel, ditSingulier, introPluriel, introSingulier, liaisonPluriel, liaisonSingulier, } from './text_parsers/prepositions.js';
|
|
24
35
|
export { listeReferencesSeules, reference, referenceSeule, uniteBasePreciseeSingulier, uniteBaseSingulier, } from './text_parsers/references.js';
|
|
25
36
|
export { adverbeRelatif, espaceAdverbeRelatif, relatifPlurielPrepose, relatifSingulierPrepose, } from './text_parsers/relative_locations.js';
|
|
26
37
|
export { convertHtmlElementsToText, decodeNamedHtmlEntities, decodeNumericHtmlEntities, replaceHtmlPatterns, replacePattern, replaceTextPatterns, simplifyHtml, simplifyPlainText, simplifyText, simplifyUnicodeCharacters, } from './text_parsers/simplifiers.js';
|
|
38
|
+
export { searchArticle, searchArticleKeyword, searchQueryReference, searchTexte, searchTexteAbbreviations, } from './text_parsers/search_queries.js';
|
|
27
39
|
export { definitionTexteFrancais, identificationTexteEuropeen, natureTexteFrancais, numeroEtOuDateTexteFrancais, numeroTexteEuropeen, numeroTexteFrancais, optionalEspaceDuTerritoire, texte, texteEuropeen, texteFrancais, texteInternational, } from './text_parsers/texts.js';
|
|
28
40
|
export { chainTransformers, newReverseTransformationsMergedFromPositionsIterator, reversePositionsSplitFromPositions, reverseTransformationsMergedFromPositions, reverseTransformationFromPosition, reverseTransformedInnerFragment, reverseTransformedReplacement, type SourceMapSegment, type Transformation, type TransformationLeaf, type TransformationNode, type Transformer, type TransformerLeaf, type TransformerNode, } from './text_parsers/transformers.js';
|
|
29
|
-
export { espace,
|
|
41
|
+
export { espace, lettreAscii, nonLettre, numero, virguleOuEspace, } from './text_parsers/typography.js';
|
|
30
42
|
export { cleanTexteTitle, getTexteVersionDateDebut, getTexteVersionDateSignature, sortTextesVersionsByDate, } from './textes.js';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Sql } from 'postgres';
|
|
2
|
+
import { DefinitionOrLink, TextLinksParserState } from '../extractors/links.js';
|
|
3
|
+
import { LinkType } from '../links.js';
|
|
4
|
+
import { TextParserContext } from '../text_parsers/parsers.js';
|
|
5
|
+
import { Transformation } from '../text_parsers/transformers.js';
|
|
6
|
+
export declare function addLinksToHtml({ date, europeDb, html, legiDb, linkBaseUrl, linkType, logIgnoredReferencesTypes, logPartialReferences, logReferences, onLink, previousContext, state, }: {
|
|
7
|
+
date: string;
|
|
8
|
+
europeDb: Sql;
|
|
9
|
+
html: string;
|
|
10
|
+
legiDb: Sql;
|
|
11
|
+
linkBaseUrl: string;
|
|
12
|
+
linkType: LinkType;
|
|
13
|
+
logIgnoredReferencesTypes?: boolean;
|
|
14
|
+
logPartialReferences?: boolean;
|
|
15
|
+
logReferences?: boolean;
|
|
16
|
+
onLink?: (link: DefinitionOrLink, index: number) => Promise<boolean | void>;
|
|
17
|
+
previousContext?: TextParserContext;
|
|
18
|
+
state?: TextLinksParserState;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
context: TextParserContext;
|
|
21
|
+
output: string | null;
|
|
22
|
+
}>;
|
|
23
|
+
export type OutputByType = Partial<Record<OutputType, {
|
|
24
|
+
html: string;
|
|
25
|
+
offset: number;
|
|
26
|
+
}>>;
|
|
27
|
+
export type OutputType = "links" | "links_or_references" | "references";
|
|
28
|
+
export declare function addLinksOrReferencesToHtmlPage({ date, defaultTextId, europeDb, htmlTransformation, inputHtml, legiDb, linkBaseUrl, linkType, logIgnoredReferencesTypes, logPartialReferences, logReferences, outputTypes: requestedOutputTypes, referredLegifranceTextsInfos, }: {
|
|
29
|
+
date: string;
|
|
30
|
+
defaultTextId?: string;
|
|
31
|
+
europeDb: Sql;
|
|
32
|
+
htmlTransformation: Transformation;
|
|
33
|
+
inputHtml: string;
|
|
34
|
+
legiDb: Sql;
|
|
35
|
+
linkBaseUrl: string;
|
|
36
|
+
linkType: LinkType;
|
|
37
|
+
logIgnoredReferencesTypes?: boolean;
|
|
38
|
+
logPartialReferences?: boolean;
|
|
39
|
+
logReferences?: boolean;
|
|
40
|
+
outputTypes: OutputType[];
|
|
41
|
+
referredLegifranceTextsInfos?: boolean;
|
|
42
|
+
}): Promise<{
|
|
43
|
+
outputByType: OutputByType;
|
|
44
|
+
referredLegifranceTextCountByCid: Record<string, number>;
|
|
45
|
+
}>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Sql } from 'postgres';
|
|
2
|
+
import { LinkType } from '../links.js';
|
|
3
|
+
import { TextParserContext } from '../text_parsers/parsers.js';
|
|
4
|
+
export declare function addLinksToMarkdown({ date, europeDb, legiDb, linkBaseUrl, linkType, previousContext, text, }: {
|
|
5
|
+
date: string;
|
|
6
|
+
europeDb: Sql;
|
|
7
|
+
legiDb: Sql;
|
|
8
|
+
linkBaseUrl: string;
|
|
9
|
+
linkType: LinkType;
|
|
10
|
+
previousContext?: TextParserContext;
|
|
11
|
+
text: string;
|
|
12
|
+
}): Promise<{
|
|
13
|
+
context: TextParserContext;
|
|
14
|
+
output: string | null;
|
|
15
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function escapeMarkdownLinkTitle<StringOrUndefined extends string | undefined>(s: StringOrUndefined): StringOrUndefined;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module utilitaire commun pour la détection et l'analyse des images d'alinéa
|
|
3
|
+
*
|
|
4
|
+
* Ce module contient les fonctions partagées entre :
|
|
5
|
+
* - merge_reviewed_alineas_numbers.ts : fusion des corrections
|
|
6
|
+
* - generate_alineas_numbers_review.ts : génération de la page de révision
|
|
7
|
+
*
|
|
8
|
+
* @module alineas_images_utils
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Extrait les données base64 pures d'un src d'image (sans le préfixe data:image/...)
|
|
12
|
+
*/
|
|
13
|
+
export declare function extractBase64Data(base64Src: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Calcule le hash MD5 d'une chaîne base64
|
|
16
|
+
* Accepte soit les données base64 pures, soit le src complet avec préfixe
|
|
17
|
+
*/
|
|
18
|
+
export declare function computeHash(base64Data: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Extrait les dimensions d'une image PNG depuis ses données binaires
|
|
21
|
+
* Les dimensions sont dans le chunk IHDR aux octets 16-23
|
|
22
|
+
*/
|
|
23
|
+
export declare function getPngDimensions(buffer: Buffer): {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
} | null;
|
|
27
|
+
/**
|
|
28
|
+
* Extrait les dimensions d'une image JPEG depuis ses données binaires
|
|
29
|
+
*/
|
|
30
|
+
export declare function getJpegDimensions(buffer: Buffer): {
|
|
31
|
+
width: number;
|
|
32
|
+
height: number;
|
|
33
|
+
} | null;
|
|
34
|
+
/**
|
|
35
|
+
* Extrait les dimensions d'une image depuis son src base64
|
|
36
|
+
* Accepte soit les données base64 pures, soit le src complet avec préfixe
|
|
37
|
+
*/
|
|
38
|
+
export declare function getImageDimensions(base64Data: string): {
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
} | null;
|
|
42
|
+
/**
|
|
43
|
+
* Crop une image PNG en enlevant les bordures blanches/transparentes
|
|
44
|
+
*
|
|
45
|
+
* @param base64Data - Données base64 de l'image PNG (avec ou sans préfixe data:image/...)
|
|
46
|
+
* @returns Les données base64 de l'image croppée (sans préfixe), ou null en cas d'erreur
|
|
47
|
+
*/
|
|
48
|
+
export declare function cropPngImage(base64Data: string): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Calcule le hash MD5 d'une image après crop
|
|
51
|
+
* Retourne le hash de l'image croppée, ou le hash original si le crop échoue
|
|
52
|
+
*
|
|
53
|
+
* @param base64Data - Données base64 de l'image (avec ou sans préfixe data:image/...)
|
|
54
|
+
* @returns Le hash MD5 de l'image croppée
|
|
55
|
+
*/
|
|
56
|
+
export declare function computeCroppedHash(base64Data: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Retourne les données base64 de l'image croppée avec le préfixe data:image/png
|
|
59
|
+
*
|
|
60
|
+
* @param base64Data - Données base64 de l'image (avec ou sans préfixe data:image/...)
|
|
61
|
+
* @returns Les données base64 complètes (avec préfixe data:image/png;base64,) de l'image croppée
|
|
62
|
+
*/
|
|
63
|
+
export declare function getCroppedBase64Src(base64Data: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Vérifie si une image est une pastille d'alinéa basé sur ses dimensions
|
|
66
|
+
* Une pastille est une image à peu près carrée et petite (≤ 64 pixels)
|
|
67
|
+
*
|
|
68
|
+
* @param base64Data - Données base64 de l'image (avec ou sans préfixe)
|
|
69
|
+
* @returns true si l'image est une pastille d'alinéa
|
|
70
|
+
*/
|
|
71
|
+
export declare function isAlineaPastille(base64Data: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Informations de base sur une image extraite
|
|
74
|
+
*/
|
|
75
|
+
export interface ExtractedImage {
|
|
76
|
+
hash: string;
|
|
77
|
+
base64Src: string;
|
|
78
|
+
zIndex: number;
|
|
79
|
+
position: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extrait toutes les images d'alinéa d'un contenu HTML
|
|
83
|
+
* Retourne uniquement les images qui passent le filtre isAlineaPastille
|
|
84
|
+
*
|
|
85
|
+
* @param htmlContent - Contenu HTML à analyser
|
|
86
|
+
* @returns Liste des images extraites avec leur hash, src, z-index et position
|
|
87
|
+
*/
|
|
88
|
+
export declare function extractAlineaImages(htmlContent: string): ExtractedImage[];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { LinkType } from '../links';
|
|
2
2
|
export interface Config {
|
|
3
3
|
assembleeDb: DatabaseConfig;
|
|
4
|
+
europeDb: DatabaseConfig;
|
|
4
5
|
legiAnomaliesDb: DatabaseConfig;
|
|
5
6
|
legiDb: DatabaseConfig;
|
|
6
7
|
linkBaseUrl: string;
|
|
7
8
|
linkType: LinkType;
|
|
8
|
-
tisseuseDb: DatabaseConfig;
|
|
9
9
|
}
|
|
10
10
|
export interface DatabaseConfig {
|
|
11
11
|
host: string;
|
|
@@ -4,11 +4,11 @@ export interface Version {
|
|
|
4
4
|
}
|
|
5
5
|
export declare const assembleeDb: postgres.Sql<{}>;
|
|
6
6
|
export declare const assembleeVersionNumber = 7;
|
|
7
|
+
export declare const europeDb: postgres.Sql<{}>;
|
|
7
8
|
export declare const legiAnomaliesDb: postgres.Sql<{}>;
|
|
8
9
|
export declare const legiAnomaliesVersionNumber = 1;
|
|
9
10
|
export declare const legiDb: postgres.Sql<{}>;
|
|
10
11
|
export declare const legiVersionNumber = 19;
|
|
11
|
-
export declare const tisseuseDb: postgres.Sql<{}>;
|
|
12
12
|
export declare const tisseuseVersionNumber = 3;
|
|
13
13
|
/**
|
|
14
14
|
* Check that assemblee database exists and is up to date.
|
|
@@ -22,7 +22,3 @@ export declare function checkLegiAnomaliesDb(): Promise<void>;
|
|
|
22
22
|
* Check that legi database exists and is up to date.
|
|
23
23
|
*/
|
|
24
24
|
export declare function checkLegiDb(): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Check that Tisseuse database exists and is up to date.
|
|
27
|
-
*/
|
|
28
|
-
export declare function checktisseuseDb(): Promise<void>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for HTML simplification
|
|
3
|
+
*/
|
|
4
|
+
export interface SimplifyHtmlOptions {
|
|
5
|
+
/** Keep align attribute on paragraphs (default: true) */
|
|
6
|
+
keepAlignment?: boolean;
|
|
7
|
+
/** Remove empty paragraphs (default: true) */
|
|
8
|
+
removeEmptyParagraphs?: boolean;
|
|
9
|
+
/** Throw error if an alinea image hash is missing from mapping (default: false) */
|
|
10
|
+
strictAlineas?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Simplifies Word-generated HTML to clean, semantic HTML
|
|
14
|
+
*
|
|
15
|
+
* This function takes complex HTML generated by Word (typically from Assemblée nationale documents)
|
|
16
|
+
* and converts it to simple, clean HTML with only essential semantic elements:
|
|
17
|
+
* - <p> for paragraphs
|
|
18
|
+
* - <strong> for bold text
|
|
19
|
+
* - <em> for italic text
|
|
20
|
+
* - <sup> for superscript
|
|
21
|
+
* - <sub> for subscript
|
|
22
|
+
* - <br> for line breaks
|
|
23
|
+
* - <h1> to <h6> for headings
|
|
24
|
+
* - <a> for links (href preserved)
|
|
25
|
+
*
|
|
26
|
+
* @param html - The input HTML string (Word-generated)
|
|
27
|
+
* @param options - Options for simplification
|
|
28
|
+
* @returns Simplified HTML string
|
|
29
|
+
*/
|
|
30
|
+
export declare function simplifyWordHtml(html: string, options?: SimplifyHtmlOptions): string;
|
|
31
|
+
/**
|
|
32
|
+
* Simplifies Word-generated HTML and returns a complete HTML document
|
|
33
|
+
*/
|
|
34
|
+
export declare function simplifyWordHtmlToDocument(html: string, options?: SimplifyHtmlOptions): string;
|
|
@@ -1 +1,4 @@
|
|
|
1
|
+
export { simplifyWordHtml, simplifyWordHtmlToDocument, type SimplifyHtmlOptions, } from './html_simplifier.js';
|
|
2
|
+
export { addLinksOrReferencesToHtmlFile } from './linkers/html.js';
|
|
3
|
+
export { addPositionsToTableOfContentsFile, simplifiedHtmlBillFileToTableOfContentsFile, } from './tables_of_contents.js';
|
|
1
4
|
export { readTransformation, writeTransformation, } from './text_parsers/transformers.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LinkType } from '../../links.js';
|
|
2
|
+
import { Sql } from 'postgres';
|
|
3
|
+
export declare function addLinksOrReferencesToHtmlFile({ date, defaultTextId, europeDb, htmlFilePath, htmlTransformationsInputDir, htmlTransformationsOutputDir, htmlWithLinksFilePath, htmlWithLinksOrReferencesFilePath, htmlWithLinksTransformationsOutputDir, htmlWithReferencesFilePath, legiDb, linkBaseUrl, linkType, logIgnoredReferencesTypes, logPartialReferences, logReferences, referredLegifranceTextsInfosFilePath, }: {
|
|
4
|
+
date: string;
|
|
5
|
+
defaultTextId?: string;
|
|
6
|
+
europeDb: Sql;
|
|
7
|
+
htmlFilePath: string;
|
|
8
|
+
htmlTransformationsInputDir?: string;
|
|
9
|
+
htmlTransformationsOutputDir?: string;
|
|
10
|
+
htmlWithLinksFilePath?: string;
|
|
11
|
+
htmlWithLinksOrReferencesFilePath?: string;
|
|
12
|
+
htmlWithLinksTransformationsOutputDir?: string;
|
|
13
|
+
htmlWithReferencesFilePath?: string;
|
|
14
|
+
legiDb: Sql;
|
|
15
|
+
linkBaseUrl: string;
|
|
16
|
+
linkType: LinkType;
|
|
17
|
+
logIgnoredReferencesTypes?: boolean;
|
|
18
|
+
logPartialReferences?: boolean;
|
|
19
|
+
logReferences?: boolean;
|
|
20
|
+
referredLegifranceTextsInfosFilePath?: string;
|
|
21
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare function addPositionsToTableOfContentsFile(htmlPath: string, transformationDir: string, tableOfContentsPath: string, segmentationPath: string): Promise<void>;
|
|
2
|
+
export declare function simplifiedHtmlBillFileToTableOfContentsFile(htmlBillPath: string, transformationDir: string, tableOfContentsPath: string): Promise<void>;
|
|
@@ -1 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import { TextParser } from './parsers.js';
|
|
2
|
+
/**
|
|
3
|
+
* Zero-width lookbehind parser that detects pre-reference action patterns.
|
|
4
|
+
* Checks text immediately before the current offset for patterns like
|
|
5
|
+
* "modalités d'application " or "conditions d'application de " indicating
|
|
6
|
+
* a "précision" action (e.g. "un décret précise les modalités d'application
|
|
7
|
+
* des articles [ref]").
|
|
8
|
+
* Does NOT consume any input text.
|
|
9
|
+
*/
|
|
10
|
+
export declare const preAction: TextParser;
|
|
11
|
+
export declare const action: TextParser<import('./ast.js').TextAst>;
|