dnscontrol/vendor/github.com/prasmussen/gandi-api/util/util.go
2016-08-22 18:31:50 -06:00

76 lines
1.2 KiB
Go

package util
import "time"
func ToStringSlice(is []interface{}) []string {
ss := make([]string, len(is), len(is))
for i, _ := range is {
ss[i] = is[i].(string)
}
return ss
}
func ToString(i interface{}) string {
if v, ok := i.(string); ok {
return v
}
return ""
}
func ToTime(i interface{}) time.Time {
if v, ok := i.(time.Time); ok {
return v
}
var t time.Time
return t
}
func ToInterfaceSlice(i interface{}) []interface{} {
if v, ok := i.([]interface{}); ok {
return v
}
var s []interface{}
return s
}
func ToInt64(i interface{}) int64 {
if v, ok := i.(int64); ok {
return v
}
var n int64
return n
}
func ToFloat64(i interface{}) float64 {
if v, ok := i.(float64); ok {
return v
}
var n float64
return n
}
func ToXmlrpcStruct(i interface{}) map[string]interface{} {
if v, ok := i.(map[string]interface{}); ok {
return v
}
var s map[string]interface{}
return s
}
func ToBool(i interface{}) bool {
if v, ok := i.(bool); ok {
return v
}
var b bool
return b
}
func ToIntSlice(is []interface{}) []int64 {
numbers := make([]int64, len(is), len(is))
for i, _ := range is {
numbers[i] = ToInt64(is[i])
}
return numbers
}