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

A message literal, `pkg.Message{field: value, ?other: maybe}`.

`message` is the message's type: its `CEL.TypeProvider`'s name for it,
or a well-known type's full name, such as `"google.protobuf.Int64Value"`.
Each field has its name and `value` node; `optional` is true for a field
written with `?`, which is set only when its optional value is present.

# `t`

```elixir
@type t() :: %CEL.Expr.MessageLiteral{
  fields: [CEL.Expr.message_field()],
  id: CEL.Checked.expr_id(),
  message: CEL.TypeProvider.name(),
  type: CEL.Expr.type()
}
```

---

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