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