https://github.com/reddec/gbus
Simpe event bus code generator on Golang
https://github.com/reddec/gbus
Last synced: over 1 year ago
JSON representation
Simpe event bus code generator on Golang
- Host: GitHub
- URL: https://github.com/reddec/gbus
- Owner: reddec
- Created: 2017-07-18T03:46:40.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-25T13:35:41.000Z (over 7 years ago)
- Last Synced: 2025-03-09T00:06:39.028Z (over 1 year ago)
- Language: Go
- Size: 2.93 KB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GBUS - golang event bus generator
Generates an event emitter based on specified interface.
All functions without return value in the interface will be interpreted as event. For example (sample.go):
```go
type Rocket interface {
Launched()
LaunchFailed(reason error)
Landed(lat, lon float64)
}
// go:generate Rocket sample.go
```
will produce file sample_eventbus.go with subscribe interface (RocketEvents) and implementation of event emitter (RocketEventEmitter).
Usually used as
```go
type Something struct {
//...
events RocketEventEmitter
}
//...
func (s *Something) Events() RocketEvents { return &s.events }
```