[{"name":"Comparable","comment":" This module mostly exists to document the underlying motivation for the package.\n\n\n# Comparable\n\n@docs From, default\n\n","unions":[],"aliases":[{"name":"From","comment":" A function to implement comparison for a given type of value.\n","args":["value"],"type":"value -> value -> Basics.Order"}],"values":[{"name":"default","comment":" The default implementation for comparison of values in Elm.\nThis function implements equality as well as ordering for some types of values - Custom types aren't supported.\n","type":"Comparable.From comparable"}],"binops":[]},{"name":"Comparable.Dict","comment":" A dictionary mapping unique keys to values. The keys can be any type.\n\n\n# Dictionaries\n\n@docs Dict\n\n\n# Build\n\n@docs empty, singleton, insert, update, remove\n\n\n# Query\n\n@docs isEmpty, member, get, size\n\n\n# Lists\n\n@docs keys, values, toList, fromList\n\n\n# Transform\n\n@docs map, foldl, foldr, filter, partition\n\n\n# Combine\n\n@docs union, intersect, diff, merge\n\n","unions":[{"name":"Dict","comment":" A dictionary of keys and values.\n","args":["key","value"],"cases":[]}],"aliases":[],"values":[{"name":"diff","comment":" Keep a key-value pair when its key does not appear in the second dictionary.\n","type":"Comparable.From key -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key otherValue -> Comparable.Dict.Dict key value"},{"name":"empty","comment":" Create an empty dictionary.\n","type":"Comparable.Dict.Dict key value"},{"name":"filter","comment":" Keep only the key-value pairs that pass the given test.\n","type":"Comparable.From key -> (key -> value -> Basics.Bool) -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value"},{"name":"foldl","comment":" Fold over the key-value pairs in a dictionary from lowest key to highest key.\n","type":"(key -> value -> accumulator -> accumulator) -> accumulator -> Comparable.Dict.Dict key value -> accumulator"},{"name":"foldr","comment":" Fold over the key-value pairs in a dictionary from highest key to lowest key.\n","type":"(key -> value -> accumulator -> accumulator) -> accumulator -> Comparable.Dict.Dict key value -> accumulator"},{"name":"fromList","comment":" Convert an association list into a dictionary.\n","type":"Comparable.From key -> List.List ( key, value ) -> Comparable.Dict.Dict key value"},{"name":"get","comment":" Get the value associated with a key.\n","type":"Comparable.From key -> key -> Comparable.Dict.Dict key value -> Maybe.Maybe value"},{"name":"insert","comment":" Insert a key-value pair into a dictionary. Replaces value when there is a collision.\n","type":"Comparable.From key -> key -> value -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value"},{"name":"intersect","comment":" Keep a key-value pair when its key appears in the second dictionary. Preference is given to values in the first dictionary.\n","type":"Comparable.From key -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value"},{"name":"isEmpty","comment":" Determine if a dictionary is empty.\n","type":"Comparable.Dict.Dict key value -> Basics.Bool"},{"name":"keys","comment":" Get all of the keys in a dictionary, sorted from lowest to highest.\n","type":"Comparable.Dict.Dict key value -> List.List key"},{"name":"map","comment":" Apply a function to all values in a dictionary.\n","type":"(key -> value -> otherValue) -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key otherValue"},{"name":"member","comment":" Determine if a key is in a dictionary.\n","type":"Comparable.From key -> key -> Comparable.Dict.Dict key value -> Basics.Bool"},{"name":"merge","comment":" The most general way of combining two dictionaries. You provide three\naccumulators for when a given key appears:\n\n1.  Only in the left dictionary.\n2.  In both dictionaries.\n3.  Only in the right dictionary.\n    You then traverse all the keys from lowest to highest, building up whatever\n    you want.\n\n","type":"Comparable.From key -> (key -> value -> result -> result) -> (key -> value -> otherValue -> result -> result) -> (key -> otherValue -> result -> result) -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key otherValue -> result -> result"},{"name":"partition","comment":" Partition a dictionary according to some test. The first dictionary\ncontains all key-value pairs which passed the test, and the second contains\nthe pairs that did not.\n","type":"Comparable.From key -> (key -> value -> Basics.Bool) -> Comparable.Dict.Dict key value -> ( Comparable.Dict.Dict key value, Comparable.Dict.Dict key value )"},{"name":"remove","comment":" Remove a key-value pair from a dictionary. If the key is not found, no changes are made.\n","type":"Comparable.From key -> key -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value"},{"name":"singleton","comment":" Create a dictionary with one key-value pair.\n","type":"key -> value -> Comparable.Dict.Dict key value"},{"name":"size","comment":" Determine the number of key-value pairs in the dictionary.\n","type":"Comparable.Dict.Dict key value -> Basics.Int"},{"name":"toList","comment":" Convert a dictionary into an association list of key-value pairs, sorted by keys.\n","type":"Comparable.Dict.Dict key value -> List.List ( key, value )"},{"name":"union","comment":" Combine two dictionaries. If there is a collision, preference is given to the first dictionary.\n","type":"Comparable.From key -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value"},{"name":"update","comment":" Update the value of a dictionary for a specific key with a given function.\n","type":"Comparable.From key -> key -> (Maybe.Maybe value -> Maybe.Maybe value) -> Comparable.Dict.Dict key value -> Comparable.Dict.Dict key value"},{"name":"values","comment":" Get all of the values in a dictionary, in the compare of their keys.\n","type":"Comparable.Dict.Dict key value -> List.List value"}],"binops":[]},{"name":"Comparable.Set","comment":" A set of unique values. The values can be any type.\n\n\n# Sets\n\n@docs Set\n\n\n# Build\n\n@docs empty, singleton, insert, remove\n\n\n# Query\n\n@docs isEmpty, member, size\n\n\n# Combine\n\n@docs union, intersect, diff\n\n\n# Lists\n\n@docs toList, fromList\n\n\n# Transform\n\n@docs map, foldl, foldr, filter, partition\n\n","unions":[{"name":"Set","comment":" Represents a set of unique values.\n","args":["value"],"cases":[]}],"aliases":[],"values":[{"name":"diff","comment":" Get the difference between the first set and the second. Keeps values\nthat do not appear in the second set.\n","type":"Comparable.From value -> Comparable.Set.Set value -> Comparable.Set.Set value -> Comparable.Set.Set value"},{"name":"empty","comment":" Create an empty set.\n","type":"Comparable.Set.Set value"},{"name":"filter","comment":" Only keep elements that pass the given test.\n","type":"Comparable.From value -> (value -> Basics.Bool) -> Comparable.Set.Set value -> Comparable.Set.Set value"},{"name":"foldl","comment":" Fold over the values in a set, in compare from lowest to highest.\n","type":"(value -> accumulator -> accumulator) -> accumulator -> Comparable.Set.Set value -> accumulator"},{"name":"foldr","comment":" Fold over the values in a set, in compare from highest to lowest.\n","type":"(value -> accumulator -> accumulator) -> accumulator -> Comparable.Set.Set value -> accumulator"},{"name":"fromList","comment":" Convert a list into a set, removing any duplicates.\n","type":"Comparable.From value -> List.List value -> Comparable.Set.Set value"},{"name":"insert","comment":" Insert a value into a set.\n","type":"Comparable.From value -> value -> Comparable.Set.Set value -> Comparable.Set.Set value"},{"name":"intersect","comment":" Get the intersection of two sets. Keeps values that appear in both sets.\n","type":"Comparable.From value -> Comparable.Set.Set value -> Comparable.Set.Set value -> Comparable.Set.Set value"},{"name":"isEmpty","comment":" Determine if a set is empty.\n","type":"Comparable.Set.Set value -> Basics.Bool"},{"name":"map","comment":" Map a function onto a set, creating a new set with no duplicates.\n","type":"Comparable.From otherValue -> (value -> otherValue) -> Comparable.Set.Set value -> Comparable.Set.Set otherValue"},{"name":"member","comment":" Determine if a value is in a set.\n","type":"Comparable.From value -> value -> Comparable.Set.Set value -> Basics.Bool"},{"name":"partition","comment":" Create two new sets. The first contains all the elements that passed the\ngiven test, and the second contains all the elements that did not.\n","type":"Comparable.From value -> (value -> Basics.Bool) -> Comparable.Set.Set value -> ( Comparable.Set.Set value, Comparable.Set.Set value )"},{"name":"remove","comment":" Remove a value from a set. If the value is not found, no changes are made.\n","type":"Comparable.From value -> value -> Comparable.Set.Set value -> Comparable.Set.Set value"},{"name":"singleton","comment":" Create a set with one value.\n","type":"value -> Comparable.Set.Set value"},{"name":"size","comment":" Determine the number of elements in a set.\n","type":"Comparable.Set.Set value -> Basics.Int"},{"name":"toList","comment":" Convert a set into a list, sorted from lowest to highest.\n","type":"Comparable.Set.Set value -> List.List value"},{"name":"union","comment":" Get the union of two sets. Keep all values.\n","type":"Comparable.From value -> Comparable.Set.Set value -> Comparable.Set.Set value -> Comparable.Set.Set value"}],"binops":[]}]