Magik.Maybe.pipe
You're seeing just the function
pipe
, go back to Magik.Maybe module for more information.
Specs
This function check first argument, if it is tuple of {:ok, data}
then invoke the function with data
of the tuple. Otherwise return the first argument.
Example
changeset = User.changeset(%User{}, params) Repo.insert(changeset) |> Maybe.pipe(fn user ->
# do something with user
end)
In case you are using with
, don't care about this function
Specs
This helper is used in pipe, to invoke function if condition is true, otherwise passing data to nex function
Example
a = 10 b = 12
a |> Kernel.*(2) |> Maybe.pipe( b != 0, & &1/b) |> Kernel.+(10)
The condition Could be any value:
- if condition is
true
then call the function with the first argument - if condition is
function/1
then invoke condition function. If return value istrue
then invoke the function with first argument - other value of condition don't trigger the function and just return the first argument that passed to this function
Example 2 Using function condition
a = 10 a |> Kernel.+(3) |> Maybe.pipe(& &1 > 0, & &1 - 5)