ixa::people

Macro define_derived_property

Source
macro_rules! define_derived_property {
    (
        $derived_property:ident,
        $value:ty,
        [$($dependency:ident),*],
        [$($global_dependency:ident),*],
        |$($param:ident),+| $derive_fn:expr
    ) => { ... };
    (
        $derived_property:ident,
        $value:ty,
        [$($dependency:ident),*],
        |$($param:ident),+| $derive_fn:expr
    ) => { ... };
}
Expand description

Defines a derived person property with the following parameters:

  • $person_property: A name for the identifier type of the property
  • $value: The type of the property’s value
  • [$($dependency),+]: A list of person properties the derived property depends on
  • [$($dependency),*]: A list of global properties the derived property depends on (optional)
  • $calculate: A closure that takes the values of each dependency and returns the derived value