View Source Igniter.Code.List (igniter v0.3.49)
Utilities 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
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
append_new_to_list(zipper, quoted, equality_pred \\ &Common.nodes_equal?/2)
View Source@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 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
prepend_new_to_list(zipper, quoted, equality_pred \\ &Common.nodes_equal?/2)
View Source@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