pub struct ReferenceParser { /* private fields */ }Expand description
A reusable parser with immutable alias and ambiguity configuration.
Implementations§
Source§impl ReferenceParser
impl ReferenceParser
Sourcepub fn new() -> ReferenceParser
pub fn new() -> ReferenceParser
Construct a parser with bundled aliases and automatic detection.
Sourcepub fn builder() -> ParserBuilder
pub fn builder() -> ParserBuilder
Start configuring a parser.
Sourcepub fn preferred_languages(&self) -> &[Language]
pub fn preferred_languages(&self) -> &[Language]
Return configured preferred languages.
Sourcepub fn aliases(&self) -> impl Iterator<Item = (&str, Book)>
pub fn aliases(&self) -> impl Iterator<Item = (&str, Book)>
Iterate over configured language-neutral aliases in registration order.
Sourcepub fn aliases_by_language(
&self,
) -> impl Iterator<Item = (Language, &str, Book)>
pub fn aliases_by_language( &self, ) -> impl Iterator<Item = (Language, &str, Book)>
Iterate over configured language-specific aliases in registration order.
Sourcepub const fn ambiguity_policy(&self) -> AmbiguityPolicy
pub const fn ambiguity_policy(&self) -> AmbiguityPolicy
Return this parser’s ambiguity policy.
Sourcepub fn parse(&self, input: &str) -> Result<Reference, ParseError>
pub fn parse(&self, input: &str) -> Result<Reference, ParseError>
Parse a single verse or an inclusive range using automatic detection.
Sourcepub fn parse_with_language(
&self,
input: &str,
language: Language,
) -> Result<Reference, ParseError>
pub fn parse_with_language( &self, input: &str, language: Language, ) -> Result<Reference, ParseError>
Parse a reference using one explicit language.
Sourcepub fn parse_detailed(
&self,
input: &str,
) -> Result<Parsed<Reference>, ParseError>
pub fn parse_detailed( &self, input: &str, ) -> Result<Parsed<Reference>, ParseError>
Parse a reference and retain normalization and language metadata.
Sourcepub fn parse_detailed_with_language(
&self,
input: &str,
language: Language,
) -> Result<Parsed<Reference>, ParseError>
pub fn parse_detailed_with_language( &self, input: &str, language: Language, ) -> Result<Parsed<Reference>, ParseError>
Parse with an explicit language and retain metadata.
Sourcepub fn try_parse(&self, input: &str) -> Option<Reference>
pub fn try_parse(&self, input: &str) -> Option<Reference>
Return None rather than an error for invalid input.
Sourcepub fn try_parse_with_language(
&self,
input: &str,
language: Language,
) -> Option<Reference>
pub fn try_parse_with_language( &self, input: &str, language: Language, ) -> Option<Reference>
Parse with an explicit language, returning None for invalid input.
Sourcepub fn parse_book(&self, input: &str) -> Result<Book, ParseError>
pub fn parse_book(&self, input: &str) -> Result<Book, ParseError>
Resolve a standalone book token using automatic language detection.
Sourcepub fn parse_book_with_language(
&self,
input: &str,
language: Language,
) -> Result<Book, ParseError>
pub fn parse_book_with_language( &self, input: &str, language: Language, ) -> Result<Book, ParseError>
Resolve a standalone book token using an explicit language.
Sourcepub fn parse_book_detailed(
&self,
input: &str,
) -> Result<Parsed<Book>, ParseError>
pub fn parse_book_detailed( &self, input: &str, ) -> Result<Parsed<Book>, ParseError>
Resolve a standalone book token and retain detection metadata.
Sourcepub fn parse_book_detailed_with_language(
&self,
input: &str,
language: Language,
) -> Result<Parsed<Book>, ParseError>
pub fn parse_book_detailed_with_language( &self, input: &str, language: Language, ) -> Result<Parsed<Book>, ParseError>
Resolve a standalone book token with an explicit language and metadata.
Sourcepub fn parse_verse(&self, input: &str) -> Result<VerseRef, ParseError>
pub fn parse_verse(&self, input: &str) -> Result<VerseRef, ParseError>
Parse only a single verse.
Sourcepub fn parse_verse_with_language(
&self,
input: &str,
language: Language,
) -> Result<VerseRef, ParseError>
pub fn parse_verse_with_language( &self, input: &str, language: Language, ) -> Result<VerseRef, ParseError>
Parse only a single verse with an explicit language.
Sourcepub fn parse_verse_detailed(
&self,
input: &str,
) -> Result<Parsed<VerseRef>, ParseError>
pub fn parse_verse_detailed( &self, input: &str, ) -> Result<Parsed<VerseRef>, ParseError>
Parse only a single verse and retain detection metadata.
Sourcepub fn parse_verse_detailed_with_language(
&self,
input: &str,
language: Language,
) -> Result<Parsed<VerseRef>, ParseError>
pub fn parse_verse_detailed_with_language( &self, input: &str, language: Language, ) -> Result<Parsed<VerseRef>, ParseError>
Parse only a single verse with an explicit language and metadata.
Sourcepub fn try_parse_verse(&self, input: &str) -> Option<VerseRef>
pub fn try_parse_verse(&self, input: &str) -> Option<VerseRef>
Parse only a single verse, returning None for invalid input.
Sourcepub fn try_parse_verse_with_language(
&self,
input: &str,
language: Language,
) -> Option<VerseRef>
pub fn try_parse_verse_with_language( &self, input: &str, language: Language, ) -> Option<VerseRef>
Parse only a single verse with an explicit language, returning None
for invalid input.
Sourcepub fn parse_range(&self, input: &str) -> Result<VerseRange, ParseError>
pub fn parse_range(&self, input: &str) -> Result<VerseRange, ParseError>
Parse only a range.
Sourcepub fn parse_range_with_language(
&self,
input: &str,
language: Language,
) -> Result<VerseRange, ParseError>
pub fn parse_range_with_language( &self, input: &str, language: Language, ) -> Result<VerseRange, ParseError>
Parse only a range with an explicit language.
Sourcepub fn parse_range_detailed(
&self,
input: &str,
) -> Result<Parsed<VerseRange>, ParseError>
pub fn parse_range_detailed( &self, input: &str, ) -> Result<Parsed<VerseRange>, ParseError>
Parse only a range and retain detection metadata.
Sourcepub fn parse_range_detailed_with_language(
&self,
input: &str,
language: Language,
) -> Result<Parsed<VerseRange>, ParseError>
pub fn parse_range_detailed_with_language( &self, input: &str, language: Language, ) -> Result<Parsed<VerseRange>, ParseError>
Parse only a range with an explicit language and metadata.
Sourcepub fn try_parse_range(&self, input: &str) -> Option<VerseRange>
pub fn try_parse_range(&self, input: &str) -> Option<VerseRange>
Parse only a range, returning None for invalid input.
Sourcepub fn try_parse_range_with_language(
&self,
input: &str,
language: Language,
) -> Option<VerseRange>
pub fn try_parse_range_with_language( &self, input: &str, language: Language, ) -> Option<VerseRange>
Parse only a range with an explicit language, returning None for
invalid input.
Trait Implementations§
Source§impl Clone for ReferenceParser
impl Clone for ReferenceParser
Source§fn clone(&self) -> ReferenceParser
fn clone(&self) -> ReferenceParser
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more