pub struct CstObject(/* private fields */);
Expand description
Object literal that may contain properties (ex. {}
, { "prop": 4 }
).
Implementations§
Source§impl CstObject
impl CstObject
Sourcepub fn parent(&self) -> Option<CstContainerNode>
pub fn parent(&self) -> Option<CstContainerNode>
Parent of the node.
Returns None
if this node has become disconnected from
the tree by being removed.
Sourcepub fn ancestors(&self) -> impl Iterator<Item = CstContainerNode>
pub fn ancestors(&self) -> impl Iterator<Item = CstContainerNode>
An iterator of ancestors of this node.
Sourcepub fn child_index(&self) -> usize
pub fn child_index(&self) -> usize
Current child index of the node within the children of the parent node.
Sourcepub fn previous_sibling(&self) -> Option<CstNode>
pub fn previous_sibling(&self) -> Option<CstNode>
Node that comes before this one that shares the same parent.
Sourcepub fn previous_siblings(&self) -> impl Iterator<Item = CstNode>
pub fn previous_siblings(&self) -> impl Iterator<Item = CstNode>
Siblings coming before this node. This does not include cousins.
Sourcepub fn next_sibling(&self) -> Option<CstNode>
pub fn next_sibling(&self) -> Option<CstNode>
Node that comes after this one that shares the same parent.
Sourcepub fn next_siblings(&self) -> impl Iterator<Item = CstNode>
pub fn next_siblings(&self) -> impl Iterator<Item = CstNode>
Siblings coming after this node. This does not include cousins.
Sourcepub fn indent_text(&self) -> Option<String>
pub fn indent_text(&self) -> Option<String>
Returns the indentation text if it can be determined.
Sourcepub fn trailing_comma(&self) -> Option<CstToken>
pub fn trailing_comma(&self) -> Option<CstToken>
Gets the trailing comma token of the node, if it exists.
Sourcepub fn uses_trailing_commas(&self) -> bool
pub fn uses_trailing_commas(&self) -> bool
Infers if the node or appropriate ancestor uses trailing commas.
Sourcepub fn children_exclude_trivia_and_tokens(&self) -> Vec<CstNode>
pub fn children_exclude_trivia_and_tokens(&self) -> Vec<CstNode>
Children of the current node excluding comments, whitespace, newlines, and tokens.
Sourcepub fn child_at_index(&self, index: usize) -> Option<CstNode>
pub fn child_at_index(&self, index: usize) -> Option<CstNode>
Gets the child at the specified index.
Source§impl CstObject
impl CstObject
Sourcepub fn root_node(&self) -> Option<CstRootNode>
pub fn root_node(&self) -> Option<CstRootNode>
Gets the root node.
Returns None
if this node has become disconnected from
the tree by being removed.
Sourcepub fn array_value(&self, name: &str) -> Option<CstArray>
pub fn array_value(&self, name: &str) -> Option<CstArray>
Array property by name.
Returns None
if the property doesn’t exist or is not an array.
Sourcepub fn array_value_or_create(&self, name: &str) -> Option<CstArray>
pub fn array_value_or_create(&self, name: &str) -> Option<CstArray>
Ensures a property exists with an array value returning the array.
Returns None
if the property value exists, but is not an array.
Note: Use .array_value_or_set(..)
to overwrite an existing
non-array property value.
Sourcepub fn array_value_or_set(&self, name: &str) -> CstArray
pub fn array_value_or_set(&self, name: &str) -> CstArray
Ensures a property exists with an array value returning the array.
Note: Use .array_value_or_create(..)
to not overwrite an existing
non-array property value.
Sourcepub fn object_value(&self, name: &str) -> Option<CstObject>
pub fn object_value(&self, name: &str) -> Option<CstObject>
Object property by name.
Returns None
if the property doesn’t exist or is not an object.
Sourcepub fn object_value_or_create(&self, name: &str) -> Option<CstObject>
pub fn object_value_or_create(&self, name: &str) -> Option<CstObject>
Ensures a property exists with an object value returning the object.
Returns None
if the property value exists, but is not an object.
Note: Use .object_value_or_set(..)
to overwrite an existing
non-array property value.
Sourcepub fn object_value_or_set(&self, name: &str) -> CstObject
pub fn object_value_or_set(&self, name: &str) -> CstObject
Ensures a property exists with an object value returning the object.
Note: Use .object_value_or_create(..)
to not overwrite an existing
non-object property value.
Sourcepub fn get(&self, name: &str) -> Option<CstObjectProp>
pub fn get(&self, name: &str) -> Option<CstObjectProp>
Property by name.
Returns None
if the property doesn’t exist.
Sourcepub fn properties(&self) -> Vec<CstObjectProp>
pub fn properties(&self) -> Vec<CstObjectProp>
Properties of the object.
Sourcepub fn append(&self, prop_name: &str, value: CstInputValue) -> CstObjectProp
pub fn append(&self, prop_name: &str, value: CstInputValue) -> CstObjectProp
Appends a property to the object.
Returns the inserted object property.
Sourcepub fn insert(
&self,
index: usize,
prop_name: &str,
value: CstInputValue,
) -> CstObjectProp
pub fn insert( &self, index: usize, prop_name: &str, value: CstInputValue, ) -> CstObjectProp
Inserts a property at the specified index.
Returns the inserted object property.
Sourcepub fn replace_with(self, replacement: CstInputValue) -> Option<CstNode>
pub fn replace_with(self, replacement: CstInputValue) -> Option<CstNode>
Replaces this node with a new value.
Sourcepub fn set_trailing_commas(&self, mode: TrailingCommaMode)
pub fn set_trailing_commas(&self, mode: TrailingCommaMode)
Ensures this object and all its descendants use trailing commas.
Sourcepub fn ensure_multiline(&self)
pub fn ensure_multiline(&self)
Ensures the object spans multiple lines.
Trait Implementations§
Source§impl From<CstObject> for CstContainerNode
impl From<CstObject> for CstContainerNode
Auto Trait Implementations§
impl Freeze for CstObject
impl !RefUnwindSafe for CstObject
impl !Send for CstObject
impl !Sync for CstObject
impl Unpin for CstObject
impl !UnwindSafe for CstObject
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)