Documentation
¶
Index ¶
- Variables
- func AddListener(eventName string, listener EventListener)
- func AddOnceListener(eventName string, listener EventListener)
- func Emit(eventName string, args ...any) error
- func Off(eventName string, listener EventListener) bool
- func On(eventName string, listener EventListener)
- func Once(eventName string, listener EventListener)
- func PrependListener(eventName string, listener EventListener)
- func PrependOnceListener(eventName string, listener EventListener)
- func RemoveAllListeners()
- func RemoveListener(eventName string, listener EventListener) bool
- func RemoveListeners(eventName string)
- type Emitter
- func (e *Emitter) AddListener(eventName string, listener EventListener)
- func (e *Emitter) AddOnceListener(eventName string, listener EventListener)
- func (e *Emitter) Emit(eventName string, args ...any) error
- func (e *Emitter) EventNames() []string
- func (e *Emitter) ListenerCount(eventName string) int
- func (e *Emitter) Listeners(eventName string) []IListener
- func (e *Emitter) Off(eventName string, listener EventListener) bool
- func (e *Emitter) On(eventName string, listener EventListener)
- func (e *Emitter) Once(eventName string, listener EventListener)
- func (e *Emitter) PrependListener(eventName string, listener EventListener)
- func (e *Emitter) PrependOnceListener(eventName string, listener EventListener)
- func (e *Emitter) RemoveAllListeners()
- func (e *Emitter) RemoveListener(eventName string, listener EventListener) bool
- func (e *Emitter) RemoveListeners(eventName string)
- type Event
- type EventHandler
- type EventListener
- type EventOnceHandler
- type IEventTarget
- type IListener
Constants ¶
This section is empty.
Variables ¶
var ( ErrDuplicateOnce = errors.New("duplicate once call") ErrNoListenerFired = errors.New("no listener fired") )
Functions ¶
func AddListener ¶
func AddListener(eventName string, listener EventListener)
func AddOnceListener ¶
func AddOnceListener(eventName string, listener EventListener)
func Off ¶
func Off(eventName string, listener EventListener) bool
func On ¶
func On(eventName string, listener EventListener)
func Once ¶
func Once(eventName string, listener EventListener)
func PrependListener ¶
func PrependListener(eventName string, listener EventListener)
func PrependOnceListener ¶
func PrependOnceListener(eventName string, listener EventListener)
func RemoveAllListeners ¶
func RemoveAllListeners()
func RemoveListener ¶
func RemoveListener(eventName string, listener EventListener) bool
func RemoveListeners ¶
func RemoveListeners(eventName string)
Types ¶
type Emitter ¶
type Emitter struct {
// contains filtered or unexported fields
}
Emitter event subscription and publishing API modeled after node https://nodejs.org/docs/latest-v16.x/api/events.html#class-eventemitter
func NewEmitter ¶
func NewEmitter() *Emitter
func (*Emitter) AddListener ¶
func (e *Emitter) AddListener(eventName string, listener EventListener)
AddListener Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.
func (*Emitter) AddOnceListener ¶
func (e *Emitter) AddOnceListener(eventName string, listener EventListener)
AddOnceListener Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.
func (*Emitter) Emit ¶
Emit synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.
func (*Emitter) EventNames ¶
func (*Emitter) ListenerCount ¶
func (*Emitter) On ¶
func (e *Emitter) On(eventName string, listener EventListener)
On No checks are made to see if the listener has already been added
func (*Emitter) Once ¶
func (e *Emitter) Once(eventName string, listener EventListener)
func (*Emitter) PrependListener ¶
func (e *Emitter) PrependListener(eventName string, listener EventListener)
PrependListener Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.
func (*Emitter) PrependOnceListener ¶
func (e *Emitter) PrependOnceListener(eventName string, listener EventListener)
func (*Emitter) RemoveAllListeners ¶
func (e *Emitter) RemoveAllListeners()
func (*Emitter) RemoveListener ¶
func (e *Emitter) RemoveListener(eventName string, listener EventListener) bool
RemoveListener will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then RemoveListener() must be called multiple times to remove each instance.
func (*Emitter) RemoveListeners ¶
type Event ¶
type Event struct { Name string Target IEventTarget Args []any }
type EventHandler ¶
type EventHandler struct {
// contains filtered or unexported fields
}
func (*EventHandler) Fire ¶
func (h *EventHandler) Fire(event *Event) (err error)
func (*EventHandler) Get ¶
func (h *EventHandler) Get() EventListener
type EventListener ¶
type EventOnceHandler ¶
type EventOnceHandler struct {
// contains filtered or unexported fields
}
func (*EventOnceHandler) Fire ¶
func (h *EventOnceHandler) Fire(event *Event) (err error)
func (*EventOnceHandler) Get ¶
func (h *EventOnceHandler) Get() EventListener
type IEventTarget ¶
type IEventTarget interface { AddListener(eventName string, listener EventListener) RemoveListener(eventName string, listener EventListener) bool }
type IListener ¶
type IListener interface { Get() EventListener Fire(*Event) error }
func NewEventHandler ¶
func NewEventHandler(target IEventTarget, cb EventListener) IListener
func NewEventOnceHandler ¶
func NewEventOnceHandler(target *Emitter, cb EventListener) IListener