[{"name":"List.Unique","comment":" A list that can only contain unique elements\n\n\n# UniqueList\n\n@docs UniqueList\n\n\n# Basics\n\n@docs empty, isEmpty, fromList, toList, length, reverse, member\n\n\n# Modifying UniqueLists\n\n@docs remove, cons, addBefore, addAfter, isBefore, isAfter, isFirst\n\n\n# Util\n\n@docs filterDuplicates\n\n","unions":[{"name":"UniqueList","comment":" An arrangement of things in an order. An `UniqueList` is kind of like a `List`, except there cant be duplicate elements. And, its kind of like a `Set`, except an `UniqueList`s elements go from first to last.\n","args":["a"],"cases":[]}],"aliases":[],"values":[{"name":"addAfter","comment":" Add an element to a `UniqueList` before another element\n\n    addAfter `b` `c` (List.Unique.fromList [ `a`, `b`, `d` ])\n        == List.Unique.fromList [ `a`, `b`, `c`, `d` ]\n\n","type":"a -> a -> List.Unique.UniqueList a -> List.Unique.UniqueList a"},{"name":"addBefore","comment":" Add an element to a `UniqueList` before another element\n\n    addBefore `c` `b` (List.Unique.fromList [ `a`, `c`, `d` ])\n        == List.Unique.fromList [ `a`, `b`, `c`, `d` ]\n\n","type":"a -> a -> List.Unique.UniqueList a -> List.Unique.UniqueList a"},{"name":"cons","comment":" Add an element to the beginning of a `UniqueList`\n","type":"a -> List.Unique.UniqueList a -> List.Unique.UniqueList a"},{"name":"empty","comment":" Create an empty \\`UniqueList\n\n    List.Unique.empty == List.Unique.fromList []\n\n","type":"List.Unique.UniqueList a"},{"name":"filterDuplicates","comment":" If you just need to filter out duplicates, but dont want to use th `UniqueList` type, use this function. Its just like the `unique` function in `elm-community/list-extra`, except for the fact that `List.Extra.unique` only works on `List comparable`.\n\n    filterDuplicates [ True, True ] == [ True ]\n\n    filterDuplicates [ 1, 1, 2, 3, 5 ] == [ 1, 2, 3, 5 ]\n\n","type":"List.List a -> List.List a"},{"name":"fromList","comment":" Create a `UniqueList` from a `List`\n","type":"List.List a -> List.Unique.UniqueList a"},{"name":"isAfter","comment":" Check if an element is after another, if it is in the `UniqueList` at all.\n","type":"a -> a -> List.Unique.UniqueList a -> Maybe.Maybe Basics.Bool"},{"name":"isBefore","comment":" Check if an element is before another, if it is in the `UniqueList` at all.\n\n    germanStates = List.Unique.fromList [ \"Bavaria\", \"Brandenberg\" ]\n\n    (\"Bavaria\" |> List.Unique.isBefore \"Brandenberg\") germanStates == Just True\n\n    (\"Bavaria\" |> List.Unique.isBefore \"New York City\") germanStates == Nothing\n\n","type":"a -> a -> List.Unique.UniqueList a -> Maybe.Maybe Basics.Bool"},{"name":"isEmpty","comment":" Check if an Order is empty\n\n    Order.isEmpty Order.empty == True\n\n","type":"List.Unique.UniqueList a -> Basics.Bool"},{"name":"isFirst","comment":" Check is an element is the first in a `UniqueList`\n","type":"a -> List.Unique.UniqueList a -> Maybe.Maybe Basics.Bool"},{"name":"length","comment":" Get the length of a `UniqueList`\n\n    nobleGases = List.Unique.fromList\n        [ helium\n        , neon\n        , argon\n        , krypton\n        , xenon\n        , radon\n        ]\n\n    List.Unique.length nobleGases == 6\n\n","type":"List.Unique.UniqueList a -> Basics.Int"},{"name":"member","comment":" Check if something is in a `UniqueList`\n\n    List.Unique.member \"Grover Cleveland\" usPresidents == True\n\n","type":"a -> List.Unique.UniqueList a -> Basics.Bool"},{"name":"remove","comment":" Remove an element from a \\`UniqueList\n","type":"a -> List.Unique.UniqueList a -> List.Unique.UniqueList a"},{"name":"reverse","comment":" Reverse a `UniqueList`\n\n    bestCoffeeDrinks ==\n        List.Unique.fromList\n            [ cortado\n            , latte\n            , coldbrew\n            , coffee\n            , mocha\n            ]\n\n    worstCoffeeDrinks : UniqueList Coffee\n    worstCoffeeDrinks =\n        List.Unique.reverse bestCoffeeDrinks\n\n","type":"List.Unique.UniqueList a -> List.Unique.UniqueList a"},{"name":"toList","comment":" Turn a `UniqueList` into a `List`\n\n    let\n        u =\n            [ 'u' ]\n\n        doubleU =\n            [ 'u', 'u' ]\n    in\n    u == (List.Unique.toList <| List.Unique.fromList doubleU)\n\n","type":"List.Unique.UniqueList a -> List.List a"}],"binops":[]}]