types/model: accept former : as a separator in digest (#3724)

This also converges the old sep `:` to the new sep `-`.
This commit is contained in:
Blake Mizerany 2024-04-18 14:17:46 -07:00 committed by GitHub
parent 63a7edd771
commit 0408205c1c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,6 +1,7 @@
package model
import (
"fmt"
"log/slog"
"strings"
"unicode"
@ -47,8 +48,11 @@ var (
// Digest.
func ParseDigest(s string) Digest {
typ, digest, ok := strings.Cut(s, "-")
if !ok {
typ, digest, ok = strings.Cut(s, ":")
}
if ok && isValidDigestType(typ) && isValidHex(digest) {
return Digest{s: s}
return Digest{s: fmt.Sprintf("%s-%s", typ, digest)}
}
return Digest{}
}