Spaces:
Runtime error
Runtime error
| package cachex | |
| import "strings" | |
| // Namespace isolates keys between different cache use-cases. (e.g. "channel_affinity:v1"). | |
| 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 + "*" | |
| } | |