Igniter.Code.Keyword (igniter v0.1.5)
Utilities for working with keyword.
Summary
Functions
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
Link to this function
keyword_has_path?(zipper, 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.
Link to this function
keywordify(list, value)
Puts into nested keyword lists represented by path
Link to this function
put_in_keyword(zipper, path, value, updater \\ nil)
@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
Link to this function
remove_keyword_key(zipper, key)
@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
Link to this function
set_keyword_key(zipper, key, value, updater)
@spec set_keyword_key(Sourceror.Zipper.t(), atom(), term(), (Sourceror.Zipper.t() -> {:ok, Sourceror.Zipper.t()} | :error)) :: {:ok, Sourceror.Zipper.t()} | :error