12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package event
- const (
- namedPrefixer = ":"
- )
- type (
- // Emitter able to emit events
- Emitter interface {
- Emit(name string, data interface{})
- }
- // Receiver able to listen to events
- Receiver interface {
- On(name string, handler HandlerFunc)
- }
- // HandlerFunc func
- HandlerFunc func(Event)
- // Event specific interface
- Event interface {
- Name() string
- Data() interface{}
- }
- // private data
- event struct {
- name string
- data interface{}
- }
- )
- // New Event
- func New(name string, data interface{}) Event {
- return &event{name, data}
- }
- func (e *event) Name() string {
- return e.name
- }
- func (e *event) Data() interface{} {
- return e.data
- }
- // Prefixer
- // NamedEmitter data for event prefixer
|