mirror of
https://github.com/gookit/event
synced 2025-12-24 10:30:50 +08:00
add new methods
This commit is contained in:
@@ -3,10 +3,11 @@ package event
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
var emptyListener = func(e Event) error {
|
||||
@@ -130,6 +131,9 @@ func TestOn(t *testing.T) {
|
||||
assert.True(t, HasListeners("n1"))
|
||||
assert.False(t, HasListeners("name"))
|
||||
|
||||
assert.NotEmpty(t, DefaultEM.Listeners())
|
||||
assert.NotEmpty(t, DefaultEM.ListenersByName("n1"))
|
||||
|
||||
DefaultEM.RemoveListeners("n1")
|
||||
assert.False(t, HasListeners("n1"))
|
||||
}
|
||||
|
||||
12
manager.go
12
manager.go
@@ -293,10 +293,20 @@ func (em *Manager) newBasicEvent(name string, data M) *BasicEvent {
|
||||
|
||||
// HasListeners has listeners for the event name.
|
||||
func (em *Manager) HasListeners(name string) bool {
|
||||
_, ok := em.listeners[name]
|
||||
_, ok := em.listenedNames[name]
|
||||
return ok
|
||||
}
|
||||
|
||||
// Listeners get all listeners
|
||||
func (em *Manager) Listeners() map[string]*ListenerQueue {
|
||||
return em.listeners
|
||||
}
|
||||
|
||||
// ListenersByName get listeners by given event name
|
||||
func (em *Manager) ListenersByName(name string) *ListenerQueue {
|
||||
return em.listeners[name]
|
||||
}
|
||||
|
||||
// ListenersCount get listeners number for the event name.
|
||||
func (em *Manager) ListenersCount(name string) int {
|
||||
if lq, ok := em.listeners[name]; ok {
|
||||
|
||||
@@ -3,8 +3,9 @@ package simpleevent
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestEvent(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user