[{"name":"Tuple.Extra","comment":" Convenience functions for working with tuples.\n\n\n## `Tuple` functions for 3-tuples\n\n@docs first, second, third, mapFirst, mapSecond, mapThird, mapAllThree\n\n\n## Creating tuples\n\n@docs pairTo, double, triple\n\n\n## Swapping values\n\n@docs swap, reverse, rotateLeft, rotateRight, swapFirst, swapLast\n\n\n## Applying functions\n\n@docs uncurry2, uncurry3\n\n","unions":[],"aliases":[],"values":[{"name":"double","comment":" Create a 2-tuple.\n\n    double 0 --> (0, 0)\n\n","type":"a -> ( a, a )"},{"name":"first","comment":" Extract the first value from a 3-tuple.\n\n    first ( 3, 4, 5 ) --> 3\n\n    first ( \"John\", \"H.\", \"Doe\" ) --> \"John\"\n\n","type":"( a, b, c ) -> a"},{"name":"mapAllThree","comment":" Transform all three parts of a 3-tuple.\n\n    mapAllThree String.reverse sqrt List.length ( \"stressed\", 16, [] ) --> (\"desserts\", 4, 0)\n\n    mapAllThree String.length negate List.isEmpty ( \"stressed\", 16, [] ) --> (8, -16, True)\n\n","type":"(a -> d) -> (b -> e) -> (c -> f) -> ( a, b, c ) -> ( d, e, f )"},{"name":"mapFirst","comment":" Transform the first value in a 3-tuple.\n\n    mapFirst String.reverse ( \"stressed\", 16, 1 ) --> (\"desserts\", 16, 1)\n\n    mapFirst String.length ( \"stressed\", 16, 1 ) --> (8, 16, 1)\n\n","type":"(a -> a2) -> ( a, b, c ) -> ( a2, b, c )"},{"name":"mapSecond","comment":" Transform the second value in a 3-tuple.\n\n    mapSecond sqrt ( \"stressed\", 16, 1 ) --> (\"stressed\", 4, 1)\n\n    mapSecond negate ( \"stressed\", 16, 1 ) --> (\"stressed\", -16, 1)\n\n","type":"(b -> b2) -> ( a, b, c ) -> ( a, b2, c )"},{"name":"mapThird","comment":" Transform the second value in a 3-tuple.\n\n    mapThird (List.repeat 2) ( \"stressed\", 16, 1 ) --> (\"stressed\", 16, [1, 1])\n\n    mapThird String.fromInt ( \"stressed\", 16, 1 ) --> (\"stressed\", 16, \"1\")\n\n","type":"(c -> c2) -> ( a, b, c ) -> ( a, b, c2 )"},{"name":"pairTo","comment":" Create a 2-tuple.\n\n    { foo = [1, 2], bar = Nothing }\n        |> pairTo Cmd.none\n    --> ({ foo = [1, 2], bar = Nothing }, Cmd.none)\n\n","type":"b -> a -> ( a, b )"},{"name":"reverse","comment":" Reverse values in a 3-tuple.\n\n    reverse ( 1, 2, 3 ) --> (3, 2, 1)\n\n","type":"( a, b, c ) -> ( c, b, a )"},{"name":"rotateLeft","comment":" Rotate values in 3-tuple to the left.\n\n    rotateLeft ( 1, 2, 3 ) --> (2, 3, 1)\n\n","type":"( a, b, c ) -> ( b, c, a )"},{"name":"rotateRight","comment":" Rotate values in 3-tuple to the right.\n\n    rotateRight ( 1, 2, 3 ) --> (3, 1, 2)\n\n","type":"( a, b, c ) -> ( c, a, b )"},{"name":"second","comment":" Extract the second value from a 3-tuple.\n\n    second ( 3, 4, 5 ) --> 4\n\n    second ( \"John\", \"H.\", \"Doe\" ) --> \"H.\"\n\n","type":"( a, b, c ) -> b"},{"name":"swap","comment":" Swap the values in a tuple.\n\n    swap ( '1', \"1\" ) --> (\"1\", '1')\n\n","type":"( a, b ) -> ( b, a )"},{"name":"swapFirst","comment":" Swap first two values in a 3-tuple.\n\n    swapFirst ( 1, 2, 3 ) --> (2, 1, 3)\n\n","type":"( a, b, c ) -> ( b, a, c )"},{"name":"swapLast","comment":" Swap last two values in a 3-tuple.\n\n    swapLast ( 1, 2, 3 ) --> (1, 3, 2)\n\n","type":"( a, b, c ) -> ( a, c, b )"},{"name":"third","comment":" Extract the third value from a 3-tuple.\n\n    third ( 3, 4, 5 ) --> 5\n\n    third ( \"John\", \"H.\", \"Doe\" ) --> \"Doe\"\n\n","type":"( a, b, c ) -> c"},{"name":"triple","comment":" Create a 3-tuple.\n\n    triple 0 --> (0, 0, 0)\n\n","type":"a -> ( a, a, a )"},{"name":"uncurry2","comment":" Apply each value in a 2-tuple to a function that takes at least 2 arguments.\n\n    uncurry2 List.repeat ( 3, 'a' ) --> ['a', 'a', 'a']\n\n","type":"(a -> b -> c) -> ( a, b ) -> c"},{"name":"uncurry3","comment":" Apply each value in a 3-tuple to a function that takes at least 3 arguments.\n\n    type alias Person =\n        { name : String\n        , age : Int\n        , hobbies : List String\n        }\n\n    uncurry3 Person (\"John Doe\", 34, [\"Hockey\"])\n        --> { name = \"John Doe\", age = 34, hobbies = [ \"Hockey\" ] }\n\n","type":"(a -> b -> c -> d) -> ( a, b, c ) -> d"}],"binops":[]}]