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
endCheck 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