use panini_macro::ClosedValues;
use serde::{Deserialize, Serialize};
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
schemars::JsonSchema,
ClosedValues,
)]
#[closed_values(crate = "crate")]
#[serde(rename_all = "snake_case")]
pub enum Person {
First,
Second,
Third,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
schemars::JsonSchema,
ClosedValues,
)]
#[closed_values(crate = "crate")]
#[serde(rename_all = "snake_case")]
pub enum BinaryNumber {
Singular,
Plural,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
schemars::JsonSchema,
ClosedValues,
)]
#[closed_values(crate = "crate")]
#[serde(rename_all = "snake_case")]
pub enum TernaryNumber {
Singular,
Dual,
Plural,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
schemars::JsonSchema,
ClosedValues,
)]
#[closed_values(crate = "crate")]
#[serde(rename_all = "snake_case")]
pub enum BinaryGender {
Masculine,
Feminine,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
schemars::JsonSchema,
ClosedValues,
)]
#[closed_values(crate = "crate")]
#[serde(rename_all = "snake_case")]
pub enum TernaryGender {
Masculine,
Feminine,
Neuter,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
schemars::JsonSchema,
ClosedValues,
)]
#[closed_values(crate = "crate")]
#[serde(rename_all = "snake_case")]
pub enum SlavicAspect {
Perfective,
Imperfective,
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
schemars::JsonSchema,
ClosedValues,
)]
#[closed_values(crate = "crate")]
#[serde(rename_all = "snake_case")]
pub enum BinaryVoice {
Active,
Passive,
}