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
Sourcepub fn set_content(&mut self, node_id: NodeId, content: NodeValue)
pub fn set_content(&mut self, node_id: NodeId, content: NodeValue)
Set the content of a node directly
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).
Sourcepub fn node_subtree_to_document(&self, node_id: NodeId) -> EureDocument
pub fn node_subtree_to_document(&self, node_id: NodeId) -> EureDocument
Convert a subtree of a document to a standalone document.
pub fn copy_subtree( &self, src_id: NodeId, dst: &mut EureDocument, dst_id: NodeId, )
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<'doc> EureDocument
impl<'doc> EureDocument
Sourcepub fn parse<T: ParseDocument<'doc>>(
&'doc self,
node_id: NodeId,
) -> Result<T, T::Error>
pub fn parse<T: ParseDocument<'doc>>( &'doc self, node_id: NodeId, ) -> Result<T, T::Error>
Parse a value of type T from the given node.
pub fn parse_with<T: DocumentParser<'doc>>( &'doc self, node_id: NodeId, parser: T, ) -> Result<T::Output, T::Error>
Sourcepub fn parse_context(&'doc self, node_id: NodeId) -> ParseContext<'doc>
pub fn parse_context(&'doc self, node_id: NodeId) -> ParseContext<'doc>
Create a parse context at the given node.
Sourcepub fn parse_record(
&'doc self,
node_id: NodeId,
) -> Result<RecordParser<'doc>, ParseError>
pub fn parse_record( &'doc self, node_id: NodeId, ) -> Result<RecordParser<'doc>, ParseError>
Parse a node as a record.
Convenience method equivalent to doc.parse_context(node_id).parse_record().
Sourcepub fn parse_extension_context(
&'doc self,
node_id: NodeId,
) -> ParseContext<'doc>
pub fn parse_extension_context( &'doc self, node_id: NodeId, ) -> ParseContext<'doc>
Create a parse context for extension parsing.
Convenience method equivalent to doc.parse_context(node_id).
Use the returned context’s parse_ext(), ext(), etc. methods.
Sourcepub fn parse_tuple(
&'doc self,
node_id: NodeId,
) -> Result<TupleParser<'doc>, ParseError>
pub fn parse_tuple( &'doc self, node_id: NodeId, ) -> Result<TupleParser<'doc>, ParseError>
Parse a node as a tuple.
Convenience method equivalent to doc.parse_context(node_id).parse_tuple().
Trait Implementations§
Source§impl Clone for EureDocument
impl Clone for EureDocument
Source§fn clone(&self) -> EureDocument
fn clone(&self) -> EureDocument
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more