thoughtbot/expirable

Manage values that expire after a period of time


Keywords
elm, elm-lang
License
MIT
Install
elm-package install thoughtbot/expirable 1.0.0

Documentation

Expirable

Manage values that expire after a period of time.

Example

import Expirable exposing (Expirable)


type alias Model =
    { toastMessages : List (Expirable String)
    }


type Msg
    = DecrementToastMessages Time.Time


initial : Model
initial =
    { toastMessages =
        [ Expirable.build (Expirable.seconds 5) "Hi there"
        , Expirable.build (Expirable.seconds 30) "This goes longer"
        ]
    }


subscriptions : Model -> Sub Msg
subscriptions model =
    Expirable.subscription DecrementToastMessages


update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
    case msg of
        DecrementToastMessages time ->
            { model
                | toastMessages = Expirable.tickAll time model.toastMessages
            }
                ! []

License

See the LICENSE file.

About thoughtbot

thoughtbot

Expirable is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See our other projects or hire us to design, develop, and grow your product.