github.com/kubeshop/testkube@v1.17.23/pkg/imageinspector/serialization.go (about) 1 package imageinspector 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "regexp" 7 "strings" 8 ) 9 10 type Hash string 11 12 var hashKeyRe = regexp.MustCompile("[^a-zA-Z0-9-_]") 13 14 func hash(registry, image string) Hash { 15 return Hash(hashKeyRe.ReplaceAllString(strings.ReplaceAll(fmt.Sprintf("%s/%s", registry, image), "/", "."), "_-")) 16 } 17 18 func marshalInfo(v Info) (string, error) { 19 res, err := json.Marshal(v) 20 if err != nil { 21 return "", err 22 } 23 return string(res), nil 24 } 25 26 func unmarshalInfo(s string) (v Info, err error) { 27 err = json.Unmarshal([]byte(s), &v) 28 return 29 }