1use atrium_api::types::Unknown;
2use serde::de;
3
4pub mod dns_resolver;
5pub mod stores;
6
7/// Safely parses an unknown record into a type. If it fails, it logs the error and returns an error.
8pub fn safe_check_unknown_record_parse<T>(unknown: Unknown) -> serde_json::Result<T>
9where
10 T: de::DeserializeOwned,
11{
12 let json = serde_json::to_vec(&unknown).map_err(|err| {
13 log::error!("Error getting the bytes of a record: {}", err);
14 err
15 })?;
16 serde_json::from_slice::<T>(&json)
17}