We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2ee362f commit ab1d361Copy full SHA for ab1d361
1 file changed
lib/floki/filter_out.ex
@@ -31,15 +31,22 @@ defmodule Floki.FilterOut do
31
defp filter(_, _), do: true
32
33
defp mapper(nodes, selector) when is_list(nodes) do
34
- nodes
35
- |> Stream.filter(&filter(&1, selector))
36
- |> Stream.map(&mapper(&1, selector))
37
- |> Enum.to_list()
+ do_mapper(nodes, selector, [])
38
end
39
40
defp mapper({nodetext, x, y}, selector) do
41
{nodetext, x, mapper(y, selector)}
42
43
44
defp mapper(nodetext, _), do: nodetext
+
+ defp do_mapper([], _selector, acc), do: Enum.reverse(acc)
45
+ defp do_mapper([head | tail], selector, acc) do
46
+ if filter(head, selector) do
47
+ do_mapper(tail, selector, [mapper(head, selector) | acc])
48
+ else
49
+ do_mapper(tail, selector, acc)
50
+ end
51
52
0 commit comments