Files
stfs/internal/suffix/remove.go
2021-12-07 21:12:23 +01:00

42 lines
1.2 KiB
Go

package suffix
import (
"strings"
"github.com/pojntfx/stfs/pkg/config"
)
func RemoveSuffix(name string, compressionFormat string, encryptionFormat string) (string, error) {
switch encryptionFormat {
case config.EncryptionFormatAgeKey:
name = strings.TrimSuffix(name, EncryptionFormatAgeSuffix)
case config.EncryptionFormatPGPKey:
name = strings.TrimSuffix(name, EncryptionFormatPGPSuffix)
case config.NoneKey:
default:
return "", config.ErrEncryptionFormatUnsupported
}
switch compressionFormat {
case config.CompressionFormatGZipKey:
fallthrough
case config.CompressionFormatParallelGZipKey:
name = strings.TrimSuffix(name, CompressionFormatGZipSuffix)
case config.CompressionFormatLZ4Key:
name = strings.TrimSuffix(name, CompressionFormatLZ4Suffix)
case config.CompressionFormatZStandardKey:
name = strings.TrimSuffix(name, CompressionFormatZStandardSuffix)
case config.CompressionFormatBrotliKey:
name = strings.TrimSuffix(name, CompressionFormatBrotliSuffix)
case config.CompressionFormatBzip2Key:
fallthrough
case config.CompressionFormatBzip2ParallelKey:
name = strings.TrimSuffix(name, CompressionFormatBzip2Suffix)
case config.NoneKey:
default:
return "", config.ErrCompressionFormatUnsupported
}
return name, nil
}