class Gzip

class Gzip

lib/compress/gzip.tya:4

Gzip provides gzip compression and decompression.

Source
# Gzip provides gzip compression and decompression.
class Gzip implements Codec
  # Gzip.compress compresses data with gzip.
  # @param value String value value.
  # @return Any the resulting value.
  compress: value ->
    compress_gzip(value)

  # Gzip.decompress decompresses gzip data.
  # @param value String value value.
  # @return Any the resulting value.
  decompress: value ->
    compress_gunzip(value)

  # Gzip.compress_file compresses a file with gzip.
  # @param src String src value.
  # @param dst Any dst value.
  # @return Any the resulting value.
  compress_file: src, dst ->
    data = Self.read_all(src)
    Self.write_all(dst, self.compress(data))
    nil

  # Gzip.decompress_file decompresses a gzip file.
  # @param src String src value.
  # @param dst Any dst value.
  # @return Any the resulting value.
  decompress_file: src, dst ->
    data = Self.read_all(src)
    Self.write_all(dst, self.decompress(data))
    nil

  private static read_all: path ->
    reader = io.Io().open(path, "rb")
    data = reader.read(1048576)
    all = b""
    while data.len() > 0
      all = all + data
      data = reader.read(1048576)
    reader.close()
    all

  private static write_all: path, data ->
    writer = io.Io().open(path, "wb")
    writer.write(data)
    writer.close()
    nil

Methods

compress

Gzip.compress(value)

lib/compress/gzip.tya:8

Gzip.compress compresses data with gzip.

Source
  # Gzip.compress compresses data with gzip.
  # @param value String value value.
  # @return Any the resulting value.
  compress: value ->
    compress_gzip(value)

compress_file

Gzip.compress_file(src, dst)

lib/compress/gzip.tya:21

Gzip.compress_file compresses a file with gzip.

Source
  # Gzip.compress_file compresses a file with gzip.
  # @param src String src value.
  # @param dst Any dst value.
  # @return Any the resulting value.
  compress_file: src, dst ->
    data = Self.read_all(src)
    Self.write_all(dst, self.compress(data))
    nil

decompress

Gzip.decompress(value)

lib/compress/gzip.tya:14

Gzip.decompress decompresses gzip data.

Source
  # Gzip.decompress decompresses gzip data.
  # @param value String value value.
  # @return Any the resulting value.
  decompress: value ->
    compress_gunzip(value)

decompress_file

Gzip.decompress_file(src, dst)

lib/compress/gzip.tya:30

Gzip.decompress_file decompresses a gzip file.

Source
  # Gzip.decompress_file decompresses a gzip file.
  # @param src String src value.
  # @param dst Any dst value.
  # @return Any the resulting value.
  decompress_file: src, dst ->
    data = Self.read_all(src)
    Self.write_all(dst, self.decompress(data))
    nil