workflow_serializer/
macros.rs1#[macro_export]
9macro_rules! payload {
10 () => {{ $crate::payload::Payload::default() }};
11 ($value:expr_2021) => {{ $crate::payload::Payload::with_capacity($value) }};
12}
13
14#[macro_export]
16macro_rules! version {
17 ($major:expr_2021, $minor:expr_2021) => {{ $crate::payload::Version::new($major, $minor) }};
18}
19
20#[macro_export]
22macro_rules! writer {
23 ($value:expr_2021) => {{ ($value.as_mut() as &mut std::io::Cursor<Vec<u8>>) }};
24}
25
26#[macro_export]
28macro_rules! reader {
29 ($value:expr_2021) => {{ &mut std::io::Cursor::new($value.into_inner()) }};
30}
31
32#[macro_export]
34macro_rules! store {
35 ($type:ty, $value:expr_2021, $writer:expr_2021) => {
36 <$type as borsh::BorshSerialize>::serialize($value, $writer)
37 };
38}
39
40#[macro_export]
42macro_rules! load {
43 ($type:ty, $reader:expr_2021) => {
44 <$type as borsh::BorshDeserialize>::deserialize_reader($reader)
45 };
46}
47
48#[macro_export]
52macro_rules! serialize {
53 ($type:ty, $value:expr_2021, $writer:expr_2021) => {
54 $crate::payload::ser::Payload::<$type>($value).serialize($writer)
55 };
56}
57
58#[macro_export]
62macro_rules! deserialize {
63 ($type:ty, $reader:expr_2021) => {
64 $crate::payload::de::Payload::<$type>::deserialize($reader).map(|x| x.into_inner())
65 };
66}