Event Emitter in Go
go get -u github.com/tsivinsky/ee
package main
import (
"github.com/tsivinsky/ee"
)
func main() {
e := ee.New()
e.On("message", func(data ...any) {
msg := data[0].(string)
fmt.Println(msg)
})
e.Emit("message", "Hello, World!")
}
package main
func main() {
e := ee.New()
e.On("message", func(data ..any) {})
e.Remove("message")
}
package main
func main() {
e := ee.New()
index := e.On("message", func(data ..any) {})
e.Emit("message", "hi") // events["message"] length is 1
e.Off("message", index) // events["message"] length is 0
}