(Feat): Initial Commit
This commit is contained in:
35
internal/archiver/archiver.go
Normal file
35
internal/archiver/archiver.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package archiver
|
||||
|
||||
import (
|
||||
"zipprine/internal/models"
|
||||
)
|
||||
|
||||
func Compress(config *models.CompressConfig) error {
|
||||
switch config.ArchiveType {
|
||||
case models.ZIP:
|
||||
return createZip(config)
|
||||
case models.TARGZ:
|
||||
return createTarGz(config)
|
||||
case models.TAR:
|
||||
return createTar(config)
|
||||
case models.GZIP:
|
||||
return createGzip(config)
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func Extract(config *models.ExtractConfig) error {
|
||||
switch config.ArchiveType {
|
||||
case models.ZIP:
|
||||
return extractZip(config)
|
||||
case models.TARGZ:
|
||||
return extractTarGz(config)
|
||||
case models.TAR:
|
||||
return extractTar(config)
|
||||
case models.GZIP:
|
||||
return extractGzip(config)
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user