Add handle for int Issue 314

This commit is contained in:
tsachi nimni 2020-01-01 13:55:22 +02:00
parent 27604289f4
commit 339cc3a12d

View File

@ -1,8 +1,7 @@
package yqlib
import (
"strconv"
)
import "strconv"
import "strings"
type ValueParser interface {
ParseValue(argument string) interface{}
@ -17,10 +16,18 @@ func NewValueParser() ValueParser {
func (v *valueParser) ParseValue(argument string) interface{} {
var value, err interface{}
var inQuotes = len(argument) > 0 && argument[0] == '"'
var isDot = strings.Contains(argument, ".")
if !inQuotes {
value, err = strconv.ParseFloat(argument, 64)
if err == nil {
return value
if isDot {
value, err = strconv.ParseFloat(argument, 64)
if err == nil {
return value
}
} else {
value, err = strconv.ParseInt(argument, 10, 64)
if err == nil {
return value
}
}
value, err = strconv.ParseBool(argument)
if err == nil {