rpc_router/resource/resources_builder_macro.rs
1/// A simple macro to create a new RpcRouterInner
2/// and add each rpc handler-compatible function along with their corresponding names.
3///
4/// e.g.,
5///
6/// ```
7/// rpc_router!(
8/// create_project,
9/// list_projects,
10/// update_project,
11/// delete_project
12/// );
13/// ```
14/// Is equivalent to:
15/// ```
16/// RpcRouterBuilder::default()
17/// .append_dyn("create_project", create_project.into_box())
18/// .append_dyn("list_projects", list_projects.into_box())
19/// .append_dyn("update_project", update_project.into_box())
20/// .append_dyn("delete_project", delete_project.into_box())
21/// ```
22#[macro_export]
23macro_rules! resources_builder {
24 ($($x:expr),*) => {
25 {
26 let mut temp = rpc_router::ResourcesBuilder::default();
27 $(
28 temp = temp.append($x);
29 )*
30 temp
31 }
32 };
33}