# `Backplane.JsonSchema.Types.Rule`

A single compiled validation step.

`name` identifies the runtime rule implementation and `params` carries the
serializable arguments consumed by `Backplane.JsonSchema.Validator.Rules.apply/3`.
Keyword variants can share a name and use draft-tagged parameters: Draft 7's
array-form `items` uses `name: :items` with `params.draft: "draft7"` internally.

# `t`

```elixir
@type t() :: %Backplane.JsonSchema.Types.Rule{name: atom(), params: term()}
```

---

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