@tricoteuses/tisseuse 0.21.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/{html-tp0cMUmA.js → html-BTaoaqX5.js} +6964 -5672
- package/dist/index.js +93 -431
- package/dist/{src/lib → lib}/extractors/article_portions.d.ts +14 -0
- package/dist/{src/lib → lib}/extractors/links.d.ts +117 -3
- package/dist/{src/lib → lib}/f_legi/resolver.d.ts +23 -4
- package/dist/lib/legi/article_abrogation.d.ts +25 -0
- package/dist/lib/legi/article_history.d.ts +11 -0
- package/dist/lib/legi/article_structure.d.ts +9 -0
- package/dist/{src/lib → lib}/legi/canutes_resolver.d.ts +17 -16
- package/dist/lib/legi/law_article.d.ts +13 -0
- package/dist/lib/legi/named_text_article.d.ts +22 -0
- package/dist/lib/legi/publication_components.d.ts +22 -0
- package/dist/lib/legi/publication_components.fixture.d.ts +3 -0
- package/dist/{src/lib → lib}/legi/resolver.d.ts +40 -0
- package/dist/lib/linkers/enumeration_scope.fixture.d.ts +19 -0
- package/dist/{src/lib → lib}/linkers/html.d.ts +16 -3
- package/dist/lib/linkers/html_decision_capture.d.ts +18 -0
- package/dist/lib/linkers/link_decision_html.d.ts +4 -0
- package/dist/lib/linkers/link_decision_metadata.d.ts +15 -0
- package/dist/{src/lib → lib}/linkers/markdown.d.ts +7 -1
- package/dist/lib/linkers/named_text_article.d.ts +1 -0
- package/dist/lib/linkers/quoted_section.fixture.d.ts +1 -0
- package/dist/lib/linkers/table_column_texts.d.ts +4 -0
- package/dist/{src/lib → lib}/server/index.d.ts +2 -0
- package/dist/lib/server/jurisprudence_citations.d.ts +46 -0
- package/dist/lib/server/jurisprudence_consultation.d.ts +55 -0
- package/dist/lib/server/jurisprudence_jade.d.ts +57 -0
- package/dist/lib/server/jurisprudence_store.d.ts +36 -0
- package/dist/{src/lib → lib}/server/parsed_bills.d.ts +19 -0
- package/dist/{src/lib → lib}/text_parsers/ast.d.ts +13 -3
- package/dist/lib/text_parsers/historical_versions.d.ts +18 -0
- package/dist/{src/lib → lib}/text_parsers/parsers.d.ts +5 -0
- package/dist/{src/lib → lib}/text_parsers/repeated_actions.d.ts +1 -0
- package/dist/{src/lib → lib}/text_parsers/texts.d.ts +12 -0
- package/dist/link-decision-metadata.js +32 -0
- package/dist/{resolver-CzmDH4S3.js → resolver-GT7457lQ.js} +345 -145
- package/dist/scripts/compare_legi_bills.d.ts +1 -0
- package/dist/scripts/configure_postgres_assemblee_document_triggers.d.ts +1 -0
- package/dist/scripts/configure_postgres_legi_resolver.d.ts +1 -0
- package/dist/scripts/configure_postgres_root_cid_index.d.ts +1 -0
- package/dist/scripts/configure_postgres_senat_document_triggers.d.ts +1 -0
- package/dist/scripts/enrich_assemblee_documents.d.ts +1 -0
- package/dist/scripts/enrich_senat_documents.d.ts +1 -0
- package/dist/scripts/html_document_to_text.d.ts +1 -0
- package/dist/scripts/index_postgres_assemblee_amendments.d.ts +1 -0
- package/dist/scripts/index_postgres_assemblee_texts.d.ts +1 -0
- package/dist/scripts/index_postgres_judilibre.d.ts +1 -0
- package/dist/scripts/index_postgres_legifrance_articles.d.ts +1 -0
- package/dist/scripts/index_postgres_legifrance_jurisprudence.d.ts +1 -0
- package/dist/scripts/index_postgres_senat_amendments.d.ts +1 -0
- package/dist/scripts/index_postgres_senat_texts.d.ts +1 -0
- package/dist/scripts/parse_akoma_ntoso_bill_raw.d.ts +1 -0
- package/dist/scripts/parse_assemblee_bill_raw.d.ts +1 -0
- package/dist/scripts/profile_assemblee_document_parsing.d.ts +1 -0
- package/dist/scripts/profile_canutes_bill.d.ts +1 -0
- package/dist/scripts/replay_linker_scope.d.ts +1 -0
- package/dist/scripts/shared/assemblee_legislature.test.d.ts +1 -0
- package/dist/scripts/shared/checkpoint_cli_options.test.d.ts +1 -0
- package/dist/scripts/simplified_html_bill_to_table_of_contents.d.ts +1 -0
- package/dist/scripts/simplify_word_html.d.ts +1 -0
- package/dist/scripts/sync_postgres_assemblee_document_content.d.ts +1 -0
- package/dist/scripts/sync_postgres_senat_document_content.d.ts +1 -0
- package/dist/scripts/test_canutes_titles_cache.d.ts +1 -0
- package/dist/scripts/warm_canutes_text_titles_cache.d.ts +1 -0
- package/dist/server-f-legi.js +200 -94
- package/dist/server.js +1309 -884
- package/package.json +10 -4
- package/dist/{src/lib → lib}/alineas/alineas_numbers.d.ts +0 -0
- package/dist/{src/lib → lib}/article_temporal_status.test.d.ts +0 -0
- package/dist/{src/lib → lib}/articles.d.ts +0 -0
- package/dist/{src/lib → lib}/articles.test.d.ts +0 -0
- package/dist/{src/lib → lib}/assemblee_document_date.d.ts +0 -0
- package/dist/{src/lib → lib}/assemblee_document_date.test.d.ts +0 -0
- package/dist/{src/lib → lib}/asserts.d.ts +0 -0
- package/dist/{src/lib → lib}/cache.d.ts +0 -0
- package/dist/{src/lib → lib}/dates.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/action_directives.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/action_directives.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/action_directives_cpu.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_effects.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_effects.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_effects_long.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_targets.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_targets.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_portions.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/definitions.d.ts +0 -0
- package/dist/{src/lib/extractors/links.citation_scope.test.d.ts → lib/extractors/link_decisions.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.code_titles.test.d.ts → lib/extractors/links.citation_scope.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.doctrinal.test.d.ts → lib/extractors/links.code_titles.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.european.test.d.ts → lib/extractors/links.doctrinal.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.test.d.ts → lib/extractors/links.european.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/portion_references.test.d.ts → lib/extractors/links.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/extractors/portion_references.d.ts +0 -0
- package/dist/{src/lib/extractors/portion_references_cpu.test.d.ts → lib/extractors/portion_references.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/qualified_versions.test.d.ts → lib/extractors/portion_references_cpu.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/extractors/qualified_versions.d.ts +0 -0
- package/dist/{src/lib/extractors/references.test.d.ts → lib/extractors/qualified_versions.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/extractors/quoted_text.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/references.d.ts +0 -0
- package/dist/{src/lib/text_parsers → lib/extractors}/references.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/table_of_contents.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/table_of_contents.test.d.ts +0 -0
- package/dist/{src/lib → lib}/f_legi/resolver.test.d.ts +0 -0
- package/dist/{src/lib → lib}/index.d.ts +0 -0
- package/dist/{src/lib → lib}/json.d.ts +0 -0
- package/dist/{src/lib/legi/canutes_article_preload.test.d.ts → lib/legi/article_abrogation.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_candidates.test.d.ts → lib/legi/article_history.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_resolver.test.d.ts → lib/legi/canutes_article_preload.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_resolver_cache.test.d.ts → lib/legi/canutes_candidates.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_resolver_europe.test.d.ts → lib/legi/canutes_resolver.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_root_cid_index.integration.test.d.ts → lib/legi/canutes_resolver_cache.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_section_roots.test.d.ts → lib/legi/canutes_resolver_europe.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_text_titles_cache.integration.test.d.ts → lib/legi/canutes_root_cid_index.integration.test.d.ts} +0 -0
- package/dist/{src/lib/legi/resolver.test.d.ts → lib/legi/canutes_section_roots.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/legi/canutes_sql.d.ts +0 -0
- package/dist/{src/lib → lib}/legi/canutes_text_titles_cache.d.ts +0 -0
- package/dist/{src/lib/linkers/cited-article.test.d.ts → lib/legi/canutes_text_titles_cache.integration.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/legi/canutes_titles_metrics.d.ts +0 -0
- package/dist/{src/lib/linkers/reference-mode.test.d.ts → lib/legi/modifying_act_article_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/administrative_acts_autocompletion.test.d.ts → lib/legi/publication_components.test.d.ts} +0 -0
- package/dist/{src/lib/server/akn_rendering.test.d.ts → lib/legi/resolver.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/legi/text_titles_infos.d.ts +0 -0
- package/dist/{src/lib/server/ameli_autocompletion.test.d.ts → lib/linkers/ambiguous_publication.test.d.ts} +0 -0
- package/dist/{src/lib/server/assemblee_amendment_search.test.d.ts → lib/linkers/cited-article.test.d.ts} +0 -0
- package/dist/{src/lib/server/assemblee_document_search.test.d.ts → lib/linkers/enumeration_scope.test.d.ts} +0 -0
- package/dist/{src/lib/server/atomic_files.test.d.ts → lib/linkers/html_decision_capture.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_action_resolver_invariance.test.d.ts → lib/linkers/html_named_text_article.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_citation_anaphora.test.d.ts → lib/linkers/html_publication_93_859_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_comparison.test.d.ts → lib/linkers/html_structure_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_target_scope.test.d.ts → lib/linkers/html_undecidable_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/bofip_autocompletion.test.d.ts → lib/linkers/link_decision_html.test.d.ts} +0 -0
- package/dist/{src/lib/server/boss_autocompletion.test.d.ts → lib/linkers/named_text_article.test.d.ts} +0 -0
- package/dist/{src/lib/server/canutes_only_compatibility.test.d.ts → lib/linkers/quoted_section_scope.test.d.ts} +0 -0
- package/dist/{src/lib/server/document_git_checkpoint.test.d.ts → lib/linkers/reference-mode.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/links.d.ts +6 -6
- /package/dist/{src/lib/server/enriched_document_checkpoint.test.d.ts → lib/links.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/loaders/assemblee.d.ts +0 -0
- /package/dist/{src/lib → lib}/loaders/legifrance.d.ts +0 -0
- /package/dist/{src/lib → lib}/markdown.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/administrative_acts_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/europe_autocompletion.test.d.ts → lib/server/administrative_acts_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib/server/flegi_profiling.test.d.ts → lib/server/akn_rendering.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/alineas/alineas_images_utils.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/ameli_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/html_simplifier.test.d.ts → lib/server/ameli_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/assemblee_amendment_search.d.ts +0 -0
- /package/dist/{src/lib/server/international_treaties_autocompletion.test.d.ts → lib/server/assemblee_amendment_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/assemblee_document_search.d.ts +0 -0
- /package/dist/{src/lib/server/judilibre_search.test.d.ts → lib/server/assemblee_document_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/atomic_files.d.ts +0 -0
- /package/dist/{src/lib/server/legifrance_article_search.test.d.ts → lib/server/atomic_files.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/auditors/config.d.ts +0 -0
- /package/dist/{src/lib/server/legifrance_jurisprudence_search.test.d.ts → lib/server/bill_action_resolver_invariance.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/bill_action_target_fixtures.d.ts +0 -0
- /package/dist/{src/lib/server/local_acts_autocompletion.test.d.ts → lib/server/bill_citation_anaphora.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/bill_comparison.d.ts +0 -0
- /package/dist/{src/lib/server/masquage-typesense.test.d.ts → lib/server/bill_comparison.test.d.ts} +0 -0
- /package/dist/{src/lib/server/parsed_amendments.test.d.ts → lib/server/bill_target_scope.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/bofip_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/parsed_bills.test.d.ts → lib/server/bofip_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/boss_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/raa_autocompletion.test.d.ts → lib/server/boss_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/canutes_legacy_candidates.d.ts +0 -0
- /package/dist/{src/lib/server/senat_amendment_search.test.d.ts → lib/server/canutes_only_compatibility.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/config.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/databases/canutes_root_cid_index.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/databases/canutes_text_titles_cache.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/databases/index.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/document_git_checkpoint.d.ts +0 -0
- /package/dist/{src/lib/server/senat_document_search.test.d.ts → lib/server/document_git_checkpoint.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/enriched_document_checkpoint.d.ts +0 -0
- /package/dist/{src/lib/server/shared_legal_text_sections.test.d.ts → lib/server/enriched_document_checkpoint.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/europe_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/sql_profiling.test.d.ts → lib/server/europe_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/f_legi/index.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/flegi_profiling.d.ts +0 -0
- /package/dist/{src/lib/server/sync_administrative_act_titles.test.d.ts → lib/server/flegi_profiling.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/html_simplifier.d.ts +0 -0
- /package/dist/{src/lib/server/sync_assemblee_legal_texts.test.d.ts → lib/server/html_simplifier.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/international_treaties_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/sync_local_act_titles.test.d.ts → lib/server/international_treaties_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/judilibre_search.d.ts +0 -0
- /package/dist/{src/lib/server/typesense_blue_green.test.d.ts → lib/server/judilibre_search.test.d.ts} +0 -0
- /package/dist/{src/lib/server/typesense_index_lock.test.d.ts → lib/server/jurisprudence_citations.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/action_citation_patterns.test.d.ts → lib/server/jurisprudence_jade.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/action_directives.test.d.ts → lib/server/jurisprudence_store.integration.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/action_occurrences.test.d.ts → lib/server/jurisprudence_store_closed.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/legi/resolvers.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/legifrance_article_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/action_position_cues.test.d.ts → lib/server/legifrance_article_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/legifrance_jurisprudence_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/action_words.test.d.ts → lib/server/legifrance_jurisprudence_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/linkers/html.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/local_acts_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/actions.test.d.ts → lib/server/local_acts_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/articles.test.d.ts → lib/server/masquage-typesense.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/masquage_typesense.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/citations.test.d.ts → lib/server/named_text_article_decisions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/parsed_amendments.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/dates.test.d.ts → lib/server/parsed_amendments.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/divisions.test.d.ts → lib/server/parsed_bill_abrogation.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/doctrinal_references.test.d.ts → lib/server/parsed_bill_future_consultation.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/numbers.test.d.ts → lib/server/parsed_bill_link_decisions.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/parsers.test.d.ts → lib/server/parsed_bills.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/raa_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/portions.test.d.ts → lib/server/raa_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/senat_amendment_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/prepositions.test.d.ts → lib/server/senat_amendment_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/senat_document_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/relative_locations.test.d.ts → lib/server/senat_document_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/senat_document_sources.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/shared_legal_text_sections.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/repeated_actions.test.d.ts → lib/server/shared_legal_text_sections.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sql_profiling.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/search_queries.test.d.ts → lib/server/sql_profiling.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_administrative_act_titles.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/simplifiers.test.d.ts → lib/server/sync_administrative_act_titles.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_ameli_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_assemblee_legal_texts.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/texts.test.d.ts → lib/server/sync_assemblee_legal_texts.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_boss_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_europe_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_international_treaty_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_local_act_titles.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/typography.test.d.ts → lib/server/sync_local_act_titles.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_raa_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/tables_of_contents.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/text_parsers/transformers.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/typesense_blue_green.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_assemblee_parsed_documents.d.ts → lib/server/typesense_blue_green.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/typesense_index_lock.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_html_document.d.ts → lib/server/typesense_index_lock.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/test/text_titles_infos.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_citation_patterns.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_legifrance.d.ts → lib/text_parsers/action_citation_patterns.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_directives.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_senat_comptes_rendus.d.ts → lib/text_parsers/action_directives.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_occurrences.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_senat_parsed_documents.d.ts → lib/text_parsers/action_occurrences.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_position_cues.d.ts +0 -0
- /package/dist/{src/scripts/associate_jorf_textes_with_assemblee_commissions.d.ts → lib/text_parsers/action_position_cues.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_target_scopes.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_words.d.ts +0 -0
- /package/dist/{src/scripts/associate_jorf_textes_with_dossiers_legislatifs_assemblee.d.ts → lib/text_parsers/action_words.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/actions.d.ts +0 -0
- /package/dist/{src/scripts/compare_legi_bills.d.ts → lib/text_parsers/actions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/amendment_action_directives.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/articles.d.ts +0 -0
- /package/dist/{src/scripts/configure_postgres_assemblee_document_triggers.d.ts → lib/text_parsers/articles.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/citations.d.ts +0 -0
- /package/dist/{src/scripts/configure_postgres_legi_resolver.d.ts → lib/text_parsers/citations.test.d.ts} +0 -0
- /package/dist/{src/scripts/configure_postgres_root_cid_index.d.ts → lib/text_parsers/code_annexes.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/dates.d.ts +0 -0
- /package/dist/{src/scripts/configure_postgres_senat_document_triggers.d.ts → lib/text_parsers/dates.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/divisions.d.ts +0 -0
- /package/dist/{src/scripts/enrich_assemblee_documents.d.ts → lib/text_parsers/divisions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/doctrinal_references.d.ts +0 -0
- /package/dist/{src/scripts/enrich_senat_documents.d.ts → lib/text_parsers/doctrinal_references.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/fragments.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/helpers.d.ts +0 -0
- /package/dist/{src/scripts/html_document_to_text.d.ts → lib/text_parsers/historical_versions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/legal_text_aliases.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/numbers.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_assemblee_amendments.d.ts → lib/text_parsers/numbers.test.d.ts} +0 -0
- /package/dist/{src/scripts/index_postgres_assemblee_texts.d.ts → lib/text_parsers/parsers.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/portions.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_judilibre.d.ts → lib/text_parsers/portions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/prepositions.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_legifrance_articles.d.ts → lib/text_parsers/prepositions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/qualified_versions.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/references.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_legifrance_jurisprudence.d.ts → lib/text_parsers/references.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/relative_locations.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_senat_amendments.d.ts → lib/text_parsers/relative_locations.test.d.ts} +0 -0
- /package/dist/{src/scripts/index_postgres_senat_texts.d.ts → lib/text_parsers/repeated_actions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/search_queries.d.ts +0 -0
- /package/dist/{src/scripts/parse_akoma_ntoso_bill_raw.d.ts → lib/text_parsers/search_queries.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/separators.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/simplifiers.d.ts +0 -0
- /package/dist/{src/scripts/parse_assemblee_bill_raw.d.ts → lib/text_parsers/simplifiers.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/table_row_targets.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/table_unit_notes.d.ts +0 -0
- /package/dist/{src/scripts/profile_assemblee_document_parsing.d.ts → lib/text_parsers/texts.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/transformers.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/typography.d.ts +0 -0
- /package/dist/{src/scripts/profile_canutes_bill.d.ts → lib/text_parsers/typography.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/textes.d.ts +0 -0
- /package/dist/{src/lib → lib}/timings.d.ts +0 -0
- /package/dist/{src/scripts/shared/assemblee_legislature.test.d.ts → scripts/add_links_to_assemblee_parsed_documents.d.ts} +0 -0
- /package/dist/{src/scripts/shared/checkpoint_cli_options.test.d.ts → scripts/add_links_to_html_document.d.ts} +0 -0
- /package/dist/{src/scripts/simplified_html_bill_to_table_of_contents.d.ts → scripts/add_links_to_legifrance.d.ts} +0 -0
- /package/dist/{src/scripts/simplify_word_html.d.ts → scripts/add_links_to_senat_comptes_rendus.d.ts} +0 -0
- /package/dist/{src/scripts/sync_postgres_assemblee_document_content.d.ts → scripts/add_links_to_senat_parsed_documents.d.ts} +0 -0
- /package/dist/{src/scripts → scripts}/add_positions_to_table_of_contents.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/add_references_to_html_document.d.ts +0 -0
- /package/dist/{src/scripts/sync_postgres_senat_document_content.d.ts → scripts/alimenter_jurisprudence_pilote.d.ts} +0 -0
- /package/dist/{src/scripts/test_canutes_titles_cache.d.ts → scripts/associate_jorf_textes_with_assemblee_commissions.d.ts} +0 -0
- /package/dist/{src/scripts/warm_canutes_text_titles_cache.d.ts → scripts/associate_jorf_textes_with_dossiers_legislatifs_assemblee.d.ts} +0 -0
- /package/dist/{src/scripts → scripts}/audit_doctrinal_references.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/configure.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/extract_alineas_images.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/generate_alineas_numbers_review.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/index_typesense.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/merge_reviewed_alineas_numbers.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/set_articles_missing_num.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/shared/assemblee_legislature.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/shared/checkpoint_cli_options.d.ts +0 -0
|
@@ -178,11 +178,13 @@ function m(e, t) {
|
|
|
178
178
|
var h = class {
|
|
179
179
|
input;
|
|
180
180
|
offset;
|
|
181
|
+
ignoreReferenceRepetitionQualifiers = !1;
|
|
181
182
|
currentArticle = void 0;
|
|
182
183
|
currentText = void 0;
|
|
183
184
|
length = 0;
|
|
184
185
|
usedInputs = void 0;
|
|
185
186
|
variables = {};
|
|
187
|
+
textTitlesInfos;
|
|
186
188
|
constructor(e, t = 0) {
|
|
187
189
|
this.input = e, this.offset = t;
|
|
188
190
|
}
|
|
@@ -294,7 +296,7 @@ var h = class {
|
|
|
294
296
|
let i = Math.max(0, r.offset - t);
|
|
295
297
|
for (let t = r.offset; t >= i; t--) {
|
|
296
298
|
let i = new h(r.input, t);
|
|
297
|
-
i.variables = { ...r.variables }, i.currentArticle = r.currentArticle, i.currentText = r.currentText;
|
|
299
|
+
i.variables = { ...r.variables }, i.currentArticle = r.currentArticle, i.currentText = r.currentText, i.textTitlesInfos = r.textTitlesInfos;
|
|
298
300
|
let a = (Array.isArray(e) ? _(e, { exportVariables: !0 }) : e)(i);
|
|
299
301
|
if (a !== void 0 && i.offset === r.offset) {
|
|
300
302
|
let e = a;
|
|
@@ -430,7 +432,7 @@ var h = class {
|
|
|
430
432
|
}, re = S(" ?['’] ?", { value: "'" }), T = S(" "), ie = S(" ?", { value: "" }), ae = S("[a-z]", { flags: "i" }), oe = S(String.raw`(?=$|\P{Alphabetic})`, { flags: "iv" }), E = S("n ?[°o] ?", {
|
|
431
433
|
flags: "i",
|
|
432
434
|
value: "n° "
|
|
433
|
-
}),
|
|
435
|
+
}), D = S("-"), se = S(", ?", { value: ", " }), ce = S("(, ?| )", { value: ", " }), O = S("(èm)?e"), le = g(S("1er", { value: (e, t) => ({
|
|
434
436
|
position: t.position(),
|
|
435
437
|
text: t.text(),
|
|
436
438
|
value: 1
|
|
@@ -438,11 +440,11 @@ var h = class {
|
|
|
438
440
|
position: t.position(),
|
|
439
441
|
text: t.text(),
|
|
440
442
|
value: 1
|
|
441
|
-
}) }), _([S(String.raw`\d+`), x(
|
|
443
|
+
}) }), _([S(String.raw`\d+`), x(O, { default: "" })], { value: (e, t) => ({
|
|
442
444
|
position: t.position(),
|
|
443
445
|
text: t.text(),
|
|
444
446
|
value: parseInt(e[0])
|
|
445
|
-
}) })),
|
|
447
|
+
}) })), k = S(String.raw`\d+`, { value: (e) => parseInt(e[0]) }), ue = g(S("1er", { value: 1 }), _([S(String.raw`\d+`), O], { value: (e) => parseInt(e[0]) })), de = S(String.raw`[IVXLCDM]+`, { value: (e) => d(e[0]) }), fe = g(S("IER|Ier", { value: 1 }), _([S(String.raw`[IVXLCDM]+`), O], { value: (e) => d(e[0]) })), pe = g(S("0I", { value: (e, t) => ({
|
|
446
448
|
position: t.position(),
|
|
447
449
|
text: t.text(),
|
|
448
450
|
value: 0
|
|
@@ -450,11 +452,11 @@ var h = class {
|
|
|
450
452
|
position: t.position(),
|
|
451
453
|
text: t.text(),
|
|
452
454
|
value: 1
|
|
453
|
-
}) }), _([S(String.raw`[IVXLCDM]+`), x(
|
|
455
|
+
}) }), _([S(String.raw`[IVXLCDM]+`), x(O, { default: "" })], { value: (e, t) => ({
|
|
454
456
|
position: t.position(),
|
|
455
457
|
text: t.text(),
|
|
456
458
|
value: d(e[0])
|
|
457
|
-
}) })),
|
|
459
|
+
}) })), me = g(S("dix", {
|
|
458
460
|
flags: "i",
|
|
459
461
|
value: 10
|
|
460
462
|
}), S("onze?", {
|
|
@@ -475,7 +477,7 @@ var h = class {
|
|
|
475
477
|
}), S("seize?", {
|
|
476
478
|
flags: "i",
|
|
477
479
|
value: 16
|
|
478
|
-
})),
|
|
480
|
+
})), he = g(S("vingt", {
|
|
479
481
|
flags: "i",
|
|
480
482
|
value: 20
|
|
481
483
|
}), S("trente?", {
|
|
@@ -505,7 +507,7 @@ var h = class {
|
|
|
505
507
|
}), S("nonante?", {
|
|
506
508
|
flags: "i",
|
|
507
509
|
value: 90
|
|
508
|
-
})),
|
|
510
|
+
})), ge = g(S("une?", {
|
|
509
511
|
flags: "i",
|
|
510
512
|
value: 1
|
|
511
513
|
}), S("deux", {
|
|
@@ -532,8 +534,8 @@ var h = class {
|
|
|
532
534
|
}), S("neu[fv]", {
|
|
533
535
|
flags: "i",
|
|
534
536
|
value: 9
|
|
535
|
-
})),
|
|
536
|
-
C("centaines", x([C("centaine", x([
|
|
537
|
+
})), _e = _([
|
|
538
|
+
C("centaines", x([C("centaine", x([ge, D], {
|
|
537
539
|
default: 0,
|
|
538
540
|
value: (e) => e[0]
|
|
539
541
|
})), S("cent-", {
|
|
@@ -543,24 +545,24 @@ var h = class {
|
|
|
543
545
|
default: 0,
|
|
544
546
|
value: (e, { variables: t }) => 100 * t.centaine
|
|
545
547
|
})),
|
|
546
|
-
C("dizaines", x(
|
|
548
|
+
C("dizaines", x(he, { default: 0 })),
|
|
547
549
|
x(S("-(et-)?", { flags: "i" }), { default: "" }),
|
|
548
|
-
C("dix", x(
|
|
549
|
-
x(
|
|
550
|
-
C("unite", x(
|
|
550
|
+
C("dix", x(me, { default: 0 })),
|
|
551
|
+
x(D, { default: "" }),
|
|
552
|
+
C("unite", x(ge, { default: 0 }))
|
|
551
553
|
], { value: (e, { variables: t }) => t.centaines + t.dizaines + t.dix + t.unite }), ve = g(S("1(er|ère)", {
|
|
552
554
|
flags: "i",
|
|
553
555
|
value: 1
|
|
554
556
|
}), S("premi(er|ère)", {
|
|
555
557
|
flags: "i",
|
|
556
558
|
value: 1
|
|
557
|
-
}),
|
|
559
|
+
}), k, _e), ye = g(S("premi(er|ère)", {
|
|
558
560
|
flags: "i",
|
|
559
561
|
value: 1
|
|
560
562
|
}), S("seconde?", {
|
|
561
563
|
flags: "i",
|
|
562
564
|
value: 2
|
|
563
|
-
}), _([
|
|
565
|
+
}), _([_e, S("ième", { flags: "i" })], { value: (e) => e[0] })), be = g(ue, ye), xe = "[0-9]+(?:e|er|ere|ère)?|[A-Za-zÀ-ÖØ-öø-ÿ'’.-]+";
|
|
564
566
|
function A(e, t) {
|
|
565
567
|
let n = new h(e), r = t(n);
|
|
566
568
|
if (n.remaining().trim().length > 0) return null;
|
|
@@ -579,7 +581,7 @@ function Ce(e) {
|
|
|
579
581
|
if (!t) return null;
|
|
580
582
|
let n = Array.from(new Set([t, Se(t)]));
|
|
581
583
|
for (let e of n) {
|
|
582
|
-
let t = A(e, be) ?? A(e, ve) ?? A(e,
|
|
584
|
+
let t = A(e, be) ?? A(e, ve) ?? A(e, le);
|
|
583
585
|
if (t !== null) return t;
|
|
584
586
|
}
|
|
585
587
|
return null;
|
|
@@ -708,7 +710,7 @@ var we = [
|
|
|
708
710
|
position: t.position(),
|
|
709
711
|
text: t.text().toLowerCase(),
|
|
710
712
|
value: e
|
|
711
|
-
}) }), De = S(String.raw`[12]\d{3}`), Oe = v(g(
|
|
713
|
+
}) }), De = S(String.raw`[12]\d{3}`), Oe = v(g(de, S(String.raw`1[0-4]|\d`)), { value: (e) => p(parseInt(e)) }), ke = g(S(String.raw`1\s*er`, {
|
|
712
714
|
flags: "i",
|
|
713
715
|
value: "01"
|
|
714
716
|
}), S(String.raw`[12]\d|3[01]`, { value: (e) => e[0] }), S(String.raw`\d`, { value: (e) => "0" + e[0] })), Ae = g(S(String.raw`1\s*er`, {
|
|
@@ -889,8 +891,11 @@ var we = [
|
|
|
889
891
|
})), F = S("ci ?- ?(après|avant|dessous|dessus)", {
|
|
890
892
|
flags: "i",
|
|
891
893
|
value: (e) => `ci-${e[1]}`
|
|
892
|
-
}), Ue = _([T, F], { value: (e) => e[1] }),
|
|
893
|
-
|
|
894
|
+
}), Ue = _([T, F], { value: (e) => e[1] }), I = S(" précitée?", { flags: "i" }), We = g(F, N), Ge = _([x(S("ces ", { flags: "i" }), { default: "" }), N], { value: (e) => e[1] }), Ke = g(F, P), qe = S("ce(tte|t)?(?= )", {
|
|
895
|
+
flags: "i",
|
|
896
|
+
value: { relative: 0 }
|
|
897
|
+
}), L = g(_([x([qe, T], { default: "" }), P], { value: (e) => e[1] }), qe), R = /^<\/?(!DOCTYPE|\?XML|[A-Z][A-Z0-9]*)/i;
|
|
898
|
+
function z(e, t) {
|
|
894
899
|
return (n) => {
|
|
895
900
|
let r = [], i = n;
|
|
896
901
|
for (let e of t) {
|
|
@@ -925,12 +930,12 @@ function Je(e) {
|
|
|
925
930
|
};
|
|
926
931
|
};
|
|
927
932
|
}
|
|
928
|
-
function*
|
|
933
|
+
function* B(e) {
|
|
929
934
|
if (e.transformations === void 0) yield e;
|
|
930
|
-
else for (let t of e.transformations) yield*
|
|
935
|
+
else for (let t of e.transformations) yield* B(t);
|
|
931
936
|
}
|
|
932
937
|
function* Ye(e) {
|
|
933
|
-
let t = [...
|
|
938
|
+
let t = [...B(e)].reverse(), n = { position: {
|
|
934
939
|
start: 0,
|
|
935
940
|
stop: 0
|
|
936
941
|
} }, r = t.map((e) => {
|
|
@@ -987,7 +992,7 @@ function* Xe(e) {
|
|
|
987
992
|
if (i + 1 < d) {
|
|
988
993
|
let r = !1, o = n[i + 1];
|
|
989
994
|
if (o.openingTag !== void 0 && o.outputIndex + o.outputLength < e.start) {
|
|
990
|
-
let e = o.openingTag.match(
|
|
995
|
+
let e = o.openingTag.match(R);
|
|
991
996
|
if (e !== null) {
|
|
992
997
|
let t = e[1], n = t.toUpperCase();
|
|
993
998
|
[
|
|
@@ -1012,7 +1017,7 @@ function* Xe(e) {
|
|
|
1012
1017
|
if (i + 1 > f) {
|
|
1013
1018
|
let a = !1, s = n[r], l = n[i + 1];
|
|
1014
1019
|
if (s.openingTag !== void 0 && e.stop < l.outputIndex) {
|
|
1015
|
-
let e = s.openingTag.match(
|
|
1020
|
+
let e = s.openingTag.match(R);
|
|
1016
1021
|
if (e !== null) {
|
|
1017
1022
|
let t = e[1], n = t.toUpperCase();
|
|
1018
1023
|
[
|
|
@@ -1061,7 +1066,7 @@ function Ze(e) {
|
|
|
1061
1066
|
}
|
|
1062
1067
|
function Qe(e, t) {
|
|
1063
1068
|
let n = t.map((e) => [e]);
|
|
1064
|
-
for (let { sourceMap: t } of [...
|
|
1069
|
+
for (let { sourceMap: t } of [...B(e)].reverse()) n = $e(t, n);
|
|
1065
1070
|
return n;
|
|
1066
1071
|
}
|
|
1067
1072
|
function $e(e, t) {
|
|
@@ -1174,7 +1179,7 @@ function at({ removeAWithHref: e } = {}) {
|
|
|
1174
1179
|
sourceMap: a,
|
|
1175
1180
|
title: s
|
|
1176
1181
|
};
|
|
1177
|
-
let u = t.slice(c, l + 1), d = u.startsWith("</"), f = u.length, p = u.match(
|
|
1182
|
+
let u = t.slice(c, l + 1), d = u.startsWith("</"), f = u.length, p = u.match(R);
|
|
1178
1183
|
if (p === null) {
|
|
1179
1184
|
i.push(t.slice(n, l + 1).replace(/[\n\r]/g, " ")), n = l + 1;
|
|
1180
1185
|
continue;
|
|
@@ -1268,7 +1273,7 @@ function at({ removeAWithHref: e } = {}) {
|
|
|
1268
1273
|
"HEAD",
|
|
1269
1274
|
"SCRIPT",
|
|
1270
1275
|
"STYLE"
|
|
1271
|
-
].includes(h) || e && h === "A" && / href=/i.test(u)) c > n && i.push(t.slice(n, c).replace(/[\n\r]/g, " ")), o.push({
|
|
1276
|
+
].includes(h) || e && h === "A" && / href=/i.test(u) || h === "SPAN" && /\bdata-alinea\s*=/i.test(u) && /\bclass\s*=\s*(["'])[^"']*\balinea\b[^"']*\1/i.test(u) || h === "P" && /\bdata-pastille\s*=/i.test(u) && /\bclass\s*=\s*(["'])[^"']*\bpastille\b[^"']*\1/i.test(u)) c > n && i.push(t.slice(n, c).replace(/[\n\r]/g, " ")), o.push({
|
|
1272
1277
|
action: "ignore",
|
|
1273
1278
|
inputIndex: c,
|
|
1274
1279
|
name: h,
|
|
@@ -1392,7 +1397,7 @@ function ct(e) {
|
|
|
1392
1397
|
[/<script.*?>.*?<\/script>/gis, ""],
|
|
1393
1398
|
[/<style.*?>.*?<\/style>/gis, ""]
|
|
1394
1399
|
]) {
|
|
1395
|
-
let i =
|
|
1400
|
+
let i = V(e, r)(n);
|
|
1396
1401
|
i.sourceMap.length !== 0 && (t.push(i), n = i.output);
|
|
1397
1402
|
}
|
|
1398
1403
|
return {
|
|
@@ -1402,7 +1407,7 @@ function ct(e) {
|
|
|
1402
1407
|
transformations: t
|
|
1403
1408
|
};
|
|
1404
1409
|
}
|
|
1405
|
-
function
|
|
1410
|
+
function V(e, t) {
|
|
1406
1411
|
return (n) => {
|
|
1407
1412
|
let r = [], i = n.replaceAll(e, (e, ...n) => {
|
|
1408
1413
|
let i = n.at(-2), a = t;
|
|
@@ -1422,14 +1427,14 @@ function B(e, t) {
|
|
|
1422
1427
|
};
|
|
1423
1428
|
};
|
|
1424
1429
|
}
|
|
1425
|
-
function
|
|
1430
|
+
function H(e) {
|
|
1426
1431
|
let t = [], n = e;
|
|
1427
1432
|
for (let [e, r] of [
|
|
1428
1433
|
[/(\sn°)([^\s])/gi, "$1 $2"],
|
|
1429
1434
|
[/[\u200E\u200F]/g, ""],
|
|
1430
1435
|
[/[\uF031-\uF039\uF041-\uF054\uF061-\uF06A]/g, ""]
|
|
1431
1436
|
]) {
|
|
1432
|
-
let i =
|
|
1437
|
+
let i = V(e, r)(n);
|
|
1433
1438
|
i.sourceMap.length !== 0 && (t.push(i), n = i.output);
|
|
1434
1439
|
}
|
|
1435
1440
|
return {
|
|
@@ -1440,24 +1445,24 @@ function V(e) {
|
|
|
1440
1445
|
};
|
|
1441
1446
|
}
|
|
1442
1447
|
function lt({ removeAWithHref: e } = {}) {
|
|
1443
|
-
return (t) =>
|
|
1448
|
+
return (t) => z("Simplification du HTML", [
|
|
1444
1449
|
ot,
|
|
1445
1450
|
st,
|
|
1446
1451
|
ct,
|
|
1447
|
-
|
|
1448
|
-
|
|
1452
|
+
H,
|
|
1453
|
+
G,
|
|
1449
1454
|
at({ removeAWithHref: e }),
|
|
1450
|
-
|
|
1455
|
+
W
|
|
1451
1456
|
])(t);
|
|
1452
1457
|
}
|
|
1453
|
-
function
|
|
1454
|
-
return
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
+
function U(e) {
|
|
1459
|
+
return z("Simplification du texte brut", [
|
|
1460
|
+
H,
|
|
1461
|
+
G,
|
|
1462
|
+
W
|
|
1458
1463
|
])(e);
|
|
1459
1464
|
}
|
|
1460
|
-
function
|
|
1465
|
+
function W(e) {
|
|
1461
1466
|
let t = [], n = e;
|
|
1462
1467
|
for (let [e, r, i] of [
|
|
1463
1468
|
[
|
|
@@ -1515,8 +1520,8 @@ function H(e) {
|
|
|
1515
1520
|
transformations: t
|
|
1516
1521
|
};
|
|
1517
1522
|
}
|
|
1518
|
-
function
|
|
1519
|
-
return
|
|
1523
|
+
function G(e) {
|
|
1524
|
+
return z("Simplification des caractères unicodes", [
|
|
1520
1525
|
["À", "À"],
|
|
1521
1526
|
["Â", "Â"],
|
|
1522
1527
|
["Ä", "Ä"],
|
|
@@ -1551,25 +1556,28 @@ function U(e) {
|
|
|
1551
1556
|
[/[‐‑–·]/g, "-"],
|
|
1552
1557
|
[/’/g, "'"],
|
|
1553
1558
|
["İ", "I"]
|
|
1554
|
-
].map(([e, t]) =>
|
|
1559
|
+
].map(([e, t]) => V(e, t)))(e);
|
|
1555
1560
|
}
|
|
1556
1561
|
//#endregion
|
|
1557
1562
|
//#region src/lib/text_parsers/texts.ts
|
|
1558
|
-
var
|
|
1559
|
-
function
|
|
1560
|
-
return
|
|
1563
|
+
var K = {}, q = {}, ut = {}, dt = {}, ft = {}, pt = {}, mt = 0;
|
|
1564
|
+
function ht() {
|
|
1565
|
+
return mt;
|
|
1561
1566
|
}
|
|
1562
|
-
function
|
|
1563
|
-
|
|
1567
|
+
function gt(e) {
|
|
1568
|
+
mt++;
|
|
1564
1569
|
let t = e ?? {};
|
|
1565
|
-
|
|
1570
|
+
J(q, t.codeTitleVersionsByCid ?? {}), J(ut, t.textCidByOtherTitleWordsTree ?? {}), J(dt, t.textCidByTitleRestWordsTree ?? {}), J(K, Object.fromEntries(Object.entries(t.textInfosByCid ?? {}).map(([e, t]) => [e, Array.isArray(t) ? {
|
|
1566
1571
|
nature: t[0],
|
|
1567
1572
|
title: t[1]
|
|
1568
|
-
} : t]))),
|
|
1573
|
+
} : t]))), J(ft, t.textsCidsByNatureAndDate ?? {}), J(pt, t.textsCidsByNatureAndNum ?? {});
|
|
1574
|
+
}
|
|
1575
|
+
function _t(e, t) {
|
|
1576
|
+
return [...new Set(e)].filter((e) => (q[e] ?? []).some(({ debut: e, fin: n }) => e < n && e <= t && t < n));
|
|
1569
1577
|
}
|
|
1570
|
-
function
|
|
1578
|
+
function vt(e, t) {
|
|
1571
1579
|
let n = (e) => {
|
|
1572
|
-
let n =
|
|
1580
|
+
let n = q[e] ?? [], r = n.filter(({ debut: e, fin: n }) => e <= t && t < n), i = (r.length > 0 ? r : n.filter(({ debut: e }) => e <= t)).toSorted((e, t) => t.fin.localeCompare(e.fin) || t.debut.localeCompare(e.debut))[0];
|
|
1573
1581
|
return [
|
|
1574
1582
|
+(r.length > 0),
|
|
1575
1583
|
i?.fin ?? "",
|
|
@@ -1581,12 +1589,28 @@ function yt(e, t) {
|
|
|
1581
1589
|
return i[0] - r[0] || i[1].localeCompare(r[1]) || i[2].localeCompare(r[2]) || e.localeCompare(t);
|
|
1582
1590
|
});
|
|
1583
1591
|
}
|
|
1584
|
-
function
|
|
1592
|
+
function J(e, t) {
|
|
1585
1593
|
let n = e;
|
|
1586
1594
|
for (let e of Object.keys(n)) delete n[e];
|
|
1587
1595
|
Object.assign(e, t);
|
|
1588
1596
|
}
|
|
1589
|
-
var
|
|
1597
|
+
var yt = (e) => Array.isArray(e) ? e : [e];
|
|
1598
|
+
function bt(e) {
|
|
1599
|
+
if (e.size < 2) return;
|
|
1600
|
+
let t = [...e].map((e) => ({
|
|
1601
|
+
cid: e,
|
|
1602
|
+
...K[e]
|
|
1603
|
+
}));
|
|
1604
|
+
if (t.some(({ cid: e, nature: t, title: n }) => !e.startsWith("JORFTEXT") || t === "CODE" || n === void 0)) return;
|
|
1605
|
+
let n = t.filter(({ title: e }) => !/ \(rectificatif\)$/iu.test(e));
|
|
1606
|
+
if (n.length !== 1) return;
|
|
1607
|
+
let r = n[0];
|
|
1608
|
+
return t.every(({ nature: e, title: t }) => e === r.nature && (t === r.title || t?.replace(/ \(rectificatif\)$/iu, "") === r.title)) ? {
|
|
1609
|
+
cid: r.cid,
|
|
1610
|
+
rectificatifCids: t.filter(({ cid: e }) => e !== r.cid).map(({ cid: e }) => e)
|
|
1611
|
+
} : void 0;
|
|
1612
|
+
}
|
|
1613
|
+
var Y = v(g(S("Constitution", { value: "CONSTITUTION" }), S("arrêtés?|circulaires?|code professionnel local|code|décret-loi|décrets?|livre(?= des procédures fiscales)|loi constitutionnelle|loi d'orientation quinquennale|loi d'orientation|loi de programme|loi locale|loi organique|loi quinquennale|loi|ordonnance (?:du Roi|locale|ministérielle|royale)|ordonnance", {
|
|
1590
1614
|
flags: "i",
|
|
1591
1615
|
value: (e) => {
|
|
1592
1616
|
let t = e[0].toLowerCase();
|
|
@@ -1595,7 +1619,7 @@ var bt = (e) => Array.isArray(e) ? e : [e], K = v(g(S("Constitution", { value: "
|
|
|
1595
1619
|
})), { value: (e) => ({
|
|
1596
1620
|
nature: e,
|
|
1597
1621
|
type: "texte"
|
|
1598
|
-
}) }), xt = _([x(E, { default: null }), S(String.raw`\d+(-\d+)?`)], { value: (e) => e[1] }),
|
|
1622
|
+
}) }), xt = _([x(E, { default: null }), S(String.raw`\d+(-\d+)?`)], { value: (e) => e[1] }), X = g(M, _([xt, x(Pe, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
|
|
1599
1623
|
...e[1],
|
|
1600
1624
|
num: e[0]
|
|
1601
1625
|
} }));
|
|
@@ -1607,11 +1631,11 @@ S("décision( du Conseil constitutionnel)? (?<numero>[-/0-9A-Z]+ (QPC|DC|AN|D|EL
|
|
|
1607
1631
|
type: "décision du Conseil constitutionnel"
|
|
1608
1632
|
})
|
|
1609
1633
|
});
|
|
1610
|
-
var
|
|
1611
|
-
|
|
1612
|
-
|
|
1634
|
+
var St = x(g(S(" de la République française", { flags: "i" }), S(" du pays", { flags: "i" })), { default: null }), Ct = g(_([
|
|
1635
|
+
Y,
|
|
1636
|
+
St,
|
|
1613
1637
|
T,
|
|
1614
|
-
|
|
1638
|
+
X,
|
|
1615
1639
|
S(".*")
|
|
1616
1640
|
], { value: (e) => {
|
|
1617
1641
|
let t = {
|
|
@@ -1620,10 +1644,10 @@ var J = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1620
1644
|
}, n = e[4].trim() || void 0;
|
|
1621
1645
|
return n !== void 0 && (t.titleRest = n), t;
|
|
1622
1646
|
} }), _([
|
|
1623
|
-
|
|
1647
|
+
Y,
|
|
1624
1648
|
S("[^()]+"),
|
|
1625
1649
|
S(String.raw`\( ?`),
|
|
1626
|
-
|
|
1650
|
+
X,
|
|
1627
1651
|
S(String.raw` ?\)`)
|
|
1628
1652
|
], { value: (e) => {
|
|
1629
1653
|
let t = {
|
|
@@ -1640,14 +1664,14 @@ var J = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1640
1664
|
})), S(".+")], { value: (e) => {
|
|
1641
1665
|
let t = { ...e[0] }, n = e[1].trim() || void 0;
|
|
1642
1666
|
return n !== void 0 && (t.titleRest = n), t;
|
|
1643
|
-
} })),
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
x([T,
|
|
1667
|
+
} })), Z = g(_([
|
|
1668
|
+
Y,
|
|
1669
|
+
St,
|
|
1670
|
+
x([T, X], {
|
|
1647
1671
|
default: null,
|
|
1648
1672
|
value: (e) => e[1]
|
|
1649
1673
|
}),
|
|
1650
|
-
x([T, v(w(
|
|
1674
|
+
x([T, v((e) => w(e.textTitlesInfos?.textCidByTitleRestWordsTree ?? dt)(e), { value: (e, t) => ({
|
|
1651
1675
|
...e,
|
|
1652
1676
|
titleRest: t.text()
|
|
1653
1677
|
}) })], {
|
|
@@ -1656,109 +1680,180 @@ var J = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1656
1680
|
}),
|
|
1657
1681
|
x([
|
|
1658
1682
|
S(String.raw` ?\( ?`),
|
|
1659
|
-
|
|
1683
|
+
X,
|
|
1660
1684
|
S(String.raw` ?\)`)
|
|
1661
1685
|
], {
|
|
1662
1686
|
default: null,
|
|
1663
1687
|
value: (e) => e[1]
|
|
1664
1688
|
}),
|
|
1665
|
-
x(
|
|
1666
|
-
], { value: (e) => {
|
|
1667
|
-
let
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1689
|
+
x(I, { default: "" })
|
|
1690
|
+
], { value: (e, t) => {
|
|
1691
|
+
let n = t.textTitlesInfos, r = (e) => {
|
|
1692
|
+
if (!n) return K[e];
|
|
1693
|
+
let t = n.textInfosByCid[e];
|
|
1694
|
+
return t && {
|
|
1695
|
+
nature: t[0],
|
|
1696
|
+
title: t[1]
|
|
1697
|
+
};
|
|
1698
|
+
}, i = n?.textsCidsByNatureAndDate ?? ft, a = n?.textsCidsByNatureAndNum ?? pt, { nature: o, type: s } = e[0], { date: c, num: l } = e[2] ?? e[4] ?? {}, { cid: u, titleRest: d } = e[3] ?? {};
|
|
1699
|
+
if (u === void 0 && c === void 0 && l === void 0) return;
|
|
1700
|
+
let f = /* @__PURE__ */ new Set();
|
|
1701
|
+
if (c !== void 0) {
|
|
1702
|
+
let e = i[o]?.[c];
|
|
1672
1703
|
if (e !== void 0) {
|
|
1673
|
-
let t =
|
|
1674
|
-
|
|
1704
|
+
let t = yt(e);
|
|
1705
|
+
f = f.size === 0 ? new Set(t) : f.intersection(new Set(t));
|
|
1675
1706
|
}
|
|
1676
1707
|
}
|
|
1677
|
-
if (
|
|
1678
|
-
let e =
|
|
1708
|
+
if (l !== void 0) {
|
|
1709
|
+
let e = a[o]?.[l];
|
|
1679
1710
|
if (e !== void 0) {
|
|
1680
|
-
let t =
|
|
1681
|
-
|
|
1711
|
+
let t = yt(e);
|
|
1712
|
+
f = f.size === 0 ? new Set(t) : f.intersection(new Set(t));
|
|
1682
1713
|
}
|
|
1683
1714
|
}
|
|
1684
|
-
if (
|
|
1685
|
-
let e = Array.isArray(
|
|
1686
|
-
|
|
1715
|
+
if (u !== void 0) {
|
|
1716
|
+
let e = Array.isArray(u) ? u : [u];
|
|
1717
|
+
f = f.size === 0 ? new Set(e) : f.intersection(new Set(e.filter((e) => r(e)?.nature === o)));
|
|
1687
1718
|
}
|
|
1688
|
-
let
|
|
1719
|
+
let p = f.size > 1 ? bt(f) : void 0, m = f.size === 1 ? f.values().next().value : p?.cid, h = m === void 0 ? void 0 : r(m);
|
|
1689
1720
|
return Object.fromEntries(Object.entries({
|
|
1690
|
-
cid:
|
|
1691
|
-
candidateCids:
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1721
|
+
cid: m,
|
|
1722
|
+
candidateCids: f.size > 1 ? [...f] : void 0,
|
|
1723
|
+
rectificatifCids: p?.rectificatifCids,
|
|
1724
|
+
date: c,
|
|
1725
|
+
nature: o ?? h?.nature,
|
|
1726
|
+
num: l,
|
|
1727
|
+
title: h?.title,
|
|
1728
|
+
titleRest: d,
|
|
1729
|
+
type: s
|
|
1698
1730
|
}).filter(([, e]) => e !== void 0));
|
|
1699
|
-
} }), _([w(
|
|
1700
|
-
let { cid:
|
|
1731
|
+
} }), _([(e) => w(e.textTitlesInfos?.textCidByOtherTitleWordsTree ?? ut)(e), x(I, { default: "" })], { value: (e, t) => {
|
|
1732
|
+
let { cid: n } = e[0], r = typeof n == "string" ? t.textTitlesInfos?.textInfosByCid[n] : void 0, i = t.textTitlesInfos ? r && {
|
|
1733
|
+
nature: r[0],
|
|
1734
|
+
title: r[1]
|
|
1735
|
+
} : typeof n == "string" ? K[n] : void 0;
|
|
1701
1736
|
return Object.fromEntries(Object.entries({
|
|
1702
|
-
cid:
|
|
1703
|
-
...
|
|
1737
|
+
cid: n,
|
|
1738
|
+
...i ?? {},
|
|
1704
1739
|
type: "texte"
|
|
1705
1740
|
}).filter(([, e]) => e !== void 0));
|
|
1706
|
-
} })),
|
|
1707
|
-
|
|
1741
|
+
} })), wt = _([
|
|
1742
|
+
k,
|
|
1708
1743
|
S("/"),
|
|
1709
|
-
|
|
1744
|
+
k,
|
|
1710
1745
|
x(S(" ?/ ?(CEE?)", { value: (e) => e[1] }), { default: "" })
|
|
1711
|
-
], { value: (e) => `${e[0]}/${e[2]}${e[3] ? `/${e[3]}` : ""}` }),
|
|
1746
|
+
], { value: (e) => `${e[0]}/${e[2]}${e[3] ? `/${e[3]}` : ""}` }), Tt = _([x(E, { default: "" }), wt], { value: (e) => e[1] }), Et = g(_([Tt, x(Pe, { default: null })], { value: (e) => e[1] === null ? { num: e[0] } : {
|
|
1712
1747
|
...e[1],
|
|
1713
1748
|
num: e[0]
|
|
1714
|
-
} }), M),
|
|
1749
|
+
} }), M), Dt = _([S("arrêtés?|arrêts?|avis|décisions?|déclarations?|délibérations?|directive(?: d'exécution|déléguée)?|informations?|instructions?|lettres?|recommandations?|règlement(?: d'exécution)?", {
|
|
1715
1750
|
flags: "i",
|
|
1716
1751
|
value: (e) => {
|
|
1717
1752
|
let t = e[0].toLowerCase();
|
|
1718
|
-
return t.startsWith("arrêté") ? "ARRETEEURO" : t.startsWith("arrêt") ? "ARRETEURO" : t.startsWith("avis") ? "AVISEURO" : t.startsWith("décision") ? "DECISION_EURO" : t.startsWith("déclaration") ? "DECLARATIONEURO" : t.startsWith("délibération") ? "DELIBERATIONEURO" : t.startsWith("directive") ? "DIRECTIVE_EURO" : t.startsWith("information") ? "INFORMATIONEURO" : t.startsWith("instruction") ? "INSTRUCTIONEURO" : t.startsWith("lettre") ? "LETTREEURO" : (t.startsWith("règlement"), "REGLEMENTEUROPEEN");
|
|
1753
|
+
return t.startsWith("arrêté") ? "ARRETEEURO" : t.startsWith("arrêt") ? "ARRETEURO" : t.startsWith("avis") ? "AVISEURO" : t.startsWith("décision") ? "DECISION_EURO" : t.startsWith("déclaration") ? "DECLARATIONEURO" : t.startsWith("délibération") ? "DELIBERATIONEURO" : t.startsWith("directive") ? "DIRECTIVE_EURO" : t.startsWith("information") ? "INFORMATIONEURO" : t.startsWith("instruction") ? "INSTRUCTIONEURO" : t.startsWith("lettre") ? "LETTREEURO" : t.startsWith("recommandation") ? "RECOMMANDATIONEURO" : (t.startsWith("règlement"), "REGLEMENTEUROPEEN");
|
|
1719
1754
|
}
|
|
1720
1755
|
}), x(S(String.raw` \((CE|CEE|EURATOM|UE(, EURATOM)?)\)`, { flags: "i" }), { default: "" })], { value: (e) => ({
|
|
1721
1756
|
nature: e[0],
|
|
1722
1757
|
legislation: "UE",
|
|
1723
1758
|
type: "texte"
|
|
1724
|
-
}) }),
|
|
1725
|
-
|
|
1759
|
+
}) }), Q = _([
|
|
1760
|
+
Dt,
|
|
1726
1761
|
T,
|
|
1727
|
-
|
|
1762
|
+
Et
|
|
1728
1763
|
], { value: (e) => ({
|
|
1729
1764
|
...e[2],
|
|
1730
1765
|
...e[0]
|
|
1731
|
-
}) }),
|
|
1766
|
+
}) }), Ot = S("convention", {
|
|
1732
1767
|
flags: "i",
|
|
1733
1768
|
value: {
|
|
1734
1769
|
nature: "CONVENTION",
|
|
1735
1770
|
legislation: "international",
|
|
1736
1771
|
type: "texte"
|
|
1737
1772
|
}
|
|
1738
|
-
}),
|
|
1739
|
-
|
|
1773
|
+
}), kt = _([x(Ve, { default: !1 }), g(_([
|
|
1774
|
+
L,
|
|
1740
1775
|
T,
|
|
1741
|
-
g(
|
|
1776
|
+
g(Z, Q, Ot, Y, Dt)
|
|
1742
1777
|
], { value: (e) => ({
|
|
1743
1778
|
...e[2],
|
|
1744
1779
|
...e[0] === void 0 ? {} : e[0]
|
|
1745
|
-
}) }),
|
|
1780
|
+
}) }), Z, Q, Ot)], { value: (e, t) => {
|
|
1746
1781
|
let n = {
|
|
1747
1782
|
...e[1],
|
|
1748
1783
|
...e[0] ? { ofTheSaid: !0 } : {},
|
|
1749
1784
|
position: t.position()
|
|
1750
1785
|
};
|
|
1751
1786
|
return t.currentText = n, n;
|
|
1752
|
-
} }),
|
|
1787
|
+
} }), At = _([S("annexe", { flags: "i" }), x([
|
|
1788
|
+
T,
|
|
1789
|
+
x(E, { default: "" }),
|
|
1790
|
+
_([g(de, k, _([ae, S(String.raw`\b`)], { value: (e) => e[0] })), te([D, k])], { value: (e, t) => t.text() })
|
|
1791
|
+
], {
|
|
1792
|
+
default: "",
|
|
1793
|
+
value: (e) => e[2]
|
|
1794
|
+
})], { value: (e) => e[1] }), jt = g(ze, [T, Ie]), Mt = g(_([
|
|
1795
|
+
L,
|
|
1796
|
+
T,
|
|
1797
|
+
S("annexe\\b", { flags: "i" })
|
|
1798
|
+
], { value: (e, t) => e[0].relative === 0 ? {
|
|
1799
|
+
nature: "CODE",
|
|
1800
|
+
sameAnnex: !0,
|
|
1801
|
+
type: "texte",
|
|
1802
|
+
position: t.position()
|
|
1803
|
+
} : void 0 }), _([
|
|
1804
|
+
At,
|
|
1805
|
+
jt,
|
|
1806
|
+
kt
|
|
1807
|
+
], { value: (e, t) => {
|
|
1808
|
+
let n = e[2];
|
|
1809
|
+
return n.nature === "CODE" ? {
|
|
1810
|
+
...n,
|
|
1811
|
+
annex: e[0],
|
|
1812
|
+
position: t.position()
|
|
1813
|
+
} : void 0;
|
|
1814
|
+
} })), Nt = _([
|
|
1815
|
+
v(At, { value: (e, t) => ({
|
|
1816
|
+
annex: e,
|
|
1817
|
+
position: t.position()
|
|
1818
|
+
}) }),
|
|
1819
|
+
jt,
|
|
1820
|
+
kt
|
|
1821
|
+
], { value: (e, t) => {
|
|
1822
|
+
let n = e[2];
|
|
1823
|
+
if (n.nature === "CODE") return;
|
|
1824
|
+
let { annex: r, position: i } = e[0];
|
|
1825
|
+
return {
|
|
1826
|
+
child: {
|
|
1827
|
+
num: `annexe${r ? ` ${r}` : ""}`,
|
|
1828
|
+
position: i,
|
|
1829
|
+
type: "article"
|
|
1830
|
+
},
|
|
1831
|
+
parent: {
|
|
1832
|
+
...n,
|
|
1833
|
+
publicationAnnex: r
|
|
1834
|
+
},
|
|
1835
|
+
position: t.position(),
|
|
1836
|
+
type: "parent-enfant"
|
|
1837
|
+
};
|
|
1838
|
+
} });
|
|
1839
|
+
function Pt(e, t) {
|
|
1840
|
+
let n = e === void 0 ? void 0 : K[e];
|
|
1841
|
+
if (n?.nature !== "CODE") return [];
|
|
1842
|
+
let r = new h(U(`${n.title}, annexe${t ? ` ${t}` : ""}`).output), i = Z(r);
|
|
1843
|
+
return r.remaining() || i === void 0 ? [] : (i.candidateCids ?? (i.cid === void 0 ? [] : [i.cid])).filter((t) => t !== e);
|
|
1844
|
+
}
|
|
1845
|
+
//#endregion
|
|
1846
|
+
//#region src/lib/timings.ts
|
|
1847
|
+
var Ft = class {
|
|
1753
1848
|
label;
|
|
1754
1849
|
enabled;
|
|
1755
1850
|
metrics = [];
|
|
1756
1851
|
startedAt = performance.now();
|
|
1757
|
-
constructor(e, t =
|
|
1852
|
+
constructor(e, t = It()) {
|
|
1758
1853
|
this.label = e, this.enabled = t;
|
|
1759
1854
|
}
|
|
1760
1855
|
add(e) {
|
|
1761
|
-
this.enabled && (this.metrics.push(e),
|
|
1856
|
+
this.enabled && (this.metrics.push(e), Lt() && console.info(`[timing:${this.label}]`, JSON.stringify(e)));
|
|
1762
1857
|
}
|
|
1763
1858
|
async time(e, t, n) {
|
|
1764
1859
|
if (!this.enabled) return t();
|
|
@@ -1797,26 +1892,26 @@ var J = x(g(S(" de la République française", { flags: "i" }), S(" du pays", {
|
|
|
1797
1892
|
}, null, 2));
|
|
1798
1893
|
}
|
|
1799
1894
|
};
|
|
1800
|
-
function
|
|
1895
|
+
function It() {
|
|
1801
1896
|
let e = globalThis.process?.env;
|
|
1802
1897
|
return e?.PJL_BUILD_TIMINGS === "1" || e?.PJL_BUILD_TIMINGS === "true";
|
|
1803
1898
|
}
|
|
1804
|
-
function
|
|
1899
|
+
function Lt() {
|
|
1805
1900
|
let e = globalThis.process?.env;
|
|
1806
1901
|
return e?.PJL_BUILD_TIMINGS_PROGRESS === "1" || e?.PJL_BUILD_TIMINGS_PROGRESS === "true";
|
|
1807
1902
|
}
|
|
1808
1903
|
//#endregion
|
|
1809
1904
|
//#region src/lib/textes.ts
|
|
1810
|
-
var
|
|
1905
|
+
var Rt = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.?$/, "").replace(/\.$/, ""), zt = (e) => {
|
|
1811
1906
|
let t = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1812
1907
|
return t === void 0 || ["2222-02-22", "2999-01-01"].includes(t) ? e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_PUBLI : t;
|
|
1813
|
-
},
|
|
1908
|
+
}, Bt = (e) => {
|
|
1814
1909
|
let t = e.META.META_SPEC.META_TEXTE_CHRONICLE.DATE_TEXTE;
|
|
1815
1910
|
if (!["2222-02-22", "2999-01-01"].includes(t)) return t;
|
|
1816
1911
|
let n = e.META.META_SPEC.META_TEXTE_VERSION.DATE_DEBUT;
|
|
1817
1912
|
if (n !== void 0 && !["2222-02-22", "2999-01-01"].includes(n)) return n;
|
|
1818
1913
|
throw Error(`Missing date signature in text ${e.META.META_COMMUN.ID}`);
|
|
1819
|
-
},
|
|
1914
|
+
}, Vt = (e) => (t, n) => {
|
|
1820
1915
|
let r = e(t), i = e(n);
|
|
1821
1916
|
if (r !== i) return r.localeCompare(i);
|
|
1822
1917
|
let a = t.META.META_COMMUN, o = a.ORIGINE, s = n.META.META_COMMUN, c = s.ORIGINE;
|
|
@@ -1825,30 +1920,30 @@ var Q = (e) => e?.replace(/\n/g, " ").replace(/ {2,}/g, " ").replace(/ \(\d+\)\.
|
|
|
1825
1920
|
if (c === "JORF") return 1;
|
|
1826
1921
|
}
|
|
1827
1922
|
throw Error(`TODO: Unable to sort texts ${a.ID} & ${s.ID} by date.`);
|
|
1828
|
-
},
|
|
1829
|
-
function
|
|
1923
|
+
}, Ht = "current";
|
|
1924
|
+
function Ut(e, t, n, r) {
|
|
1830
1925
|
n != null && ((e[t] ??= {})[n] ??= []).push(r);
|
|
1831
1926
|
}
|
|
1832
|
-
function
|
|
1833
|
-
return
|
|
1927
|
+
function Wt(e) {
|
|
1928
|
+
return U(e).output;
|
|
1834
1929
|
}
|
|
1835
|
-
function
|
|
1836
|
-
let r =
|
|
1930
|
+
function Gt(e, t, n) {
|
|
1931
|
+
let r = Wt(Rt(t).replace(/[,()]/g, " ")).split(" ").map((e) => /^[IVX]+$/gi.test(e) ? d(e).toString() : e.toLowerCase().replace(/^no$/, "n°")), i = e;
|
|
1837
1932
|
for (let e of r) i = i[e] ??= {};
|
|
1838
1933
|
i.cid === void 0 ? i.cid = n : Array.isArray(i.cid) ? i.cid.push(n) : i.cid = [i.cid, n];
|
|
1839
1934
|
}
|
|
1840
|
-
async function
|
|
1841
|
-
|
|
1935
|
+
async function Kt(e, t = {}) {
|
|
1936
|
+
Jt(await Xt(e, t));
|
|
1842
1937
|
}
|
|
1843
|
-
var
|
|
1844
|
-
function
|
|
1845
|
-
|
|
1938
|
+
var qt = /* @__PURE__ */ new WeakMap();
|
|
1939
|
+
function Jt(e) {
|
|
1940
|
+
gt(e), qt.set(e, ht());
|
|
1846
1941
|
}
|
|
1847
|
-
function
|
|
1848
|
-
return
|
|
1942
|
+
function Yt(e) {
|
|
1943
|
+
return qt.get(e) === ht();
|
|
1849
1944
|
}
|
|
1850
|
-
async function
|
|
1851
|
-
let n = new
|
|
1945
|
+
async function Xt(e, { onProgress: t } = {}) {
|
|
1946
|
+
let n = new Ft("legi.buildTextTitlesInfos"), r = {}, i = {}, a = {}, o = {}, s = {}, c = {}, l = {
|
|
1852
1947
|
addOtherTitleWordsTreeMs: 0,
|
|
1853
1948
|
addTitleRestWordsTreeMs: 0,
|
|
1854
1949
|
cleanTitleMs: 0,
|
|
@@ -1879,7 +1974,7 @@ async function Ht(e, { onProgress: t } = {}) {
|
|
|
1879
1974
|
count: n,
|
|
1880
1975
|
phase: "parse:progress"
|
|
1881
1976
|
}), await new Promise((e) => setTimeout(e, 0)));
|
|
1882
|
-
let e = d("cleanTitleMs", () =>
|
|
1977
|
+
let e = d("cleanTitleMs", () => Rt(v));
|
|
1883
1978
|
if ([
|
|
1884
1979
|
"code",
|
|
1885
1980
|
"décret",
|
|
@@ -1921,7 +2016,7 @@ async function Ht(e, { onProgress: t } = {}) {
|
|
|
1921
2016
|
}
|
|
1922
2017
|
}), u.otherTitleCount += y.size;
|
|
1923
2018
|
for (let e of b) {
|
|
1924
|
-
let t = d("parseTitleMs", () =>
|
|
2019
|
+
let t = d("parseTitleMs", () => Ct(new h(Wt(e))));
|
|
1925
2020
|
if (t === void 0 && g === "DECRET" && (u.fallbackDecretTitleCount++, t = {
|
|
1926
2021
|
date: m ?? void 0,
|
|
1927
2022
|
nature: g,
|
|
@@ -1930,16 +2025,16 @@ async function Ht(e, { onProgress: t } = {}) {
|
|
|
1930
2025
|
type: "texte"
|
|
1931
2026
|
}), t === void 0) throw Error(`Unparsable title of ${g} n° ${_ ?? ""} du ${m ?? ""} (${l}): ${e}`);
|
|
1932
2027
|
if (u.parsedTitleCount++, d("indexNatureDateNumMs", () => {
|
|
1933
|
-
|
|
2028
|
+
Ut(s, g, t.date, l), Ut(c, g, t.num, l);
|
|
1934
2029
|
}), t.titleRest !== void 0) {
|
|
1935
2030
|
let { titleRest: e } = t;
|
|
1936
2031
|
u.titleRestCount++, d("addTitleRestWordsTreeMs", () => {
|
|
1937
|
-
|
|
2032
|
+
Gt(i, e, l);
|
|
1938
2033
|
});
|
|
1939
2034
|
}
|
|
1940
2035
|
}
|
|
1941
2036
|
for (let e of y) d("addOtherTitleWordsTreeMs", () => {
|
|
1942
|
-
|
|
2037
|
+
Gt(r, e, l);
|
|
1943
2038
|
});
|
|
1944
2039
|
}
|
|
1945
2040
|
t?.({
|
|
@@ -1951,8 +2046,8 @@ async function Ht(e, { onProgress: t } = {}) {
|
|
|
1951
2046
|
textCidByOtherTitleWordsTree: $(r),
|
|
1952
2047
|
textCidByTitleRestWordsTree: $(i),
|
|
1953
2048
|
textInfosByCid: a,
|
|
1954
|
-
textsCidsByNatureAndDate:
|
|
1955
|
-
textsCidsByNatureAndNum:
|
|
2049
|
+
textsCidsByNatureAndDate: Zt(s),
|
|
2050
|
+
textsCidsByNatureAndNum: Zt(c)
|
|
1956
2051
|
}));
|
|
1957
2052
|
t?.({ phase: "compact:done" });
|
|
1958
2053
|
for (let [e, t] of Object.entries(l)) n.add({
|
|
@@ -1964,7 +2059,7 @@ async function Ht(e, { onProgress: t } = {}) {
|
|
|
1964
2059
|
...u
|
|
1965
2060
|
}), f;
|
|
1966
2061
|
}
|
|
1967
|
-
function
|
|
2062
|
+
function Zt(e) {
|
|
1968
2063
|
return Object.fromEntries(Object.entries(e).map(([e, t]) => [e, Object.fromEntries(Object.entries(t).map(([e, t]) => [e, t.length === 1 ? t[0] : t]))]));
|
|
1969
2064
|
}
|
|
1970
2065
|
function $(e) {
|
|
@@ -1982,8 +2077,113 @@ function $(e) {
|
|
|
1982
2077
|
return t;
|
|
1983
2078
|
}
|
|
1984
2079
|
//#endregion
|
|
2080
|
+
//#region src/lib/legi/article_history.ts
|
|
2081
|
+
function Qt(e) {
|
|
2082
|
+
if (e.length === 0) return;
|
|
2083
|
+
let t = /* @__PURE__ */ new Map();
|
|
2084
|
+
for (let n of e) {
|
|
2085
|
+
let e = n.versions?.VERSION, r = Array.isArray(e) ? e : e == null ? [] : [e], i = new Set([n.id]);
|
|
2086
|
+
for (let e of r) {
|
|
2087
|
+
let t = e?.LIEN_ART?.["@id"];
|
|
2088
|
+
typeof t == "string" && i.add(t);
|
|
2089
|
+
}
|
|
2090
|
+
let a = [...i].sort().join("\0"), o = n.dateDebut ?? "0001-01-01", s = t.get(a);
|
|
2091
|
+
(s === void 0 || o > s.dateDebut) && t.set(a, {
|
|
2092
|
+
dateDebut: o,
|
|
2093
|
+
id: n.id
|
|
2094
|
+
});
|
|
2095
|
+
}
|
|
2096
|
+
if (t.size !== 1) return;
|
|
2097
|
+
let [{ id: n }] = [...t.values()];
|
|
2098
|
+
return { articleId: n };
|
|
2099
|
+
}
|
|
2100
|
+
//#endregion
|
|
2101
|
+
//#region src/lib/legi/publication_components.ts
|
|
2102
|
+
function $t(e, t) {
|
|
2103
|
+
if (e.length !== 2 || new Set(e).size !== 2 || e.some((e) => !/^JORFTEXT\d{12}$/.test(e)) || t.length !== 2 || new Set(t.map(({ cid: e }) => e)).size !== 2 || t.some(({ cid: t }) => !e.includes(t))) return;
|
|
2104
|
+
let n = t[0];
|
|
2105
|
+
if (![
|
|
2106
|
+
"LOI",
|
|
2107
|
+
"ORDONNANCE",
|
|
2108
|
+
"DECRET"
|
|
2109
|
+
].includes(n.nature ?? "") || [
|
|
2110
|
+
"num",
|
|
2111
|
+
"dateTexte",
|
|
2112
|
+
"datePubli",
|
|
2113
|
+
"nor"
|
|
2114
|
+
].some((e) => {
|
|
2115
|
+
let r = e;
|
|
2116
|
+
return !n[r] || t.some((e) => e[r] !== n[r]);
|
|
2117
|
+
}) || t.some((e) => e.nature !== n.nature)) return;
|
|
2118
|
+
let r = t.filter((e) => e.hasVisas && e.hasSignataires && e.children?.length && e.children.every(({ id: e, kind: t }) => t === "art" && /^JORFARTI\d{12}$/.test(e))), i = t.filter((e) => !e.hasVisas && !e.hasSignataires && e.children?.length === 1 && e.children[0].kind === "scta" && /^JORFSCTA\d{12}$/.test(e.children[0].id) && e.children[0].title?.trim() === "Annexe");
|
|
2119
|
+
if (!(r.length !== 1 || i.length !== 1 || r[0].cid === i[0].cid)) return {
|
|
2120
|
+
candidates: t,
|
|
2121
|
+
bodyCid: r[0].cid,
|
|
2122
|
+
annexCid: i[0].cid
|
|
2123
|
+
};
|
|
2124
|
+
}
|
|
2125
|
+
//#endregion
|
|
2126
|
+
//#region src/lib/legi/article_abrogation.ts
|
|
2127
|
+
function en({ candidates: e, date: t, missingContext: n, num: r, rows: i, textId: a }) {
|
|
2128
|
+
if (i.length === 0 || i.length > 128 || e.length !== i.length || n !== 0) return;
|
|
2129
|
+
let o = new Map(i.map((e) => [e.id, e])), s = (e) => e !== null && /^\d{4}-\d{2}-\d{2}$/.test(e);
|
|
2130
|
+
if (o.size !== i.length || new Set(e.map(({ id: e }) => e)).size !== i.length) return;
|
|
2131
|
+
for (let e of i) {
|
|
2132
|
+
if (e.textId !== a || e.num !== r || !s(e.dateDebut) || !s(e.dateFin) || e.versions?.length !== i.length) return;
|
|
2133
|
+
let t = /* @__PURE__ */ new Set();
|
|
2134
|
+
for (let n of e.versions) {
|
|
2135
|
+
let e = o.get(n.id);
|
|
2136
|
+
if (e === void 0 || t.has(n.id) || !s(n.dateDebut) || !s(n.dateFin) || n.dateDebut !== e.dateDebut || n.dateFin !== e.dateFin || n.etat !== void 0 && n.etat !== e.etat) return;
|
|
2137
|
+
t.add(n.id);
|
|
2138
|
+
}
|
|
2139
|
+
if (t.size !== i.length) return;
|
|
2140
|
+
}
|
|
2141
|
+
for (let t of e) {
|
|
2142
|
+
let e = o.get(t.id);
|
|
2143
|
+
if (e === void 0 || t.textId !== a || t.num !== r || t.dateDebut !== e.dateDebut || t.dateFin !== e.dateFin) return;
|
|
2144
|
+
}
|
|
2145
|
+
let c = i.filter(({ dateDebut: e, dateFin: t }) => e < t);
|
|
2146
|
+
if (c.length === 0 || c.some(({ dateFin: e }) => e > t)) return;
|
|
2147
|
+
let l = c.map(({ dateFin: e }) => e).sort().at(-1), u = c.filter(({ dateFin: e }) => e === l);
|
|
2148
|
+
if (!(u.length !== 1 || u[0].etat !== "ABROGE")) return {
|
|
2149
|
+
candidates: e,
|
|
2150
|
+
terminalId: u[0].id
|
|
2151
|
+
};
|
|
2152
|
+
}
|
|
2153
|
+
//#endregion
|
|
2154
|
+
//#region src/lib/legi/article_structure.ts
|
|
2155
|
+
function tn(e, t) {
|
|
2156
|
+
if (!(e === void 0 || e.length < 2 || e.some(({ dateDebut: e, dateFin: t }) => !/^\d{4}-\d{2}-\d{2}$/.test(e ?? "") || !/^\d{4}-\d{2}-\d{2}$/.test(t ?? "") || e >= t))) return e.every(({ dateDebut: e, dateFin: n }) => e <= t && t < n) ? "valable" : "invalide";
|
|
2157
|
+
}
|
|
2158
|
+
function nn(e, t, n, r, i) {
|
|
2159
|
+
let a = e.filter(({ dateDebut: e, dateFin: t }) => e < t && e <= n && n < t);
|
|
2160
|
+
if (a.length < 2 || e.length > 128 || t.size !== a.length || new Set(e.map(({ id: e }) => e)).size !== e.length || e.some(({ id: e, textId: t, num: n }) => !/^LEGIARTI\d{12}$/.test(e) || t !== r || n !== i)) return;
|
|
2161
|
+
let o = {};
|
|
2162
|
+
for (let { id: e } of a) {
|
|
2163
|
+
let r = tn(t.get(e), n);
|
|
2164
|
+
if (r === void 0) return;
|
|
2165
|
+
o[e] = r;
|
|
2166
|
+
}
|
|
2167
|
+
if (Object.values(o).filter((e) => e === "valable").length === 1) return {
|
|
2168
|
+
candidates: e,
|
|
2169
|
+
structures: o
|
|
2170
|
+
};
|
|
2171
|
+
}
|
|
2172
|
+
//#endregion
|
|
1985
2173
|
//#region src/lib/legi/resolver.ts
|
|
1986
|
-
var
|
|
2174
|
+
var rn = class {
|
|
2175
|
+
getVerifiedPublicationComponents(e) {
|
|
2176
|
+
return Promise.resolve(void 0);
|
|
2177
|
+
}
|
|
2178
|
+
getLawArticleType(e) {
|
|
2179
|
+
return Promise.resolve(void 0);
|
|
2180
|
+
}
|
|
2181
|
+
getVerifiedArticleAbrogation(e) {
|
|
2182
|
+
return Promise.resolve(void 0);
|
|
2183
|
+
}
|
|
2184
|
+
getVerifiedArticleStructure(e) {
|
|
2185
|
+
return Promise.resolve(void 0);
|
|
2186
|
+
}
|
|
1987
2187
|
getArticleHistoryInfo(e) {
|
|
1988
2188
|
return Promise.resolve(void 0);
|
|
1989
2189
|
}
|
|
@@ -1995,4 +2195,4 @@ var Wt = class {
|
|
|
1995
2195
|
}
|
|
1996
2196
|
};
|
|
1997
2197
|
//#endregion
|
|
1998
|
-
export {
|
|
2198
|
+
export { Ue as $, u as $t, Z as A, re as At, W as B, _ as Bt, X as C, le as Ct, vt as D, pe as Dt, St as E, fe as Et, ct as F, E as Ft, Qe as G, ee as Gt, z as H, y as Ht, V as I, se as It, nt as J, C as Jt, tt as K, S as Kt, H as L, ce as Lt, at as M, ie as Mt, ot as N, ae as Nt, kt as O, xe as Ot, st as P, oe as Pt, F as Q, l as Qt, lt as R, h as Rt, Y as S, Te as St, xt as T, de as Tt, Ze as U, b as Ut, G as V, v as Vt, Je as W, x as Wt, N as X, m as Xt, rt as Y, w as Yt, P as Z, c as Zt, Mt as _, _e as _t, Qt as a, He as at, Ct as b, ye as bt, Jt as c, Fe as ct, Rt as d, ze as dt, d as en, I as et, zt as f, Re as ft, _t as g, ve as gt, Ft as h, je as ht, $t as i, L as it, Ot as j, T as jt, Q as k, Ce as kt, Yt as l, Ie as lt, Vt as m, M as mt, nn as n, Ge as nt, Kt as o, Be as ot, Bt as p, j as pt, et as q, te as qt, en as r, Ke as rt, Xt as s, Ve as st, rn as t, We as tt, Ht as u, Le as ut, Nt as v, be as vt, Tt as w, k as wt, Et as x, Ee as xt, Pt as y, ue as yt, U as z, g as zt };
|