# Filterable

- **Package:** libtmux-swift
- **Language:** Swift
- **Kind:** interface
- **Source:** https://github.com/libtmux/libtmux-swift/blob/254f8b2be7eb60cacc3ffcb3ea8e456784f582df/Sources/LibTmux/FilterExpr.swift#L16
- **Page:** https://libtmux.org/en/swift/latest/reference/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.
- `filterFormatField(_:)` (method): The tmux format field an id reads, or `nil` when it has no single one.
