EnhancedAccess.skip_keys

You're seeing just the function skip_keys, go back to EnhancedAccess module for more information.
Link to this function

skip_keys(keys)

Specs

skip_keys(keys :: list()) ::
  Access.access_fun(data :: Access.container(), current_value :: term())

Be able to access any key except some key you want to skip in a Map or a Keyword list through the Access protocol

Examples

iex> get_in(%{a: %{b: 1}, c: %{b: 2}, d: %{b: 3}}, [EnhancedAccess.skip_keys([:d]), :b])
[1, 2]

iex> get_in(%{a: %{b: 1}, c: %{b: 2}, d: %{b: 3}}, [EnhancedAccess.skip_keys([:d])])
[%{b: 1}, %{b: 2}]

iex> get_in([a: %{b: 1}, c: %{b: 2}, d: %{b: 3}], [EnhancedAccess.skip_keys([:d])])
[%{b: 1}, %{b: 2}]

iex> deeper_nesting = %{a: %{b: %{c: 1}}, d: %{b: %{c: 2}}}
iex> get_in(deeper_nesting, [EnhancedAccess.skip_keys([:d]), :b,  :c])
[1]

iex> update_in(%{a: %{b: 1}, c: %{b: 2}, d: %{b: 3}}, [EnhancedAccess.skip_keys([:d]), :b], &(&1 + 1))
%{a: %{b: 2}, c: %{b: 3}, d: %{b: 3}}

iex> update_in([a: %{b: 1}, c: %{b: 2}, d: %{b: 3}], [EnhancedAccess.skip_keys([:d]), :b], &(&1 + 1))
[a: %{b: 2}, c: %{b: 3}, d: %{b: 3}]

iex> update_in([a: [b: 1], c: [b: 2], d: [b: 3]], [EnhancedAccess.skip_keys([:d]), :b], &(&1 + 1))
[a: [b: 2], c: [b: 3], d: [b: 3]]

iex> get_and_update_in(%{a: %{b: 1}, c: %{b: 2}, d: %{b: 3}}, [EnhancedAccess.skip_keys([:d]), :b], &{&1, &1 + 1})
{[1, 2], %{a: %{b: 2}, c: %{b: 3}, d: %{b: 3}}}

iex> pop_in(%{a: %{b: 1}, c: %{b: 2}, d: %{b: 3}}, [EnhancedAccess.skip_keys([:d]), :b])
{[1, 2], %{a: %{}, c: %{}, d: %{b: 3}}}