Igniter.Code.List (igniter v0.7.0)
View SourceUtilities for working with lists.
Summary
Functions
Appends quoted to the list unless it is already present, determined by equality_pred.
Appends quoted to the list
Moves to the list item matching the given predicate, assuming you are currently inside the list
Finds the index of the first list item that satisfies pred
Returns true if the zipper is at a list literal
Applies the given function to every element of the list. The passed function must return {:ok, zipper} or :error When map returns, the Zipper will point to the final element of the list.
Moves to the list item matching the given predicate
Prepends quoted to the list unless it is already present, determined by equality_pred.
Prepends quoted to the list
Removes the item at the given index, returning :error if nothing is at that index
Types
@type equality_pred() :: (Sourceror.Zipper.t(), Macro.t() -> boolean())
Functions
@spec append_new_to_list(Sourceror.Zipper.t(), quoted :: Macro.t(), equality_pred()) :: {:ok, Sourceror.Zipper.t()} | :error
Appends quoted to the list unless it is already present, determined by equality_pred.
@spec append_to_list(Sourceror.Zipper.t(), quoted :: Macro.t()) :: {:ok, Sourceror.Zipper.t()} | :error
Appends quoted to the list
Moves to the list item matching the given predicate, assuming you are currently inside the list
@spec find_list_item_index(Sourceror.Zipper.t(), (Sourceror.Zipper.t() -> boolean())) :: integer() | nil
Finds the index of the first list item that satisfies pred
@spec list?(Sourceror.Zipper.t()) :: boolean()
Returns true if the zipper is at a list literal
@spec map(Sourceror.Zipper.t(), (Sourceror.Zipper.t() -> {:ok, Sourceror.Zipper.t()})) :: {:ok, Sourceror.Zipper.t()} | :error
Applies the given function to every element of the list. The passed function must return {:ok, zipper} or :error When map returns, the Zipper will point to the final element of the list.
@spec move_to_list_item(Sourceror.Zipper.t(), (Sourceror.Zipper.t() -> boolean())) :: {:ok, Sourceror.Zipper.t()} | :error
Moves to the list item matching the given predicate
@spec prepend_new_to_list(Sourceror.Zipper.t(), quoted :: Macro.t(), equality_pred()) :: {:ok, Sourceror.Zipper.t()} | :error
Prepends quoted to the list unless it is already present, determined by equality_pred.
@spec prepend_to_list(Sourceror.Zipper.t(), quoted :: Macro.t()) :: {:ok, Sourceror.Zipper.t()} | :error
Prepends quoted to the list
@spec remove_from_list( Sourceror.Zipper.t(), predicate :: (Sourceror.Zipper.t() -> boolean()) ) :: {:ok, Sourceror.Zipper.t()} | :error
@spec remove_index(Sourceror.Zipper.t(), index :: non_neg_integer()) :: {:ok, Sourceror.Zipper.t()} | :error
Removes the item at the given index, returning :error if nothing is at that index
@spec replace_in_list( Sourceror.Zipper.t(), predicate :: (Sourceror.Zipper.t() -> boolean()), term :: any() ) :: {:ok, Sourceror.Zipper.t()} | :error