simpleevent

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2019 License: MIT Imports: 5 Imported by: 0

README

simple event

Very simple event manager implements.

Usage

package main

import (
	"fmt"
	"github.com/gookit/event/simpleevent"
)

func main() {
	// register event handler
	simpleevent.On("event1", func(e *simpleevent.EventData) error {
		fmt.Printf("handle the event: %s\n", e.Name())
	    return nil
	})
	
	// register more handler to the event.
	simpleevent.On("event1", func(e *simpleevent.EventData) error {
		fmt.Printf("oo, handle the event: %s\n", e.Name())
	    return nil
	})
	
	// ....
	
	// fire event
	_ = simpleevent.Fire("event1", "arg0", "arg1")
}

LICENSE

MIT

Documentation

Index

Constants

View Source
const Wildcard = "*"

Wildcard event name

Variables

View Source
var DefaultEM = NewEventManager()

DefaultEM default event manager

Functions

func Fire

func Fire(name string, args ...interface{}) error

Fire fire handlers by name.

func Has

func Has(name string) bool

Has event check.

func MustFire

func MustFire(name string, args ...interface{})

MustFire fire event by name. will panic on error

func On

func On(name string, handler HandlerFunc)

On register a event and handler

Types

type EventData

type EventData struct {

	// user data.
	Data []interface{}
	// contains filtered or unexported fields
}

EventData struct

func (*EventData) Abort

func (e *EventData) Abort()

Abort abort event exec

func (*EventData) IsAborted

func (e *EventData) IsAborted() bool

IsAborted check.

func (*EventData) Name

func (e *EventData) Name() string

Name get

type EventManager

type EventManager struct {
	// contains filtered or unexported fields
}

EventManager struct

func NewEventManager

func NewEventManager() *EventManager

NewEventManager create EventManager instance

func (*EventManager) Clear

func (em *EventManager) Clear()

Clear all handlers info.

func (*EventManager) ClearHandlers

func (em *EventManager) ClearHandlers(name string) bool

ClearHandlers clear handlers by name

func (*EventManager) EventHandlers

func (em *EventManager) EventHandlers() map[string][]HandlerFunc

EventHandlers get all event handlers

func (*EventManager) EventNames

func (em *EventManager) EventNames() map[string]int

EventNames get all event names

func (*EventManager) Fire

func (em *EventManager) Fire(name string, args ...interface{}) (err error)

Fire handlers by name

func (*EventManager) GetEventHandlers

func (em *EventManager) GetEventHandlers(name string) (es []HandlerFunc)

GetEventHandlers get handlers and handlers by name

func (*EventManager) HasEvent

func (em *EventManager) HasEvent(name string) bool

HasEvent has event check

func (*EventManager) MustFire

func (em *EventManager) MustFire(name string, args ...interface{})

MustFire fire handlers by name. will panic on error

func (*EventManager) On

func (em *EventManager) On(name string, handler HandlerFunc)

On register a event handler

func (*EventManager) String

func (em *EventManager) String() string

String convert to string.

type HandlerFunc

type HandlerFunc func(e *EventData) error

HandlerFunc event handler func define

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL