|
|
|
@ -13,8 +13,7 @@ pub struct Jmdict {
|
|
|
|
|
#[serde(rename_all(deserialize = "PascalCase"), deny_unknown_fields)]
|
|
|
|
|
pub struct JmdictEntry {
|
|
|
|
|
pub sequence: i32,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub kanji: Vec<JmdictKanji>,
|
|
|
|
|
pub kanji: Option<Vec<JmdictKanji>>,
|
|
|
|
|
pub readings: Vec<JmdictReading>,
|
|
|
|
|
pub sense: Vec<JmdictSense>,
|
|
|
|
|
}
|
|
|
|
@ -48,10 +47,8 @@ pub enum JmdictGlossaryType {
|
|
|
|
|
#[serde(rename_all(deserialize = "PascalCase"), deny_unknown_fields)]
|
|
|
|
|
pub struct JmdictKanji {
|
|
|
|
|
pub expression: String,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub information: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub priorities: Vec<String>,
|
|
|
|
|
pub information: Option<Vec<String>>,
|
|
|
|
|
pub priorities: Option<Vec<String>>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
@ -61,39 +58,25 @@ pub struct JmdictReading {
|
|
|
|
|
// Always empty with latest version of JMdict
|
|
|
|
|
#[serde(default, skip_serializing, deserialize_with = "err_if_not_blank")]
|
|
|
|
|
no_kanji: serde::de::IgnoredAny,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub restrictions: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub information: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub priorities: Vec<String>,
|
|
|
|
|
pub restrictions: Option<Vec<String>>,
|
|
|
|
|
pub information: Option<Vec<String>>,
|
|
|
|
|
pub priorities: Option<Vec<String>>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
|
#[serde(rename_all(deserialize = "PascalCase"), deny_unknown_fields)]
|
|
|
|
|
pub struct JmdictSense {
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub restricted_kanji: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub restricted_readings: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub references: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub antonyms: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub parts_of_speech: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub fields: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub misc: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub source_languages: Vec<JmdictSource>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub dialects: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub information: Vec<String>,
|
|
|
|
|
#[serde(deserialize_with = "nullable_list")]
|
|
|
|
|
pub glossary: Vec<JmdictGlossary>,
|
|
|
|
|
pub restricted_kanji: Option<Vec<String>>,
|
|
|
|
|
pub restricted_readings: Option<Vec<String>>,
|
|
|
|
|
pub references: Option<Vec<String>>,
|
|
|
|
|
pub antonyms: Option<Vec<String>>,
|
|
|
|
|
pub parts_of_speech: Option<Vec<String>>,
|
|
|
|
|
pub fields: Option<Vec<String>>,
|
|
|
|
|
pub misc: Option<Vec<String>>,
|
|
|
|
|
pub source_languages: Option<Vec<JmdictSource>>,
|
|
|
|
|
pub dialects: Option<Vec<String>>,
|
|
|
|
|
pub information: Option<Vec<String>>,
|
|
|
|
|
pub glossary: Option<Vec<JmdictGlossary>>,
|
|
|
|
|
// Always empty with latest version of JMdict
|
|
|
|
|
#[serde(default, skip_serializing, deserialize_with = "err_if_not_blank")]
|
|
|
|
|
examples: serde::de::IgnoredAny,
|
|
|
|
|