winget_types/locale/icon/
mod.rs1pub mod file_type;
2pub mod resolution;
3pub mod theme;
4
5use serde::{Deserialize, Serialize};
6use serde_with::skip_serializing_none;
7use url::Url;
8
9use crate::{
10 locale::icon::{file_type::IconFileType, resolution::IconResolution, theme::IconTheme},
11 shared::Sha256String,
12};
13
14#[skip_serializing_none]
15#[derive(Serialize, Deserialize, Ord, PartialOrd, Eq, PartialEq)]
16#[serde(rename_all = "PascalCase")]
17pub struct Icon {
18 #[serde(rename = "IconUrl")]
19 pub url: Url,
20 #[serde(rename = "IconFileType")]
21 pub file_type: Option<IconFileType>,
22 #[serde(rename = "IconResolution")]
23 pub resolution: Option<IconResolution>,
24 #[serde(rename = "IconTheme")]
25 pub theme: Option<IconTheme>,
26 #[serde(rename = "IconSha256")]
27 pub sha_256: Option<Sha256String>,
28}