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::RequireImportEntry;
31pub use crate::import::extract_require_import_symbols;
32pub use crate::import::parse_module_import_head;
33pub use crate::import::resolve_known_export_tag;
34
35// boundary module
36pub use crate::boundary::ModuleTokenRange;
37pub use crate::boundary::ModuleTokenRangeIter;
38pub use crate::boundary::contains_standalone_module_token;
39pub use crate::boundary::find_standalone_module_token_ranges;
40
41// token module
42pub use crate::token::contains_module_token;
43pub use crate::token::replace_module_token;
44
45// token_parser module
46pub use crate::token_parser::parse_module_token;
47
48// import_match module
49pub use crate::import_match::line_references_module_import;
50
51// reference module
52pub use crate::reference::ModuleReference;
53pub use crate::reference::ModuleReferenceKind;
54pub use crate::reference::extract_module_reference;
55pub use crate::reference::extract_module_reference_extended;
56pub use crate::reference::find_module_reference;
57pub use crate::reference::find_module_reference_extended;
58
59// rename module
60pub use crate::rename::ModuleLineEdit;
61pub use crate::rename::apply_module_rename_edits;
62pub use crate::rename::line_references_isa_assignment;
63pub use crate::rename::line_references_package_declaration;
64pub use crate::rename::line_references_qualified_call;
65pub use crate::rename::plan_module_rename_edits;
66pub use crate::rename::replace_module_name_prefix;
67
68// resolution module
69pub use crate::resolution::IncRoot;
70pub use crate::resolution::IncRootKind;
71pub use crate::resolution::ModuleUriResolution;
72pub use crate::resolution::resolve_module_path;
73pub use crate::resolution::resolve_module_uri;
74pub use crate::resolution::resolve_module_uri_with_effective_inc;