mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Added all required dependencies
This commit is contained in:
		
							
								
								
									
										157
									
								
								vendor/github.com/Unknwon/com/convert.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								vendor/github.com/Unknwon/com/convert.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,157 @@ | ||||
| // Copyright 2014 com authors | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"): you may | ||||
| // not use this file except in compliance with the License. You may obtain | ||||
| // a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||
| // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||
| // License for the specific language governing permissions and limitations | ||||
| // under the License. | ||||
|  | ||||
| package com | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"strconv" | ||||
| ) | ||||
|  | ||||
| // Convert string to specify type. | ||||
| type StrTo string | ||||
|  | ||||
| func (f StrTo) Exist() bool { | ||||
| 	return string(f) != string(0x1E) | ||||
| } | ||||
|  | ||||
| func (f StrTo) Uint8() (uint8, error) { | ||||
| 	v, err := strconv.ParseUint(f.String(), 10, 8) | ||||
| 	return uint8(v), err | ||||
| } | ||||
|  | ||||
| func (f StrTo) Int() (int, error) { | ||||
| 	v, err := strconv.ParseInt(f.String(), 10, 0) | ||||
| 	return int(v), err | ||||
| } | ||||
|  | ||||
| func (f StrTo) Int64() (int64, error) { | ||||
| 	v, err := strconv.ParseInt(f.String(), 10, 64) | ||||
| 	return int64(v), err | ||||
| } | ||||
|  | ||||
| func (f StrTo) MustUint8() uint8 { | ||||
| 	v, _ := f.Uint8() | ||||
| 	return v | ||||
| } | ||||
|  | ||||
| func (f StrTo) MustInt() int { | ||||
| 	v, _ := f.Int() | ||||
| 	return v | ||||
| } | ||||
|  | ||||
| func (f StrTo) MustInt64() int64 { | ||||
| 	v, _ := f.Int64() | ||||
| 	return v | ||||
| } | ||||
|  | ||||
| func (f StrTo) String() string { | ||||
| 	if f.Exist() { | ||||
| 		return string(f) | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
|  | ||||
| // Convert any type to string. | ||||
| func ToStr(value interface{}, args ...int) (s string) { | ||||
| 	switch v := value.(type) { | ||||
| 	case bool: | ||||
| 		s = strconv.FormatBool(v) | ||||
| 	case float32: | ||||
| 		s = strconv.FormatFloat(float64(v), 'f', argInt(args).Get(0, -1), argInt(args).Get(1, 32)) | ||||
| 	case float64: | ||||
| 		s = strconv.FormatFloat(v, 'f', argInt(args).Get(0, -1), argInt(args).Get(1, 64)) | ||||
| 	case int: | ||||
| 		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) | ||||
| 	case int8: | ||||
| 		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) | ||||
| 	case int16: | ||||
| 		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) | ||||
| 	case int32: | ||||
| 		s = strconv.FormatInt(int64(v), argInt(args).Get(0, 10)) | ||||
| 	case int64: | ||||
| 		s = strconv.FormatInt(v, argInt(args).Get(0, 10)) | ||||
| 	case uint: | ||||
| 		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) | ||||
| 	case uint8: | ||||
| 		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) | ||||
| 	case uint16: | ||||
| 		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) | ||||
| 	case uint32: | ||||
| 		s = strconv.FormatUint(uint64(v), argInt(args).Get(0, 10)) | ||||
| 	case uint64: | ||||
| 		s = strconv.FormatUint(v, argInt(args).Get(0, 10)) | ||||
| 	case string: | ||||
| 		s = v | ||||
| 	case []byte: | ||||
| 		s = string(v) | ||||
| 	default: | ||||
| 		s = fmt.Sprintf("%v", v) | ||||
| 	} | ||||
| 	return s | ||||
| } | ||||
|  | ||||
| type argInt []int | ||||
|  | ||||
| func (a argInt) Get(i int, args ...int) (r int) { | ||||
| 	if i >= 0 && i < len(a) { | ||||
| 		r = a[i] | ||||
| 	} else if len(args) > 0 { | ||||
| 		r = args[0] | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // HexStr2int converts hex format string to decimal number. | ||||
| func HexStr2int(hexStr string) (int, error) { | ||||
| 	num := 0 | ||||
| 	length := len(hexStr) | ||||
| 	for i := 0; i < length; i++ { | ||||
| 		char := hexStr[length-i-1] | ||||
| 		factor := -1 | ||||
|  | ||||
| 		switch { | ||||
| 		case char >= '0' && char <= '9': | ||||
| 			factor = int(char) - '0' | ||||
| 		case char >= 'a' && char <= 'f': | ||||
| 			factor = int(char) - 'a' + 10 | ||||
| 		default: | ||||
| 			return -1, fmt.Errorf("invalid hex: %s", string(char)) | ||||
| 		} | ||||
|  | ||||
| 		num += factor * PowInt(16, i) | ||||
| 	} | ||||
| 	return num, nil | ||||
| } | ||||
|  | ||||
| // Int2HexStr converts decimal number to hex format string. | ||||
| func Int2HexStr(num int) (hex string) { | ||||
| 	if num == 0 { | ||||
| 		return "0" | ||||
| 	} | ||||
|  | ||||
| 	for num > 0 { | ||||
| 		r := num % 16 | ||||
|  | ||||
| 		c := "?" | ||||
| 		if r >= 0 && r <= 9 { | ||||
| 			c = string(r + '0') | ||||
| 		} else { | ||||
| 			c = string(r + 'a' - 10) | ||||
| 		} | ||||
| 		hex = c + hex | ||||
| 		num = num / 16 | ||||
| 	} | ||||
| 	return hex | ||||
| } | ||||
		Reference in New Issue
	
	Block a user