|
@@ -4,30 +4,32 @@ const (
|
|
|
namedPrefixer = ":"
|
|
|
)
|
|
|
|
|
|
-// Emitter able to emit events
|
|
|
-type Emitter interface {
|
|
|
- Emit(Event)
|
|
|
-}
|
|
|
-
|
|
|
-// Receiver able to listen to events
|
|
|
-type Receiver interface {
|
|
|
- On(name string, handler HandlerFunc)
|
|
|
-}
|
|
|
-
|
|
|
-// HandlerFunc func
|
|
|
-type HandlerFunc func(Event)
|
|
|
-
|
|
|
-// Event specific interface
|
|
|
-type Event interface {
|
|
|
- Name() string
|
|
|
- Data() interface{}
|
|
|
-}
|
|
|
-
|
|
|
-// private data
|
|
|
-type event struct {
|
|
|
- name string
|
|
|
- data interface{}
|
|
|
-}
|
|
|
+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 {
|
|
@@ -45,18 +47,3 @@ func (e *event) Data() interface{} {
|
|
|
// Prefixer
|
|
|
|
|
|
// NamedEmitter data for event prefixer
|
|
|
-type NamedEmitter struct {
|
|
|
- name string
|
|
|
- bus Bus
|
|
|
-}
|
|
|
-
|
|
|
-// NewNamedEmitter creates a new emitter pointing to bus
|
|
|
-func NewNamedEmitter(name string, bus Bus) Emitter {
|
|
|
- return &NamedEmitter{name, bus}
|
|
|
-}
|
|
|
-
|
|
|
-// Emit will prefix with namedemitter name and push to bus
|
|
|
-func (ne *NamedEmitter) Emit(evt Event) {
|
|
|
- newEvt := &event{name: ne.name + namedPrefixer + evt.Name(), data: evt.Data()}
|
|
|
- ne.bus.Emit(newEvt)
|
|
|
-}
|