Expose a choo instance on the window
var expose = require('choo-expose')
var choo = require('choo')
var app = choo()
app.use(expose())
console.log(window.choo.state)
window.choo.emit('foo')
window.choo.on('foo', function (data) {
console.log('foo called', data)
})
window.choo.log
// => table view of history
instance = expose()Create a new choo-expose instance.
window.choo.stateGet the current state.
window.choo.logwindow.choo.historyGet an overview of the most recent events.
window.choo.copySerialize an object into JSON and copy it to the clipboard. Must be called in response to a user gesture event, like click or keyup.
Example:
window.addEventListener('keyup', function (e) {
// press 'c' to copy current state to clipboard
if (e.keyCode === 67) {
window.choo.copy()
}
})
window.addEventListener('keyup', function (e) {
// press 'c' to copy current state at a specific path
if (e.keyCode === 67) {
window.choo.copy('state.foo.bar')
}
})
// also works with nested paths such as:
var object = { hello: { world: { lorem: 'ipsum' } } }
window.choo.copy('hello.world.lorem', object)
// will copy 'ipsum' to clipboard
// and objects:
window.choo.copy({cool: 'hey'})
// will copy {'cool': 'hey'} to clipboard