# `SafeRPC.Descriptor`
[🔗](https://github.com/elixir-vibe/safe_rpc/blob/v0.1.14/lib/safe_rpc/descriptor.ex#L1)

Self-description for a SafeRPC service.

# `module_description`

```elixir
@type module_description() :: %{
  ops: %{optional(atom()) =&gt; SafeRPC.Op.t()},
  meta: map()
}
```

# `t`

```elixir
@type t() :: %SafeRPC.Descriptor{
  meta: map(),
  module: module(),
  modules: %{optional(module()) =&gt; module_description()},
  service: atom() | String.t(),
  version: String.t() | nil
}
```

---

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