20 lines
435 B
Go
20 lines
435 B
Go
|
package fields
|
||
|
|
||
|
// FieldSchema is a basic schema to describe the format of a configuration field
|
||
|
type FieldSchema struct {
|
||
|
Type FieldType
|
||
|
Default interface{}
|
||
|
Description string
|
||
|
Required bool
|
||
|
}
|
||
|
|
||
|
// DefaultOrZero returns the default value if it is set, or otherwise
|
||
|
// the zero value of the type.
|
||
|
func (s *FieldSchema) DefaultOrZero() interface{} {
|
||
|
if s.Default != nil {
|
||
|
return s.Default
|
||
|
}
|
||
|
|
||
|
return s.Type.Zero()
|
||
|
}
|