Needlework brings additional operators to Elixir that allows you to "thread" results of your functions into other function calls. Basically extending the Kernel.|>/2
operator.
Just use Needlework
in your modules and thread away!
Example:
defmodule MyModule do
use Needlework
@spec foo(func :: fun()) :: list()
def foo(func) do
func
~> Enum.map([1, 2, 3])
end
end
Check the full documentation
Inspired by an awesome dash
The package can be installed by adding needlework
to your list of dependencies in mix.exs
:
def deps do
[
{:needlework, "~> 1.0.0"}
]
end