choo-expose
v1.3.1
Published
Expose a choo instance on the window
Downloads
16
Readme
choo-expose
Expose a choo instance on the window
Usage
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
API
instance = expose()
Create a new choo-expose
instance.
window.choo.state
Get the current state.
window.choo.log
window.choo.history
Get an overview of the most recent events.
window.choo.copy
Serialize 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:
copy whole choo state to clipboard
window.addEventListener('keyup', function (e) {
// press 'c' to copy current state to clipboard
if (e.keyCode === 67) {
window.choo.copy()
}
})
copy choo state at a specific path
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