new ZstdCompressor( [options])
Classe que disponibiliza métodos de compressão da biblioteca Zstandard.
Esta classe é significativamente mais eficiente que os métodos estáticos da classe Zstd
quando várias operações de compressã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 compressão. Properties
|
Methods
-
compress(data [, options])
-
Comprime os dados informados utilizando o modo "single step" do Zstd. Utilize esta função para dados que possam ser representados totalmente em memória sem sobrecarregar o servidor. Para volumes maiores de dados, utilize #compressStream.
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 ZstdCompressor = require('@nginstack/engine/lib/compress/ZstdCompressor.js'); const data = 'Hello World'; const compressor = new ZstdCompressor(); const compressedData = compressor.compress(data);
-
compressStream(src, dest)
-
Comprime 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 ZstdCompressor = require('@nginstack/engine/lib/compress/ZstdCompressor.js'); const File = require('@nginstack/engine/lib/io/File.js'); const compressor = new ZstdCompressor(); const src = new File(fileName); const dest = File.createTempFile(); try { compressor.compressStream(src, dest); } finally { src.close(); dest.close(); }