# `OpenUI.Program.Query`
[🔗](https://github.com/ideia4it/openui/blob/v0.1.1/lib/openui/program/query.ex#L1)

A `Query(tool, args, defaults, refresh)` statement (language.md, section 6.1).
`deps` are the state variables written literally in `args`: a change in one
of them fetches again.

# `t`

```elixir
@type t() :: %OpenUI.Program.Query{
  args: OpenUI.Parser.Expression.ast() | nil,
  defaults: OpenUI.Parser.Expression.ast() | nil,
  deps: [String.t()],
  id: String.t(),
  refresh: OpenUI.Parser.Expression.ast() | nil,
  tool: OpenUI.Parser.Expression.ast() | nil
}
```

---

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