1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use super::*;

impl From<bool> for WasmValue {
    fn from(value: bool) -> Self {
        match value {
            true => Self::I32(1),
            false => Self::I32(0),
        }
    }
}

macro_rules! value_map {
    ($($type:ty => $variant:ident),*) => {
        $(
            impl From<$type> for WasmValue {
                fn from(value: $type) -> Self {
                    Self::$variant(value)
                }
            }
        )*
    };
}

value_map! {
    u32 => U32,
    i32 => I32,
    i64 => I64,
    f32 => F32,
    f64 => F64
}