rsconnect 0.2.2

Fine-grained reactivity in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::{
	connect_node_interface::ConnectNodeUpdateInitiator, connect_structs::Connect,
};

pub trait ConnectBatch {
	fn batch<F: FnOnce(&mut Connect)>(&mut self, batch_fun: F);
}

impl ConnectBatch for Connect {
	fn batch<F: FnOnce(&mut Connect)>(&mut self, batch_fun: F) {
		self.modified_nodes = Some(Vec::new());
		batch_fun(self);
		let modified_ids_option = std::mem::replace(&mut self.modified_nodes, None);
		if let Some(modified_nodes) = modified_ids_option {
			self.after_set_nodes(modified_nodes);
		}
	}
}