use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)]
#[serde(transparent)]
pub struct Size(usize);
impl Size {
pub fn new(arg: usize) -> Self {
Self(arg)
}
pub fn as_i64(self) -> i64 {
self.0 as i64
}
}
impl From<usize> for Size {
fn from(value: usize) -> Self {
Size(value)
}
}
impl core::ops::Deref for Size {
type Target = usize;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl core::ops::DerefMut for Size {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}