arcature-macros 0.1.0

Proc-macro crate for Arcature: #[model], #[request], #[controller], #[derive(Job)], #[derive(Event)].
Documentation
  • Coverage
  • 100%
    24 out of 24 items documented0 out of 23 items with examples
  • Size
  • Source code size: 338.28 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.29 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 8s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • ArcatureLabs/Arcature
    0 0 7
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • dismonjames

Proc-macro crate for Arcature.

Provides the attribute/derive macros that power the Arcature developer experience:

  • #[model(table = "users")] — a SeaORM entity model with the query facade.
  • #[request] — a validated request struct (with #[validate(...)] rules).
  • #[controller] — an Axum controller with route metadata.
  • #[derive(Job)] — a typed background job with a JobModel const.
  • #[derive(Event)] — a typed in-process event for the Dispatcher.
  • #[listener(Event)] — an event listener with dispatch metadata.

Each macro lives in its own file (one file, one macro). This lib.rs is only the dispatch surface: it declares each macro's #[proc_macro_*] entry point and forwards to its implementation module. All expansions reference Arcature APIs via absolute ::arcature:: paths that resolve in the downstream app crate. This crate must NOT depend on arcature (would create a cycle); it depends only on syn, quote, and proc-macro2.