pub enum CharFilter {
HTMLStrip,
Mapping {
mapping: BTreeMap<String, String>,
},
PatternReplace {
pattern: String,
replacement: String,
},
}Variants§
Implementations§
Source§impl CharFilter
impl CharFilter
Sourcepub fn validate(&self) -> AnalysisResult<()>
pub fn validate(&self) -> AnalysisResult<()>
Validate configuration without filtering input.
pub fn filter(&self, text: &str) -> AnalysisResult<String>
Sourcepub fn filter_with_offsets<'a>(
&self,
text: &'a str,
) -> AnalysisResult<FilteredText<'a>>
pub fn filter_with_offsets<'a>( &self, text: &'a str, ) -> AnalysisResult<FilteredText<'a>>
Transform text while retaining source coordinates for the result.
Sourcepub fn filter_mapped<'a>(
&self,
text: FilteredText<'a>,
) -> AnalysisResult<FilteredText<'a>>
pub fn filter_mapped<'a>( &self, text: FilteredText<'a>, ) -> AnalysisResult<FilteredText<'a>>
Apply this stage to previously filtered text without losing its original source.
Sourcepub fn filter_with_offsets_budgeted<'a>(
&self,
text: &'a str,
budget: &MemoryBudget,
poll: &mut dyn FnMut() -> AnalysisResult<()>,
) -> AnalysisResult<FilteredText<'a>>
pub fn filter_with_offsets_budgeted<'a>( &self, text: &'a str, budget: &MemoryBudget, poll: &mut dyn FnMut() -> AnalysisResult<()>, ) -> AnalysisResult<FilteredText<'a>>
Transform a borrowed input while retaining source buffers and regex search workspace under the caller’s byte allowance. Immutable configuration preparation is separate. Literal, built-in HTML, regex range and capture searches, source copying, and coordinate construction poll during execution. Search scratch is released before returning the retained source result.
use uqa_analysis::CharFilter;
use uqa_core::memory::MemoryBudget;
let budget = MemoryBudget::new(16 * 1024);
let filtered = CharFilter::HTMLStrip.filter_with_offsets_budgeted(
"<b>한&🙂</b>", &budget, &mut || Ok(()),
)?;
let retained = filtered.clone();
drop(filtered);
assert_eq!(retained.as_str(), " 한&🙂 ");
assert_eq!(retained.source_offsets(1..4)?.utf8, 3..6);
assert!(budget.used() > 0);
drop(retained);
assert_eq!(budget.used(), 0);Sourcepub fn filter_mapped_budgeted<'a>(
&self,
text: FilteredText<'a>,
budget: &MemoryBudget,
poll: &mut dyn FnMut() -> AnalysisResult<()>,
) -> AnalysisResult<FilteredText<'a>>
pub fn filter_mapped_budgeted<'a>( &self, text: FilteredText<'a>, budget: &MemoryBudget, poll: &mut dyn FnMut() -> AnalysisResult<()>, ) -> AnalysisResult<FilteredText<'a>>
New source, edit, and coordinate buffers use budget; retained input allocations keep their original shared leases.
Trait Implementations§
Source§impl Clone for CharFilter
impl Clone for CharFilter
Source§fn clone(&self) -> CharFilter
fn clone(&self) -> CharFilter
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 CharFilter
impl Debug for CharFilter
Source§impl<'de> Deserialize<'de> for CharFilter
impl<'de> Deserialize<'de> for CharFilter
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CharFilter
impl RefUnwindSafe for CharFilter
impl Send for CharFilter
impl Sync for CharFilter
impl Unpin for CharFilter
impl UnsafeUnpin for CharFilter
impl UnwindSafe for CharFilter
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