# `DripDrop.Conditions.Predicate`
[🔗](https://github.com/agoodway/dripdrop/blob/v0.1.0/lib/dripdrop/conditions/predicate.ex#L1)

Predicate parsing and evaluation for condition rules.

# `predicate`

```elixir
@type predicate() :: binary() | [map()] | [struct()]
```

# `from_parts`

```elixir
@spec from_parts(binary() | nil, binary() | nil, term()) ::
  {:ok, binary()} | {:error, term()}
```

Builds a Predicated query from structured condition parts.

# `test`

```elixir
@spec test(predicate() | nil, map()) :: {:ok, boolean()} | {:error, term()}
```

Evaluates a predicate against runtime context.

# `validate`

```elixir
@spec validate(predicate() | nil) :: :ok | {:error, term()}
```

Validates a stored predicate expression without evaluating it.

---

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