in internal/langserver/schema/schema.go [144:171]
func GetAllowedValues(resourceType *types.TypeBase) []string {
if resourceType == nil {
return nil
}
values := make([]string, 0)
switch t := (*resourceType).(type) {
case *types.ResourceType:
if t.Body != nil {
return GetAllowedValues(t.Body.Type)
}
case *types.StringLiteralType:
return []string{fmt.Sprintf(`"%s"`, t.Value)}
case *types.UnionType:
for _, element := range t.Elements {
values = append(values, GetAllowedValues(element.Type)...)
}
return values
case *types.DiscriminatedObjectType:
case *types.ObjectType:
case *types.ArrayType:
case *types.AnyType:
case *types.BooleanType:
values = append(values, "true", "false")
case *types.IntegerType:
case *types.StringType:
}
return values
}