# `Tursox.Procedures.Source`
[🔗](https://github.com/mindreframer/tursox_procedures/blob/v0.1.0/lib/tursox/procedures/source.ex#L1)

Source contract for resolving immutable procedure definitions.

# `fetch`

```elixir
@callback fetch(source :: term(), connection :: term(), name :: String.t()) ::
  {:ok, Tursox.Procedures.Procedure.t()} | {:error, Tursox.Procedures.Error.t()}
```

# `list`

```elixir
@callback list(source :: term(), connection :: term()) ::
  {:ok, [Tursox.Procedures.Procedure.t()]}
  | {:error, Tursox.Procedures.Error.t()}
```

---

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