module Model.Model ( Model , initialModel , substractTimersTime ) where import Dict (Dict) import Dict import Time (Time) import Model.Timer (..) import Model.Id (..) import Model.IdGenerator (..) type alias Model = { currentTime : Time , timers : Dict Id Timer , timerIdGenerator : IdGenerator } initialModel : Time -> Model initialModel initialTime = let (id, idGenerator) = getId initialIdGenerator timerName = "Timer " ++ (toString id) in { currentTime = initialTime , timers = Dict.insert id (initialTimer initialTime timerName) Dict.empty , timerIdGenerator = idGenerator } substractTimersTime : Time -> Dict Id Timer -> Dict Id Timer substractTimersTime t timers = Dict.map (\id timer -> substractTimerTime t timer) timers