# `Macaw.Data.Operations.Registry`
[🔗](https://github.com/dcoai/macaw_data/blob/v0.5.3/lib/macaw/data/operations/registry.ex#L1)

The transforms and aggregates of the enabled packages, by name (spec/04 §2), built by
`Macaw.Data.Operations.registry/1`.

Names are strings matched by spelling. The registry holds `macaw_data`'s own package
and exactly the packages a host lists: a module that is merely loaded is not reachable.

# `t`

```elixir
@type t() :: %Macaw.Data.Operations.Registry{
  aggregates: %{required(String.t()) =&gt; module()},
  digest: String.t(),
  packages: [module()],
  transforms: %{required(String.t()) =&gt; module()}
}
```

# `aggregate`

```elixir
@spec aggregate(t(), String.t() | atom()) :: {:ok, module()} | :error
```

The aggregate module named `name`, by spelling, or `:error`.

# `transform`

```elixir
@spec transform(t(), String.t() | atom()) :: {:ok, module()} | :error
```

The transform module named `name`, by spelling, or `:error`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
