@@ -77,33 +77,29 @@ type FunctionItem struct {
7777type EventItem struct {
7878 Type
7979
80- Data []Type `json:"data"`
81- Keys []Type `json:"keys"`
82- Inputs []Type `json:"inputs"`
80+ Members []Type `json:"members,omitempty"`
81+ Data []Type `json:"data"`
82+ Keys []Type `json:"keys"`
83+ Inputs []Type `json:"inputs"`
8384}
8485
85- type members struct {
86- Members []Type `json:"members"`
86+ type Members struct {
8787}
8888
8989func (item * EventItem ) UnmarshalJSON (data []byte ) error {
9090 type buf EventItem
9191 if err := json .Unmarshal (data , (* buf )(item )); err != nil {
9292 return err
9393 }
94- if item .Data == nil && item .Keys == nil {
95- var m members
96- if err := json .Unmarshal (data , & m ); err != nil {
97- return err
98- }
94+ if item .Kind == StructType {
9995 item .Data = make ([]Type , 0 )
10096 item .Keys = make ([]Type , 0 )
101- for i := range m .Members {
102- switch m .Members [i ].Kind {
97+ for i := range item .Members {
98+ switch item .Members [i ].Kind {
10399 case "data" :
104- item .Data = append (item .Data , m .Members [i ])
100+ item .Data = append (item .Data , item .Members [i ])
105101 case "keys" :
106- item .Keys = append (item .Keys , m .Members [i ])
102+ item .Keys = append (item .Keys , item .Members [i ])
107103 }
108104 }
109105 }
0 commit comments