Skip to main content

knowledge_base_models/
common.rs

1use crate::ReferenceId;
2use serde::{Deserialize, Deserializer, Serialize};
3use std::collections::BTreeMap;
4
5pub type LocalizedMap = BTreeMap<String, LocalizedText>;
6
7#[derive(Clone, Debug, Deserialize, Serialize)]
8#[serde(deny_unknown_fields)]
9pub struct LocalizedText {
10    pub text: String,
11    pub references: Vec<ReferenceId>,
12}
13
14pub(crate) fn deserialize_optional_non_null<'de, D, T>(deserializer: D) -> Result<Option<T>, D::Error>
15where
16    D: Deserializer<'de>,
17    T: Deserialize<'de>,
18{
19    T::deserialize(deserializer).map(Some)
20}