An experimental debugger for Elm. See DEMO
Just use TimeTravel.program
instead of Html.program
.
import TimeTravel.Html as TimeTravel
main =
-- Html.program
TimeTravel.program
{ init = init
, view = view
, update = update
, subscriptions = subscriptions
}
That's it!
Elm has a great official debugger from 0.18, but this debugger was born at 0.17! These two are focusing on slightly different things. The official one focuses on reproducing state and communicating between dev and QA people. This one, on the other hand, is more focusing on digging into problems that happen in runtime.
This library implements following features:
- Filtering Msgs
- Filtering Model
- Figure out how Msgs are chaining
And the ideas not implemented yet are:
- Watch partial Model and find Msgs that changes it
- Automatically save debugger state
So this library is a PoC of what the official debugger can potentially be in the future. Evan is also positive at this :)
BSD3