podman
41 строка · 609.0 Байт
1package compression2
3import "strings"4
5type ImageCompression int646
7const (8Xz ImageCompression = iota9Zip
10Gz
11Bz2
12Zstd
13)
14
15func KindFromFile(path string) ImageCompression {16switch {17case strings.HasSuffix(path, Bz2.String()):18return Bz219case strings.HasSuffix(path, Gz.String()):20return Gz21case strings.HasSuffix(path, Zip.String()):22return Zip23case strings.HasSuffix(path, Xz.String()):24return Xz25}26return Zstd27}
28
29func (c ImageCompression) String() string {30switch c {31case Gz:32return "gz"33case Zip:34return "zip"35case Bz2:36return "bz2"37case Xz:38return "xz"39}40return "zst"41}
42