MatchByPrefix attempts to match a decoded token by its prefix.
(input string, tokens []*Token)
| 152 | |
| 153 | // MatchByPrefix attempts to match a decoded token by its prefix. |
| 154 | func MatchByPrefix(input string, tokens []*Token) []*Token { |
| 155 | if len(input) < 10 || !strings.HasPrefix(input, Prefix+"_") { |
| 156 | return nil |
| 157 | } |
| 158 | var matches []*Token |
| 159 | for _, t := range tokens { |
| 160 | if strings.HasPrefix(t.Prefix(), input) { |
| 161 | matches = append(matches, t) |
| 162 | } |
| 163 | } |
| 164 | return matches |
| 165 | } |
| 166 | |
| 167 | // marshalBase62 marshals a byte slice to a string of [0-9A-Za-z] characters. |
| 168 | func marshalBase62(val []byte) string { |