|
|
|
|
@ -15,6 +15,7 @@ import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"os"
|
|
|
|
|
"reflect"
|
|
|
|
|
"regexp"
|
|
|
|
|
"sort"
|
|
|
|
|
"strconv"
|
|
|
|
|
"strings"
|
|
|
|
|
@ -661,7 +662,13 @@ func (m schemaMap) InternalValidate(topSchemaMap schemaMap) error {
|
|
|
|
|
if v.ValidateFunc != nil {
|
|
|
|
|
switch v.Type {
|
|
|
|
|
case TypeList, TypeSet:
|
|
|
|
|
return fmt.Errorf("ValidateFunc is not yet supported on lists or sets.")
|
|
|
|
|
return fmt.Errorf("%s: ValidateFunc is not yet supported on lists or sets.", k)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if v.Deprecated == "" && v.Removed == "" {
|
|
|
|
|
if !isValidFieldName(k) {
|
|
|
|
|
return fmt.Errorf("%s: Field name may only contain lowercase alphanumeric characters & underscores.", k)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -669,6 +676,11 @@ func (m schemaMap) InternalValidate(topSchemaMap schemaMap) error {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func isValidFieldName(name string) bool {
|
|
|
|
|
re := regexp.MustCompile("^[a-z0-9_]+$")
|
|
|
|
|
return re.MatchString(name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (m schemaMap) diff(
|
|
|
|
|
k string,
|
|
|
|
|
schema *Schema,
|
|
|
|
|
|