-
Notifications
You must be signed in to change notification settings - Fork 345
/
events.go
37 lines (28 loc) · 1003 Bytes
/
events.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package sdk
import (
abci "github.com/gnolang/gno/tm2/pkg/bft/abci/types"
)
// ----------------------------------------------------------------------------
// EventLogger
// ----------------------------------------------------------------------------
// EventLogger implements a simple wrapper around a slice of Event objects that
// can be emitted from.
type EventLogger struct {
events []Event
}
func NewEventLogger() *EventLogger {
return &EventLogger{nil}
}
func (em *EventLogger) Events() []Event { return em.events }
// EmitEvent stores a single Event object.
func (em *EventLogger) EmitEvent(event Event) {
em.events = append(em.events, event)
}
// EmitEvents stores a series of Event objects.
func (em *EventLogger) EmitEvents(events []Event) {
em.events = append(em.events, events...)
}
// ----------------------------------------------------------------------------
// Event
// ----------------------------------------------------------------------------
type Event = abci.Event