jsonerr 0.0.3

jsonerr macro and builder
Documentation
#![doc = include_str!("../README.md")]

pub mod builder;

#[macro_export]
macro_rules! jsonerr {
    // with meta
    (meta=$meta:expr, code=$code:expr, message=$message:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .meta($meta.into())
            .code($code.into())
            .message($message.into())
            .build()
    };

    (meta=$meta:expr, code=$code:expr, message=$message:expr, payload=$payload:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .meta($meta.into())
            .code($code.into())
            .message($message.into())
            .payload($payload.into())
            .build()
    };

    (meta=$meta:expr, code=$code:expr, message=$message:expr, payload=$payload:expr, origin=$origin:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .meta($meta.into())
            .code($code.into())
            .message($message.into())
            .payload($payload.into())
            .origin($origin.into())
            .build()
    };

    (meta=$meta:expr, code=$code:expr, message=$message:expr, origin=$origin:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .meta($meta.into())
            .code($code.into())
            .message($message.into())
            .origin($origin.into())
            .build()
    };

    // without meta
    (code=$code:expr, message=$message:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .code($code.into())
            .message($message.into())
            .build()
    };

    (code=$code:expr, message=$message:expr, payload=$payload:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .code($code.into())
            .message($message.into())
            .payload($payload.into())
            .build()
    };

    (code=$code:expr, message=$message:expr, payload=$payload:expr, origin=$origin:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .code($code.into())
            .message($message.into())
            .payload($payload.into())
            .origin($origin.into())
            .build()
    };

    (code=$code:expr, message=$message:expr, origin=$origin:expr) => {
        jsonerr::builder::JsonErrBuilder::new()
            .code($code.into())
            .message($message.into())
            .origin($origin.into())
            .build()
    };
}