webauthn_rs_core/
macros.rs

1macro_rules! cbor_try_map {
2    (
3        $v:expr
4    ) => {{
5        match $v {
6            serde_cbor_2::Value::Map(m) => Ok(m),
7            _ => Err(WebauthnError::COSEKeyInvalidCBORValue),
8        }
9    }};
10}
11
12macro_rules! cbor_try_array {
13    (
14        $v:expr
15    ) => {{
16        match $v {
17            serde_cbor_2::Value::Array(m) => Ok(m),
18            _ => Err(WebauthnError::COSEKeyInvalidCBORValue),
19        }
20    }};
21}
22
23macro_rules! cbor_try_string {
24    (
25        $v:expr
26    ) => {{
27        match $v {
28            serde_cbor_2::Value::Text(m) => Ok(m),
29            _ => Err(WebauthnError::COSEKeyInvalidCBORValue),
30        }
31    }};
32}
33
34macro_rules! cbor_try_bytes {
35    (
36        $v:expr
37    ) => {{
38        match $v {
39            serde_cbor_2::Value::Bytes(m) => Ok(m),
40            _ => Err(WebauthnError::COSEKeyInvalidCBORValue),
41        }
42    }};
43}
44
45macro_rules! cbor_try_i128 {
46    (
47        $v:expr
48    ) => {{
49        match $v {
50            serde_cbor_2::Value::Integer(m) => Ok(*m),
51            _ => Err(WebauthnError::COSEKeyInvalidCBORValue),
52        }
53    }};
54}
55
56/*
57#[macro_export]
58macro_rules! cbor_try_u64 {
59    (
60        $v:expr
61    ) => {{
62        match $v {
63            serde_cbor_2::Value::Integer(m) =>
64                u64::try_from(m)
65                    .map_err(|_| WebauthnError::COSEKeyInvalidCBORValue),
66            Ok(m),
67            _ => Err(WebauthnError::COSEKeyInvalidCBORValue),
68        }
69    }}
70}
71
72#[macro_export]
73macro_rules! cbor_try_i64 {
74    (
75        $v:expr
76    ) => {{
77        match $v {
78            serde_cbor_2::Value::Integer(m) =>
79                i64::try_from(m)
80                    .map_err(|_| WebauthnError::COSEKeyInvalidCBORValue),
81            Ok(m),
82            _ => Err(WebauthnError::COSEKeyInvalidCBORValue),
83        }
84    }}
85}
86*/