feat: add support for i32 and u32 primitive types
This commit is contained in:
13
01.workspace/heave/src/imp/i32_from_value.rs
Normal file
13
01.workspace/heave/src/imp/i32_from_value.rs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
use crate::*;
|
||||||
|
|
||||||
|
impl From<Value> for i32 {
|
||||||
|
fn from(value: Value) -> i32 {
|
||||||
|
match value {
|
||||||
|
Value::SignedInt(value) => value
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| "Type mismatch".to_string())
|
||||||
|
.unwrap(),
|
||||||
|
_ => panic!("Type mismatch"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +1,15 @@
|
|||||||
pub mod bool_from_value;
|
pub mod bool_from_value;
|
||||||
pub mod f64_from_value;
|
pub mod f64_from_value;
|
||||||
|
pub mod i32_from_value;
|
||||||
pub mod i64_from_value;
|
pub mod i64_from_value;
|
||||||
pub mod string_from_value;
|
pub mod string_from_value;
|
||||||
|
pub mod u32_from_value;
|
||||||
pub mod u64_from_value;
|
pub mod u64_from_value;
|
||||||
pub mod value_from_bool;
|
pub mod value_from_bool;
|
||||||
pub mod value_from_f64;
|
pub mod value_from_f64;
|
||||||
|
pub mod value_from_i32;
|
||||||
pub mod value_from_i64;
|
pub mod value_from_i64;
|
||||||
pub mod value_from_str;
|
pub mod value_from_str;
|
||||||
pub mod value_from_string;
|
pub mod value_from_string;
|
||||||
|
pub mod value_from_u32;
|
||||||
pub mod value_from_u64;
|
pub mod value_from_u64;
|
||||||
|
|||||||
13
01.workspace/heave/src/imp/u32_from_value.rs
Normal file
13
01.workspace/heave/src/imp/u32_from_value.rs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
use crate::*;
|
||||||
|
|
||||||
|
impl From<Value> for u32 {
|
||||||
|
fn from(value: Value) -> u32 {
|
||||||
|
match value {
|
||||||
|
Value::UnsignedInt(value) => value
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| "Type mismatch".to_string())
|
||||||
|
.unwrap(),
|
||||||
|
_ => panic!("Type mismatch"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
01.workspace/heave/src/imp/value_from_i32.rs
Normal file
7
01.workspace/heave/src/imp/value_from_i32.rs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
use crate::*;
|
||||||
|
|
||||||
|
impl From<i32> for Value {
|
||||||
|
fn from(value: i32) -> Self {
|
||||||
|
Self::SignedInt(value.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
7
01.workspace/heave/src/imp/value_from_u32.rs
Normal file
7
01.workspace/heave/src/imp/value_from_u32.rs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
use crate::*;
|
||||||
|
|
||||||
|
impl From<u32> for Value {
|
||||||
|
fn from(value: u32) -> Self {
|
||||||
|
Self::UnsignedInt(value.into())
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user