[{"name":"List.Zipper","comment":" A zipper for `List`.\n\n# The `Zipper` type\n@docs Zipper\n\n# Constructing a `Zipper`\n@docs singleton, fromList, withDefault\n\n# Accessors\n@docs before, current, after, toList\n\n# Mapping\n@docs map, mapBefore, mapCurrent, mapAfter\n\n# Moving around\n@docs first, previous, next, last, find, findFirst, findNext\n\n","unions":[{"name":"Zipper","comment":" The `Zipper` type. ","args":["a"],"cases":[["Zipper",["List.List a","a","List.List a"]]]}],"aliases":[],"values":[{"name":"after","comment":" Returns all elements after the element the `Zipper` is focussed on ","type":"List.Zipper.Zipper a -> List.List a"},{"name":"before","comment":" Returns all elements before the element the `Zipper` is focussed on. ","type":"List.Zipper.Zipper a -> List.List a"},{"name":"current","comment":" Returns the element the `Zipper` is currently focussed on. ","type":"List.Zipper.Zipper a -> a"},{"name":"find","comment":" Returns a `Zipper` focussed on the first element for which the predicate returns `True` (starting from a given `Zipper`). Note that this function does not search the entire list, but starts searching from the current element. ","type":"(a -> Basics.Bool) -> List.Zipper.Zipper a -> Maybe.Maybe (List.Zipper.Zipper a)"},{"name":"findFirst","comment":" Returns a `Zipper` focussed on the first element for which the predicate returns `True` (starting from the first element of a given `Zipper`).\n","type":"(a -> Basics.Bool) -> List.Zipper.Zipper a -> Maybe.Maybe (List.Zipper.Zipper a)"},{"name":"findNext","comment":" Returns a `Zipper` focussed on the first element for which the predicate returns `True` (starting from the next element of a given `Zipper` if there is a next element).\n","type":"(a -> Basics.Bool) -> List.Zipper.Zipper a -> Maybe.Maybe (List.Zipper.Zipper a)"},{"name":"first","comment":" Move the focus to the first element of the list. ","type":"List.Zipper.Zipper a -> List.Zipper.Zipper a"},{"name":"fromList","comment":" Construct a `Zipper` from a list. The `Zipper` will focus on the first element (if there is a first element). ","type":"List.List a -> Maybe.Maybe (List.Zipper.Zipper a)"},{"name":"last","comment":" Move the focus to the last element of the list. ","type":"List.Zipper.Zipper a -> List.Zipper.Zipper a"},{"name":"map","comment":" Apply a function to every element in the `Zipper`. ","type":"(a -> b) -> List.Zipper.Zipper a -> List.Zipper.Zipper b"},{"name":"mapAfter","comment":" Apply a function to all elements after the element the `Zipper` is focussed on. ","type":"(List.List a -> List.List a) -> List.Zipper.Zipper a -> List.Zipper.Zipper a"},{"name":"mapBefore","comment":" Apply a function to all elements before the element the `Zipper` is focussed on. ","type":"(List.List a -> List.List a) -> List.Zipper.Zipper a -> List.Zipper.Zipper a"},{"name":"mapCurrent","comment":" Apply a function to the element the `Zipper` is focussed on. ","type":"(a -> a) -> List.Zipper.Zipper a -> List.Zipper.Zipper a"},{"name":"next","comment":" Move the focus to the element after the element the `Zipper` is currently focussed on (if there is such an element). ","type":"List.Zipper.Zipper a -> Maybe.Maybe (List.Zipper.Zipper a)"},{"name":"previous","comment":" Move the focus to the element before the element the `Zipper` is currently focussed on (if there is such an element). ","type":"List.Zipper.Zipper a -> Maybe.Maybe (List.Zipper.Zipper a)"},{"name":"singleton","comment":" Construct a `Zipper` focussed on the first element of a singleton list. ","type":"a -> List.Zipper.Zipper a"},{"name":"toList","comment":" Reconstruct the list. ","type":"List.Zipper.Zipper a -> List.List a"},{"name":"withDefault","comment":" Provide an alternative when constructing a `Zipper` fails. ","type":"a -> Maybe.Maybe (List.Zipper.Zipper a) -> List.Zipper.Zipper a"}],"binops":[]}]