aleo-struct-parser 0.2.1

Aleo Struct Parser
Documentation
pub fn try_parse_unsigned_integer(input: &str) -> Option<(u128, u8)> {
    if input.ends_with("u128") {
        let nums = &input[..input.len() - 4];
        return u128::from_str_radix(nums, 10).ok().map(|v| (v, 128));
    }
    if input.ends_with("u64") {
        let nums = &input[..input.len() - 3];
        return u128::from_str_radix(nums, 10).ok().map(|v| (v, 64));
    }
    if input.ends_with("u32") {
        let nums = &input[..input.len() - 3];
        return u128::from_str_radix(nums, 10).ok().map(|v| (v, 32));
    }
    if input.ends_with("u16") {
        let nums = &input[..input.len() - 3];
        return u128::from_str_radix(nums, 10).ok().map(|v| (v, 16));
    }
    if input.ends_with("u8") {
        let nums = &input[..input.len() - 2];
        return u128::from_str_radix(nums, 10).ok().map(|v| (v, 8));
    }
    None
}

pub fn try_parse_integer(input: &str) -> Option<(i128, u8)> {
    if input.ends_with("i128") {
        let nums = &input[..input.len() - 4];
        return i128::from_str_radix(nums, 10).ok().map(|v| (v, 128));
    }
    if input.ends_with("i64") {
        let nums = &input[..input.len() - 3];
        return i128::from_str_radix(nums, 10).ok().map(|v| (v, 64));
    }
    if input.ends_with("i32") {
        let nums = &input[..input.len() - 3];
        return i128::from_str_radix(nums, 10).ok().map(|v| (v, 32));
    }
    if input.ends_with("i16") {
        let nums = &input[..input.len() - 3];
        return i128::from_str_radix(nums, 10).ok().map(|v| (v, 16));
    }
    if input.ends_with("i8") {
        let nums = &input[..input.len() - 2];
        return i128::from_str_radix(nums, 10).ok().map(|v| (v, 8));
    }
    None
}