# `CEL.Expr.Select`
[🔗](https://github.com/hansihe/pb_ex/blob/v0.2.0/cel_ex/lib/cel/expr.ex#L77)

A field selection: `operand.field`, or a map lookup written the same way.

`test_only` is true for a presence test, `has(operand.field)`, whose type
is `:bool`. `optional` is true for `operand.?field`, whose type is
`{:optional, t}`.

# `t`

```elixir
@type t() :: %CEL.Expr.Select{
  field: String.t(),
  id: CEL.Checked.expr_id(),
  operand: CEL.Expr.t(),
  optional: boolean(),
  test_only: boolean(),
  type: CEL.Expr.type()
}
```

---

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