[{"name":"Delay","comment":" Utilities to delay updates after a set period of time\n\n@docs TimeUnit\n\n\n# Delay one message\n\n@docs after\n\n\n# Delay a sequence of messages\n\n@docs sequence, sequenceIf, withUnit\n\n","unions":[{"name":"TimeUnit","comment":" Standard units of time\n","args":[],"cases":[["Millisecond",[]],["Second",[]],["Minute",[]],["Hour",[]]]}],"aliases":[],"values":[{"name":"after","comment":" Delays an update (with a message) by a given amount of time\n\n    after 500 Millisecond DelayedMsg\n\n","type":"Basics.Float -> Delay.TimeUnit -> msg -> Platform.Cmd.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\n","type":"List.List ( Basics.Float, Delay.TimeUnit, msg ) -> Platform.Cmd.Cmd msg"},{"name":"sequenceIf","comment":" Starts a sequence of delayed messages if predicate is met\n\n    sequenceIf (not model.updating)\n        [ ( 1000, Millisecond, FirstMessage )\n        , ( 2000, Millisecond, SecondMessage )\n        , ( 1000, Millisecond, ThirdMessage )\n        ]\n\n","type":"Basics.Bool -> List.List ( Basics.Float, Delay.TimeUnit, msg ) -> Platform.Cmd.Cmd msg"},{"name":"withUnit","comment":" Helper for making all steps have the same unit\n\n    sequence <|\n        withUnit Millisecond\n            [ ( 1000, FirstMessage )\n            , ( 2000, SecondMessage )\n            , ( 1000, ThirdMessage )\n            ]\n\n","type":"Delay.TimeUnit -> List.List ( Basics.Float, msg ) -> List.List ( Basics.Float, Delay.TimeUnit, msg )"}],"binops":[]}]