Crate waddling_errors_macros

Crate waddling_errors_macros 

Source
Expand description

Procedural macros for waddling-errors

This crate provides convenient macros for defining error code components, primaries, and sequences with rich metadata support.

§Macros

  • component! - Define component enums with automatic ComponentId impl
  • primary! - Define primary enums with automatic PrimaryId impl
  • sequence! - Define sequence constants with metadata

§Examples

use waddling_errors_macros::{component, primary, sequence};

component! {
    Auth,
    Database {
        docs: "Database operations",
        tags: ["backend"],
    },
}

primary! {
    Token,
    Connection {
        docs: "Connection errors",
    },
}

sequence! {
    MISSING(001) {
        description: "Item not found",
        hints: ["Check if item exists"],
    },
}

Macros§

component
Define component enums with automatic ComponentId trait implementation.
component_location
Register a component location without attaching to a module.
diag
Define complete diagnostic metadata with full 4-part error codes.
doc_gen_register
Generates documentation registration function for a diagnostic.
primary
Define primary enums with automatic PrimaryId trait implementation.
sequence
Define sequence constants with rich metadata.
setup
Configure module paths for waddling-errors definitions.

Attribute Macros§

doc_gen
Attribute macro for automatic documentation generation
in_component
Mark modules or files as belonging to a specific component.