Class: Zlib

@nginstack/engine/lib/compress/Zlib~ Zlib


new Zlib()

Classe que disponibiliza a biblioteca Zlib (www.zlib.org), permitindo a compressão e descompressão de dados através dos algoritmos Inflate e Deflate. Também são publicados os algoritmos de checksum crc32 e o adler32.

Não construa instâncias de ZLib. Ao invés, utilize os métodos e propriedades estáticas desta classe.

See:
  • Zlib.compress
  • Zlib.decompress

Members


<static> BEST_COMPRESSION :number

Constante indicando que a compressão deve favorecer a compactação do conteúdo em detrimento da velocidade da compactação. É o mesmo que level = 9.

Type:
  • number

<static> BEST_SPEED :number

Constante indicando que a compressão deve favorecer a velocidade de compactação em detrimento da redução do conteúdo. É o mesmo que level = 1.

Type:
  • number

<static> DEFAULT_COMPRESSION :number

Constante indicando o nível de compressão padrão. Atualmente, é equivalente a informar level 6.

Type:
  • number

<static> NO_COMPRESSION :number

Constante indicando que não deve ocorrer compressão. Mesmo que level 0.

Type:
  • number

Methods


<static> adler32(content [, opt_initialAdler])

Calcula o checksum Adler-32 de uma String. O checksum Adler-32 é tão confiável quando um CRC32, mas pode ser calculado mais rapidamente.

Parameters:
Name Type Argument Description
content string

Dado do qual será calculado o checksum.

opt_initialAdler number <optional>

Este parâmetro é utilizado para informar o valor inicial do checksum, permitindo calcular um checksum de uma série de Strings separadas.

See:
Returns:

Checksum do string

Type
number
Example
var ZipFile = require('@nginstack/engine/lib/compress/Zlib');
var data = 'Um texto muito grande.'
var adler32 = Zlib.adler32(data)
if (adler32 != previousAdler32 ){
  throw new Error('Os dados mudaram.')
}

<static> compress(content [, opt_level])

Método de classe que comprime uma String.

Parameters:
Name Type Argument Description
content string

Dado que será comprimido.

opt_level number <optional>

Nível de compressão. Deve ser informado um número de 0 a 9, sendo maior a compressão quanto mais alto for o nível.

See:
  • Zlib.decompress
Returns:
Type
string
Example
var data = 'Um texto muito grande';
 var compressData = Zlib.compress(data);

<static> crc32(content [, opt_initialCrc])

Calcula o checksum CRC (Cyclic Redundancy Check) de uma String.

Parameters:
Name Type Argument Description
content string

Dado do qual será calculado o checksum.

opt_initialCrc number <optional>

Este parâmetro é utilizado para informar o valor inicial do checksum, permitindo calcular um checksum de uma série de Strings separadas.

See:
  • Zlib.adler32
Returns:

Checksum do string

Type
number
Example
var data = 'Um texto muito grande'
 var crc32 = Zlib.crc32(data)
 if (crc32 != previousCrc32 ){
   throw new Error('Os dados mudaram.')
 }

<static> decompress(content, windowsBit)

Método de classe que descomprime uma String comprimida pela biblioteca Zlib.

Parameters:
Name Type Description
content string

Dado que será descomprimido.

windowsBit number

O parâmetro windowsBit é o logaritmo base 2 do tamanho do buffer de histórico (windows size) usado quando o dado foi comprimido. Seu valor deve ser entre 8 e 15 para as mais recentes versões da Zlib. Quando seu valor é negativo, o cabeçalho padrão do gzip é suprimido. Este é um recurso não documentado da biblioteca zlib usado para compatibilidade com o formato de arquivo do unzip.

See:
  • Zlib.compress
Returns:
Type
string
Example
var data = 'Um texto muito grande';
 var compressData = Zlib.compress(data);
 var decompressData = Zlib.decompress(compressData);
 if (decompressData != compressData){
   throw new Error('Ops...')
 }