View Source Igniter.Code.Keyword (igniter v0.5.0)
Utilities for working with keyword.
Summary
Functions
Moves the zipper to the value of key
in a keyword list.
Returns true if the node is a nested keyword list containing a value at the given path.
Puts into nested keyword lists represented by path
Puts a value at a path into a keyword, calling updater
on the zipper at the value if the key is already present
Removes a key from a keyword list if present. Returns :error
only if the node is not a list
Functions
@spec get_key(Sourceror.Zipper.t(), atom()) :: {:ok, Sourceror.Zipper.t()} | :error
Moves the zipper to the value of key
in a keyword list.
@spec keyword_has_path?(Sourceror.Zipper.t(), [atom()]) :: boolean()
Returns true if the node is a nested keyword list containing a value at the given path.
Puts into nested keyword lists represented by path
@spec put_in_keyword( Sourceror.Zipper.t(), [atom()], term(), (Sourceror.Zipper.t() -> {:ok, Sourceror.Zipper.t()} | :error) | nil ) :: {:ok, Sourceror.Zipper.t()} | :error
Puts a value at a path into a keyword, calling updater
on the zipper at the value if the key is already present
@spec remove_keyword_key(Sourceror.Zipper.t(), atom()) :: {:ok, Sourceror.Zipper.t()} | :error
Removes a key from a keyword list if present. Returns :error
only if the node is not a list
@spec set_keyword_key( Sourceror.Zipper.t(), atom(), term(), (Sourceror.Zipper.t() -> {:ok, Sourceror.Zipper.t()} | :error) | nil ) :: {:ok, Sourceror.Zipper.t()} | :error