# `PropertyTable.Matcher`
[🔗](https://github.com/nerves-project/property_table/blob/v0.3.1/lib/property_table/matcher.ex#L5)

Behaviour for customizing the Matcher logic for filtering and dispatching events

# `check_pattern`

```elixir
@callback check_pattern(PropertyTable.pattern()) :: :ok | {:error, Exception.t()}
```

Check whether a pattern is valid

Returns `:ok` on success or `{:error, error}` where `error` is an `Exception` struct with
information about the issue.

# `check_property`

```elixir
@callback check_property(PropertyTable.property()) :: :ok | {:error, Exception.t()}
```

Check whether a property is valid

Returns `:ok` on success or `{:error, error}` where `error` is an `Exception` struct with
information about the issue.

# `matches?`

```elixir
@callback matches?(PropertyTable.pattern(), PropertyTable.property()) :: boolean()
```

Returns true if the pattern matches the specified property

---

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