bybit_rust_api/rest/enums/
option_period.rs

1use serde::{Deserialize, Serialize};
2use std::fmt::{Display, Formatter, Result};
3
4// https://bybit-exchange.github.io/docs/v5/enum#optionperiod
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
6pub enum OptionPeriod {
7    #[serde(rename = "7")] // valid for BTC, ETH, SOL
8    SevenDay, // 7 days
9    #[serde(rename = "14")] // valid for BTC, ETH, SOL
10    FourteenDay, // 14 days
11    #[serde(rename = "30")] // valid for BTC, ETH, SOL
12    ThirtyDay, // 30 days
13    #[serde(rename = "60")] // valid for BTC, ETH, SOL
14    SixtyDay, // 60 days
15    #[serde(rename = "90")] // valid for BTC, ETH, SOL
16    NinetyDay, // 90 days
17    #[serde(rename = "180")] // valid for BTC, ETH
18    OneHundredEightyDay, // 180 days
19    #[serde(rename = "270")] // valid for BTC, ETH
20    TwoHundredSeventyDay, // 270 days
21}
22
23impl Display for OptionPeriod {
24    fn fmt(&self, f: &mut Formatter) -> Result {
25        match self {
26            OptionPeriod::SevenDay => write!(f, "7"),
27            OptionPeriod::FourteenDay => write!(f, "14"),
28            OptionPeriod::ThirtyDay => write!(f, "30"),
29            OptionPeriod::SixtyDay => write!(f, "60"),
30            OptionPeriod::NinetyDay => write!(f, "90"),
31            OptionPeriod::OneHundredEightyDay => write!(f, "180"),
32            OptionPeriod::TwoHundredSeventyDay => write!(f, "270"),
33        }
34    }
35}