support_kit/
structures.rs1mod config_or_preset {
2 use serde::{Deserialize, Serialize};
3
4 #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
6 #[serde(untagged)]
7 pub enum ConfigOrPreset<Config, Preset> {
8 Config(Config),
9 Preset(Preset),
10 }
11}
12
13mod one_or_many {
14
15 use serde::{Deserialize, Serialize};
16
17 #[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
18 #[serde(untagged)]
19 pub enum OneOrMany<Contents> {
20 Many(Vec<Contents>),
21 One(Contents),
22 }
23
24 impl<Contents> From<Vec<Contents>> for OneOrMany<Contents> {
25 fn from(value: Vec<Contents>) -> Self {
26 Self::Many(value)
27 }
28 }
29
30 impl<Contents> From<Contents> for OneOrMany<Contents> {
31 fn from(value: Contents) -> Self {
32 Self::One(value)
33 }
34 }
35}
36
37pub use config_or_preset::ConfigOrPreset;
38pub use one_or_many::OneOrMany;