View Source Igniter.Code.List (igniter v0.3.2)
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
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
@spec find_list_item_index(Sourceror.Zipper.t(), (Macro.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(), (Macro.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