simpleevent

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2024 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 ...any) error

Fire handlers by name.

func Has

func Has(name string) bool

Has event check.

func MustFire

func MustFire(name string, args ...any)

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 []any
	// 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 ...any) (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 ...any)

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