Skip to main content

perl_module/
api.rs

1//! Public API facade for perl-module.
2//!
3//! All items are re-exported from internal modules via this facade.
4//! Consumers should import from `perl_module` only, not from submodules.
5
6// name module
7pub use crate::name::legacy_package_separator;
8pub use crate::name::module_variant_pairs;
9pub use crate::name::normalize_package_separator;
10
11// path module
12pub use crate::path::file_path_to_module_name;
13pub use crate::path::module_name_to_path;
14pub use crate::path::module_path_to_name;
15
16// token_core module
17pub use crate::token_core::ModuleTokenSpan;
18pub use crate::token_core::has_standalone_module_token_boundaries;
19pub use crate::token_core::is_module_identifier_char;
20pub use crate::token_core::is_module_token_char;
21
22// import module
23pub use crate::import::DispatchSemantics;
24pub use crate::import::ImportBehavior;
25pub use crate::import::ImportListForm;
26pub use crate::import::LoadTiming;
27pub use crate::import::ModuleImportHead;
28pub use crate::import::ModuleImportKind;
29pub use crate::import::RequireForm;
30pub use crate::import::parse_module_import_head;
31pub use crate::import::resolve_known_export_tag;
32
33// boundary module
34pub use crate::boundary::ModuleTokenRange;
35pub use crate::boundary::ModuleTokenRangeIter;
36pub use crate::boundary::contains_standalone_module_token;
37pub use crate::boundary::find_standalone_module_token_ranges;
38
39// token module
40pub use crate::token::contains_module_token;
41pub use crate::token::replace_module_token;
42
43// token_parser module
44pub use crate::token_parser::parse_module_token;
45
46// import_match module
47pub use crate::import_match::line_references_module_import;
48
49// reference module
50pub use crate::reference::ModuleReference;
51pub use crate::reference::ModuleReferenceKind;
52pub use crate::reference::extract_module_reference;
53pub use crate::reference::extract_module_reference_extended;
54pub use crate::reference::find_module_reference;
55pub use crate::reference::find_module_reference_extended;
56
57// rename module
58pub use crate::rename::ModuleLineEdit;
59pub use crate::rename::apply_module_rename_edits;
60pub use crate::rename::line_references_isa_assignment;
61pub use crate::rename::line_references_package_declaration;
62pub use crate::rename::line_references_qualified_call;
63pub use crate::rename::plan_module_rename_edits;
64pub use crate::rename::replace_module_name_prefix;
65
66// resolution module
67pub use crate::resolution::IncRoot;
68pub use crate::resolution::IncRootKind;
69pub use crate::resolution::ModuleUriResolution;
70pub use crate::resolution::resolve_module_path;
71pub use crate::resolution::resolve_module_uri;
72pub use crate::resolution::resolve_module_uri_with_effective_inc;