# LibTmux.Query.requirements

- **Package:** libtmux-haskell
- **Language:** Haskell
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/internal/LibTmux/Internal/Query.hs#L275
- **Page:** https://libtmux.org/en/haskell/latest/reference/libtmux-query-v-requirements/

```haskell
requirements :: Query row -> QueryRequirements
```

Signature types: [`Query`](/en/haskell/latest/reference/libtmux-query-t-query/), [`QueryRequirements`](/en/haskell/latest/reference/libtmux-query-t-queryrequirements/).

Collect every declared field and relationship, including ordering and
 branches that may short-circuit. This is pure and does not contact tmux.

## Referenced declarations

- [`LibTmux.Query.Query`](/en/haskell/latest/reference/libtmux-query-t-query/) (data type)
- [`LibTmux.Query.QueryRequirements`](/en/haskell/latest/reference/libtmux-query-t-queryrequirements/) (data type)

## Guides

Pages that discuss `requirements`.

- [Typed queries](/en/haskell/latest/guides/query/)
