Current section
Files
Jump to
Current section
Files
lib/trie.ex
defmodule Domainatrex.TrieBuilder do
@moduledoc false
def build(suffixes) do
Enum.reduce(suffixes, %{}, &put_suffix(&2, &1))
end
defp put_suffix(node, []) do
Map.put(node, :_end, true)
end
defp put_suffix(node, [head | tail]) do
child = Map.get(node, head, %{})
Map.put(node, head, put_suffix(child, tail))
end
end