代码拉取完成,页面将自动刷新
package modetest
import (
"github.com/elastic/beats/libbeat/common"
"github.com/elastic/beats/libbeat/outputs"
)
type EventInfo struct {
Single bool
Data []outputs.Data
}
func SingleEvent(e common.MapStr) []EventInfo {
data := []outputs.Data{{Event: e}}
return []EventInfo{
{Single: true, Data: data},
}
}
func MultiEvent(n int, event common.MapStr) []EventInfo {
var data []outputs.Data
for i := 0; i < n; i++ {
data = append(data, outputs.Data{Event: event})
}
return []EventInfo{{Single: false, Data: data}}
}
func Repeat(n int, evt []EventInfo) []EventInfo {
var events []EventInfo
for _, e := range evt {
events = append(events, e)
}
return events
}
func EventsList(in []EventInfo) [][]outputs.Data {
var out [][]outputs.Data
for _, pubEvents := range in {
if pubEvents.Single {
for _, event := range pubEvents.Data {
out = append(out, []outputs.Data{event})
}
} else {
out = append(out, pubEvents.Data)
}
}
return out
}
func FlatEventsList(in []EventInfo) []outputs.Data {
return FlattenEvents(EventsList(in))
}
func FlattenEvents(data [][]outputs.Data) []outputs.Data {
var out []outputs.Data
for _, inner := range data {
for _, d := range inner {
out = append(out, d)
}
}
return out
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。