winget_types/shared/
manifest_type.rs1use std::fmt::{Display, Formatter};
2
3use icu_locid::LanguageIdentifier;
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Deserialize, Serialize)]
7#[serde(rename_all = "camelCase")]
8pub enum ManifestType {
9 #[default]
10 Installer,
11 DefaultLocale,
12 Locale,
13 Version,
14}
15
16impl Display for ManifestType {
17 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
18 match self {
19 Self::Installer => f.write_str("Installer"),
20 Self::DefaultLocale => f.write_str("DefaultLocale"),
21 Self::Locale => f.write_str("Locale"),
22 Self::Version => f.write_str("Version"),
23 }
24 }
25}
26
27pub enum ManifestTypeWithLocale {
28 Installer,
29 Locale(LanguageIdentifier),
30 Version,
31}