const choo = require('../../') const html = require('../../html') const app = choo() app.model({ state: { counter: 0 }, reducers: { increment: (data, state) => ({ counter: state.counter + 1 }), decrement: (data, state) => ({ counter: state.counter - 1 }) }, effects: { incrementAsync: function (data, state, send, done) { setTimeout(() => send('increment', done), 1000) }, decrementAsync: function (data, state, send, done) { setTimeout(() => send('decrement', done), 1000) } } }) const mainView = (state, prev, send) => { return html`

Async counter

Clicked ${state.counter} times!

` } app.router((route) => [ route('/', mainView) ]) const tree = app.start() document.body.appendChild(tree)