func SupportedTypes() []string {
	t := []string{
		ConfigValueStr{}.Type(),
		ConfigValueInt{}.Type(),
		ConfigValueFloat{}.Type(),
		ConfigValueBool{}.Type(),
	}
	return t
}
Returns a slice of string keywords for the types supported by ConfigValue.
package ctypes
import "encoding/json"
type ConfigValue interface {
	Type() string
}
type ConfigValueInt struct {
	Value int
}
func (c ConfigValueInt) Type() string {
	return "integer"
}
func (c ConfigValueInt) MarshalJSON() ([]byte, error) {
	return json.Marshal(c.Value)
}
type ConfigValueStr struct {
	Value string
}
func (c ConfigValueStr) Type() string {
	return "string"
}
func (c ConfigValueStr) MarshalJSON() ([]byte, error) {
	return json.Marshal(c.Value)
}
type ConfigValueFloat struct {
	Value float64
}
func (c ConfigValueFloat) Type() string {
	return "float"
}
func (c ConfigValueFloat) MarshalJSON() ([]byte, error) {
	return json.Marshal(c.Value)
}
type ConfigValueBool struct {
	Value bool
}
func (c ConfigValueBool) Type() string {
	return "bool"
}
func (c ConfigValueBool) MarshalJSON() ([]byte, error) {
	return json.Marshal(c.Value)
}