[
    {
        "name": "Delay",
        "comment": " Utilities to delay updates after a set period of time\n\n# Delay one message\n@docs after\n\n# Delay a sequence of messages\n@docs sequence, sequenceIf, withUnit\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "after",
                "comment": " Delays an update (with a message) by a given amount of time\n\n    after 500 millisecond DelayedMsg\n",
                "type": "Float -> Time -> msg -> Cmd msg"
            },
            {
                "name": "sequence",
                "comment": " Starts a sequence of delayed messages\n\n    sequence\n        [ ( 1000, millisecond, FirstMessage )\n        , ( 2000, millisecond, SecondMessage )\n        , ( 1000, millisecond, ThirdMessage )\n        ]\n",
                "type": "List ( Float, Time, msg ) -> Cmd msg"
            },
            {
                "name": "sequenceIf",
                "comment": " Starts a sequence of delayed messages if predicate is `True`\n\n    sequenceIf (not model.updating)\n        [ ( 1000, millisecond, FirstMessage )\n        , ( 2000, millisecond, SecondMessage )\n        , ( 1000, millisecond, ThirdMessage )\n        ]\n",
                "type": "Bool -> List ( Float, Time, msg ) -> Cmd msg"
            },
            {
                "name": "withUnit",
                "comment": " Helper for making all steps have the same unit\n\n    withUnit millisecond\n        [ ( 1000, FirstMessage )\n        , ( 2000, SecondMessage )\n        , ( 1000, ThirdMessage )\n        ]\n        |> sequence\n",
                "type": "Time -> List ( Float, msg ) -> List ( Float, Time, msg )"
            }
        ],
        "binops": []
    }
]