47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
// Package event define real time data evnet operation functions
|
|
package event
|
|
|
|
// EventOption define option function type for event record creation
|
|
type EventOption func(*EventRecord)
|
|
|
|
// WithCondition define option function to set event condition description
|
|
func WithCondition(cond map[string]any) EventOption {
|
|
return func(e *EventRecord) {
|
|
if cond != nil {
|
|
e.Condition = cond
|
|
}
|
|
}
|
|
}
|
|
|
|
// WithSubscriptions define option function to set event attached subscription information
|
|
func WithSubscriptions(subs []any) EventOption {
|
|
return func(e *EventRecord) {
|
|
if subs != nil {
|
|
e.AttachedSubscriptions = subs
|
|
}
|
|
}
|
|
}
|
|
|
|
// WithOperations define option function to set event operation records
|
|
func WithOperations(ops []OperationRecord) EventOption {
|
|
return func(e *EventRecord) {
|
|
if ops != nil {
|
|
e.Operations = ops
|
|
}
|
|
}
|
|
}
|
|
|
|
// WithCategory define option function to set event category
|
|
func WithCategory(cat string) EventOption {
|
|
return func(e *EventRecord) {
|
|
e.Category = cat
|
|
}
|
|
}
|
|
|
|
// WithResult define option function to set event analysis result
|
|
func WithResult(result map[string]any) EventOption {
|
|
return func(e *EventRecord) {
|
|
e.Result = result
|
|
}
|
|
}
|