PassiveSupport.Map.take-exclamation-mark

You're seeing just the function take-exclamation-mark, go back to PassiveSupport.Map module for more information.
Link to this function

take!(map, keys \\ [])

Specs

take!(map(), list()) :: map()

Returns a copy of map containing only keys and raises if any are missing.

If keys are not provided, returns map unchanged

Examples

iex> take!(%{a: "foo", b: 42, c: :ok}, [:b, :c])
%{b: 42, c: :ok}

iex> take!(%{a: "foo", b: 42})
%{a: "foo", b: 42}

iex> take!(%{"a" => "foo", "b" => 42, "c" => :ok}, ["c", "e"])
** (PassiveSupport.KeysNotFound) Expected to find keys ["c", "e"] but only found keys ["c"]