use tsync::tsync;
#[derive(Serialize, Deserialize)]
#[serde(tag = "typetypetype")]
#[serde(renameAll = "kebab-case")]
#[serde(tag = "type")]
#[serde(rename_all = "UPPERCASE", tag = "type")]
#[tsync]
enum InternalTopping {
Pepperoni,
ExtraCheese { kind: String },
Custom(CustomTopping),
CustomTwo(CustomTopping, CustomTopping),
}
#[tsync]
#[serde(tag = "type", content = "value")]
enum AdjacentTopping {
Pepperoni,
ExtraCheese { kind: String },
Custom(CustomTopping),
CustomTwo(CustomTopping, CustomTopping),
}
#[tsync]
enum ExternalTopping {
Pepperoni,
ExtraCheese { kind: String },
Custom(CustomTopping),
CustomTwo(CustomTopping, CustomTopping),
}
#[tsync]
struct CustomTopping {
name: String,
expires_in: NaiveDateTime,
}
#[tsync]
#[derive(Serialize)]
#[serde(rename_all = "camelCase")]
struct CustomToppingCamel {
name: String,
expires_in: NaiveDateTime,
}
#[tsync]
enum Animal {
Dog,
Cat,
}
#[tsync]
#[serde(rename_all = "snake_case")]
enum AnimalTwo {
DogLongExtra = 2,
Cat,
}
#[tsync]
#[serde(tag = "type")]
enum Tagged {
Test, }