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 Strings.

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 Strings.

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();
}