# `Bourse.WS.Dispatch`
[🔗](https://github.com/ZenHive/bourse/blob/main/lib/bourse/ws/dispatch.ex#L1)

Spec-driven channel → handler resolution from `websocket.dispatch.entries`.

# `resolve_result`

```elixir
@type resolve_result() :: {:family, atom()} | :system | :not_found
```

# `entries`

```elixir
@spec entries(Bourse.Exchange.t()) :: [map()]
```

Returns dispatch entries from the exchange spec.

# `resolve_channel`

```elixir
@spec resolve_channel(Bourse.Exchange.t(), String.t()) :: resolve_result()
```

Resolves a channel name to a watch family using spec dispatch entries.

---

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