use super::position_keyframe::PositionKeyframe;
use crate::schema::helpers::int_boolean::BoolInt;
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
pub struct Position {
#[serde(rename = "ix")]
#[serde(skip_serializing_if = "Option::is_none")]
pub property_index: Option<f64>,
#[serde(rename = "a")]
pub animated: Option<BoolInt>,
#[serde(rename = "x")]
#[serde(skip_serializing_if = "Option::is_none")]
pub expression: Option<String>,
#[serde(rename = "l")]
#[serde(skip_serializing_if = "Option::is_none")]
pub length: Option<f64>,
#[serde(rename = "k")]
pub value: PositionValueK,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
#[serde(untagged)]
pub enum PositionValueK {
Animated(Vec<PositionKeyframe>),
Static(Vec<f64>),
}