Files
pmg/pkg/common/utils/utils.go
T

36 lines
772 B
Go
Raw Normal View History

package utils
import (
"fmt"
"strings"
)
func CleanVersion(version string) string {
version = strings.TrimPrefix(version, "^")
version = strings.TrimPrefix(version, "~")
if version == "*" {
return "latest"
}
return version
}
func ParsePackageInfo(input string) (packageName, version string, err error) {
if input == "" {
return "", "", fmt.Errorf("package info cannot be empty")
}
pkg := strings.Split(input, "@")
if len(pkg) == 2 {
packageName = strings.TrimSpace(pkg[0])
version = strings.TrimSpace(pkg[1])
return packageName, version, nil
}
if len(pkg) == 1 {
packageName = strings.TrimSpace(pkg[0])
return packageName, "", nil
}
2025-04-28 20:48:07 +05:30
return "", "", fmt.Errorf("invalid format: expected 'package' OR 'package@version', got '%s'", input)
}