pub struct EureDocument { /* private fields */ }Implementations§
Source§impl EureDocument
impl EureDocument
pub fn new() -> Self
pub fn new_empty() -> Self
pub fn new_primitive(value: PrimitiveValue) -> Self
pub fn root(&self) -> &Node
pub fn get_root_id(&self) -> NodeId
pub fn node(&self, id: NodeId) -> &Node
pub fn get_node(&self, id: NodeId) -> Option<&Node>
pub fn node_mut(&mut self, id: NodeId) -> &mut Node
pub fn get_node_mut(&mut self, id: NodeId) -> Option<&mut Node>
pub fn create_node(&mut self, new: NodeValue) -> NodeId
pub fn create_node_uninitialized(&mut self) -> NodeId
pub fn add_child_by_segment( &mut self, segment: PathSegment, parent_node_id: NodeId, ) -> Result<NodeMut<'_>, InsertErrorKind>
pub fn add_map_child( &mut self, object_key: ObjectKey, parent_node_id: NodeId, ) -> Result<NodeMut<'_>, InsertErrorKind>
pub fn add_extension( &mut self, identifier: Identifier, parent_node_id: NodeId, ) -> Result<NodeMut<'_>, InsertErrorKind>
pub fn add_tuple_element( &mut self, index: u8, parent_node_id: NodeId, ) -> Result<NodeMut<'_>, InsertErrorKind>
pub fn add_array_element( &mut self, index: Option<usize>, parent_node_id: NodeId, ) -> Result<NodeMut<'_>, InsertErrorKind>
Sourcepub fn resolve_child_by_segment(
&mut self,
segment: PathSegment,
parent_node_id: NodeId,
) -> Result<NodeMut<'_>, InsertErrorKind>
pub fn resolve_child_by_segment( &mut self, segment: PathSegment, parent_node_id: NodeId, ) -> Result<NodeMut<'_>, InsertErrorKind>
Resolves a path segment to a node ID, creating if necessary.
This operation is idempotent for most segments, reusing existing nodes.
Exception: ArrayIndex(None) always creates a new array element (push operation).
Source§impl EureDocument
Commands
impl EureDocument
Commands
pub fn replace_with_primitive( &mut self, value: PrimitiveValue, ) -> Result<(), InsertErrorKind>
pub fn reset_as_map(&mut self) -> Result<(), InsertErrorKind>
Source§impl EureDocument
impl EureDocument
Sourcepub fn parse_record(
&self,
node_id: NodeId,
) -> Result<RecordParser<'_>, ParseError>
pub fn parse_record( &self, node_id: NodeId, ) -> Result<RecordParser<'_>, ParseError>
Get a RecordParser for parsing a record (map with string keys).
Returns ParseError if the node is not a map.
Treats Uninitialized nodes as empty maps (useful for nodes with only extensions).
Sourcepub fn parse_extension(&self, node_id: NodeId) -> ExtParser<'_>
pub fn parse_extension(&self, node_id: NodeId) -> ExtParser<'_>
Get an ExtParser for parsing extension types on a node.
Source§impl EureDocument
impl EureDocument
Sourcepub fn parse_union<T>(&self, node_id: NodeId) -> UnionParser<'_, T>
pub fn parse_union<T>(&self, node_id: NodeId) -> UnionParser<'_, T>
Source§impl<'doc> EureDocument
impl<'doc> EureDocument
pub fn parse<T: ParseDocument<'doc>>( &'doc self, node_id: NodeId, ) -> Result<T, ParseError>
Trait Implementations§
Source§impl Debug for EureDocument
impl Debug for EureDocument
Source§impl Default for EureDocument
impl Default for EureDocument
Source§impl PartialEq for EureDocument
impl PartialEq for EureDocument
Auto Trait Implementations§
impl Freeze for EureDocument
impl RefUnwindSafe for EureDocument
impl Send for EureDocument
impl Sync for EureDocument
impl Unpin for EureDocument
impl UnwindSafe for EureDocument
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