MatiOS-SDK-Rust 0.1.7

Sdk for creating apps for MatiOS in rust
Documentation
use alloc::boxed::Box;
use alloc::string::String;
use crate::uuid::Uuid;

pub struct TypedValue {
    value_type: usize,
    value: usize,
}
impl TypedValue {
    pub fn null(value: bool) -> TypedValue {
        TypedValue {
            value_type: 0,
            value: 0,
        }
    }
    pub fn bool(value: bool) -> TypedValue {
        TypedValue {
            value_type: 1,
            value: value as usize,
        }
    }
    pub fn u8(value: u8) -> TypedValue {
        TypedValue {
            value_type: 2,
            value: value as usize,
        }
    }
    pub fn i8(value: i8) -> TypedValue {
        TypedValue {
            value_type: 3,
            value: value as usize,
        }
    }

    pub fn u16(value: u16) -> TypedValue {
        TypedValue {
            value_type: 4,
            value: value as usize,
        }
    }
    pub fn i16(value: i16) -> TypedValue {
        TypedValue {
            value_type: 5,
            value: value as usize,
        }
    }

    pub fn u32(value: u32) -> TypedValue {
        TypedValue {
            value_type: 6,
            value: value as usize,
        }
    }
    pub fn i32(value: i32) -> TypedValue {
        TypedValue {
            value_type: 7,
            value: value as usize,
        }
    }
    pub fn u64(value: u64) -> TypedValue {
        TypedValue {
            value_type: 8,
            value: value as usize,
        }
    }
    pub fn i64(value: i64) -> TypedValue {
        TypedValue {
            value_type: 9,
            value: value as usize,
        }
    }
    pub fn uuid(value: Uuid) -> TypedValue {
        TypedValue {
            value_type: 10,
            value: unsafe{Box::into_raw(Box::from(value)) as *const u8 as usize},
        }
    }
    pub fn string(value: String) -> TypedValue {
        TypedValue {
            value_type: 11,
            value: unsafe{Box::into_raw(Box::from(value)) as *const String as usize},
        }
    }
}