class Zlib

class Zlib

lib/compress/zlib.tya:4

Zlib provides zlib compression and decompression.

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

  # Zlib.decompress decompresses zlib data.
  # @param value String value value.
  # @return Any the resulting value.
  decompress: value ->
    compress_unzlib(value)

  # Zlib.compress_file compresses a file with zlib.
  # @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

  # Zlib.decompress_file decompresses a zlib 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

Zlib.compress(value)

lib/compress/zlib.tya:8

Zlib.compress compresses data with zlib.

Source
  # Zlib.compress compresses data with zlib.
  # @param value String value value.
  # @return Any the resulting value.
  compress: value ->
    compress_zlib(value)

compress_file

Zlib.compress_file(src, dst)

lib/compress/zlib.tya:21

Zlib.compress_file compresses a file with zlib.

Source
  # Zlib.compress_file compresses a file with zlib.
  # @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

Zlib.decompress(value)

lib/compress/zlib.tya:14

Zlib.decompress decompresses zlib data.

Source
  # Zlib.decompress decompresses zlib data.
  # @param value String value value.
  # @return Any the resulting value.
  decompress: value ->
    compress_unzlib(value)

decompress_file

Zlib.decompress_file(src, dst)

lib/compress/zlib.tya:30

Zlib.decompress_file decompresses a zlib file.

Source
  # Zlib.decompress_file decompresses a zlib 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