func PrimitiveToFramework[T ToFrameworkPrimitive]()

in internal/typehelper/gotype/primitive.go [17:45]


func PrimitiveToFramework[T ToFrameworkPrimitive](ctx context.Context, input *T) attr.Value {
	switch {
	case reflect.TypeOf(input) == reflect.TypeOf(to.Ptr(int64(0))):
		if input == nil {
			return types.NumberNull()
		}
		i, _ := reflect.ValueOf(*input).Interface().(int64)
		return types.NumberValue(big.NewFloat(float64(i)))
	case reflect.TypeOf(input) == reflect.TypeOf(to.Ptr(float64(0))):
		if input == nil {
			return types.NumberNull()
		}
		f, _ := reflect.ValueOf(*input).Interface().(float64)
		return types.NumberValue(big.NewFloat(f))
	case reflect.TypeOf(input) == reflect.TypeOf(to.Ptr("")):
		if input == nil {
			return types.StringNull()
		}
		s, _ := reflect.ValueOf(*input).Interface().(string)
		return types.StringValue(s)
	case reflect.TypeOf(input) == reflect.TypeOf(to.Ptr(true)):
		if input == nil {
			return types.BoolNull()
		}
		b, _ := reflect.ValueOf(*input).Interface().(bool)
		return types.BoolValue(b)
	}
	return nil
}