paypal_rust/resources/enums/
usage.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
6pub enum Usage {
7 #[serde(rename = "FIRST")]
10 First,
11 #[serde(rename = "SUBSEQUENT")]
13 Subsequent,
14 #[serde(rename = "Derived")]
16 Derived,
17}
18
19impl Usage {
20 pub const fn as_str(self) -> &'static str {
21 match self {
22 Self::First => "FIRST",
23 Self::Subsequent => "SUBSEQUENT",
24 Self::Derived => "Derived",
25 }
26 }
27}
28
29impl AsRef<str> for Usage {
30 fn as_ref(&self) -> &str {
31 self.as_str()
32 }
33}
34
35impl std::fmt::Display for Usage {
36 fn fmt(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
37 self.as_str().fmt(formatter)
38 }
39}