More robust event args decoding

This commit is contained in:
Denis Arh
2020-02-25 06:53:54 +01:00
parent 9e14b50bce
commit 991af03db7
19 changed files with 270 additions and 162 deletions
+10 -6
View File
@@ -151,18 +151,22 @@ func (res *{{ camelCase .ResourceIdent "base" }}) Decode(results map[string][]by
}
{{- if $.Events.Result }}
if r, ok := results["result"]; ok && len(results) == 1 {
if err = json.Unmarshal(r, res.{{ $.Events.Result }}); err != nil {
return
if res.{{ $.Events.Result }} != nil {
if r, ok := results["result"]; ok && len(results) == 1 {
if err = json.Unmarshal(r, res.{{ $.Events.Result }}); err != nil {
return
}
}
}
{{ end -}}
{{- range $prop := $.Events.Properties }}
{{- if not $prop.Immutable }}
if r, ok := results["{{ $prop.Name }}"]; ok && len(results) == 1 {
if err = json.Unmarshal(r, res.{{ $prop.Name }}); err != nil {
return
if res.{{ $prop.Name }} != nil {
if r, ok := results["{{ $prop.Name }}"]; ok {
if err = json.Unmarshal(r, res.{{ $prop.Name }}); err != nil {
return
}
}
}
{{ end -}}