rusty_cdk_core/shared/
macros.rs1#[macro_export]
2macro_rules! dto_methods {
3 ($name:ident) => {
4 impl $name {
5 #[allow(dead_code)]
6 pub fn get_id(&self) -> &Id {
7 &self.id
8 }
9
10 #[allow(dead_code)]
11 pub fn get_resource_id(&self) -> &str {
12 self.resource_id.as_str()
13 }
14 }
15 };
16}
17
18#[macro_export]
19macro_rules! ref_struct {
20 ($name:ident) => {
21 pub struct $name {
22 resource_id: String,
23 }
24
25 impl $name {
26 #[allow(dead_code)]
27 pub fn new(resource_id: String) -> Self {
28 Self {
29 resource_id,
30 }
31 }
32
33 #[allow(dead_code)]
34 pub fn get_resource_id(&self) -> &str {
35 self.resource_id.as_str()
36 }
37
38 #[allow(dead_code)]
39 pub fn get_ref(&self) -> Value {
40 $crate::intrinsic::get_ref(self.get_resource_id())
41 }
42
43 #[allow(dead_code)]
44 pub fn get_arn(&self) -> Value {
45 $crate::intrinsic::get_arn(self.get_resource_id())
46 }
47
48 #[allow(dead_code)]
49 pub fn get_att(&self, id: &str) -> Value {
50 $crate::intrinsic::get_att(self.get_resource_id(), id)
51 }
52 }
53 };
54}
55
56#[macro_export]
57macro_rules! type_state {
58 ($state_trait:ident,$($structs:ident,)*) => {
59 pub trait $state_trait {}
60 $(pub struct $structs {})*
61 $(impl $state_trait for $structs {})*
62 };
63}