Files
mmaschedule/events/events.go
T
2025-02-08 04:44:51 -06:00

44 lines
739 B
Go

package events
import (
"bytes"
"encoding/gob"
)
func decode(data []byte, value any) error {
buf := bytes.NewBuffer(data)
dec := gob.NewDecoder(buf)
return dec.Decode(value)
}
func encode(value any) ([]byte, error) {
var buf bytes.Buffer
enc := gob.NewEncoder(&buf)
err := enc.Encode(value)
return buf.Bytes(), err
}
func (e *DbEvent) ReadData(value any) error {
return decode(e.Data, value)
}
func (e *DbEvent) WriteData(value any) error {
b, err := encode(value)
if err == nil {
e.Data = b
}
return err
}
func (e *DbEvent) ReadHistory(value any) error {
return decode(e.History, value)
}
func (e *DbEvent) WriteHistory(value any) error {
b, err := encode(value)
if err == nil {
e.History = b
}
return err
}