pub struct InternalRule {
pub rule_type: RuleType,
pub is_inflected: Regex,
pub inflected_str: Option<String>,
pub deinflected: &'static str,
pub deinflect_fn: DeinflectFnType,
pub conditions_in: usize,
pub conditions_out: usize,
}Fields§
§rule_type: RuleType§is_inflected: Regex§inflected_str: Option<String>§deinflected: &'static str§deinflect_fn: DeinflectFnType§conditions_in: usize§conditions_out: usizeTrait Implementations§
Source§impl Clone for InternalRule
impl Clone for InternalRule
Source§fn clone(&self) -> InternalRule
fn clone(&self) -> InternalRule
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InternalRule
impl Debug for InternalRule
Source§impl RuleDeinflectFnTrait for InternalRule
impl RuleDeinflectFnTrait for InternalRule
fn deinflect_fn_type(&self) -> DeinflectFnType
fn inflected(&self) -> &str
fn inflected_str(&self) -> Option<&str>
fn is_inflected_regex(&self) -> &Regex
fn deinflected(&self) -> &str
Source§fn deinflect_generic_stem_change(
&self,
text: &str,
stem_from: &'static str,
stem_to: &'static str,
ending_re: &'static str,
ending_to: &'static str,
) -> String
fn deinflect_generic_stem_change( &self, text: &str, stem_from: &'static str, stem_to: &'static str, ending_re: &'static str, ending_to: &'static str, ) -> String
Deinflects a verb with a standard stem change (e.g., e->ie, o->ue).
This is a direct translation of the JS logic: term.replace(stem, …).replace(ending, …)
Source§fn deinflect_special_cased_stem_change(
&self,
text: &str,
special_case_prefix: &'static str,
special_stem_from: &'static str,
special_stem_to: &'static str,
default_stem_from: &'static str,
default_stem_to: &'static str,
ending_re: &'static str,
ending_to: &'static str,
) -> String
fn deinflect_special_cased_stem_change( &self, text: &str, special_case_prefix: &'static str, special_stem_from: &'static str, special_stem_to: &'static str, default_stem_from: &'static str, default_stem_to: &'static str, ending_re: &'static str, ending_to: &'static str, ) -> String
Deinflects a stem-changing verb that has a special case,
like “jugar” (u->ue) or “oler” (o->hue).
Source§fn deinflect_pronominal(&self, text: &str, replacement: &'static str) -> String
fn deinflect_pronominal(&self, text: &str, replacement: &'static str) -> String
Deinflects a reflexive verb by replacing the pronoun with “se”.
This translates the JS: term.replace(REFLEXIVE_PATTERN, ‘$1se’)
fn deinflect_generic_suffix(&self, text: &str) -> String
fn deinflect_generic_prefix(&self, text: &str) -> String
Source§fn english_create_phrasal_verb_inflection_deinflect(&self, text: &str) -> String
fn english_create_phrasal_verb_inflection_deinflect(&self, text: &str) -> String
Source§fn english_create_phrasal_verb_interposed_object_rule(term: &str) -> String
fn english_create_phrasal_verb_interposed_object_rule(term: &str) -> String
DeinflectFnType::EnPhrasalVerbInterposedObjectRule
self is not necessary for this fnAuto Trait Implementations§
impl Freeze for InternalRule
impl RefUnwindSafe for InternalRule
impl Send for InternalRule
impl Sync for InternalRule
impl Unpin for InternalRule
impl UnsafeUnpin for InternalRule
impl UnwindSafe for InternalRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more