Documentation ¶
Overview ¶
Package events provides simple EventEmmiter support for Go Programming Language
Index ¶
- Constants
- func AddListener(evt EventName, listener ...Listener)
- func Clear()
- func Emit(evt EventName, data ...interface{})
- func GetMaxListeners() int
- func Len() int
- func ListenerCount(evt EventName) int
- func On(evt EventName, listener ...Listener)
- func Once(evt EventName, listener ...Listener)
- func RemoveAllListeners(evt EventName) bool
- func SetMaxListeners(n int)
- type EventEmmiter
- type EventName
- type Events
- type Listener
Examples ¶
Constants ¶
const ( // Version current version number Version = "0.0.3" // DefaultMaxListeners is the number of max listeners per event // default EventEmitters will print a warning if more than x listeners are // added to it. This is a useful default which helps finding memory leaks. // Defaults to 0, which means unlimited DefaultMaxListeners = 0 // EnableWarning prints a warning when trying to add an event which it's len is equal to the maxListeners // Defaults to false, which means it does not prints a warning EnableWarning = false )
Variables ¶
This section is empty.
Functions ¶
func AddListener ¶
AddListener is an alias for .On(eventName, listener).
func Clear ¶
func Clear()
Clear removes all events and all listeners, restores Events to an empty value
func Emit ¶
func Emit(evt EventName, data ...interface{})
Emit fires a particular event, 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 GetMaxListeners ¶
func GetMaxListeners() int
GetMaxListeners returns the max listeners for this emmiter see SetMaxListeners
func ListenerCount ¶
ListenerCount returns the length of all registered listeners to a particular event
func On ¶
On registers a particular listener for an event, func receiver parameter(s) is/are optional
func Once ¶
Once 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 RemoveAllListeners ¶
RemoveAllListeners removes all listeners, or those of the specified eventName. Note that it will remove the event itself. Returns an indicator if event and listeners were found before the remove.
func SetMaxListeners ¶
func SetMaxListeners(n int)
SetMaxListeners obviously this function allows the MaxListeners to be decrease or increase. Set to zero for unlimited
Types ¶
type EventEmmiter ¶
type EventEmmiter interface { // AddListener is an alias for .On(eventName, listener). AddListener(EventName, ...Listener) // Emit fires a particular event, // Synchronously calls each of the listeners registered for the event named // eventName, in the order they were registered, // passing the supplied arguments to each. Emit(EventName, ...interface{}) // EventNames returns an array listing the events for which the emitter has registered listeners. // The values in the array will be strings. EventNames() []EventName // GetMaxListeners returns the max listeners for this emmiter // see SetMaxListeners GetMaxListeners() int // ListenerCount returns the length of all registered listeners to a particular event ListenerCount(EventName) int // Listeners returns a copy of the array of listeners for the event named eventName. Listeners(EventName) []Listener // On registers a particular listener for an event, func receiver parameter(s) is/are optional On(EventName, ...Listener) // Once adds a one time listener function for the event named eventName. // The next time eventName is triggered, this listener is removed and then invoked. Once(EventName, ...Listener) // RemoveAllListeners removes all listeners, or those of the specified eventName. // Note that it will remove the event itself. // Returns an indicator if event and listeners were found before the remove. RemoveAllListeners(EventName) bool // RemoveListener removes given listener from the event named eventName. // Returns an indicator whether listener was removed RemoveListener(EventName, Listener) bool // Clear removes all events and all listeners, restores Events to an empty value Clear() // SetMaxListeners obviously this function allows the MaxListeners // to be decrease or increase. Set to zero for unlimited SetMaxListeners(int) // Len returns the length of all registered events Len() int }
EventEmmiter is the message/or/event manager
type EventName ¶
type EventName string
EventName is just a type of string, it's the event name
func EventNames ¶
func EventNames() []EventName
EventNames returns an array listing the events for which the emitter has registered listeners. The values in the array will be strings.
type Events ¶
Events the type for registered listeners, it's just a map[string][]func(...interface{})
Example ¶
// regiter our events to the default event emmiter for evt, listeners := range testEvents { On(evt, listeners...) } user := "user1" room := "room1" createUser(user) joinUserTo(user, room) leaveFromRoom(user, room)
Output: A new User just created! A new User just created, *from second event listener user1 joined to room: room1 user1 left from the room: room1
func (Events) CopyTo ¶
func (e Events) CopyTo(emmiter EventEmmiter)
CopyTo copies the event listeners to an EventEmmiter