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.