MCPcopy Index your code
hub / github.com/cortexlabs/cortex / validateStringMap

Function validateStringMap

pkg/lib/configreader/string_map.go:78–112  ·  view source on GitHub ↗
(val map[string]string, v *StringMapValidation)

Source from the content-addressed store, hash-verified

76}
77
78func validateStringMap(val map[string]string, v *StringMapValidation) (map[string]string, error) {
79 if !v.AllowEmpty {
80 if val != nil && len(val) == 0 {
81 return nil, ErrorCannotBeEmpty()
82 }
83 }
84
85 if v.KeyStringValidator != nil {
86 for mapKey := range val {
87 err := ValidateStringVal(mapKey, v.KeyStringValidator)
88 if err != nil {
89 return nil, err
90 }
91 }
92 }
93
94 if v.ValueStringValidator != nil {
95 for mapKey, mapVal := range val {
96 err := ValidateStringVal(mapVal, v.ValueStringValidator)
97 if err != nil {
98 return nil, errors.Wrap(err, mapKey)
99 }
100 }
101 }
102
103 if v.Validator != nil {
104 return v.Validator(val)
105 }
106
107 if val == nil && v.ConvertNullToEmpty {
108 val = make(map[string]string)
109 }
110
111 return val, nil
112}

Callers 2

ValidateStringMapMissingFunction · 0.85

Calls 3

WrapFunction · 0.92
ErrorCannotBeEmptyFunction · 0.85
ValidateStringValFunction · 0.85

Tested by

no test coverage detected