# selection.Selection.where

- **Module:** selection.Selection
- **Package:** libtmux
- **Language:** TypeScript
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-ts/blob/3fe1ca654b81b8cbf4a13b777a001a3298c87a6f/packages/libtmux/src/selection.ts#L443
- **Page:** https://libtmux.org/en/ts/latest/reference/selection-selection-where/

```
selection.Selection.where(criteria: : WhereOf<Model>) -> Selection<Model>
```

Keep the members matching declarative criteria.

Criteria are data: equality, string operators, `AND`/`OR`/`NOT`, regular
expressions expressed as `{ pattern, flags }`, and quantifiers over
relations. Matching is case-sensitive unless a criterion says otherwise.

## Raises

- `VersionTooLowError`: when a criterion names a field newer than the tmux that answered. Such a field is not absent from the data, it is absent from that release, and matching it against nothing would answer "no member has this" — which is a different statement and the one a caller would act on. The error names the field, the release that has it, and the release running.

## Example

```ts
snapshot.panes.where({ currentCommand: "vim" });
snapshot.windows.where({ name: { startsWith: "log" } });
```
