CouncilEx.Spec (CouncilEx v0.1.0)

Copy Markdown View Source

Compiled council specification produced by the DSL.

Summary

Types

council_id()

@type council_id() :: module() | String.t()

member_entry()

@type member_entry() :: {atom(), module() | CouncilEx.DynamicMember.t(), keyword()}

round_entry()

@type round_entry() :: {module(), keyword()}

router_spec()

@type router_spec() :: module() | (map(), CouncilEx.Context.t() -> [atom()]) | nil

t()

@type t() :: %CouncilEx.Spec{
  chair: member_entry() | nil,
  council: council_id(),
  members: [member_entry()],
  opts: keyword(),
  rounds: [round_entry()],
  router: router_spec()
}