Skip to content

Commit 60f8850

Browse files
fix: add name for error code constant (#70)
1 parent e23da67 commit 60f8850

8 files changed

Lines changed: 31 additions & 27 deletions

File tree

packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ struct CustomData<'a> {
3535
strip_to_two_options_from_three: Option<Option<Option<&'a str>>>,
3636
}
3737

38-
error_code!(CustomErrorCode, "custom");
38+
error_code!(CustomErrorCode, CUSTOM_ERROR_CODE, "custom");
3939

4040
#[derive(Debug, Deserialize, PartialEq, Serialize)]
4141
#[serde(rename_all = "camelCase")]

packages/fortifier/src/error_code.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,47 @@
22
/// Implement an error code.
33
#[macro_export]
44
macro_rules! error_code {
5-
($name:ident, $code:literal) => {
6-
$crate::error_code_base!($name, $code);
7-
$crate::error_code_serde!($name, $code);
8-
$crate::error_code_utoipa!($name, $code);
5+
($name:ident, $code_name:ident, $code:literal) => {
6+
$crate::error_code_base!($name, $code_name, $code);
7+
$crate::error_code_serde!($name, $code_name, $code);
8+
$crate::error_code_utoipa!($name, $code_name, $code);
99
};
1010
}
1111

1212
#[cfg(all(feature = "serde", not(feature = "utoipa")))]
1313
/// Implement an error code.
1414
#[macro_export]
1515
macro_rules! error_code {
16-
($name:ident, $code:literal) => {
17-
$crate::error_code_base!($name, $code);
18-
$crate::error_code_serde!($name, $code);
16+
($name:ident, $code_name:ident, $code:literal) => {
17+
$crate::error_code_base!($name, $code_name, $code);
18+
$crate::error_code_serde!($name, $code_name, $code);
1919
};
2020
}
2121

2222
#[cfg(all(not(feature = "serde"), feature = "utoipa"))]
2323
/// Implement an error code.
2424
#[macro_export]
2525
macro_rules! error_code {
26-
($name:ident, $code:literal) => {
27-
$crate::error_code_base!($name, $code);
28-
$crate::error_code_utoipa!($name, $code);
26+
($name:ident, $code_name:ident, $code:literal) => {
27+
$crate::error_code_base!($name, $code_name, $code);
28+
$crate::error_code_utoipa!($name, $code_name, $code);
2929
};
3030
}
3131

3232
#[cfg(all(not(feature = "serde"), not(feature = "utoipa")))]
3333
/// Implement an error code.
3434
#[macro_export]
3535
macro_rules! error_code {
36-
($name:ident, $code:literal) => {
37-
$crate::error_code_base!($name, $code);
36+
($name:ident, $code_name:ident, $code:literal) => {
37+
$crate::error_code_base!($name, $code_name, $code);
3838
};
3939
}
4040

4141
/// Implement an error code.
4242
#[macro_export]
4343
macro_rules! error_code_base {
44-
($name:ident, $code:literal) => {
45-
const CODE: &str = $code;
44+
($name:ident, $code_name:ident, $code:literal) => {
45+
const $code_name: &str = $code;
4646

4747
/// Email address error code.
4848
#[derive(Eq, PartialEq)]
@@ -58,7 +58,7 @@ macro_rules! error_code_base {
5858
type Target = str;
5959

6060
fn deref(&self) -> &Self::Target {
61-
CODE
61+
$code_name
6262
}
6363
}
6464

@@ -74,14 +74,14 @@ macro_rules! error_code_base {
7474
#[cfg(feature = "serde")]
7575
#[macro_export]
7676
macro_rules! error_code_serde {
77-
($name:ident, $code:literal) => {
77+
($name:ident, $code_name:ident, $code:literal) => {
7878
impl<'de> ::serde::Deserialize<'de> for $name {
7979
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
8080
where
8181
D: ::serde::Deserializer<'de>,
8282
{
8383
deserializer
84-
.deserialize_any($crate::serde::MustBeStrVisitor(CODE))
84+
.deserialize_any($crate::serde::MustBeStrVisitor($code_name))
8585
.map(|()| Self)
8686
}
8787
}
@@ -91,7 +91,7 @@ macro_rules! error_code_serde {
9191
where
9292
S: ::serde::Serializer,
9393
{
94-
serializer.serialize_str(CODE)
94+
serializer.serialize_str($code_name)
9595
}
9696
}
9797
};
@@ -101,12 +101,12 @@ macro_rules! error_code_serde {
101101
#[cfg(feature = "utoipa")]
102102
#[macro_export]
103103
macro_rules! error_code_utoipa {
104-
($name:ident, $code:literal) => {
104+
($name:ident, $code_name:ident, $code:literal) => {
105105
impl ::utoipa::PartialSchema for $name {
106106
fn schema() -> ::utoipa::openapi::RefOr<::utoipa::openapi::schema::Schema> {
107107
::utoipa::openapi::schema::ObjectBuilder::new()
108108
.schema_type(::utoipa::openapi::schema::Type::String)
109-
.enum_values(Some([CODE]))
109+
.enum_values(Some([$code_name]))
110110
.build()
111111
.into()
112112
}

packages/fortifier/src/validations/email_address.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ pub use email_address::Options as EmailAddressOptions;
1212

1313
use crate::error_code;
1414

15-
error_code!(EmailAddressErrorCode, "emailAddress");
15+
error_code!(
16+
EmailAddressErrorCode,
17+
EMAIL_ADDRESS_ERROR_CODE,
18+
"emailAddress"
19+
);
1620

1721
/// Email validation error.
1822
#[derive(Debug, Eq, PartialEq)]

packages/fortifier/src/validations/length.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use indexmap::{IndexMap, IndexSet};
1313

1414
use crate::error_code;
1515

16-
error_code!(LengthErrorCode, "length");
16+
error_code!(LengthErrorCode, LENGTH_ERROR_CODE, "length");
1717

1818
/// Length validation error.
1919
#[derive(Debug, Eq, PartialEq)]

packages/fortifier/src/validations/phone_number.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use phonenumber::{ParseError, PhoneNumber};
1212

1313
use crate::error_code;
1414

15-
error_code!(PhoneNumberErrorCode, "phoneNumber");
15+
error_code!(PhoneNumberErrorCode, PHONE_NUMBER_ERROR_CODE, "phoneNumber");
1616

1717
/// Phone number validation error.
1818
#[derive(Debug, Eq, PartialEq)]

packages/fortifier/src/validations/range.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use std::{
88

99
use crate::error_code;
1010

11-
error_code!(RangeErrorCode, "range");
11+
error_code!(RangeErrorCode, RANGE_ERROR_CODE, "range");
1212

1313
/// Range validation error.
1414
#[derive(Debug, Eq, PartialEq)]

packages/fortifier/src/validations/regex.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ where
3838
}
3939
}
4040

41-
error_code!(RegexErrorCode, "regex");
41+
error_code!(RegexErrorCode, REGEX_ERROR_CODE, "regex");
4242

4343
/// Regular expression validation error.
4444
#[derive(Debug, Eq, PartialEq)]

packages/fortifier/src/validations/url.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use url::{ParseError, Url};
1111

1212
use crate::error_code;
1313

14-
error_code!(UrlErrorCode, "url");
14+
error_code!(UrlErrorCode, URL_ERROR_CODE, "url");
1515

1616
/// URL validation error.
1717
#[derive(Debug, Eq, PartialEq)]

0 commit comments

Comments
 (0)