mirror of
https://github.com/rancher/types.git
synced 2025-10-22 03:29:45 +00:00
Vendor changes for embed mapper
This commit is contained in:
committed by
Alena Prokharchyk
parent
a15097a11b
commit
3482812846
25
vendor/github.com/rancher/norman/types/encoder.go
generated
vendored
Normal file
25
vendor/github.com/rancher/norman/types/encoder.go
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
package types
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
|
||||
"github.com/ghodss/yaml"
|
||||
)
|
||||
|
||||
func JSONEncoder(writer io.Writer, v interface{}) error {
|
||||
return json.NewEncoder(writer).Encode(v)
|
||||
}
|
||||
|
||||
func YAMLEncoder(writer io.Writer, v interface{}) error {
|
||||
data, err := json.Marshal(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
buf, err := yaml.JSONToYAML(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = writer.Write(buf)
|
||||
return err
|
||||
}
|
4
vendor/github.com/rancher/norman/types/mapper/embed.go
generated
vendored
4
vendor/github.com/rancher/norman/types/mapper/embed.go
generated
vendored
@@ -13,6 +13,7 @@ type Embed struct {
|
||||
Ignore []string
|
||||
ignoreOverride bool
|
||||
embeddedFields []string
|
||||
EmptyValueOk bool
|
||||
}
|
||||
|
||||
func (e *Embed) FromInternal(data map[string]interface{}) {
|
||||
@@ -39,6 +40,9 @@ func (e *Embed) ToInternal(data map[string]interface{}) {
|
||||
delete(data, fieldName)
|
||||
}
|
||||
if len(sub) == 0 {
|
||||
if e.EmptyValueOk {
|
||||
data[e.Field] = nil
|
||||
}
|
||||
return
|
||||
}
|
||||
data[e.Field] = sub
|
||||
|
Reference in New Issue
Block a user