[{"name":"Bimap","comment":" Simple bidirectional mapping between Strings and custom types.\n\n@docs Bimap\n\n@docs init\n\n@docs variant\n\n@docs build\n\n@docs fromString\n\n@docs toString\n\n@docs values\n\n","unions":[{"name":"Bimap","comment":" A bidirectional map between a `String` and a custom type.\n","args":["a"],"cases":[]}],"aliases":[],"values":[{"name":"build","comment":" Resolves your maps and pattern-matching function into\na `Bimap` that you can use.\n\n    ... -- calls to Bimap.variant go before the call to Bimap.build\n    |> Bimap.build\n\n","type":"Bimap.Builder (a -> String.String) a -> Bimap.Bimap a"},{"name":"fromString","comment":" Returns the mapped custom type value for a given `String`,\nif the `String` has been mapped.\n\n    type Response\n        = Yes\n        | No\n\n    bimap : Bimap Response\n    bimap =\n        Bimap.init\n            (\\yes no value ->\n                case value of\n                    Yes ->\n                        yes\n\n                    No ->\n                        no\n            )\n            |> Bimap.variant \"Yes\" Yes\n            |> Bimap.variant \"No\" No\n            |> Bimap.build\n\n\n    Bimap.fromString bimap \"Yes\" --> Yes\n    Bimap.fromString bimap \"Maybe\" --> Nothing\n\n","type":"Bimap.Bimap a -> String.String -> Maybe.Maybe a"},{"name":"init","comment":" Initializes a `Bimap`. You will need to pass a pattern-matching function\nwith one parameter per variant, plus an extra parameter for the \"value\".\n\n    type Response\n        = Yes\n        | No\n\n    bimap : Bimap Response\n    bimap =\n        Bimap.init\n            (\\yes no value ->\n                case value of\n                    Yes ->\n                        yes\n\n                    No ->\n                        no\n            )\n            |> Bimap.variant \"Yes\" Yes\n            |> Bimap.variant \"No\" No\n            |> Bimap.build\n\n","type":"match -> Bimap.Builder match v"},{"name":"toString","comment":" Returns the mapped `String` for a given custom type value.\n\n    type Response\n        = Yes\n        | No\n\n    bimap :\n        Bimap Response\n    bimap =\n        Bimap.init\n            (\\yes no value ->\n                case value of\n                    Yes ->\n                        yes\n\n                    No ->\n                        no\n            )\n            |> Bimap.variant \"Yes\" Yes\n            |> Bimap.variant \"No\" No\n            |> Bimap.build\n\n\n    Bimap.toString No --> \"No\"\n\n","type":"Bimap.Bimap a -> a -> String.String"},{"name":"values","comment":" Returns a `List` of tuples of all `String` keys and custom type values, in the same order that they were added.\n\n    type Response\n        = Yes\n        | No\n\n    bimap : Bimap Response\n    bimap =\n        Bimap.init\n            (\\yes no value ->\n                case value of\n                    Yes ->\n                        yes\n\n                    No ->\n                        no\n            )\n            |> Bimap.variant \"Yes\" Yes\n            |> Bimap.variant \"No\" No\n            |> Bimap.build\n\n\n    Bimap.values bimap -- [ ( \"Yes\", Yes ), ( \"No\", No ) ]\n\n","type":"Bimap.Bimap a -> List.List ( String.String, a )"},{"name":"variant","comment":" Adds a map between a `String` and a value of your custom type.\n\n    ... -- a pattern-matching function goes before the variants\n    |> Bimap.variant \"Yes\" Yes\n    |> Bimap.variant \"No\" No\n    ... -- a call to Bimap.build goes after\n\n","type":"String.String -> v -> Bimap.Builder (String.String -> b) v -> Bimap.Builder b v"}],"binops":[]}]