# `OpenUI.Statement`
[🔗](https://github.com/ideia4it/openui/blob/v0.1.1/lib/openui/statement.ex#L1)

One `name = expression` statement of a program (language.md, section 2.1).

`pending?` marks a statement read from a cut-off tail that needed implicit
closing; while streaming, it never replaces a completed statement of the
same name.

# `kind`

```elixir
@type kind() :: :value | :state | :query | :mutation
```

# `t`

```elixir
@type t() :: %OpenUI.Statement{
  ast: OpenUI.Parser.Expression.ast(),
  id: String.t(),
  kind: kind(),
  pending?: boolean(),
  source: String.t()
}
```

---

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