# `FeedReader.FormatDetector`

Internal bounded detection and replay for `FeedReader`.

# `detect`

```elixir
@spec detect(binary(), keyword()) :: FeedReader.format_id()
```

Returns the detected format id, or `:unknown`, from a bounded prefix.

# `detect_and_replay`

```elixir
@spec detect_and_replay(binary() | Enumerable.t(), keyword()) ::
  {FeedReader.format_id(), binary(), Enumerable.t()}
```

Returns the detected id, inspected prefix, and replayable input stream.

# `validate`

```elixir
@spec validate(binary(), atom() | module(), keyword()) :: boolean()
```

Checks whether the bounded prefix matches the explicitly selected format.

---

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