Skip to main content

mlb_api/requests/meta/
situations.rs

1use serde::Deserialize;
2
3#[derive(Copy, Clone, Default, PartialEq, Eq)]
4pub enum SituationCodeFilter {
5	/// Display results that match <u>all</u> the [SituationCode]s selected.
6	All,
7
8	/// Display results that match <u>any</u> the [SituationCode]s selected.
9	#[default]
10	Any,
11}
12
13id!(SituationCodeId { code: String });
14
15#[allow(clippy::struct_excessive_bools, reason = "false positive")]
16#[derive(Debug, Deserialize, Clone)]
17pub struct SituationCode {
18	#[serde(rename = "navigationMenu", default)]
19	pub navigation_menu_kind: Option<String>,
20	pub description: String,
21	#[serde(rename = "team")]
22	pub is_team_active: bool,
23	#[serde(rename = "batting")]
24	pub is_batting_active: bool,
25	#[serde(rename = "fielding")]
26	pub is_fielding_active: bool,
27	#[serde(rename = "pitching")]
28	pub is_pitching_active: bool,
29	#[serde(flatten)]
30	pub id: SituationCodeId,
31}
32
33id_only_eq_impl!(SituationCode, id);
34meta_kind_impl!("situationCodes" => SituationCode);
35tiered_request_entry_cache_impl!(SituationCode.id: SituationCodeId);
36test_impl!(SituationCode);