58 lines
959 B
Go
Executable File
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] != "-")
|
|
}
|