charming_fork_zephyr/element/
scale_limit.rs

1use serde::Serialize;
2
3#[derive(Serialize)]
4#[serde(rename_all = "camelCase")]
5pub struct ScaleLimit {
6    #[serde(skip_serializing_if = "Option::is_none")]
7    min: Option<i64>,
8
9    #[serde(skip_serializing_if = "Option::is_none")]
10    max: Option<i64>,
11}
12
13impl ScaleLimit {
14    pub fn new() -> Self {
15        Self {
16            min: None,
17            max: None,
18        }
19    }
20
21    pub fn min<F: Into<i64>>(mut self, min: F) -> Self {
22        self.min = Some(min.into());
23        self
24    }
25
26    pub fn max<F: Into<i64>>(mut self, max: F) -> Self {
27        self.max = Some(max.into());
28        self
29    }
30}