diff options
| -rw-r--r-- | event/dispatch.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/event/dispatch.go b/event/dispatch.go index 738161a..89d1cae 100644 --- a/event/dispatch.go +++ b/event/dispatch.go @@ -26,6 +26,20 @@ func Sscan(event string, a ...interface{}) { } } +func Matches(pattern, event string) bool { + p := strings.Split(pattern, Sep) + e := strings.Split(event, Sep) + if len(p) > len(e) { + return false + } + for i := range p { + if p[i] != e[i] { + return false + } + } + return true +} + type Dispatch struct { mu sync.Mutex handlers []func(event string) bool |