eve

Tiny event emitter for Go
git clone git://git.lair.cx/eve
Log | Files | Refs | README | LICENSE

commit b802c6786740e6bb915d285e7cbb4f420f85c38f
parent de5eea1809ad05e71312899f669ed25141c1ed89
Author: Yongbin Kim <iam@yongbin.kim>
Date:   Fri,  3 Nov 2023 12:54:56 +0900

Add README

Diffstat:
M.gitignore | 2+-
AREADME | 34++++++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore @@ -14,7 +14,7 @@ !go.sum !go.mod -!README.md +!README !LICENSE # !Makefile diff --git a/README b/README @@ -0,0 +1,34 @@ +Tiny event emitter for Go. + +## Install + +``` +go get go.lair.cx/eve +``` + +## Usage + +```go +type SomeEvent struct{} + +type App struct { + // ... + + OnSomething eve.Event[*SomeEvent] +} + +func main() { + app := &App{} + + app.OnSomething.On(func(ctx context.Context, e *SomeEvent) error { + fmt.Println("Something happened!") + return nil + }) + + err := app.OnSomething.Emit(context.Background(), &SomeEvent{}) + if err != nil { + // Handle err + } +} +``` +