NestedFilter

NestedFilter drills down into a nested map and filters out keys according to user specified values.

Installation

If available in Hex, the package can be installed by adding nested_filter to your list of dependencies in mix.exs:

def deps do
  [{:nested_filter, "~> 0.1.0"}]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/nested_filter.

Usage

# here we remove the nil values from a nested map

nested_map = %{a: 1, b: %{m: nil, n: 2}, c: %{p: %{q: nil, r: nil}, s: %{t: 2, u: 3}} }
NestedFilter.reject_keys_by_value(nested_map, [nil])

# => %{a: 1, b: %{n: 2}, c: %{p: %{}, s: %{t: 2, u: 3}} }