func GetAllowedValues()

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
}