# `Unicode.Transform.Compiler.CompiledTransform`
[🔗](https://github.com/elixir-unicode/unicode_transform/blob/v1.1.0/lib/unicode/transform/compiler.ex#L23)

A struct that holds a compiled transform rule.

# `compiled_filter`

```elixir
@type compiled_filter() :: {:unicode_set, String.t()} | {:regex, Regex.t()}
```

# `compiled_pattern`

```elixir
@type compiled_pattern() ::
  String.t() | {:unicode_set, String.t()} | {:regex, Regex.t()}
```

# `compiled_rule`

```elixir
@type compiled_rule() :: %{
  before_context: compiled_pattern() | nil,
  pattern: compiled_pattern(),
  replacement: String.t(),
  revisit: String.t() | nil,
  after_context: compiled_pattern() | nil
}
```

# `pass`

```elixir
@type pass() ::
  {:conversions, [compiled_rule()]}
  | {:transform, String.t()}
  | {:builtin, String.t()}
```

# `t`

```elixir
@type t() :: %Unicode.Transform.Compiler.CompiledTransform{
  filter: compiled_filter() | nil,
  inverse_filter: compiled_filter() | nil,
  passes: [pass()]
}
```

---

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