|
|
|
@ -316,7 +316,24 @@ impl Loopable for serde_json::Value {
|
|
|
|
|
|
|
|
|
|
impl Sizable for serde_json::Value {
|
|
|
|
|
fn get_size<'a>(&'a self) -> Option<IceResult<'a>> {
|
|
|
|
|
todo!()
|
|
|
|
|
match self {
|
|
|
|
|
serde_json::Value::Null => {
|
|
|
|
|
Some(IceResult::from_owned(OwnedLiteral::LPositiveInteger(0)))
|
|
|
|
|
}
|
|
|
|
|
serde_json::Value::Bool(_boolean) => {
|
|
|
|
|
Some(IceResult::from_owned(OwnedLiteral::LPositiveInteger(0)))
|
|
|
|
|
}
|
|
|
|
|
serde_json::Value::Number(_num) => Some(IceResult::from_borrowed(self)),
|
|
|
|
|
serde_json::Value::String(text) => Some(IceResult::from_owned(
|
|
|
|
|
OwnedLiteral::LPositiveInteger(text.len().try_into().unwrap()),
|
|
|
|
|
)),
|
|
|
|
|
serde_json::Value::Array(arr) => Some(IceResult::from_owned(
|
|
|
|
|
OwnedLiteral::LPositiveInteger(arr.len().try_into().unwrap()),
|
|
|
|
|
)),
|
|
|
|
|
serde_json::Value::Object(obj) => Some(IceResult::from_owned(
|
|
|
|
|
OwnedLiteral::LPositiveInteger(obj.len().try_into().unwrap()),
|
|
|
|
|
)),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|