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