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