···180180 }
181181 }
182182183183+ /// Get a mutable reference to the boolean if this is a Boolean variant
183184 pub fn as_boolean_mut(&mut self) -> Option<&mut bool> {
184185 if let Data::Boolean(b) = self {
185186 Some(b)
···246247 parse_and_traverse_path(self, path)
247248 }
248249250250+ /// Get a mutable reference to a field at the given path
251251+ ///
252252+ /// Uses the same path syntax as [`get_at_path`](Self::get_at_path).
249253 pub fn get_at_path_mut(&mut self, path: &str) -> Option<&mut Data<'s>> {
250254 parse_and_traverse_path_mut(self, path)
251255 }
252256257257+ /// Set the value at the given path, returning true if successful
258258+ ///
259259+ /// Uses the same path syntax as [`get_at_path`](Self::get_at_path).
253260 pub fn set_at_path(&mut self, path: &str, new_data: Data<'_>) -> bool {
254261 if let Some(data) = parse_and_traverse_path_mut(self, path) {
255262 *data = new_data.into_static();
···344351 self.0.get(index)
345352 }
346353354354+ /// Get a mutable reference to an element by index
347355 pub fn get_mut(&mut self, index: usize) -> Option<&mut Data<'s>> {
348356 self.0.get_mut(index)
349357 }
···396404 self.0.get(key)
397405 }
398406407407+ /// Get a mutable reference to a value by key
399408 pub fn get_mut(&mut self, key: &str) -> Option<&mut Data<'s>> {
400409 self.0.get_mut(key)
401410 }
···723732 parse_and_traverse_raw_path(self, path)
724733 }
725734735735+ /// Get a mutable reference to a field at the given path
736736+ ///
737737+ /// Uses the same path syntax as [`get_at_path`](Self::get_at_path).
726738 pub fn get_at_path_mut<'a>(&'a mut self, path: &str) -> Option<&'a mut RawData<'d>> {
727739 parse_and_traverse_raw_path_mut(self, path)
728740 }