stripe/resources/
token_ext.rs

1use serde::{Deserialize, Serialize};
2
3/// An enum representing the possible values of an `Token`'s `type` field.
4#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
5#[serde(rename_all = "snake_case")]
6pub enum TokenType {
7    Account,
8    BankAccount,
9    Card,
10    Pii,
11}
12
13impl TokenType {
14    pub fn as_str(self) -> &'static str {
15        match self {
16            TokenType::Account => "account",
17            TokenType::BankAccount => "bank_account",
18            TokenType::Card => "card",
19            TokenType::Pii => "pii",
20        }
21    }
22}
23
24impl AsRef<str> for TokenType {
25    fn as_ref(&self) -> &str {
26        self.as_str()
27    }
28}
29
30impl std::fmt::Display for TokenType {
31    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
32        self.as_str().fmt(f)
33    }
34}
35
36impl std::default::Default for TokenType {
37    fn default() -> Self {
38        Self::Account
39    }
40}