From 89d391bd37e27bc264e92911df12a78354be9a5f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 27 Nov 2024 17:05:43 +0200 Subject: more fixes --- internal/platforms/platform.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'internal/platforms') diff --git a/internal/platforms/platform.go b/internal/platforms/platform.go index 3eae4a8..e5bbd22 100644 --- a/internal/platforms/platform.go +++ b/internal/platforms/platform.go @@ -60,3 +60,25 @@ func (p Platform) Post(ctx context.Context, args config.Args, sizeLimit int, en fmt.Print("\n") return nil } + +func ExpandAliases(shareTag string) (string, error) { + a := make(map[string]struct{}, len(aliases)) + parts := strings.Split(shareTag, ":") + if parts[0] != "share" { + return "", fmt.Errorf("expected share tag, but got '%s' in '%s'", parts[0], shareTag) + } + + elems := []string{"share"} + // Dedup + for _, alias := range parts[1:] { + a[alias] = struct{}{} + } + for alias := range a { + platformStr, ok := aliases[alias] + if !ok { + return "", fmt.Errorf("invalid platform alias '%s' in '%s'", alias, shareTag) + } + elems = append(elems, platformStr) + } + return strings.Join(elems, ":"), nil +} -- cgit v1.2.3