chore(core/result): add schema feature
This commit is contained in:
@@ -7,8 +7,13 @@ edition = "2021"
|
|||||||
|
|
||||||
[features]
|
[features]
|
||||||
serde = [ "dep:serde" ]
|
serde = [ "dep:serde" ]
|
||||||
|
schemas = [ "dep:schemars" ]
|
||||||
|
|
||||||
default = [ "serde" ]
|
default = [ "serde" ]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# Serialisation
|
# Serialisation
|
||||||
serde = { version = "1", features = ["derive"], optional = true }
|
serde = { version = "1", features = ["derive"], optional = true }
|
||||||
|
|
||||||
|
# Spec Generation
|
||||||
|
schemars = { version = "0.8.8", optional = true }
|
||||||
|
|||||||
@@ -2,11 +2,16 @@
|
|||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
|
|
||||||
|
#[cfg(feature = "schemas")]
|
||||||
|
#[macro_use]
|
||||||
|
extern crate schemars;
|
||||||
|
|
||||||
/// Result type with custom Error
|
/// Result type with custom Error
|
||||||
pub type Result<T, E = Error> = std::result::Result<T, E>;
|
pub type Result<T, E = Error> = std::result::Result<T, E>;
|
||||||
|
|
||||||
/// Error information
|
/// Error information
|
||||||
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
||||||
|
#[cfg_attr(feature = "schemas", derive(JsonSchema))]
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct Error {
|
pub struct Error {
|
||||||
/// Type of error and additional information
|
/// Type of error and additional information
|
||||||
@@ -20,6 +25,7 @@ pub struct Error {
|
|||||||
/// Possible error types
|
/// Possible error types
|
||||||
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
|
||||||
#[cfg_attr(feature = "serde", serde(tag = "type"))]
|
#[cfg_attr(feature = "serde", serde(tag = "type"))]
|
||||||
|
#[cfg_attr(feature = "schemas", derive(JsonSchema))]
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub enum ErrorType {
|
pub enum ErrorType {
|
||||||
/// This error was not labeled :(
|
/// This error was not labeled :(
|
||||||
|
|||||||
Reference in New Issue
Block a user