andrewMacmurray/elm-delay/2.0.3

NOTE: this package is not compatible with Elm 0.19.1

Delay

Utilities to delay updates after a set period of time

Delay one message

after : Float -> Time -> msg -> Cmd msg

Delays an update (with a message) by a given amount of time

after 500 millisecond DelayedMsg

Delay a sequence of messages

sequence : List ( Float, Time, msg ) -> Cmd msg

Starts a sequence of delayed messages

sequence
    [ ( 1000, millisecond, FirstMessage )
    , ( 2000, millisecond, SecondMessage )
    , ( 1000, millisecond, ThirdMessage )
    ]
sequenceIf : Bool -> List ( Float, Time, msg ) -> Cmd msg

Starts a sequence of delayed messages if predicate is met

sequenceIf (not model.updating)
    [ ( 1000, millisecond, FirstMessage )
    , ( 2000, millisecond, SecondMessage )
    , ( 1000, millisecond, ThirdMessage )
    ]
withUnit : Time -> List ( Float, msg ) -> List ( Float, Time, msg )

Helper for making all steps have the same unit

sequence <|
    withUnit millisecond
        [ ( 1000, FirstMessage )
        , ( 2000, SecondMessage )
        , ( 1000, ThirdMessage )
        ]