# `JsonRemedy.Layer3.RuleProcessors`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/rule_processors.ex#L1)

Rule-based processing system for Layer 3 syntax normalization.

Provides a flexible rule system for applying various syntax normalization
operations with configurable processors and conditions.

# `repair_action`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/rule_processors.ex#L13)

```elixir
@type repair_action() :: map()
```

# `syntax_rule`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/rule_processors.ex#L14)

```elixir
@type syntax_rule() :: %{
  name: String.t(),
  processor: (String.t() -&gt; {String.t(), [repair_action()]}),
  condition: (String.t() -&gt; boolean()) | nil
}
```

# `apply_rule`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/rule_processors.ex#L53)

```elixir
@spec apply_rule(String.t(), syntax_rule()) :: {String.t(), [repair_action()]}
```

Apply a single syntax rule with context awareness.

# `default_rules`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/rule_processors.ex#L24)

```elixir
@spec default_rules() :: [syntax_rule()]
```

Get default syntax normalization rules.

# `validate_rule`
[🔗](https://github.com/nshkrdotcom/json_remedy/blob/v0.2.1/lib/json_remedy/layer3/rule_processors.ex#L65)

```elixir
@spec validate_rule(syntax_rule()) :: :ok | {:error, String.t()}
```

Validate that a syntax rule is well-formed.

---

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