README.md

# Djinn

![Hex.pm Version](https://img.shields.io/hexpm/v/djinn?style=flat&link=https%3A%2F%2Fhex.pm%2Fpackages%2Fdjinn)
[![builds.sr.ht status](https://builds.sr.ht/~nomorepanic/djinn/commits/main/test-current.yaml.svg)](https://builds.sr.ht/~nomorepanic/djinn/commits/main/test-current.yaml?)

Easy ecto filters for easy querying.

## Instructions

It's a simple as:

```elixir
defmodule Posts do
  import Djinn

  filter_value("field", [p], p, allow_nil: true)

  def apply_filters(query, params) do
    query
    |> filter_by_field(params)
  end
end
```

Supported filters:

- filter_boolean
- filter_like
- filter_ilike
- filter_list
- filter_value

Some filters can be combined:

```elixir
filter_value("field", [p], p, allow_nil: true, catchall: false)
filter_list("field", [p], p)
```