mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-30 22:11:07 +00:00 
			
		
		
		
	* Use vendored go-swagger * vendor go-swagger * revert un wanteed change * remove un-needed GO111MODULE * Update Makefile Co-Authored-By: techknowlogick <matti@mdranta.net>
		
			
				
	
	
		
			64 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package govalidator
 | |
| 
 | |
| import (
 | |
| 	"encoding/json"
 | |
| 	"fmt"
 | |
| 	"reflect"
 | |
| 	"strconv"
 | |
| )
 | |
| 
 | |
| // ToString convert the input to a string.
 | |
| func ToString(obj interface{}) string {
 | |
| 	res := fmt.Sprintf("%v", obj)
 | |
| 	return string(res)
 | |
| }
 | |
| 
 | |
| // ToJSON convert the input to a valid JSON string
 | |
| func ToJSON(obj interface{}) (string, error) {
 | |
| 	res, err := json.Marshal(obj)
 | |
| 	if err != nil {
 | |
| 		res = []byte("")
 | |
| 	}
 | |
| 	return string(res), err
 | |
| }
 | |
| 
 | |
| // ToFloat convert the input string to a float, or 0.0 if the input is not a float.
 | |
| func ToFloat(str string) (float64, error) {
 | |
| 	res, err := strconv.ParseFloat(str, 64)
 | |
| 	if err != nil {
 | |
| 		res = 0.0
 | |
| 	}
 | |
| 	return res, err
 | |
| }
 | |
| 
 | |
| // ToInt convert the input string or any int type to an integer type 64, or 0 if the input is not an integer.
 | |
| func ToInt(value interface{}) (res int64, err error) {
 | |
| 	val := reflect.ValueOf(value)
 | |
| 
 | |
| 	switch value.(type) {
 | |
| 	case int, int8, int16, int32, int64:
 | |
| 		res = val.Int()
 | |
| 	case uint, uint8, uint16, uint32, uint64:
 | |
| 		res = int64(val.Uint())
 | |
| 	case string:
 | |
| 		if IsInt(val.String()) {
 | |
| 			res, err = strconv.ParseInt(val.String(), 0, 64)
 | |
| 			if err != nil {
 | |
| 				res = 0
 | |
| 			}
 | |
| 		} else {
 | |
| 			err = fmt.Errorf("math: square root of negative number %g", value)
 | |
| 			res = 0
 | |
| 		}
 | |
| 	default:
 | |
| 		err = fmt.Errorf("math: square root of negative number %g", value)
 | |
| 		res = 0
 | |
| 	}
 | |
| 
 | |
| 	return
 | |
| }
 | |
| 
 | |
| // ToBoolean convert the input string to a boolean.
 | |
| func ToBoolean(str string) (bool, error) {
 | |
| 	return strconv.ParseBool(str)
 | |
| }
 |