use regex_automata::{dfa::Automaton, Anchored, Input}; use crate::unicode::fsm::{ whitespace_anchored_fwd::WHITESPACE_ANCHORED_FWD, whitespace_anchored_rev::WHITESPACE_ANCHORED_REV, }; /// Return the first position of a non-whitespace character. pub fn whitespace_len_fwd(slice: &[u8]) -> usize { let input = Input::new(slice).anchored(Anchored::Yes); WHITESPACE_ANCHORED_FWD .try_search_fwd(&input) .unwrap() .map_or(0, |hm| hm.offset()) } /// Return the last position of a non-whitespace character. pub fn whitespace_len_rev(slice: &[u8]) -> usize { let input = Input::new(slice).anchored(Anchored::Yes); WHITESPACE_ANCHORED_REV .try_search_rev(&input) .unwrap() .map_or(slice.len(), |hm| hm.offset()) }