Class: ZstdDecompressor

@nginstack/engine/lib/compress/ZstdDecompressor~ ZstdDecompressor


new ZstdDecompressor( [options])

Classe que disponibiliza métodos de descompressão da biblioteca Zstandard.

Esta classe é significativamente mais eficiente que os métodos estáticos da classe Zstd quando várias operações de descompressão são realizadas em sequência ou quando é utilizado um dicionário de dados.

Parameters:
Name Type Argument Description
options Object <optional>

Opções de descompressão.

Properties
Name Type Argument Description
dictionary Uint8Array | ArrayBuffer | string <optional>

Dicionário que foi utilizado na compressão dos dados.

Methods


decompress(data [, options])

Descomprime os dados informados no modo "single step" do Zstd. Utilize esta função com dados que possam ser representados totalmente em memória sem sobrecarregar o servidor. Para volumes maiores de dados, utilize #decompressStream.

Esta função trata as strings como se fossem uma sequência de bytes no formato conhecido por "Binary String", onde cada caractere da string representa um byte do conteúdo binário.

Parameters:
Name Type Argument Description
data string | Uint8Array | ArrayBuffer

Dados que serão comprimidos.

options Object <optional>

Opções de compressão.

Properties
Name Type Argument Description
resultType string <optional>

O tipo do resultado gerado por esta função. Os valores possíveis são "uint8array", "arraybuffer" e "binarystring". Caso não seja informado, será retornado um Uint8Array.

Returns:

Dados comprimidos no formato Zstd.

Type
Uint8Array | ArrayBuffer | string
Example
const ZstdDecompressor = require('@nginstack/engine/lib/compress/ZstdDecompressor.js');
const decompressor = new ZstdDecompressor();
const originalData = decompressor.decompress(compressedData);

decompressStream(src, dest)

Descomprime os dados contidos no arquivo ou stream src e grava em dest utilizando o modo "streaming" do Zstd.

Esta função trata as strings como se fossem uma sequência de bytes no formato conhecido por "Binary String", onde cada caractere da string representa um byte do conteúdo binário.

Parameters:
Name Type Description
src File | MemoryStream | Uint8Array | ArrayBuffer | string

Dados que serão comprimidos.

dest File | MemoryStream

Arquivo ou stream onde serão gravados os dados comprimidos.

Example
const ZstdDecompressor = require('@nginstack/engine/lib/compress/ZstdDecompressor.js');
const File = require('@nginstack/engine/lib/io/File.js');

const decompressor = new ZstdDecompressor();
const src = new File(compressedFileName);
const dest = File.createTempFile();
try {
  decompressor.decompressStream(src, dest);
} finally {
  src.close();
  dest.close();
}