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}