const { register, unregister, launch } = require('xyjax-events')
const testHandler = (eventArgs) => { console.log(JSON.stringify(eventArgs)) }
const testEventArgs = () => { return { eventArgField: Math.random() } }
const pathEventArgs = (path) => { return { currentPath: path } }
//registering test events
register('custom-event', 'target-1', testHandler)
register('custom-event', 'target-2', testHandler)
register('custom-event', 'starts-with...', testHandler)
register('custom-event', '...ends-with', testHandler)
register('custom-event', '...contains...', testHandler)
//launching test events
launch('custom-event', 'target-1', testEventArgs())
launch('custom-event', 'target-2', testEventArgs())
launch('custom-event', 'starts-with-1', pathEventArgs('starts-with-1'))
launch('custom-event', '1-ends-with', pathEventArgs('1-ends-with'))
launch('custom-event', '1-contains-2', pathEventArgs('1-contains-2'))
//example of unregistering
unregister('custom-event', 'target-1')
launch('custom-event', 'target-1', testEventArgs())