package resolve import ( "strconv" "strings" ) var DefaultNamespace = "namespace" func UnNamespace(ns string) []string { return strings.Split(ns, ".") } 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] != "-") }