pub struct RawObject {
pub class: String,
pub name: String,
pub props: Vec<RawProp>,
pub edits: Vec<usize>,
}Expand description
An accumulated object: every New/Edit/~/like assignment that
touched it, in order. Values are raw tokens.
Fields§
§class: StringCanonical lowercase class name (line, load, …), known or not.
name: StringObject name as written; lookup is case insensitive.
props: Vec<RawProp>§edits: Vec<usize>Prop-count checkpoints at edit boundaries. Every object command line
(New/Edit/~/More/property reference) is one engine Edit, and
the class Edit ends in RecalcElementData; readers with end-of-edit
side effects (Load) segment props on these. like= splices the
source’s checkpoints too: MakeLike copies the source’s recalced
state, so its boundaries must replay.
Implementations§
Source§impl RawObject
impl RawObject
Sourcepub fn get(&self, name: &str) -> Option<&Value>
pub fn get(&self, name: &str) -> Option<&Value>
The last assignment to a canonical property name, if any.
Sourcepub fn edit_bounds(&self) -> impl Iterator<Item = usize> + '_
pub fn edit_bounds(&self) -> impl Iterator<Item = usize> + '_
Edit boundary checkpoints, closed over the full prop list: a
trailing segment without a recorded boundary counts as one more
edit, so callers always see props.len() last.