storage/resolve/resolve.go

58 lines
959 B
Go
Executable File

package resolve
import (
"strconv"
"strings"
)
var DefaultNamespace = "namespace"
func Namespace(ns []string) string {
namespace := DefaultNamespace
if len(ns) > 0 {
segments := []string{}
for i := range ns {
if ns[i] != "" {
segments = append(segments, ns[i])
}
}
namespace = strings.Join(segments, ".")
}
return namespace
}
func Limits(input []string) []string {
return []string{
LimitsStart(input),
LimitsStop(input),
LimitsLimit(input),
LimitsAscending(input),
}
}
func LimitsStart(input []string) string {
if len(input) > 0 {
return input[0]
}
return " "
}
func LimitsStop(input []string) string {
if len(input) > 1 {
return input[1]
}
return "}}}}}}"
}
func LimitsLimit(input []string) string {
if len(input) > 2 {
v, _ := strconv.Atoi(input[2])
return strconv.Itoa(v)
}
return "0"
}
func LimitsAscending(input []string) string {
return strconv.FormatBool(len(input) < 4 || input[3] != "-")
}