Files
event/event.go

38 lines
588 B
Go
Raw Normal View History

2023-06-11 20:32:36 -07:00
package event
2023-06-12 20:03:17 -07:00
import "time"
type Event struct {
start time.Time
Time string `json:"time"`
SampleRate int64 `json:"samplerate"`
Data map[string]any `json:"data"`
}
2023-06-12 20:18:19 -07:00
func NewEvent(eventType string, vals ...any) *Event {
2023-06-12 20:03:17 -07:00
now := time.Now()
ev := &Event{
start: now,
Time: now.Format(time.RFC3339Nano),
Data: map[string]any{
"type": eventType,
},
}
ev.Set(vals...)
return ev
}
func (ev *Event) Set(vals ...any) {
if len(vals)%2 != 0 {
panic(vals)
}
for i := 0; i < len(vals); i += 2 {
ev.Data[vals[i].(string)] = vals[i+1]
}
}