| package cachex |
|
|
| import "strings" |
|
|
| |
| type Namespace string |
|
|
| func (n Namespace) prefix() string { |
| ns := strings.TrimSpace(string(n)) |
| ns = strings.TrimRight(ns, ":") |
| if ns == "" { |
| return "" |
| } |
| return ns + ":" |
| } |
|
|
| func (n Namespace) FullKey(key string) string { |
| key = strings.TrimSpace(key) |
| if key == "" { |
| return "" |
| } |
| p := n.prefix() |
| if p == "" { |
| return strings.TrimLeft(key, ":") |
| } |
| if strings.HasPrefix(key, p) { |
| return key |
| } |
| return p + strings.TrimLeft(key, ":") |
| } |
|
|
| func (n Namespace) MatchPattern() string { |
| p := n.prefix() |
| if p == "" { |
| return "*" |
| } |
| return p + "*" |
| } |
|
|