winget_types/installer/switches/
custom.rs1use derive_more::{Deref, DerefMut, Display, FromStr, IntoIterator};
2use serde_with::{DeserializeFromStr, SerializeDisplay};
3
4use crate::installer::switches::switch::InstallerSwitch;
5
6#[derive(
7 Clone,
8 Debug,
9 Deref,
10 DerefMut,
11 Display,
12 Eq,
13 PartialEq,
14 FromStr,
15 Ord,
16 PartialOrd,
17 Hash,
18 IntoIterator,
19 SerializeDisplay,
20 DeserializeFromStr,
21)]
22pub struct CustomSwitch(#[into_iterator(owned, ref, ref_mut)] InstallerSwitch<2048>);
23
24impl CustomSwitch {
25 #[must_use]
26 pub fn all_users() -> Self {
27 "/ALLUSERS".parse().unwrap_or_else(|_| unreachable!())
28 }
29
30 #[must_use]
31 pub fn current_user() -> Self {
32 "/CURRENTUSER".parse().unwrap_or_else(|_| unreachable!())
33 }
34}