ranim-macros 0.2.1

The macros for Ranim.
Documentation
pub fn expr_to_u32(expr: &syn::Expr) -> syn::Result<u32> {
    match expr {
        syn::Expr::Lit(syn::ExprLit {
            lit: syn::Lit::Int(i),
            ..
        }) => i.base10_parse(),
        _ => Err(syn::Error::new_spanned(expr, "expected integer literal")),
    }
}

pub fn expr_to_bool(expr: &syn::Expr) -> syn::Result<bool> {
    match expr {
        syn::Expr::Lit(syn::ExprLit {
            lit: syn::Lit::Bool(b),
            ..
        }) => Ok(b.value),
        _ => Err(syn::Error::new_spanned(expr, "expected bool literal")),
    }
}