Skip to main content

ValueState

Struct ValueState 

Source
pub struct ValueState {
    pub def: ValueDef,
    pub index: usize,
    /* private fields */
}
Expand description

Runtime state for a single value.

Fields§

§def: ValueDef

Definition from template.

§index: usize

Index of this value in the record.

Implementations§

Source§

impl ValueState

Source

pub fn new(def: ValueDef, index: usize) -> ValueState

Create a new value state.

Source

pub fn assign(&mut self, value: String, all_results: &mut [Vec<Value>])

Assign a matched value.

Source

pub fn assign_none(&mut self)

Assign None (for unmatched optional capture groups).

Matches Python’s behavior: when a named group exists in a rule’s regex but the group didn’t participate in the match (optional group), Python’s groupdict() yields None for that key, and AssignVar(None) is called, which clears the current value and updates the Filldown cache.

Without this, stale Filldown values persist across records when an optional group stops matching.

Source

pub fn clear(&mut self)

Clear value (respects Filldown).

Source

pub fn clear_all(&mut self)

Clear all (including Filldown cache).

Source

pub fn satisfies_required(&self) -> bool

Check if Required constraint is satisfied.

Source

pub fn take_for_record(&mut self) -> Value

Get current value for recording.

Source

pub fn current(&self) -> &Value

Get current value (for inspection).

Trait Implementations§

Source§

impl Clone for ValueState

Source§

fn clone(&self) -> ValueState

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ValueState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.