having v0.1.0 Having

Summary

Macros

iex> import Having

iex> having({a, b}, a: 1, b: 2)
{1, 2}

Macros

having(expr, options)
iex> import Having
iex> having({a, b}, a: 1, b: 2)
{1, 2}


iex> import Having
iex> {a, b} |> having(a: 1, b: 2)
{1, 2}


iex> import Having
iex> a + b
...> |> having(b: 3, a: b * b)
12

iex> import Having
iex> {a, b}
...> |> having do
...>   a <- 1
...>   b <- 2
...> end
{1, 2}

iex> import Having
iex> {a, b}
...> |> having do
...>   {:ok, a} <- 1
...>   b <- 2
...> else
...>   _ -> :nop
...> end
:nop

iex> import Having
iex> {a, b}
...> |> having(a <- b * 2)
...> |> having(b = 10)
{20, 10}

iex> import Having
iex> {a, b}
...> |> having do
...>     a when a > 10 <- b
...>   else
...>     _ -> {:error, b}
...>   end
...> |> having(b = 10)
{:error, 10}

iex> import Having
iex> {a, b}
...> |> having(a when a > 10 <- b, {:error, b})
...> |> having(b = 10)
{:error, 10}