[
    {
        "name": "PortMessage",
        "comment": " Useful functions for building a PortMessage to be delivered through ports.\n\n@docs PortMessage\n\n\n# Builder\n\n@docs new, withPayload\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "PortMessage",
                "comment": " ",
                "args": [],
                "type": "{ tag : String, payload : Value }"
            }
        ],
        "values": [
            {
                "name": "new",
                "comment": " Create a new PortMessage with an empty payload.\n\n    new \"SomeAction\" == { tag = \"SomeAction\", payload = null }\n\n",
                "type": "String -> PortMessage"
            },
            {
                "name": "withPayload",
                "comment": " Attach a payload to the PortMessage\n\n    new \"JoinChannel\"\n        |> withPayload (Json.Encode.string \"lobby\")\n        == { tag = \"JoinChannel\", payload = \"lobby\" }\n\n",
                "type": "Value -> PortMessage -> PortMessage"
            }
        ],
        "binops": []
    }
]