use crate::error::{Error, Result};
pub fn to_i32(value: usize, name: &str) -> Result<i32> {
i32::try_from(value).map_err(|_| Error::OutOfRange { name: name.into() })
}
pub fn to_u64(value: usize, name: &str) -> Result<u64> {
u64::try_from(value).map_err(|_| Error::OutOfRange { name: name.into() })
}
pub fn to_i64(value: usize, name: &str) -> Result<i64> {
i64::try_from(value).map_err(|_| Error::OutOfRange { name: name.into() })
}
pub fn to_usize(value: impl TryInto<usize>, name: &str) -> Result<usize> {
value
.try_into()
.map_err(|_| Error::OutOfRange { name: name.into() })
}