tsivinsky / ee

Event emitter in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ee

Event Emitter in Go

Install

go get -u github.com/tsivinsky/ee

Example

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!")
}

Remove registered event

package main

func main() {
    e := ee.New()

    e.On("message", func(data ..any) {})

    e.Remove("message")
}

Remove one handler from event

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
}

About

Event emitter in Go


Languages

Language:Go 100.0%