# Filterable

- **Package:** libtmux-swift
- **Language:** Swift
- **Kind:** interface
- **Source:** https://github.com/libtmux/libtmux-swift/blob/f02a4668570e1cc5198c941413750e021f42c214/Sources/LibTmux/FilterExpr.swift#L15
- **Page:** https://libtmux.org/reference/swift/filterable/

A model that can be filtered declaratively.

Key paths are lowered to stable ids inside a synchronous call and then
discarded. Nothing stores one: `AnyKeyPath` is a non-`Sendable` class, so
keeping it would make every expression that held it unsendable, and an
expression's whole purpose is to travel.

## Members

- `filterFieldID(for:)` (method) — The stable wire id for a key path, or `nil` if the property is not filterable.
- `filterValue(_:of:)` (method) — Reads the field an id names, or `nil` if this model has no such field.
- `filterFieldType(_:)` (method) — The value kind an id names, or `nil` when this model does not know it.
