MCPcopy Create free account
hub / github.com/ciphermodelabs/ciphercore / deserialize

Method deserialize

ciphercore-base/src/data_values.rs:150–166  ·  view source on GitHub ↗
(deserializer: D)

Source from the content-addressed store, hash-verified

148
149impl<'de> Deserialize<'de> for Value {
150 fn deserialize<D>(deserializer: D) -> std::result::Result<Value, D::Error>
151 where
152 D: Deserializer<'de>,
153 {
154 let versioned_value = VersionedData::deserialize(deserializer)?;
155 if !versioned_value.check_version(DATA_VERSION) {
156 Err(runtime_error!(
157 "Value version doesn't match the requirement"
158 ))
159 .map_err(serde::de::Error::custom)
160 } else {
161 let serializable_value =
162 serde_json::from_str::<SerializableValue>(versioned_value.get_data_string())
163 .expect("Error during conversion from String to SerializableValue!");
164 Value::from_serializable_value(serializable_value).map_err(serde::de::Error::custom)
165 }
166 }
167}
168
169impl fmt::Display for Value {

Callers

nothing calls this directly

Calls 2

check_versionMethod · 0.80
get_data_stringMethod · 0.80

Tested by

no test coverage detected