[{"name":"Extras.Core","comment":" General convenience functions.\n\n@docs always\n@docs flip\n@docs unless\n\n","unions":[],"aliases":[],"values":[{"name":"always","comment":" Regardless of input, always return a constant value.\n\nHelpful adapter for function that only offer updates when one really just wants to replace a value:\n\n    List.updateAt index (always item) list\n\n","type":"a -> b -> a"},{"name":"flip","comment":" Change the order of the arguments of a two argument function.\n\n    > flip (++) \"Hello\" \"World\"\n    \"WorldHello\" : String\n\n","type":"(a -> b -> c) -> b -> a -> c"},{"name":"unless","comment":" Negated, functional if-then-else.\n\nChecks a condition and returns the respective value.\n\nAllows writing more natural conditional atttributes, elements, etc:\n\n    div [] [ unless isLoggedIn (text \"not logged in\") (a [] [ text \"logout\" ]) ]\n\n","type":"Basics.Bool -> a -> a -> a"}],"binops":[]},{"name":"Extras.Html","comment":" Convenience functions for working with `Html.Html`\n\n@docs nothing\n\n","unions":[],"aliases":[],"values":[{"name":"nothing","comment":" Empty element.\n\nUseful if need to produce an HTML element that evaluates to nothing. Example:\n\n    let\n        optionalContent =\n            Just (div [] [ text \"hello \" ])\n    in\n    Maybe.withDefault nothing optionalContent\n\n","type":"Html.Html msg"}],"binops":[]},{"name":"Extras.Html.Attributes","comment":" Convenience functions for working with `Html.Attribute`.\n\n@docs none\n\n","unions":[],"aliases":[],"values":[{"name":"none","comment":" Empty attribute.\n\nUseful if need to produce an HTML attribute that evaluates to nothing. Example:\n\n    div\n        [ if isHidden then\n            style [ \"display\", \"none\" ]\n\n          else\n            none\n        ]\n        [ text \"example\" ]\n\nThe name is no conincidence, but was chosen to not clash with `Extras.Html.nothing`.\n\n","type":"Html.Attribute msg"}],"binops":[]}]