Holy
A proc-macro library providing derive macros for Rust structs.
Getters & Setters
let mut user = User ;
let name: &String = user.name; // getter
user.set_age; // setter
Supports generic structs:
Attributes
Control visibility and behavior per-field with #[holy(...)]:
#[holy(public)]— make the generated getter/setterpubregardless of field visibility#[holy(private)]— make the generated getter/setter private regardless of field visibility#[holy(skip)]— skip generating getter/setter for this field#[holy(observe)]— mark field for observer pattern (used withObserverderive)
Observer
Derive Observer to generate a companion struct for the observer pattern:
// Generates `SensorObservers` companion struct
let mut observers = new;
observers.add_temperature_observer;
observers.notify_temperature_observers;