MCPcopy Create free account
hub / github.com/archlinux-de/pkgstats-cli / ValidatePackageName

Function ValidatePackageName

internal/api/request/validator.go:19–37  ·  view source on GitHub ↗
(name string)

Source from the content-addressed store, hash-verified

17)
18
19func ValidatePackageName(name string) error {
20 length := len(name)
21 if length < minLength || length > maxLength {
22 return fmt.Errorf("length must be between %d and %d characters, %d were given", minLength, maxLength, length)
23 }
24
25 firstChar, _ := utf8.DecodeRuneInString(name)
26 if !strings.ContainsRune(validFirstChar, firstChar) {
27 return fmt.Errorf("invalid character '%c'", firstChar)
28 }
29
30 for _, char := range name[1:] {
31 if !strings.ContainsRune(validChars, char) {
32 return fmt.Errorf("invalid character '%c'", char)
33 }
34 }
35
36 return nil
37}
38
39func ValidatePackageNames(names []string) error {
40 for _, name := range names {

Callers 4

TestValidPackageNameFunction · 0.92
TestInvalidPackageNameFunction · 0.92
newSearchCmdFunction · 0.92
ValidatePackageNamesFunction · 0.85

Calls

no outgoing calls

Tested by 2

TestValidPackageNameFunction · 0.74
TestInvalidPackageNameFunction · 0.74