Current section
Files
Jump to
Current section
Files
lib/ppln.ex
defmodule Dec.Pipeline do
# of macros
def split({:|>, _, _} = ppln) do
split(ppln, [])
end
def split({:|>, opts, [first, second]}, result) do
split(first, [{opts, second} | result])
end
def split({:@, _, [{:dec, _, _} = dec]}, result) do
{dec, result}
end
def combine([], result) do
result
end
def combine(elements, result) do
[{opts, value} | elements] = elements
combine(elements, {:|>, opts, [result, value]})
end
end