compression

package
v0.0.22 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrUnsupportedAlgorithm = errors.New("unsupported compression algorithm")

ErrUnsupportedAlgorithm is returned when an unsupported compression algorithm is specified

View Source
var (
	Gzip = &CompressionAlgorithm{
		Name:            "gzip",
		Extension:       ".gz",
		ContentEncoding: "gzip",
	}
)

Functions

func AddExtension

func AddExtension(filename string, algorithm *CompressionAlgorithm) string

AddExtension adds the compression extension to the filename if it's not already present

func HasCompressionExtension

func HasCompressionExtension(filename string, algorithm *CompressionAlgorithm) bool

HasCompressionExtension checks if the filename has the compression extension

func RemoveExtension

func RemoveExtension(filename string, algorithm *CompressionAlgorithm) string

RemoveExtension removes the compression extension from the filename if it's present

Types

type CompressionAlgorithm

type CompressionAlgorithm struct {
	Name            string
	Extension       string
	ContentEncoding string
}

CompressionAlgorithm represents the type of compression algorithm

func GetCompressionAlgorithm

func GetCompressionAlgorithm(filename string) (*CompressionAlgorithm, error)

type Compressor

type Compressor struct{}

Compressor provides methods for compressing and decompressing data

func NewCompressor

func NewCompressor() *Compressor

NewCompressor creates a new Compressor instance

func (*Compressor) Compress

func (c *Compressor) Compress(data *[]byte, algorithm *CompressionAlgorithm) ([]byte, error)

Compress compresses the input data using the specified algorithm

func (*Compressor) Decompress

func (c *Compressor) Decompress(data *[]byte, filename string) ([]byte, error)

Decompress decompresses the input data using the specified algorithm

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL