# `DocShell.Presentation.SearchAdapter.JSON`
[🔗](https://github.com/futhr/doc_shell/blob/v2.0.0/lib/doc_shell/presentation/search_adapter/json.ex#L1)

Deterministic JSON search adapter and reference query implementation.

The emitted index is sufficient for a small browser worker or client module.
`query/3` defines the portable substring and filter behavior without requiring
a hosted service.

# `query`

```elixir
@spec query(
  [DocShell.Presentation.SiteSearchEntry.t()],
  String.t(),
  map() | keyword()
) ::
  {:ok, [DocShell.Presentation.SiteSearchEntry.t()]} | {:error, term()}
```

Queries validated records using deterministic case-insensitive substring matching.

---

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