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*/